添加光丝图谱
parent
6e3e00d131
commit
2949aed9e9
|
@ -0,0 +1,540 @@
|
||||||
|
/*!
|
||||||
|
* Font Awesome 3.0.2
|
||||||
|
* the iconic font designed for use with Twitter Bootstrap
|
||||||
|
* -------------------------------------------------------
|
||||||
|
* The full suite of pictographic icons, examples, and documentation
|
||||||
|
* can be found at: http://fortawesome.github.com/Font-Awesome/
|
||||||
|
*
|
||||||
|
* License
|
||||||
|
* -------------------------------------------------------
|
||||||
|
* - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
|
||||||
|
* - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
|
||||||
|
* http://opensource.org/licenses/mit-license.html
|
||||||
|
* - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
|
||||||
|
* - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
|
||||||
|
* "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
|
||||||
|
|
||||||
|
* Contact
|
||||||
|
* -------------------------------------------------------
|
||||||
|
* Email: dave@davegandy.com
|
||||||
|
* Twitter: http://twitter.com/fortaweso_me
|
||||||
|
* Work: Lead Product Designer @ http://kyruus.com
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: 'FontAwesome';
|
||||||
|
src: url('../font/fontawesome-webfont.eot?v=3.0.1');
|
||||||
|
src: url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
|
||||||
|
url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
|
||||||
|
url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
/* Font Awesome styles
|
||||||
|
------------------------------------------------------- */
|
||||||
|
[class^="icon-"],
|
||||||
|
[class*=" icon-"] {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
text-decoration: inherit;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
|
||||||
|
/* sprites.less reset */
|
||||||
|
display: inline;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
line-height: normal;
|
||||||
|
vertical-align: baseline;
|
||||||
|
background-image: none;
|
||||||
|
background-position: 0% 0%;
|
||||||
|
background-repeat: repeat;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
/* more sprites.less reset */
|
||||||
|
.icon-white,
|
||||||
|
.nav-pills > .active > a > [class^="icon-"],
|
||||||
|
.nav-pills > .active > a > [class*=" icon-"],
|
||||||
|
.nav-list > .active > a > [class^="icon-"],
|
||||||
|
.nav-list > .active > a > [class*=" icon-"],
|
||||||
|
.navbar-inverse .nav > .active > a > [class^="icon-"],
|
||||||
|
.navbar-inverse .nav > .active > a > [class*=" icon-"],
|
||||||
|
.dropdown-menu > li > a:hover > [class^="icon-"],
|
||||||
|
.dropdown-menu > li > a:hover > [class*=" icon-"],
|
||||||
|
.dropdown-menu > .active > a > [class^="icon-"],
|
||||||
|
.dropdown-menu > .active > a > [class*=" icon-"],
|
||||||
|
.dropdown-submenu:hover > a > [class^="icon-"],
|
||||||
|
.dropdown-submenu:hover > a > [class*=" icon-"] {
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
[class^="icon-"]:before,
|
||||||
|
[class*=" icon-"]:before {
|
||||||
|
text-decoration: inherit;
|
||||||
|
display: inline-block;
|
||||||
|
speak: none;
|
||||||
|
}
|
||||||
|
/* makes sure icons active on rollover in links */
|
||||||
|
a [class^="icon-"],
|
||||||
|
a [class*=" icon-"] {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
/* makes the font 33% larger relative to the icon container */
|
||||||
|
.icon-large:before {
|
||||||
|
vertical-align: -10%;
|
||||||
|
font-size: 1.3333333333333333em;
|
||||||
|
}
|
||||||
|
.btn [class^="icon-"],
|
||||||
|
.nav [class^="icon-"],
|
||||||
|
.btn [class*=" icon-"],
|
||||||
|
.nav [class*=" icon-"] {
|
||||||
|
display: inline;
|
||||||
|
/* keeps button heights with and without icons the same */
|
||||||
|
|
||||||
|
}
|
||||||
|
.btn [class^="icon-"].icon-large,
|
||||||
|
.nav [class^="icon-"].icon-large,
|
||||||
|
.btn [class*=" icon-"].icon-large,
|
||||||
|
.nav [class*=" icon-"].icon-large {
|
||||||
|
line-height: .9em;
|
||||||
|
}
|
||||||
|
.btn [class^="icon-"].icon-spin,
|
||||||
|
.nav [class^="icon-"].icon-spin,
|
||||||
|
.btn [class*=" icon-"].icon-spin,
|
||||||
|
.nav [class*=" icon-"].icon-spin {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.nav-tabs [class^="icon-"],
|
||||||
|
.nav-pills [class^="icon-"],
|
||||||
|
.nav-tabs [class*=" icon-"],
|
||||||
|
.nav-pills [class*=" icon-"] {
|
||||||
|
/* keeps button heights with and without icons the same */
|
||||||
|
|
||||||
|
}
|
||||||
|
.nav-tabs [class^="icon-"],
|
||||||
|
.nav-pills [class^="icon-"],
|
||||||
|
.nav-tabs [class*=" icon-"],
|
||||||
|
.nav-pills [class*=" icon-"],
|
||||||
|
.nav-tabs [class^="icon-"].icon-large,
|
||||||
|
.nav-pills [class^="icon-"].icon-large,
|
||||||
|
.nav-tabs [class*=" icon-"].icon-large,
|
||||||
|
.nav-pills [class*=" icon-"].icon-large {
|
||||||
|
line-height: .9em;
|
||||||
|
}
|
||||||
|
li [class^="icon-"],
|
||||||
|
.nav li [class^="icon-"],
|
||||||
|
li [class*=" icon-"],
|
||||||
|
.nav li [class*=" icon-"] {
|
||||||
|
display: inline-block;
|
||||||
|
width: 1.25em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
li [class^="icon-"].icon-large,
|
||||||
|
.nav li [class^="icon-"].icon-large,
|
||||||
|
li [class*=" icon-"].icon-large,
|
||||||
|
.nav li [class*=" icon-"].icon-large {
|
||||||
|
/* increased font size for icon-large */
|
||||||
|
|
||||||
|
width: 1.5625em;
|
||||||
|
}
|
||||||
|
ul.icons {
|
||||||
|
list-style-type: none;
|
||||||
|
text-indent: -0.75em;
|
||||||
|
}
|
||||||
|
ul.icons li [class^="icon-"],
|
||||||
|
ul.icons li [class*=" icon-"] {
|
||||||
|
width: .75em;
|
||||||
|
}
|
||||||
|
.icon-muted {
|
||||||
|
color: #eeeeee;
|
||||||
|
}
|
||||||
|
.icon-border {
|
||||||
|
border: solid 1px #eeeeee;
|
||||||
|
padding: .2em .25em .15em;
|
||||||
|
-webkit-border-radius: 3px;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.icon-2x {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
.icon-2x.icon-border {
|
||||||
|
border-width: 2px;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.icon-3x {
|
||||||
|
font-size: 3em;
|
||||||
|
}
|
||||||
|
.icon-3x.icon-border {
|
||||||
|
border-width: 3px;
|
||||||
|
-webkit-border-radius: 5px;
|
||||||
|
-moz-border-radius: 5px;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
.icon-4x {
|
||||||
|
font-size: 4em;
|
||||||
|
}
|
||||||
|
.icon-4x.icon-border {
|
||||||
|
border-width: 4px;
|
||||||
|
-webkit-border-radius: 6px;
|
||||||
|
-moz-border-radius: 6px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
.pull-right {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.pull-left {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
[class^="icon-"].pull-left,
|
||||||
|
[class*=" icon-"].pull-left {
|
||||||
|
margin-right: .3em;
|
||||||
|
}
|
||||||
|
[class^="icon-"].pull-right,
|
||||||
|
[class*=" icon-"].pull-right {
|
||||||
|
margin-left: .3em;
|
||||||
|
}
|
||||||
|
.btn [class^="icon-"].pull-left.icon-2x,
|
||||||
|
.btn [class*=" icon-"].pull-left.icon-2x,
|
||||||
|
.btn [class^="icon-"].pull-right.icon-2x,
|
||||||
|
.btn [class*=" icon-"].pull-right.icon-2x {
|
||||||
|
margin-top: .18em;
|
||||||
|
}
|
||||||
|
.btn [class^="icon-"].icon-spin.icon-large,
|
||||||
|
.btn [class*=" icon-"].icon-spin.icon-large {
|
||||||
|
line-height: .8em;
|
||||||
|
}
|
||||||
|
.btn.btn-small [class^="icon-"].pull-left.icon-2x,
|
||||||
|
.btn.btn-small [class*=" icon-"].pull-left.icon-2x,
|
||||||
|
.btn.btn-small [class^="icon-"].pull-right.icon-2x,
|
||||||
|
.btn.btn-small [class*=" icon-"].pull-right.icon-2x {
|
||||||
|
margin-top: .25em;
|
||||||
|
}
|
||||||
|
.btn.btn-large [class^="icon-"],
|
||||||
|
.btn.btn-large [class*=" icon-"] {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.btn.btn-large [class^="icon-"].pull-left.icon-2x,
|
||||||
|
.btn.btn-large [class*=" icon-"].pull-left.icon-2x,
|
||||||
|
.btn.btn-large [class^="icon-"].pull-right.icon-2x,
|
||||||
|
.btn.btn-large [class*=" icon-"].pull-right.icon-2x {
|
||||||
|
margin-top: .05em;
|
||||||
|
}
|
||||||
|
.btn.btn-large [class^="icon-"].pull-left.icon-2x,
|
||||||
|
.btn.btn-large [class*=" icon-"].pull-left.icon-2x {
|
||||||
|
margin-right: .2em;
|
||||||
|
}
|
||||||
|
.btn.btn-large [class^="icon-"].pull-right.icon-2x,
|
||||||
|
.btn.btn-large [class*=" icon-"].pull-right.icon-2x {
|
||||||
|
margin-left: .2em;
|
||||||
|
}
|
||||||
|
.icon-spin {
|
||||||
|
display: inline-block;
|
||||||
|
-moz-animation: spin 2s infinite linear;
|
||||||
|
-o-animation: spin 2s infinite linear;
|
||||||
|
-webkit-animation: spin 2s infinite linear;
|
||||||
|
animation: spin 2s infinite linear;
|
||||||
|
}
|
||||||
|
@-moz-keyframes spin {
|
||||||
|
0% { -moz-transform: rotate(0deg); }
|
||||||
|
100% { -moz-transform: rotate(359deg); }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes spin {
|
||||||
|
0% { -webkit-transform: rotate(0deg); }
|
||||||
|
100% { -webkit-transform: rotate(359deg); }
|
||||||
|
}
|
||||||
|
@-o-keyframes spin {
|
||||||
|
0% { -o-transform: rotate(0deg); }
|
||||||
|
100% { -o-transform: rotate(359deg); }
|
||||||
|
}
|
||||||
|
@-ms-keyframes spin {
|
||||||
|
0% { -ms-transform: rotate(0deg); }
|
||||||
|
100% { -ms-transform: rotate(359deg); }
|
||||||
|
}
|
||||||
|
@keyframes spin {
|
||||||
|
0% { transform: rotate(0deg); }
|
||||||
|
100% { transform: rotate(359deg); }
|
||||||
|
}
|
||||||
|
@-moz-document url-prefix() {
|
||||||
|
.icon-spin {
|
||||||
|
height: .9em;
|
||||||
|
}
|
||||||
|
.btn .icon-spin {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
.icon-spin.icon-large {
|
||||||
|
height: 1.25em;
|
||||||
|
}
|
||||||
|
.btn .icon-spin.icon-large {
|
||||||
|
height: .75em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
|
||||||
|
readers do not read off random characters that represent icons */
|
||||||
|
.icon-glass:before { content: "\f000"; }
|
||||||
|
.icon-music:before { content: "\f001"; }
|
||||||
|
.icon-search:before { content: "\f002"; }
|
||||||
|
.icon-envelope:before { content: "\f003"; }
|
||||||
|
.icon-heart:before { content: "\f004"; }
|
||||||
|
.icon-star:before { content: "\f005"; }
|
||||||
|
.icon-star-empty:before { content: "\f006"; }
|
||||||
|
.icon-user:before { content: "\f007"; }
|
||||||
|
.icon-film:before { content: "\f008"; }
|
||||||
|
.icon-th-large:before { content: "\f009"; }
|
||||||
|
.icon-th:before { content: "\f00a"; }
|
||||||
|
.icon-th-list:before { content: "\f00b"; }
|
||||||
|
.icon-ok:before { content: "\f00c"; }
|
||||||
|
.icon-remove:before { content: "\f00d"; }
|
||||||
|
.icon-zoom-in:before { content: "\f00e"; }
|
||||||
|
|
||||||
|
.icon-zoom-out:before { content: "\f010"; }
|
||||||
|
.icon-off:before { content: "\f011"; }
|
||||||
|
.icon-signal:before { content: "\f012"; }
|
||||||
|
.icon-cog:before { content: "\f013"; }
|
||||||
|
.icon-trash:before { content: "\f014"; }
|
||||||
|
.icon-home:before { content: "\f015"; }
|
||||||
|
.icon-file:before { content: "\f016"; }
|
||||||
|
.icon-time:before { content: "\f017"; }
|
||||||
|
.icon-road:before { content: "\f018"; }
|
||||||
|
.icon-download-alt:before { content: "\f019"; }
|
||||||
|
.icon-download:before { content: "\f01a"; }
|
||||||
|
.icon-upload:before { content: "\f01b"; }
|
||||||
|
.icon-inbox:before { content: "\f01c"; }
|
||||||
|
.icon-play-circle:before { content: "\f01d"; }
|
||||||
|
.icon-repeat:before { content: "\f01e"; }
|
||||||
|
|
||||||
|
/* \f020 doesn't work in Safari. all shifted one down */
|
||||||
|
.icon-refresh:before { content: "\f021"; }
|
||||||
|
.icon-list-alt:before { content: "\f022"; }
|
||||||
|
.icon-lock:before { content: "\f023"; }
|
||||||
|
.icon-flag:before { content: "\f024"; }
|
||||||
|
.icon-headphones:before { content: "\f025"; }
|
||||||
|
.icon-volume-off:before { content: "\f026"; }
|
||||||
|
.icon-volume-down:before { content: "\f027"; }
|
||||||
|
.icon-volume-up:before { content: "\f028"; }
|
||||||
|
.icon-qrcode:before { content: "\f029"; }
|
||||||
|
.icon-barcode:before { content: "\f02a"; }
|
||||||
|
.icon-tag:before { content: "\f02b"; }
|
||||||
|
.icon-tags:before { content: "\f02c"; }
|
||||||
|
.icon-book:before { content: "\f02d"; }
|
||||||
|
.icon-bookmark:before { content: "\f02e"; }
|
||||||
|
.icon-print:before { content: "\f02f"; }
|
||||||
|
|
||||||
|
.icon-camera:before { content: "\f030"; }
|
||||||
|
.icon-font:before { content: "\f031"; }
|
||||||
|
.icon-bold:before { content: "\f032"; }
|
||||||
|
.icon-italic:before { content: "\f033"; }
|
||||||
|
.icon-text-height:before { content: "\f034"; }
|
||||||
|
.icon-text-width:before { content: "\f035"; }
|
||||||
|
.icon-align-left:before { content: "\f036"; }
|
||||||
|
.icon-align-center:before { content: "\f037"; }
|
||||||
|
.icon-align-right:before { content: "\f038"; }
|
||||||
|
.icon-align-justify:before { content: "\f039"; }
|
||||||
|
.icon-list:before { content: "\f03a"; }
|
||||||
|
.icon-indent-left:before { content: "\f03b"; }
|
||||||
|
.icon-indent-right:before { content: "\f03c"; }
|
||||||
|
.icon-facetime-video:before { content: "\f03d"; }
|
||||||
|
.icon-picture:before { content: "\f03e"; }
|
||||||
|
|
||||||
|
.icon-pencil:before { content: "\f040"; }
|
||||||
|
.icon-map-marker:before { content: "\f041"; }
|
||||||
|
.icon-adjust:before { content: "\f042"; }
|
||||||
|
.icon-tint:before { content: "\f043"; }
|
||||||
|
.icon-edit:before { content: "\f044"; }
|
||||||
|
.icon-share:before { content: "\f045"; }
|
||||||
|
.icon-check:before { content: "\f046"; }
|
||||||
|
.icon-move:before { content: "\f047"; }
|
||||||
|
.icon-step-backward:before { content: "\f048"; }
|
||||||
|
.icon-fast-backward:before { content: "\f049"; }
|
||||||
|
.icon-backward:before { content: "\f04a"; }
|
||||||
|
.icon-play:before { content: "\f04b"; }
|
||||||
|
.icon-pause:before { content: "\f04c"; }
|
||||||
|
.icon-stop:before { content: "\f04d"; }
|
||||||
|
.icon-forward:before { content: "\f04e"; }
|
||||||
|
|
||||||
|
.icon-fast-forward:before { content: "\f050"; }
|
||||||
|
.icon-step-forward:before { content: "\f051"; }
|
||||||
|
.icon-eject:before { content: "\f052"; }
|
||||||
|
.icon-chevron-left:before { content: "\f053"; }
|
||||||
|
.icon-chevron-right:before { content: "\f054"; }
|
||||||
|
.icon-plus-sign:before { content: "\f055"; }
|
||||||
|
.icon-minus-sign:before { content: "\f056"; }
|
||||||
|
.icon-remove-sign:before { content: "\f057"; }
|
||||||
|
.icon-ok-sign:before { content: "\f058"; }
|
||||||
|
.icon-question-sign:before { content: "\f059"; }
|
||||||
|
.icon-info-sign:before { content: "\f05a"; }
|
||||||
|
.icon-screenshot:before { content: "\f05b"; }
|
||||||
|
.icon-remove-circle:before { content: "\f05c"; }
|
||||||
|
.icon-ok-circle:before { content: "\f05d"; }
|
||||||
|
.icon-ban-circle:before { content: "\f05e"; }
|
||||||
|
|
||||||
|
.icon-arrow-left:before { content: "\f060"; }
|
||||||
|
.icon-arrow-right:before { content: "\f061"; }
|
||||||
|
.icon-arrow-up:before { content: "\f062"; }
|
||||||
|
.icon-arrow-down:before { content: "\f063"; }
|
||||||
|
.icon-share-alt:before { content: "\f064"; }
|
||||||
|
.icon-resize-full:before { content: "\f065"; }
|
||||||
|
.icon-resize-small:before { content: "\f066"; }
|
||||||
|
.icon-plus:before { content: "\f067"; }
|
||||||
|
.icon-minus:before { content: "\f068"; }
|
||||||
|
.icon-asterisk:before { content: "\f069"; }
|
||||||
|
.icon-exclamation-sign:before { content: "\f06a"; }
|
||||||
|
.icon-gift:before { content: "\f06b"; }
|
||||||
|
.icon-leaf:before { content: "\f06c"; }
|
||||||
|
.icon-fire:before { content: "\f06d"; }
|
||||||
|
.icon-eye-open:before { content: "\f06e"; }
|
||||||
|
|
||||||
|
.icon-eye-close:before { content: "\f070"; }
|
||||||
|
.icon-warning-sign:before { content: "\f071"; }
|
||||||
|
.icon-plane:before { content: "\f072"; }
|
||||||
|
.icon-calendar:before { content: "\f073"; }
|
||||||
|
.icon-random:before { content: "\f074"; }
|
||||||
|
.icon-comment:before { content: "\f075"; }
|
||||||
|
.icon-magnet:before { content: "\f076"; }
|
||||||
|
.icon-chevron-up:before { content: "\f077"; }
|
||||||
|
.icon-chevron-down:before { content: "\f078"; }
|
||||||
|
.icon-retweet:before { content: "\f079"; }
|
||||||
|
.icon-shopping-cart:before { content: "\f07a"; }
|
||||||
|
.icon-folder-close:before { content: "\f07b"; }
|
||||||
|
.icon-folder-open:before { content: "\f07c"; }
|
||||||
|
.icon-resize-vertical:before { content: "\f07d"; }
|
||||||
|
.icon-resize-horizontal:before { content: "\f07e"; }
|
||||||
|
|
||||||
|
.icon-bar-chart:before { content: "\f080"; }
|
||||||
|
.icon-twitter-sign:before { content: "\f081"; }
|
||||||
|
.icon-facebook-sign:before { content: "\f082"; }
|
||||||
|
.icon-camera-retro:before { content: "\f083"; }
|
||||||
|
.icon-key:before { content: "\f084"; }
|
||||||
|
.icon-cogs:before { content: "\f085"; }
|
||||||
|
.icon-comments:before { content: "\f086"; }
|
||||||
|
.icon-thumbs-up:before { content: "\f087"; }
|
||||||
|
.icon-thumbs-down:before { content: "\f088"; }
|
||||||
|
.icon-star-half:before { content: "\f089"; }
|
||||||
|
.icon-heart-empty:before { content: "\f08a"; }
|
||||||
|
.icon-signout:before { content: "\f08b"; }
|
||||||
|
.icon-linkedin-sign:before { content: "\f08c"; }
|
||||||
|
.icon-pushpin:before { content: "\f08d"; }
|
||||||
|
.icon-external-link:before { content: "\f08e"; }
|
||||||
|
|
||||||
|
.icon-signin:before { content: "\f090"; }
|
||||||
|
.icon-trophy:before { content: "\f091"; }
|
||||||
|
.icon-github-sign:before { content: "\f092"; }
|
||||||
|
.icon-upload-alt:before { content: "\f093"; }
|
||||||
|
.icon-lemon:before { content: "\f094"; }
|
||||||
|
.icon-phone:before { content: "\f095"; }
|
||||||
|
.icon-check-empty:before { content: "\f096"; }
|
||||||
|
.icon-bookmark-empty:before { content: "\f097"; }
|
||||||
|
.icon-phone-sign:before { content: "\f098"; }
|
||||||
|
.icon-twitter:before { content: "\f099"; }
|
||||||
|
.icon-facebook:before { content: "\f09a"; }
|
||||||
|
.icon-github:before { content: "\f09b"; }
|
||||||
|
.icon-unlock:before { content: "\f09c"; }
|
||||||
|
.icon-credit-card:before { content: "\f09d"; }
|
||||||
|
.icon-rss:before { content: "\f09e"; }
|
||||||
|
|
||||||
|
.icon-hdd:before { content: "\f0a0"; }
|
||||||
|
.icon-bullhorn:before { content: "\f0a1"; }
|
||||||
|
.icon-bell:before { content: "\f0a2"; }
|
||||||
|
.icon-certificate:before { content: "\f0a3"; }
|
||||||
|
.icon-hand-right:before { content: "\f0a4"; }
|
||||||
|
.icon-hand-left:before { content: "\f0a5"; }
|
||||||
|
.icon-hand-up:before { content: "\f0a6"; }
|
||||||
|
.icon-hand-down:before { content: "\f0a7"; }
|
||||||
|
.icon-circle-arrow-left:before { content: "\f0a8"; }
|
||||||
|
.icon-circle-arrow-right:before { content: "\f0a9"; }
|
||||||
|
.icon-circle-arrow-up:before { content: "\f0aa"; }
|
||||||
|
.icon-circle-arrow-down:before { content: "\f0ab"; }
|
||||||
|
.icon-globe:before { content: "\f0ac"; }
|
||||||
|
.icon-wrench:before { content: "\f0ad"; }
|
||||||
|
.icon-tasks:before { content: "\f0ae"; }
|
||||||
|
|
||||||
|
.icon-filter:before { content: "\f0b0"; }
|
||||||
|
.icon-briefcase:before { content: "\f0b1"; }
|
||||||
|
.icon-fullscreen:before { content: "\f0b2"; }
|
||||||
|
|
||||||
|
.icon-group:before { content: "\f0c0"; }
|
||||||
|
.icon-link:before { content: "\f0c1"; }
|
||||||
|
.icon-cloud:before { content: "\f0c2"; }
|
||||||
|
.icon-beaker:before { content: "\f0c3"; }
|
||||||
|
.icon-cut:before { content: "\f0c4"; }
|
||||||
|
.icon-copy:before { content: "\f0c5"; }
|
||||||
|
.icon-paper-clip:before { content: "\f0c6"; }
|
||||||
|
.icon-save:before { content: "\f0c7"; }
|
||||||
|
.icon-sign-blank:before { content: "\f0c8"; }
|
||||||
|
.icon-reorder:before { content: "\f0c9"; }
|
||||||
|
.icon-list-ul:before { content: "\f0ca"; }
|
||||||
|
.icon-list-ol:before { content: "\f0cb"; }
|
||||||
|
.icon-strikethrough:before { content: "\f0cc"; }
|
||||||
|
.icon-underline:before { content: "\f0cd"; }
|
||||||
|
.icon-table:before { content: "\f0ce"; }
|
||||||
|
|
||||||
|
.icon-magic:before { content: "\f0d0"; }
|
||||||
|
.icon-truck:before { content: "\f0d1"; }
|
||||||
|
.icon-pinterest:before { content: "\f0d2"; }
|
||||||
|
.icon-pinterest-sign:before { content: "\f0d3"; }
|
||||||
|
.icon-google-plus-sign:before { content: "\f0d4"; }
|
||||||
|
.icon-google-plus:before { content: "\f0d5"; }
|
||||||
|
.icon-money:before { content: "\f0d6"; }
|
||||||
|
.icon-caret-down:before { content: "\f0d7"; }
|
||||||
|
.icon-caret-up:before { content: "\f0d8"; }
|
||||||
|
.icon-caret-left:before { content: "\f0d9"; }
|
||||||
|
.icon-caret-right:before { content: "\f0da"; }
|
||||||
|
.icon-columns:before { content: "\f0db"; }
|
||||||
|
.icon-sort:before { content: "\f0dc"; }
|
||||||
|
.icon-sort-down:before { content: "\f0dd"; }
|
||||||
|
.icon-sort-up:before { content: "\f0de"; }
|
||||||
|
|
||||||
|
.icon-envelope-alt:before { content: "\f0e0"; }
|
||||||
|
.icon-linkedin:before { content: "\f0e1"; }
|
||||||
|
.icon-undo:before { content: "\f0e2"; }
|
||||||
|
.icon-legal:before { content: "\f0e3"; }
|
||||||
|
.icon-dashboard:before { content: "\f0e4"; }
|
||||||
|
.icon-comment-alt:before { content: "\f0e5"; }
|
||||||
|
.icon-comments-alt:before { content: "\f0e6"; }
|
||||||
|
.icon-bolt:before { content: "\f0e7"; }
|
||||||
|
.icon-sitemap:before { content: "\f0e8"; }
|
||||||
|
.icon-umbrella:before { content: "\f0e9"; }
|
||||||
|
.icon-paste:before { content: "\f0ea"; }
|
||||||
|
.icon-lightbulb:before { content: "\f0eb"; }
|
||||||
|
.icon-exchange:before { content: "\f0ec"; }
|
||||||
|
.icon-cloud-download:before { content: "\f0ed"; }
|
||||||
|
.icon-cloud-upload:before { content: "\f0ee"; }
|
||||||
|
|
||||||
|
.icon-user-md:before { content: "\f0f0"; }
|
||||||
|
.icon-stethoscope:before { content: "\f0f1"; }
|
||||||
|
.icon-suitcase:before { content: "\f0f2"; }
|
||||||
|
.icon-bell-alt:before { content: "\f0f3"; }
|
||||||
|
.icon-coffee:before { content: "\f0f4"; }
|
||||||
|
.icon-food:before { content: "\f0f5"; }
|
||||||
|
.icon-file-alt:before { content: "\f0f6"; }
|
||||||
|
.icon-building:before { content: "\f0f7"; }
|
||||||
|
.icon-hospital:before { content: "\f0f8"; }
|
||||||
|
.icon-ambulance:before { content: "\f0f9"; }
|
||||||
|
.icon-medkit:before { content: "\f0fa"; }
|
||||||
|
.icon-fighter-jet:before { content: "\f0fb"; }
|
||||||
|
.icon-beer:before { content: "\f0fc"; }
|
||||||
|
.icon-h-sign:before { content: "\f0fd"; }
|
||||||
|
.icon-plus-sign-alt:before { content: "\f0fe"; }
|
||||||
|
|
||||||
|
.icon-double-angle-left:before { content: "\f100"; }
|
||||||
|
.icon-double-angle-right:before { content: "\f101"; }
|
||||||
|
.icon-double-angle-up:before { content: "\f102"; }
|
||||||
|
.icon-double-angle-down:before { content: "\f103"; }
|
||||||
|
.icon-angle-left:before { content: "\f104"; }
|
||||||
|
.icon-angle-right:before { content: "\f105"; }
|
||||||
|
.icon-angle-up:before { content: "\f106"; }
|
||||||
|
.icon-angle-down:before { content: "\f107"; }
|
||||||
|
.icon-desktop:before { content: "\f108"; }
|
||||||
|
.icon-laptop:before { content: "\f109"; }
|
||||||
|
.icon-tablet:before { content: "\f10a"; }
|
||||||
|
.icon-mobile-phone:before { content: "\f10b"; }
|
||||||
|
.icon-circle-blank:before { content: "\f10c"; }
|
||||||
|
.icon-quote-left:before { content: "\f10d"; }
|
||||||
|
.icon-quote-right:before { content: "\f10e"; }
|
||||||
|
|
||||||
|
.icon-spinner:before { content: "\f110"; }
|
||||||
|
.icon-circle:before { content: "\f111"; }
|
||||||
|
.icon-reply:before { content: "\f112"; }
|
||||||
|
.icon-github-alt:before { content: "\f113"; }
|
||||||
|
.icon-folder-close-alt:before { content: "\f114"; }
|
||||||
|
.icon-folder-open-alt:before { content: "\f115"; }
|
|
@ -0,0 +1,375 @@
|
||||||
|
/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
HTML5 display definitions
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
nav,
|
||||||
|
section,
|
||||||
|
summary {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects `inline-block` display not defined in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio,
|
||||||
|
canvas,
|
||||||
|
video {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents modern browsers from displaying `audio` without controls.
|
||||||
|
* Remove excess height in iOS 5 devices.
|
||||||
|
*/
|
||||||
|
|
||||||
|
audio:not([controls]) {
|
||||||
|
display: none;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling for `hidden` attribute not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
[hidden] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Base
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Sets default font family to sans-serif.
|
||||||
|
* 2. Prevents iOS text size adjust after orientation change, without disabling
|
||||||
|
* user zoom.
|
||||||
|
*/
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-family: sans-serif; /* 1 */
|
||||||
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
|
-ms-text-size-adjust: 100%; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes default margin.
|
||||||
|
*/
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Links
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `outline` inconsistency between Chrome and other browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:focus {
|
||||||
|
outline: thin dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability when focused and also mouse hovered in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
a:active,
|
||||||
|
a:hover {
|
||||||
|
outline: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Typography
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
|
||||||
|
* Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
abbr[title] {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
b,
|
||||||
|
strong {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
dfn {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses styling not present in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
mark {
|
||||||
|
background: #ff0;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects font family set oddly in Safari 5 and Chrome.
|
||||||
|
*/
|
||||||
|
|
||||||
|
code,
|
||||||
|
kbd,
|
||||||
|
pre,
|
||||||
|
samp {
|
||||||
|
font-family: monospace, serif;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Improves readability of pre-formatted text in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
pre {
|
||||||
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Sets consistent quote types.
|
||||||
|
*/
|
||||||
|
|
||||||
|
q {
|
||||||
|
quotes: "\201C" "\201D" "\2018" "\2019";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses inconsistent and variable font size in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
small {
|
||||||
|
font-size: 80%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Prevents `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
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes border when inside `a` element in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
img {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Corrects overflow displayed oddly in IE 9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
svg:not(:root) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Figures
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses margin not present in IE 8/9 and Safari 5.
|
||||||
|
*/
|
||||||
|
|
||||||
|
figure {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Forms
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define consistent border, margin, and padding.
|
||||||
|
*/
|
||||||
|
|
||||||
|
fieldset {
|
||||||
|
border: 1px solid #c0c0c0;
|
||||||
|
margin: 0 2px;
|
||||||
|
padding: 0.35em 0.625em 0.75em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects color not being inherited in IE 8/9.
|
||||||
|
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||||
|
*/
|
||||||
|
|
||||||
|
legend {
|
||||||
|
border: 0; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Corrects font family not being inherited in all browsers.
|
||||||
|
* 2. Corrects font size not being inherited in all browsers.
|
||||||
|
* 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
textarea {
|
||||||
|
font-family: inherit; /* 1 */
|
||||||
|
font-size: 100%; /* 2 */
|
||||||
|
margin: 0; /* 3 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||||
|
* the UA stylesheet.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button,
|
||||||
|
input {
|
||||||
|
line-height: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||||
|
* and `video` controls.
|
||||||
|
* 2. Corrects inability to style clickable `input` types in iOS.
|
||||||
|
* 3. Improves 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],
|
||||||
|
input[disabled] {
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses box sizing set to `content-box` in IE 8/9.
|
||||||
|
* 2. Removes excess padding in IE 8/9.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="checkbox"],
|
||||||
|
input[type="radio"] {
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
|
padding: 0; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
|
||||||
|
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
|
||||||
|
* (include `-moz` to future-proof).
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"] {
|
||||||
|
-webkit-appearance: textfield; /* 1 */
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box; /* 2 */
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and search cancel button in Safari 5 and Chrome
|
||||||
|
* on OS X.
|
||||||
|
*/
|
||||||
|
|
||||||
|
input[type="search"]::-webkit-search-cancel-button,
|
||||||
|
input[type="search"]::-webkit-search-decoration {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Removes inner padding and border in Firefox 4+.
|
||||||
|
*/
|
||||||
|
|
||||||
|
button::-moz-focus-inner,
|
||||||
|
input::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Removes default vertical scrollbar in IE 8/9.
|
||||||
|
* 2. Improves readability and alignment in all browsers.
|
||||||
|
*/
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
overflow: auto; /* 1 */
|
||||||
|
vertical-align: top; /* 2 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ==========================================================================
|
||||||
|
Tables
|
||||||
|
========================================================================== */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Remove most spacing between table cells.
|
||||||
|
*/
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
|
@ -0,0 +1,140 @@
|
||||||
|
.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
|
||||||
|
.clearfix:after{clear:both;}
|
||||||
|
.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
|
||||||
|
.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
|
||||||
|
.clearfix{*zoom:1;}
|
||||||
|
.clearfix:before,.clearfix:after{display:table;content:"";}
|
||||||
|
.clearfix:after{clear:both;}
|
||||||
|
.desaturate{filter:grayscale(100%);-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url(resources.svg#desaturate);filter:gray;-webkit-filter:grayscale(1);}
|
||||||
|
.clearfix:before,.clearfix:after{content:" ";display:table;}
|
||||||
|
.clearfix:after{clear:both;}
|
||||||
|
.loading-stripes{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background-image:-webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, rgba(255, 255, 255, 0.1)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.1)), color-stop(0.75, rgba(255, 255, 255, 0.1)), color-stop(0.75, transparent), to(transparent));background-image:-moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0.1) 75%, transparent 75%, transparent);background-size:60px 60px;-moz-background-size:60px 60px;-webkit-background-size:60px 60px;-webkit-animation:animate-stripes 2s linear infinite;}
|
||||||
|
@-webkit-keyframes animate-stripes{from{background-position:0 0;} to{background-position:-60px 0;}}@-moz-keyframes animate-stripes{from{background-position:0 0;} to{background-position:-60px 0;}}@-ms-keyframes animate-stripes{from{background-position:0 0;} to{background-position:-60px 0;}}@-o-keyframes animate-stripes{from{background-position:0 0;} to{background-position:-60px 0;}}@keyframes animate-stripes{from{background-position:0 0;} to{background-position:-60px 0;}}body.iphone{overflow:hidden;}body.iphone #iphone-image-link{display:block;height:100%;width:100%;position:absolute;z-index:1000;overflow:hidden;background:url(../img/iphone-horizontal.jpg) center top no-repeat;background-size:568px 240px;display:block !important;}
|
||||||
|
body.iphone.right-side-up #iphone-image-link{background:url(../img/iphone-vertical.jpg) center top no-repeat;background-size:320px 568px;}
|
||||||
|
body.iphone *{display:none;}
|
||||||
|
@font-face{font-family:DINWeb;src:url("../font/DINWeb.eot");}@font-face{font-family:DINWeb;src:url("../font/DINWeb.woff") format("woff");}#replay-thumbnail{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;position:absolute;z-index:1000;bottom:25px;left:25px;border-radius:5px;-webkit-box-shadow:0 0 15px #000000;-moz-box-shadow:0 0 15px #000000;box-shadow:0 0 15px #000000;width:150px;height:150px;border:1px solid #4d415b;cursor:pointer;}#replay-thumbnail.visible{opacity:1;pointer-events:all;}
|
||||||
|
#replay-thumbnail:hover{border:1px solid #60497b;}
|
||||||
|
#replay-thumbnail:active{border:1px solid #5a4574;}
|
||||||
|
#replay-thumbnail img{border-radius:5px;}
|
||||||
|
#replay-thumbnail .tt{left:0px !important;width:150px !important;text-align:center;padding:0;bottom:auto;top:-30px;}
|
||||||
|
#appstore-badge{position:absolute;bottom:20px;right:30px;z-index:5;text-decoration:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;pointer-events:none;width:262px;height:125px;width:165px;height:300px;overflow:hidden;overflow:visible;}#appstore-badge #announcement{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;-webkit-transition:all 0.1 ease-in-out !important;-moz-transition:all 0.1 ease-in-out !important;-ms-transition:all 0.1 ease-in-out !important;-o-transition:all 0.1 ease-in-out !important;transition:all 0.1 ease-in-out !important;height:245px;width:170px;}#appstore-badge #announcement.visible{opacity:1;pointer-events:all;}
|
||||||
|
#appstore-badge #announcement img{-webkit-transition:all 0.1 ease-in-out !important;-moz-transition:all 0.1 ease-in-out !important;-ms-transition:all 0.1 ease-in-out !important;-o-transition:all 0.1 ease-in-out !important;transition:all 0.1 ease-in-out !important;}
|
||||||
|
#appstore-badge #announcement .close-button{color:#aeaed6;border-radius:5px;display:block;position:absolute;right:-6px;top:249px;z-index:10000;text-align:center;font-size:14px;line-height:26px;width:26px;height:26px;background:#222222;background-image:-webkit-gradient(linear, left top, left bottom, from(#222222), to(#111111));background-image:-moz-linear-gradient(top, #222222, #111111);z-index:1000;-webkit-box-shadow:0 0 5px #000000;-moz-box-shadow:0 0 5px #000000;box-shadow:0 0 5px #000000;-webkit-transition:0.8s all ease-in-out;-moz-transition:0.8s all ease-in-out;-ms-transition:0.8s all ease-in-out;-o-transition:0.8s all ease-in-out;transition:0.8s all ease-in-out;-webkit-transition-delay:1s;-moz-transition-delay:1s;-ms-transition-delay:1s;-o-transition-delay:1s;transition-delay:1s;}#appstore-badge #announcement .close-button:active{opacity:1;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}
|
||||||
|
#appstore-badge #announcement .close-button.ad-showing-unnecessarily{opacity:1;opacity:0.7;pointer-events:all;}
|
||||||
|
#appstore-badge #announcement .close-button.close-pressed{opacity:0;pointer-events:none;}
|
||||||
|
#appstore-badge #announcement:hover .close-button{opacity:1;}
|
||||||
|
#appstore-badge #announcement img{margin-bottom:5px;position:absolute;}
|
||||||
|
#appstore-badge #announcement.visible #app-announcement{opacity:1;z-index:1;}
|
||||||
|
#appstore-badge #announcement.visible #app-announcement-hover{opacity:0;z-index:2;}
|
||||||
|
#appstore-badge #announcement.visible:hover #app-announcement{opacity:0;}
|
||||||
|
#appstore-badge #announcement.visible:hover #app-announcement-hover{opacity:1;}
|
||||||
|
#appstore-badge #badge{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;margin:0 auto;width:135px;height:40px;margin-top:5px;position:relative;left:3px;bottom:-10px;-webkit-box-shadow:0 0 15px #000000;-moz-box-shadow:0 0 15px #000000;box-shadow:0 0 15px #000000;z-index:100;}#appstore-badge #badge.visible{opacity:1;pointer-events:all;}
|
||||||
|
#share-options .direct-link{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;font-size:12px;color:#ccc;margin-top:5px;padding:10px 0;text-indent:10px;-webkit-user-select:text !important;-moz-user-select:text !important;-ms-user-select:text !important;-o-user-select:text !important;user-select:text !important;text-shadow:0 0 5px #000, 1px 1px 0 #000;margin-left:10px;background:#382c49;background-image:-webkit-gradient(linear, left top, left bottom, from(#382c49), to(#2d233b));background-image:-moz-linear-gradient(top, #382c49, #2d233b);-webkit-box-shadow:0 0 15px #000, inner 0 0 5px #000;-moz-box-shadow:0 0 15px #000, inner 0 0 5px #000;box-shadow:0 0 15px #000, inner 0 0 5px #000;border:none;border:1px solid #111;width:220px;outline:none !important;display:inline-block;cursor:text;}#share-options .direct-link.visible{opacity:1;pointer-events:all;}
|
||||||
|
#share-options .direct-link:focus{border:1px solid #276f9b;}
|
||||||
|
#copy-to-clipboard-wrap{position:relative;}
|
||||||
|
#btn-new,#btn-share,#share-options .btn{background:#53416c !important;background-image:-webkit-gradient(linear, left top, left bottom, from(#53416c), to(#261d32)) !important;background-image:-moz-linear-gradient(top, #53416c, #261d32) !important;border-top:1px solid #5f96e1;}#btn-new:hover,#btn-share:hover,#share-options .btn:hover,#btn-new.hover,#btn-share.hover,#share-options .btn.hover{border-top-color:#35c9ff;}#btn-new:hover .text,#btn-share:hover .text,#share-options .btn:hover .text,#btn-new.hover .text,#btn-share.hover .text,#share-options .btn.hover .text{color:#fff;}
|
||||||
|
#btn-new:active,#btn-share:active,#share-options .btn:active,#btn-new.active,#btn-share.active,#share-options .btn.active{background:#3a2d4c !important;background-image:-webkit-gradient(linear, left top, left bottom, from(#3a2d4c), to(#53416c)) !important;background-image:-moz-linear-gradient(top, #3a2d4c, #53416c) !important;}
|
||||||
|
#btn-new.disabled,#btn-share.disabled,#share-options .btn.disabled{background:#53416c !important;background-image:-webkit-gradient(linear, left top, left bottom, from(#53416c), to(#261d32)) !important;background-image:-moz-linear-gradient(top, #53416c, #261d32) !important;border-top:1px solid #5f96e1 !important;}
|
||||||
|
#intro-center{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;-webkit-transition:opacity 1.5s ease-in-out;-moz-transition:opacity 1.5s ease-in-out;-ms-transition:opacity 1.5s ease-in-out;-o-transition:opacity 1.5s ease-in-out;transition:opacity 1.5s ease-in-out;pointer-events:none !important;z-index:100;text-align:center;position:absolute;top:50%;left:50%;height:150px;line-height:100px;width:300px;margin-left:-150px;margin-top:-275px;color:#ccc;}#intro-center.visible{opacity:1;pointer-events:all;}
|
||||||
|
#intro-draw-something{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;-webkit-transition:opacity 1.5s ease-in-out;-moz-transition:opacity 1.5s ease-in-out;-ms-transition:opacity 1.5s ease-in-out;-o-transition:opacity 1.5s ease-in-out;transition:opacity 1.5s ease-in-out;pointer-events:none !important;z-index:101;position:absolute;top:50%;margin-top:170px;width:100%;height:20px;text-align:center;font-size:14px;color:#a48dc4;}#intro-draw-something.visible{opacity:1;pointer-events:all;}
|
||||||
|
#intro-mute-option{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;-webkit-transition:opacity 1.5s ease-in-out;-moz-transition:opacity 1.5s ease-in-out;-ms-transition:opacity 1.5s ease-in-out;-o-transition:opacity 1.5s ease-in-out;transition:opacity 1.5s ease-in-out;pointer-events:none !important;z-index:100;position:absolute;bottom:20px;width:100%;height:20px;text-align:center;font-size:14px;color:#a48dc4;color:#a288c3;color:#79698e;}#intro-mute-option.visible{opacity:1;pointer-events:all;}
|
||||||
|
#intro-mute-option #instructions{margin-bottom:15px;color:#c4b2dc;}
|
||||||
|
#intro-mute-option a{pointer-events:all;color:#a48dc4;color:#947fb1;text-decoration:none;border-bottom:1px dotted #a48dc4;}#intro-mute-option a:hover{color:#eadbff;border-bottom-style:solid;}
|
||||||
|
#intro-mute-option a:active{color:#d1bbef;}
|
||||||
|
*{margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}
|
||||||
|
html{background:#000;}
|
||||||
|
body{font-family:DINWeb,Helvetica,sans-serif;font-size:16px;overflow:hidden;background:#000;}
|
||||||
|
.text-drop-shadow{text-shadow:0 0 5px #000, 1px 1px 0 #000;}
|
||||||
|
:hover>.tt{opacity:1;-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1);}
|
||||||
|
.tt{z-index:100;color:#fff;padding:10px;height:20px;white-space:nowrap;position:absolute;bottom:-30px;font-size:14px;width:200px;left:-85px;text-align:center;opacity:0;-webkit-transform:scale(0.95);-moz-transform:scale(0.95);-ms-transform:scale(0.95);-o-transform:scale(0.95);transform:scale(0.95);pointer-events:none;-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;text-shadow:0 0 5px #000, 1px 1px 0 #000;}
|
||||||
|
#main-controls{top:20px;left:20px;z-index:1000;}
|
||||||
|
#sound-and-about{top:10px;right:20px;}#sound-and-about .app-link-container{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;color:#ccc !important;width:265px;pointer-events:all;font-size:13px;position:relative;}#sound-and-about .app-link-container.visible{opacity:1;pointer-events:all;}
|
||||||
|
#sound-and-about .app-link-container a{width:135px;height:40px;display:block;float:right;}
|
||||||
|
#sound-and-about .app-link-container a{text-decoration:none;color:#d7c3f2;}#sound-and-about .app-link-container a:hover{color:#fff;}
|
||||||
|
#sound-and-about .app-link-container a:active{color:#d7c3f2;}
|
||||||
|
#sound-and-about .social-row{width:265px ;}#sound-and-about .social-row .silk-icon{height:auto;line-height:auto;}
|
||||||
|
#sound-and-about .social-row .social{float:right;opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;display:inline-block;position:relative;top:12px;right:10px;z-index:1;padding-left:15px;}#sound-and-about .social-row .social.visible{opacity:1;pointer-events:all;}
|
||||||
|
#sound-and-about .social-row .social .fb-like{display:inline-block;overflow:hidden;position:relative;left:-5px;top:-1px;}
|
||||||
|
#sound-and-about .social-row .social .fb-like{vertical-align:text-top !important;}
|
||||||
|
#sound-and-about .social-row .social .fb-like *{vertical-align:text-top !important;}
|
||||||
|
#sound-and-about .social-row .social .twitter-follow-button[style]{vertical-align:text-top !important;}
|
||||||
|
#sound-and-about .social-row .social .twitter-follow-button{display:inline-block;font-style:10px;color:#8976a4;position:relative;text-decoration:none;top:-1px;}
|
||||||
|
#sound-and-about .silk-icon{float:right;}
|
||||||
|
#sound-and-about .about-row{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;margin-top:position: relative;width:200px;color:#8976a4;padding:20px;background:#231c2c;background-image:-webkit-gradient(linear, left top, left bottom, from(#231c2c), to(#130f18));background-image:-moz-linear-gradient(top, #231c2c, #130f18);font-size:13px;line-height:1.5;}#sound-and-about .about-row.visible{opacity:1;pointer-events:all;}
|
||||||
|
#sound-and-about .about-row a{color:#b8a3d6;text-decoration:none;}#sound-and-about .about-row a:hover{color:#f3e9ff;}
|
||||||
|
#sound-and-about .about-row a:active{color:#dbd0e9;}
|
||||||
|
#sound-and-about .about-row p{margin-bottom:8px;}
|
||||||
|
.controls-container{position:absolute;z-index:5;pointer-events:none;}
|
||||||
|
.controls-container .row{clear:both;pointer-events:none;*zoom:1;}.controls-container .row:before,.controls-container .row:after{display:table;content:"";}
|
||||||
|
.controls-container .row:after{clear:both;}
|
||||||
|
.controls-container .row .btn{opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;-webkit-transition:opacity 0.7s ease-in-out, color 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out, color 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out, color 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out, color 0.7s ease-in-out;transition:opacity 0.7s ease-in-out, color 0.7s ease-in-out;position:relative;width:95px;height:45px;line-height:45px;float:left;background:#261d32;color:#cbb2ec;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;border-right:1px solid #130e19;font-size:14px;}.controls-container .row .btn.visible{opacity:1;pointer-events:all;}
|
||||||
|
.controls-container .row .btn:last-child{border-right:none;}
|
||||||
|
.controls-container .row .btn.mini{width:55px;}
|
||||||
|
.controls-container .row .btn .loading-stripes{opacity:0;-webkit-transition:opacity 0.5s ease-out;-moz-transition:opacity 0.5s ease-out;-ms-transition:opacity 0.5s ease-out;-o-transition:opacity 0.5s ease-out;transition:opacity 0.5s ease-out;}
|
||||||
|
.controls-container .row .btn.disabled{color:#7f6e94 !important;background:#261d32 !important;cursor:default !important;}.controls-container .row .btn.disabled .text{color:inherit !important;}
|
||||||
|
.controls-container .row .btn.disabled.loading{color:#fff !important;}.controls-container .row .btn.disabled.loading .text{color:#fff !important;}
|
||||||
|
.controls-container .row .btn.loading{color:#fff !important;}.controls-container .row .btn.loading .loading-stripes{opacity:1;}
|
||||||
|
.controls-container .row .btn.loading .text{color:#fff !important;}
|
||||||
|
.controls-container .row .btn:hover{background:#362a47;cursor:pointer;}
|
||||||
|
.controls-container .row .btn:active{background:#322742;color:#c4ade4;}
|
||||||
|
.controls-container .row .btn.silk-icon{width:47px;background:transparent !important;text-shadow:0 0 5px #000, 1px 1px 0 #000;font-size:14px;border-right:none;text-align:center;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;}.controls-container .row .btn.silk-icon .tt{margin-left:-2px;}
|
||||||
|
.controls-container .row .btn.silk-icon:hover{color:#fff !important;}
|
||||||
|
.controls-container .row .btn.silk-icon:active{color:#dbd0e9 !important;}
|
||||||
|
.controls-container .row .btn.silk-icon i{display:inline-block;-webkit-transform:rotateY(0deg);-moz-transform:rotateY(0deg);-ms-transform:rotateY(0deg);-o-transform:rotateY(0deg);transform:rotateY(0deg);}
|
||||||
|
.controls-container .row .btn.silk-icon.flip-icon i{-webkit-transform:rotateY(180deg);-moz-transform:rotateY(180deg);-ms-transform:rotateY(180deg);-o-transform:rotateY(180deg);transform:rotateY(180deg);}
|
||||||
|
.controls-container .row .btn.silk-icon:hover i{-webkit-transition:all 0.25s ease-out;-moz-transition:all 0.25s ease-out;-ms-transition:all 0.25s ease-out;-o-transition:all 0.25s ease-out;transition:all 0.25s ease-out;}
|
||||||
|
.controls-container .row .btn.silk-icon .tt{bottom:-7px;}
|
||||||
|
.controls-container .row #share-wrap{position:relative;float:left;}.controls-container .row #share-wrap #btn-share{position:absolute;z-index:5;border-right:none;}
|
||||||
|
.controls-container .row #share-options{position:relative;white-space:nowrap;float:left;z-index:4;pointer-events:none;}.controls-container .row #share-options .btn,.controls-container .row #share-options .direct-link{opacity:0;pointer-events:none;}
|
||||||
|
.controls-container .row #share-options.show-share-options .btn,.controls-container .row #share-options.show-share-options .direct-link{opacity:1;pointer-events:all;}
|
||||||
|
.controls-container .download-row{position:absolute;}.controls-container .download-row img{width:100%;border:1px solid #2c233a;-webkit-box-shadow:0 0 25px #000000;-moz-box-shadow:0 0 25px #000000;box-shadow:0 0 25px #000000;}
|
||||||
|
.controls-container .download-row p.instructions{text-shadow:0 0 5px #000, 1px 1px 0 #000;margin-bottom:15px;font-size:14px;line-height:1.5;color:#b8a3d6;}.controls-container .download-row p.instructions em{white-space:nowrap;color:#d3c1ed;}
|
||||||
|
.controls-container .controls-row{font-size:14px;margin-top:15px;width:195px;opacity:0;pointer-events:none;-webkit-transition:opacity 0.7s ease-in-out;-moz-transition:opacity 0.7s ease-in-out;-ms-transition:opacity 0.7s ease-in-out;-o-transition:opacity 0.7s ease-in-out;transition:opacity 0.7s ease-in-out;}.controls-container .controls-row.visible{opacity:1;pointer-events:all;}
|
||||||
|
.controls-container .controls-row.color-and-symmetry-row{margin-top:10px;}.controls-container .controls-row.color-and-symmetry-row .silk-icon{cursor:pointer;}
|
||||||
|
.controls-container .controls-row .label{margin:15px 5px 25px 5px;color:#8976a4;text-shadow:0 0 5px #000, 1px 1px 0 #000;cursor:default;}
|
||||||
|
.controls-container .controls-row .control{*zoom:1;}.controls-container .controls-row .control:before,.controls-container .controls-row .control:after{display:table;content:"";}
|
||||||
|
.controls-container .controls-row .control:after{clear:both;}
|
||||||
|
.controls-container .controls-row .control.toggle{padding:0 5px 15px 5px;cursor:pointer;text-shadow:0 0 5px #000, 1px 1px 0 #000;color:#8976a4;}.controls-container .controls-row .control.toggle:hover{color:#f3e9ff;}
|
||||||
|
.controls-container .controls-row .control.toggle:active{color:#dbd0e9;}
|
||||||
|
.controls-container .controls-row .control.toggle .state-on{display:none;}
|
||||||
|
.controls-container .controls-row .control.toggle .state-off{display:block;}
|
||||||
|
.controls-container .controls-row .control.toggle.on{color:#cbb2ec;}.controls-container .controls-row .control.toggle.on:hover{color:#f3e9ff;}
|
||||||
|
.controls-container .controls-row .control.toggle.on:active{color:#dbd0e9;}
|
||||||
|
.controls-container .controls-row .control.toggle.on .state-on{display:block;}
|
||||||
|
.controls-container .controls-row .control.toggle.on .state-off{display:none;}
|
||||||
|
.controls-container .controls-row .description{float:left;}
|
||||||
|
.controls-container .controls-row .state{float:right;text-align:right;}
|
||||||
|
.controls-container .controls-row #colorpicker{display:block;cursor:pointer !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;-o-user-select:none !important;user-select:none !important;width:100%;height:185px;}.controls-container .controls-row #colorpicker g{cursor:pointer !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;-o-user-select:none !important;user-select:none !important;}
|
||||||
|
.controls-container .controls-row #colorpicker path{cursor:pointer !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;-o-user-select:none !important;user-select:none !important;cursor:pointer;}.controls-container .controls-row #colorpicker path:hover{stroke:rgba(255, 255, 255, 0.5);stroke-width:4;}
|
||||||
|
.controls-container .controls-row #colorpicker path.selected{stroke:rgba(255, 255, 255, 0.6);stroke-width:6;}
|
||||||
|
.controls-container .slider.one-d{position:relative;height:30px;background:#231c2c;cursor:pointer;border-radius:30px;}.controls-container .slider.one-d .slider-bg{position:relative;top:10px;height:10px;margin:0 10px;background:#15111c;border-radius:30px;overflow:hidden;}.controls-container .slider.one-d .slider-bg .slider-bg-pc{position:absolute;z-index:2;height:10px;border-radius:30px;background:#757ab2;}
|
||||||
|
.controls-container .slider.one-d .handle,.controls-container .slider.one-d .ghost-handle{position:absolute;z-index:5;top:6px;height:18px;width:18px;background:#9e95cb;background:#8572af;background-image:-webkit-gradient(linear, left top, left bottom, from(#8572af), to(#6f6091));background-image:-moz-linear-gradient(top, #8572af, #6f6091);-webkit-box-shadow:0 0 25px #000000;-moz-box-shadow:0 0 25px #000000;box-shadow:0 0 25px #000000;border-radius:30px;}
|
||||||
|
.controls-container .slider.one-d:active .handle{background:#6f6091;background-image:-webkit-gradient(linear, left top, left bottom, from(#6f6091), to(#8572af));background-image:-moz-linear-gradient(top, #6f6091, #8572af);}
|
||||||
|
.controls-container .slider.one-d .ghost-handle{-webkit-transition:opacity 0.25s ease-out;-moz-transition:opacity 0.25s ease-out;-ms-transition:opacity 0.25s ease-out;-o-transition:opacity 0.25s ease-out;transition:opacity 0.25s ease-out;opacity:0;pointer-events:none;}
|
||||||
|
.controls-container .slider.one-d:hover .ghost-handle{opacity:0.75;pointer-events:all;}
|
||||||
|
.controls-container .slider.one-d:active .ghost-handle{opacity:0;}
|
||||||
|
.controls-container .slider.two-d{position:relative;height:145px;background:#231c2c;cursor:pointer;border-radius:30px;}.controls-container .slider.two-d .slider-bg{position:relative;top:10px;height:125px;margin:0 10px;background:#15111c;border-radius:30px;overflow:hidden;}.controls-container .slider.two-d .slider-bg .slider-bg-pc{position:absolute;z-index:2;height:125px;border-radius:30px;background:#757ab2;}
|
||||||
|
.controls-container .slider.two-d .handle,.controls-container .slider.two-d .ghost-handle{position:absolute;z-index:5;top:63.5px;height:18px;width:18px;background:#9e95cb;background:#8572af;background-image:-webkit-gradient(linear, left top, left bottom, from(#8572af), to(#6f6091));background-image:-moz-linear-gradient(top, #8572af, #6f6091);-webkit-box-shadow:0 0 25px #000000;-moz-box-shadow:0 0 25px #000000;box-shadow:0 0 25px #000000;border-radius:30px;}
|
||||||
|
.controls-container .slider.two-d:active .handle{background:#6f6091;background-image:-webkit-gradient(linear, left top, left bottom, from(#6f6091), to(#8572af));background-image:-moz-linear-gradient(top, #6f6091, #8572af);}
|
||||||
|
.controls-container .slider.two-d .ghost-handle{-webkit-transition:opacity 0.25s ease-out;-moz-transition:opacity 0.25s ease-out;-ms-transition:opacity 0.25s ease-out;-o-transition:opacity 0.25s ease-out;transition:opacity 0.25s ease-out;opacity:0;pointer-events:none;}
|
||||||
|
.controls-container .slider.two-d:hover .ghost-handle{opacity:0.75;pointer-events:all;}
|
||||||
|
.controls-container .slider.two-d:active .ghost-handle{opacity:0;}
|
||||||
|
.controls-container #symmetry-controls{margin-top:15px;}
|
||||||
|
.controls-container #sym-num-rotations .ticks{position:absolute;height:100%;width:100%;pointer-events:none;z-index:1;}.controls-container #sym-num-rotations .ticks .tick{position:absolute;width:1px;height:100%;background:#333;background:transparent;background-image:-webkit-gradient(linear, left top, left bottom, from(transparent), to(#332940));background-image:-moz-linear-gradient(top, transparent, #332940);}.controls-container #sym-num-rotations .ticks .tick.one{left:16.666666666666668%;}
|
||||||
|
.controls-container #sym-num-rotations .ticks .tick.two{left:33.333333333333336%;}
|
||||||
|
.controls-container #sym-num-rotations .ticks .tick.three{left:50%;}
|
||||||
|
.controls-container #sym-num-rotations .ticks .tick.four{left:66.66666666666667%;}
|
||||||
|
.controls-container #sym-num-rotations .ticks .tick.five{left:83.33333333333333%;}
|
||||||
|
.controls-container #sym-num-rotations .ticks .tick.six{left:100%;}
|
||||||
|
body.silk-active #main-controls{pointer-events:none !important;}body.silk-active #main-controls .btn,body.silk-active #main-controls .row *,body.silk-active #main-controls .row,body.silk-active #main-controls .control,body.silk-active #main-controls .slider,body.silk-active #main-controls #colorpicker,body.silk-active #main-controls #colorpicker *{pointer-events:none !important;}
|
||||||
|
body.silk-active #appstore-badge,body.silk-active #announcement,body.silk-active #app-announcement,body.silk-active #app-announcement-hover,body.silk-active #badge{pointer-events:none !important;}
|
||||||
|
body.mouse-down-on-slider .toggle.control{pointer-events:none !important;}
|
||||||
|
body.mouse-over-previewable-controls #sparks,body.mouse-down-on-slider #sparks{pointer-events:none;}
|
||||||
|
#canvii-container{left:0;position:relative;}
|
||||||
|
#silk-1,#silk-2,#sparks{position:absolute;top:0;left:0;}
|
||||||
|
.silk-canvas{z-index:1;opacity:1;-webkit-transition:opacity 0.75s ease-out;-moz-transition:opacity 0.75s ease-out;-ms-transition:opacity 0.75s ease-out;-o-transition:opacity 0.75s ease-out;transition:opacity 0.75s ease-out;}.silk-canvas.onepacity{opacity:1;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}
|
||||||
|
.silk-canvas.active{z-index:2;pointer-events:all;}.silk-canvas.active.zeropacity{opacity:0;-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none;}
|
||||||
|
#sparks{cursor:pointer;z-index:3;}
|
||||||
|
#tips{position:absolute;pointer-events:none;width:100%;z-index:3;color:#fff;top:50%;height:50px;line-height:50px;margin-top:-25px;}#tips .tip{color:#373547;color:#454259;color:#64607e;font-size:18px;text-shadow:0 0 5px #000;position:absolute;text-align:center;width:100%;opacity:0;-webkit-transition:all 0.5s ease-in-out;-moz-transition:all 0.5s ease-in-out;-ms-transition:all 0.5s ease-in-out;-o-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out;}#tips .tip a{color:#96bc7b;border-bottom:1px solid #5a5579;text-decoration:none;}#tips .tip a:hover{color:#bbe59c;border-bottom:1px solid #79749d;}
|
||||||
|
#tips .tip a:active{color:#a8d488;}
|
||||||
|
#tips .tip.showing{opacity:1;}#tips .tip.showing a{pointer-events:all;}
|
|
@ -0,0 +1,67 @@
|
||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Symbolset
|
||||||
|
* www.symbolset.com
|
||||||
|
* Copyright © 2012 Oak Studios LLC
|
||||||
|
*
|
||||||
|
* Upload this file to your web server
|
||||||
|
* and place this within your <head> tags.
|
||||||
|
* <link href="webfonts/ss-social.css" rel="stylesheet" />
|
||||||
|
*/
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "SSSocial";
|
||||||
|
src: url('../font/ss-social/ss-social-circle.eot');
|
||||||
|
src: url('../font/ss-social/ss-social-circle.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('../font/ss-social/ss-social-circle.woff') format('woff'),
|
||||||
|
url('../font/ss-social/ss-social-circle.ttf') format('truetype'),
|
||||||
|
url('../font/ss-social/ss-social-circle.svg#SSSocialCircle') format('svg');
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "SSSocial";
|
||||||
|
src: url('../font/ss-social/ss-social-regular.eot');
|
||||||
|
src: url('../font/ss-social/ss-social-regular.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('../font/ss-social/ss-social-regular.woff') format('woff'),
|
||||||
|
url('../font/ss-social/ss-social-regular.ttf') format('truetype'),
|
||||||
|
url('../font/ss-social/ss-social-regular.svg#SSSocialRegular') format('svg');
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This triggers a redraw in IE to Fix IE8's :before content rendering. */
|
||||||
|
html:hover [class^="ss-"]{-ms-zoom: 1;}
|
||||||
|
|
||||||
|
.ss-icon, .ss-icon.ss-social, .ss-icon.ss-social-circle,
|
||||||
|
[class^="ss-"]:before, [class*=" ss-"]:before,
|
||||||
|
[class^="ss-"][class*=" ss-social"]:before, [class*=" ss-"][class*=" ss-social"]:before,
|
||||||
|
[class^="ss-"].right:after, [class*=" ss-"].right:after,
|
||||||
|
[class^="ss-"][class*=" ss-social"].right:after, [class*=" ss-"][class*=" ss-social"].right:after{
|
||||||
|
font-family: "SSSocial";
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: normal;
|
||||||
|
text-decoration: none;
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
white-space: nowrap;
|
||||||
|
/*-webkit-font-feature-settings: "liga"; Currently broken in Chrome >= v22. Falls back to text-rendering. Safari is unaffected. */
|
||||||
|
-moz-font-feature-settings: "liga=1";
|
||||||
|
-moz-font-feature-settings: "liga";
|
||||||
|
-ms-font-feature-settings: "liga" 1;
|
||||||
|
-o-font-feature-settings: "liga";
|
||||||
|
font-feature-settings: "liga";
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ss-icon.ss-social-circle,
|
||||||
|
[class^="ss-"].ss-social-circle:before, [class*=" ss-"].ss-social-circle:before,
|
||||||
|
[class^="ss-"].ss-social-circle.right:after, [class*=" ss-"].ss-social-circle.right:after{
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
[class^="ss-"].right:before,
|
||||||
|
[class*=" ss-"].right:before{display:none;content:'';}
|
||||||
|
|
||||||
|
.ss-facebook:before,.ss-facebook.right:after{content:''}.ss-twitter:before,.ss-twitter.right:after{content:''}.ss-linkedin:before,.ss-linkedin.right:after{content:''}.ss-googleplus:before,.ss-googleplus.right:after{content:''}.ss-tumblr:before,.ss-tumblr.right:after{content:''}.ss-wordpress:before,.ss-wordpress.right:after{content:''}.ss-blogger:before,.ss-blogger.right:after{content:''}.ss-posterous:before,.ss-posterous.right:after{content:''}.ss-youtube:before,.ss-youtube.right:after{content:''}.ss-vimeo:before,.ss-vimeo.right:after{content:''}.ss-flickr:before,.ss-flickr.right:after{content:''}.ss-instagram:before,.ss-instagram.right:after{content:''}.ss-pinterest:before,.ss-pinterest.right:after{content:''}.ss-svpply:before,.ss-svpply.right:after{content:''}.ss-readmill:before,.ss-readmill.right:after{content:''}.ss-dropbox:before,.ss-dropbox.right:after{content:''}.ss-dribbble:before,.ss-dribbble.right:after{content:''}.ss-behance:before,.ss-behance.right:after{content:''}.ss-github:before,.ss-github.right:after{content:''}.ss-octocat:before,.ss-octocat.right:after{content:''}.ss-stackoverflow:before,.ss-stackoverflow.right:after{content:''}.ss-paypal:before,.ss-paypal.right:after{content:''}.ss-kickstarter:before,.ss-kickstarter.right:after{content:''}.ss-foursquare:before,.ss-foursquare.right:after{content:''}.ss-skype:before,.ss-skype.right:after{content:''}.ss-rdio:before,.ss-rdio.right:after{content:''}.ss-spotify:before,.ss-spotify.right:after{content:''}.ss-lastfm:before,.ss-lastfm.right:after{content:''}.ss-mail:before,.ss-mail.right:after{content:'✉'}.ss-like:before,.ss-like.right:after{content:'👍'}.ss-rss:before,.ss-rss.right:after{content:''}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,101 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata/>
|
||||||
|
<defs>
|
||||||
|
<font id="SSSocialCircle">
|
||||||
|
<font-face font-family="SS Social" units-per-em="864" ascent="918" descent="-270"/>
|
||||||
|
<missing-glyph d="M0 864h864v-864h-864v864zM680 756h-496l248 -248zM108 680v-496l248 248zM184 108h496l-248 248zM756 184v496l-248 -248z"/>
|
||||||
|
<glyph horiz-adv-x="864" d="M0 864h864v-864h-864v864zM680 756h-496l248 -248zM108 680v-496l248 248zM184 108h496l-248 248zM756 184v496l-248 -248z"/>
|
||||||
|
<glyph unicode="✉" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM702 268v258l-270 -202l-270 202v-258q0 -14 10 -24t24 -10h472q14 0 24 10t10 24zM432 394l270 202q0 14 -10 24t-24 10h-472q-14 0 -24 -10 t-10 -24z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM288 216q30 0 51 21t21 51t-21 51t-51 21t-51 -21t-21 -51t21 -51t51 -21zM450 216h90q0 134 -95 229t-229 95v-90q97 0 165.5 -68.5 t68.5 -165.5zM612 216h90q0 99 -38.5 189t-103.5 155t-155 103.5t-189 38.5v-90q164 0 280 -116t116 -280z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM468 503v78q0 25 8.5 37t35.5 12h59l5 102q-30 6 -82 6q-75 0 -113.5 -39t-38.5 -97v-98h-72v-108h72v-270h126v270h101l7 107h-108z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM695 527q33 23 61 63q-36 -15 -71 -19q39 22 53 68q-37 -21 -77 -30q-36 39 -89 39q-51 0 -86.5 -36t-35.5 -87q0 -15 3 -28q-155 8 -254 129 q-16 -30 -16 -62q0 -66 54 -102q-28 0 -55 15v-1q0 -44 28 -78t70 -43q-13 -4 -32 -4q-9 0 -23 2q11 -37 42.5 -59.5t71.5 -23.5q-71 -56 -152 -56q-11 0 -29 2q83 -54 188 -54q81 0 149 31.5t110.5 82.5t66 112t23.5 123v16z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM306 216v306h-108v-306h108zM252 576q32 0 52 18t20 45q-1 28 -20.5 45.5t-51.5 17.5t-52 -18t-20 -45t19.5 -45t51.5 -18h1zM702 216v162 q0 74 -34 118t-92 44q-32 0 -55.5 -17.5t-34.5 -47.5l-4 47h-107l3 -72v-234h108v162q0 33 14 52.5t39 19.5q55 0 55 -72v-162h108z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M182 215h42q-33 35 -33 68q0 22 12 46h-22q-67 0 -115.5 35t-64.5 91q-1 -8 -1 -23q0 -129 71 -238q53 21 111 21zM82 508q8 -62 47.5 -107.5t86.5 -46.5q47 -2 75 41.5t20 105.5t-47.5 106t-87.5 46q-47 2 -74.5 -40.5t-19.5 -104.5zM370 61q0 13 -3 25q-2 9 -5.5 16.5 t-10 15t-11 12.5t-15 13t-16 11.5t-20 13.5t-20.5 14q-32 10 -61 10q-61 1 -114 -30q103 -129 265 -156q11 23 11 55zM432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5h-17q19 36 19 71q0 54 -19.5 89.5t-67.5 69.5q-22 16 -43 39t-21 38q0 20 9 33.5 t38 36.5q69 54 69 129q0 49 -20.5 88.5t-58.5 53.5h78l55 40h-246q-97 0 -165 -70q53 111 158 178.5t232 67.5zM648 540h108v54h-108v108h-54v-108h-108v-54h108v-108h54v108z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM612 162v93q-51 -15 -90 -15q-47 0 -59.5 16.5t-12.5 67.5v144h144v126h-144v144h-90q-9 -81 -42.5 -115t-101.5 -57v-91h91v-187 q0 -81 38 -121.5t123 -40.5q40 0 76 9t52 18z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M36 606l205 -562q-109 54 -175 158t-66 230q0 89 36 174zM574 24q-68 -24 -142 -24q-62 0 -122 17l127 378zM686 573q35 -61 35 -119q0 -34 -32 -139l-44 -144l-156 464l50 4q11 1 14.5 10.5t-1.5 17.5t-16 8q-70 -6 -115 -6l-114 6q-11 0 -16 -8.5t-1.5 -17.5t14.5 -10 q22 -3 46 -4l67 -184l-95 -284l-157 468l50 4q11 1 14.5 10.5t-1.5 17.5t-16 8q-70 -6 -115 -6q-17 0 -26 1q60 90 155 142t206 52q167 0 290 -112h-6q-31 0 -52 -23.5t-21 -53.5q0 -7 1 -13.5t2.5 -12t4.5 -13.5t5 -12t7 -12.5t7 -12t8 -13.5t8 -13zM864 432 q0 -118 -58.5 -217.5t-156.5 -156.5l132 382q33 82 33 155q0 25 -3 44q53 -95 53 -207z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM684 342v108q0 15 -10.5 25.5t-25.5 10.5h-27q-11 0 -19 10.5t-8 25.5q0 67 -47.5 114.5t-114.5 47.5h-90q-67 0 -114.5 -47.5t-47.5 -114.5 v-180q0 -68 47 -115t115 -47h180q67 0 114.5 47.5t47.5 114.5zM522 378q15 0 25.5 -10.5t10.5 -25.5t-10.5 -25.5t-25.5 -10.5h-180q-15 0 -25.5 10.5t-10.5 25.5t10.5 25.5t25.5 10.5h180zM342 486q-15 0 -25.5 10.5t-10.5 25.5t10.5 25.5t25.5 10.5h90q15 0 25.5 -10.5 t10.5 -25.5t-10.5 -25.5t-25.5 -10.5h-90z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M288 396v90q0 64 44 113t107 49q65 0 110 -53.5t45 -144.5q0 -95 -42.5 -149.5t-119.5 -54.5q-61 0 -102.5 46.5t-41.5 103.5zM864 432q0 -179 -126.5 -305.5t-305.5 -126.5q-74 0 -144 25v239h7q57 -84 155 -84q111 0 172.5 78t61.5 192q0 111 -59.5 187t-156.5 76 q-123 0 -183 -101h-7l-8 90h-78l6 -144v-489q-91 59 -144.5 155t-53.5 208q0 179 126.5 305.5t305.5 126.5t305.5 -126.5t126.5 -305.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM432 234q202 0 236 25t34 173t-34 173t-236 25t-236 -25t-34 -173t34 -173t236 -25zM360 324v216l180 -108z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM396 144q39 0 112 68t133.5 167t60.5 172q0 44 -24 70.5t-61 26.5q-47 0 -94.5 -30.5t-64.5 -95.5q37 16 59.5 1.5t22.5 -43.5 q0 -35 -41 -95.5t-61 -60.5q-28 0 -53 156q-1 7 -3.5 28t-4.5 32.5t-6 30.5t-10 30.5t-14 23.5t-20 17.5t-27 5.5q-32 0 -76.5 -34.5t-73.5 -69.5l-28 -34l22 -24q24 18 38.5 22.5t21.5 -1t12 -21.5l72 -234q32 -108 108 -108z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM252 288q59 0 101.5 42t42.5 102q0 59 -42.5 101.5t-101.5 42.5q-60 0 -102 -42.5t-42 -101.5q0 -60 42 -102t102 -42zM612 288 q59 0 101.5 42t42.5 102q0 59 -42.5 101.5t-101.5 42.5q-60 0 -102 -42.5t-42 -101.5q0 -60 42 -102t102 -42z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 594q67 0 114.5 -47.5t47.5 -114.5t-47.5 -114.5t-114.5 -47.5q-68 0 -115 47t-47 115q0 67 47.5 114.5t114.5 47.5zM833 594h-232q-70 72 -169 72t-169 -72h-232q49 120 158 195t243 75t242.5 -75t158.5 -195zM864 432q0 -179 -126.5 -305.5t-305.5 -126.5 t-305.5 126.5t-126.5 305.5q0 46 9 90h207q-18 -42 -18 -90q0 -97 68.5 -165.5t165.5 -68.5t165.5 68.5t68.5 165.5q0 48 -18 90h207q9 -44 9 -90z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 432q0 -179 -126.5 -305.5t-305.5 -126.5q-64 0 -123 18q32 50 44 92l30 119q12 -22 42 -38t64 -16q103 0 168 84t65 212q0 100 -77 174t-196 74q-74 0 -134.5 -24.5t-97.5 -64.5t-57 -87t-20 -94q0 -59 22.5 -103.5t65.5 -61.5q17 -7 22 11q4 14 9 34q3 12 -7 24 q-28 35 -28 85q0 85 59 146t154 61q85 0 132 -46t47 -120q0 -95 -38.5 -162t-98.5 -67q-34 0 -55 24.5t-13 58.5q5 20 15 53t16.5 58t6.5 42q0 28 -15 46.5t-43 18.5q-35 0 -59 -32t-24 -80q0 -18 3.5 -35t6.5 -25l4 -8q-48 -200 -56 -236q-11 -43 -7 -99 q-116 51 -187.5 158t-71.5 238q0 179 126.5 305.5t305.5 126.5t305.5 -126.5t126.5 -305.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM298 246q51 0 78 33t27 81q0 77 -89 103q-23 7 -92 29q-49 14 -49 48q0 22 15.5 39.5t48.5 17.5q37 0 67.5 -28.5t41.5 -76.5h18v120h-18 l-8 -39q-35 45 -100 45q-41 0 -69 -24.5t-28 -71.5q0 -81 83 -106l86 -27q34 -11 45.5 -25t11.5 -37q0 -22 -20 -39.5t-52 -17.5q-36 0 -72 30t-61 96h-18v-144h18l14 53q19 -24 51 -41.5t71 -17.5zM763 594h11v18h-126v-18h16q18 0 23.5 -14.5t-2.5 -36.5l-76 -193l-90 244 h57v18h-180v-18h8q40 0 54 -36l113 -306h24l108 280q26 62 60 62z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM720 272v403q0 13 -11 21q-10 8 -23 5l-207 -55q-26 -7 -47 -30q-21 23 -47 30l-207 55q-13 3 -24 -5q-10 -8 -10 -21v-403q0 -21 20 -26 l242 -65q7 -88 57 -135q0 -1 2 -1h1q2 2 2 3l3 53l35 4q2 0 2 2q1 1 0.5 2t-1.5 1q-38 30 -45 72l238 64q20 5 20 26zM459 551q0 14 10.5 26.5t23.5 15.5l173 47v-347l-207 -56v314zM639 345v50l-153 -42v-50zM639 441v50l-153 -42v-50zM639 537v50l-153 -42v-50zM371 593 q13 -3 23.5 -15.5t10.5 -26.5v-314l-207 56v347zM378 303v50l-153 42v-50zM378 399v50l-153 42v-50zM378 495v50l-153 42v-50z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 609l192 -119l-192 -119l-192 119zM432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM623 232v36l-59 -37l-132 109l-131 -109l-60 37v-36l191 -114zM565 260l191 125l-132 105l132 106 l-191 124l-133 -111l-133 111l-191 -124l132 -106l-132 -105l191 -125l133 111z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M421 572q-168 -50 -412 -54q20 101 84.5 182t157.5 124q98 -120 170 -252zM114 139q-114 124 -114 293v20q269 4 451 61q17 -34 38 -83q-22 -6 -33 -10q-206 -73 -342 -281zM602 35q-81 -35 -170 -35q-151 0 -268 93q138 217 349 276q58 -153 89 -334zM859 367 q-13 -91 -63 -168t-126 -127q-31 169 -84 312q129 19 273 -17zM492 596q-74 137 -168 254q54 14 108 14q166 0 288 -111q-87 -101 -228 -157zM864 434q-163 37 -302 13q-8 21 -40 91q149 60 244 168q96 -117 98 -272z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M608 469q25 0 42 -16t17 -39h-119q2 24 18 39.5t42 15.5zM608 469q25 0 42 -16t17 -39h-119q2 24 18 39.5t42 15.5zM432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM530 612v-36h159v36h-159 zM309 252q72 0 104 31.5t32 79.5q0 32 -14.5 53.5t-28.5 27.5l-14 5q45 23 45 75q0 45 -30.5 70t-81.5 25h-177v-367h165zM547 368h191v17q0 67 -34 104t-96 37q-58 0 -94.5 -36t-36.5 -105q0 -66 36.5 -102t96.5 -36q47 0 81.5 24t42.5 62h-70q-1 -3 -4.5 -8t-16.5 -13.5 t-31 -8.5q-28 0 -46.5 17t-18.5 48zM608 469q25 0 42 -16t17 -39h-119q2 24 18 39.5t42 15.5zM307 413q60 0 60 -45q0 -52 -61 -52h-78v97h79zM360 515q0 -41 -54 -41h-78v81h69q33 0 48 -8.5t15 -31.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM594 648v92q-27 -23 -105 -29q-34 22 -79 22q-61 0 -103 -41.5t-42 -106.5q0 -88 70 -128q-17 -14 -25 -31.5t-3.5 -40t24.5 -43.5 q-36 -16 -57.5 -44.5t-21.5 -62.5q0 -54 50 -90t121 -36q72 0 121.5 35.5t49.5 90.5q0 52 -48 88t-118 38q-22 16 -25 33.5t12 43.5q60 2 99.5 42.5t39.5 104.5q0 35 -12 63h52zM342 234q0 19 22.5 33t58.5 14t58.5 -14t22.5 -33q0 -20 -22.5 -33.5t-58.5 -13.5t-58.5 13.5 t-22.5 33.5zM410 661q23 0 37.5 -19.5t14.5 -52.5q0 -34 -15 -53.5t-37 -19.5q-23 0 -38 20t-15 53t15 52.5t38 19.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -149 -91.5 -266t-232.5 -153v113q0 78 -45 113q91 14 149 65t58 128q0 68 -50 124q18 83 -4 128q-55 -5 -125 -48q-48 12 -91 12t-91 -12q-70 43 -125 48q-23 -48 -4 -128q-50 -56 -50 -124q0 -77 58 -128t149 -65q-23 -17 -35 -49 q-18 0 -37 3.5t-34.5 9.5t-30 13.5t-26 15t-19.5 14t-13 10.5l-4 4q-7 7 -14 2q-8 -5 -6 -14q19 -37 32 -54q52 -67 142 -94v-87q-141 36 -232.5 153t-91.5 266q0 179 126.5 305.5t305.5 126.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM479 825l-51 -51l204 -204l51 51zM363 680l-31 -65l261 -122l31 66zM306 530l-13 -71l284 -50l12 71zM288 396v-72h288v72h-288zM684 216v216 h-72v-144h-360v144h-72v-216h504z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM679 510q18 81 -25.5 127.5t-105.5 46.5h-242l-108 -504h140l35 162h100q78 0 134 45t72 123zM494 576q27 0 41.5 -20.5t7.5 -49.5 q-7 -30 -30.5 -52t-54.5 -22h-66l32 144h70z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM635 199q27 22 30.5 56.5t-18.5 61.5l-115 126l99 119q21 28 16 62t-33 55q-28 20 -62 15.5t-54 -32.5l-102 -138v97q0 34 -23.5 57.5 t-57.5 23.5t-57.5 -23.5t-23.5 -57.5v-378q0 -34 23.5 -57.5t57.5 -23.5t57.5 23.5t23.5 57.5v110l122 -144q23 -26 57 -29t60 19z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 432q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5q0 13 2 39q8 -63 56.5 -105t112.5 -42q71 0 121 50t50 121t-50 121t-121 50q-89 0 -140 -73q49 121 157.5 196t243.5 75q101 0 190 -44t150 -121l-358 -429l-45 83q-38 -51 -96 -79l123 -148 l449 431q19 -62 19 -125z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM567 137q66 0 113 47t47 113q0 51 -28 90q3 23 3 45q0 112 -79 191t-191 79q-22 0 -45 -3q-39 28 -90 28q-66 0 -113 -47t-47 -113 q0 -51 28 -91q-3 -21 -3 -44q0 -112 79 -191t191 -79q23 0 44 3q40 -28 91 -28zM585 366q0 77 -120 102l-40 10q-18 4 -27 6.5t-16.5 9.5t-7.5 18q0 29 55 29q33 0 58 -22t41 -22q18 0 29 12.5t11 29.5q0 32 -44.5 52.5t-101.5 20.5t-100 -26.5t-43 -80.5q0 -44 25.5 -66.5 t73.5 -34.5l56 -14q22 -5 30.5 -7.5t16.5 -10t8 -18.5q0 -15 -15.5 -25t-40.5 -10q-24 0 -42 9t-27 20.5t-21 20.5t-26 9q-38 0 -38 -40q0 -35 46.5 -60.5t111.5 -25.5q60 0 104 31t44 83z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM504 692q-36 10 -81 10q-115 0 -197 -79t-82 -191t82 -191t197 -79t197 79t82 191q0 9 -2 29q34 16 57 39t28.5 36t5.5 18q3 7 -3 15 q-5 7 -14 7q-30 0 -58 9t-44.5 18t-46.5 29q-40 26 -67 39v-212q0 -61 -49.5 -102.5t-112.5 -41.5q-44 0 -76 27t-32 72q0 47 43 91t110 44q33 0 63 -20v163z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M505 6q-10 63 -43 95.5t-82 32.5q-41 0 -72 -26.5t-45 -73.5q80 -34 169 -34q37 0 73 6zM432 864q178 0 305 -127t127 -305q0 -121 -62 -222.5t-164 -157.5q-24 94 -93.5 147t-164.5 53q-76 0 -138.5 -37.5t-97.5 -105.5q-67 61 -105.5 145t-38.5 178q0 179 126.5 305.5 t305.5 126.5zM639 281q6 9 3.5 19.5t-12.5 16.5q-169 104 -415 48q-11 -3 -16.5 -12.5t-3.5 -19.5t11.5 -16t20.5 -4q224 51 375 -41q23 -14 37 9zM691 397q8 11 4.5 24.5t-15.5 20.5q-99 61 -231 76.5t-249 -19.5q-13 -4 -19.5 -16t-2.5 -25t16 -20t26 -3 q102 31 220.5 17.5t204.5 -66.5q12 -8 25.5 -4.5t20.5 15.5zM696 519q14 -8 30 -4t24 18q9 14 4.5 30.5t-18.5 24.5q-76 45 -180.5 66.5t-203.5 17.5t-176 -27q-16 -5 -23.5 -19.5t-2.5 -30.5t19 -23.5t30 -2.5q67 20 155.5 23.5t182 -15.5t159.5 -58z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM594 252q162 0 162 103q0 41 -19.5 64.5t-47 31.5t-55 13t-47 16t-19.5 34q0 39 53 39q52 0 58 -44l74 9q-9 94 -128 94q-59 0 -95.5 -26 t-36.5 -80q0 -39 19.5 -61.5t46.5 -30.5t54.5 -13t47 -16.5t19.5 -33.5q0 -41 -77 -41q-61 0 -88 31.5t-47 97.5q-28 95 -66 134t-127 39q-74 0 -120.5 -45t-46.5 -141q0 -94 46 -134t116 -40q36 0 67 10t44 20l13 9l-24 65q-4 -5 -12 -12.5t-34 -20.5t-54 -13 q-34 0 -59 32.5t-25 89.5q0 56 24.5 88.5t66.5 32.5q13 0 24.5 -2t21 -7.5t16.5 -10.5t13.5 -16t10.5 -17.5t9.5 -21.5t8.5 -23t8.5 -26t8.5 -26q7 -21 10.5 -30t14 -31.5t23.5 -34.5t33 -26.5t49.5 -21.5t65.5 -7z"/>
|
||||||
|
<glyph unicode="👍" horiz-adv-x="864" d="M432 864q178 0 305 -127t127 -305q0 -179 -126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM684 400q0 27 -21 43q21 16 21 43q0 22 -16 38t-38 16h-115q-6 0 -9 5q-4 6 -1 10l2 6q2 6 4.5 15.5t4.5 21t4 25t2 25.5q0 36 -19 65 q-17 25 -40 25q-13 0 -22 -10t-9 -24q0 -45 -23 -85t-54 -63.5t-59.5 -37.5t-43.5 -14h-36v-252h72l107 -40q30 -14 64 -14h113q20 0 34 14t14 34q0 11 -5 21q18 5 29.5 19.5t11.5 33.5q0 16 -9 29q37 12 37 51z"/>
|
||||||
|
<glyph/>
|
||||||
|
<glyph horiz-adv-x="288"/>
|
||||||
|
<glyph/>
|
||||||
|
<glyph unicode="
"/>
|
||||||
|
<glyph unicode=" " horiz-adv-x="216"/>
|
||||||
|
<glyph unicode="+" horiz-adv-x="584" d="M545 215h-217v-215h-72v215h-217v74h217v215h72v-215h217v-74z"/>
|
||||||
|
<glyph unicode="-" horiz-adv-x="833"/>
|
||||||
|
<glyph unicode="A" horiz-adv-x="580" d="M567 0h-92l-61 181h-251l-65 -181h-86l234 624h97zM382 256l-92 276l-100 -276h192z"/>
|
||||||
|
<glyph unicode="B" horiz-adv-x="580" d="M543 187q0 -84 -57 -135.5t-137 -51.5h-287v624h282q69 0 118 -42t50 -116q0 -42 -21 -79t-60 -51q50 -17 81 -56.5t31 -92.5zM429 448q0 51 -26.5 76.5t-92.5 26.5h-162v-192h164q59 0 87 25.5t30 63.5zM459 176q0 57 -30 85t-114 29h-167v-219h195q56 0 85 32t31 73z "/>
|
||||||
|
<glyph unicode="C" horiz-adv-x="628" d="M592 229q-13 -105 -84 -175.5t-182 -70.5q-63 0 -114 20.5t-83 54t-53.5 78t-30.5 89.5t-9 92q0 83 31 154t97.5 119t157.5 51q29 0 59 -5t64.5 -19.5t62 -36t49 -59t28.5 -85.5h-82q-12 62 -58 95t-111 33q-107 0 -157.5 -68.5t-52.5 -178.5q2 -66 21 -122.5t63.5 -96.5 t108.5 -40q81 0 130.5 45t61.5 126h83z"/>
|
||||||
|
<glyph unicode="D" horiz-adv-x="628" d="M584 334q0 -138 -67 -235t-183 -99h-265v624h262q42 0 83 -16t79.5 -48t63.5 -91t27 -135zM497 327q0 96 -43 160t-135 64h-164v-480h174q76 0 122 73t46 183z"/>
|
||||||
|
<glyph unicode="E" horiz-adv-x="580" d="M534 0h-461v624h456v-76h-371v-190h342v-75h-342v-208h376v-75z"/>
|
||||||
|
<glyph unicode="F" horiz-adv-x="530" d="M505 548h-347v-190h306v-75h-306v-283h-85v624h432v-76z"/>
|
||||||
|
<glyph unicode="G" horiz-adv-x="674" d="M610 0h-54l-20 83q-29 -41 -84 -68t-121 -29q-149 0 -219.5 90t-70.5 241q0 60 18.5 115.5t53.5 101.5t93 74t130 29q100 0 175.5 -53.5t88.5 -149.5h-81q-33 130 -187 130q-89 0 -147 -68t-58 -184q0 -124 56.5 -191.5t148.5 -67.5q72 0 131 45q38 31 52.5 67t16.5 95 h-194v72h272v-332z"/>
|
||||||
|
<glyph unicode="H" horiz-adv-x="628" d="M562 0h-85v290h-326v-290h-85v624h85v-259h326v259h85v-624z"/>
|
||||||
|
<glyph unicode="I" horiz-adv-x="240" d="M163 0h-85v624h85v-624z"/>
|
||||||
|
<glyph unicode="J" horiz-adv-x="434" d="M372 168q0 -96 -49.5 -139.5t-130.5 -45.5q-93 0 -135.5 47.5t-42.5 108.5v61h79v-44q0 -101 94 -101q51 0 74.5 26t24.5 82v461h86v-456z"/>
|
||||||
|
<glyph unicode="K" horiz-adv-x="580" d="M575 0h-109l-219 312l-98 -93v-219h-85v624h85v-304l303 304h116l-260 -252z"/>
|
||||||
|
<glyph unicode="L" horiz-adv-x="484" d="M466 0h-402v624h85v-549h317v-75z"/>
|
||||||
|
<glyph unicode="M" horiz-adv-x="722" d="M661 0h-83v524l-174 -524h-84l-178 523v-523h-80v624h121l180 -529l178 529h120v-624z"/>
|
||||||
|
<glyph unicode="N" horiz-adv-x="628" d="M562 0h-96l-318 503v-503h-82v624h100l314 -505v505h82v-624z"/>
|
||||||
|
<glyph unicode="O" horiz-adv-x="674" d="M641 312q0 -35 -5 -69.5t-23.5 -82.5t-49 -84t-88.5 -62t-136 -27q-76 0 -135.5 27.5t-95 74t-54 103.5t-18.5 120q0 89 31.5 160t101.5 117.5t170 47.5q66 0 119.5 -20.5t86.5 -53.5t55.5 -77t31.5 -87t9 -87zM556 312q0 112 -57.5 180.5t-159.5 69.5q-97 0 -157 -68 t-60 -182q0 -113 58 -181t159 -69q102 0 159.5 68.5t57.5 181.5z"/>
|
||||||
|
<glyph unicode="P" horiz-adv-x="580" d="M539 448q0 -76 -45 -129.5t-140 -55.5h-196v-263h-85v624h281q79 0 131 -46t54 -130zM452 448q0 103 -123 103h-171v-217h168q124 0 126 114z"/>
|
||||||
|
<glyph unicode="Q" horiz-adv-x="674" d="M641 312q0 -150 -91 -240l85 -66l-41 -51l-96 75q-65 -43 -160 -43q-76 0 -135.5 27.5t-95.5 74t-54.5 103.5t-18.5 120q0 138 78 230.5t226 94.5q66 0 119 -20.5t86.5 -53.5t56.5 -77t32 -87t9 -87zM554 312q0 112 -57 180.5t-159 69.5q-98 0 -157.5 -67.5t-59.5 -182.5 q0 -113 58 -181t159 -69q51 0 91 20l-65 49l43 53l80 -61q67 70 67 189z"/>
|
||||||
|
<glyph unicode="R" horiz-adv-x="628" d="M584 0h-95q-11 24 -16 63.5t-6.5 79t-2.5 47.5q-10 75 -102 76h-212v-266h-85v624h299q80 0 137 -43.5t59 -128.5q0 -97 -91 -145q69 -22 77 -101q3 -24 5.5 -66.5t6 -69.5t10.5 -45q7 -17 16 -25zM474 444q0 104 -103 107h-221v-212h214q47 0 78.5 29t31.5 76z"/>
|
||||||
|
<glyph unicode="S" horiz-adv-x="580" d="M537 175q0 -91 -67.5 -139.5t-176.5 -48.5q-249 0 -250 219h78q0 -141 172 -147q69 0 116 24.5t47 80.5q0 54 -38.5 74t-164.5 48q-15 3 -22 5q-76 17 -121.5 51.5t-47.5 103.5q0 82 54.5 136.5t161.5 54.5q65 0 112.5 -16.5t71 -38.5t37.5 -52t17.5 -49t4.5 -37v-5h-78 q0 63 -45.5 93.5t-111.5 33.5q-27 0 -50.5 -5t-45 -16.5t-34 -34t-12.5 -54.5q0 -60 75 -76l178 -41q140 -31 140 -164z"/>
|
||||||
|
<glyph unicode="T" horiz-adv-x="530" d="M519 548h-212v-548h-85v548h-210v76h507v-76z"/>
|
||||||
|
<glyph unicode="U" horiz-adv-x="628" d="M560 205q0 -93 -63.5 -154.5t-188.5 -62.5q-119 0 -178.5 55t-61.5 158v423h85v-407q0 -72 40 -113.5t115 -41.5q76 0 120.5 40t46.5 113v409h85v-419z"/>
|
||||||
|
<glyph unicode="V" horiz-adv-x="580" d="M561 624l-227 -624h-90l-227 624h98l177 -533l184 533h85z"/>
|
||||||
|
<glyph unicode="W" horiz-adv-x="819" d="M806 624l-165 -624h-88l-142 517l-146 -517h-89l-162 624h91l115 -509l143 509h91l143 -509l115 509h94z"/>
|
||||||
|
<glyph unicode="X" horiz-adv-x="580" d="M562 0h-105l-167 256l-173 -256h-101l223 320l-210 304h106l158 -239l159 239h101l-209 -305z"/>
|
||||||
|
<glyph unicode="Y" horiz-adv-x="580" d="M566 624l-235 -375v-249h-84v249l-234 375h102l178 -300l179 300h94z"/>
|
||||||
|
<glyph unicode="Z" horiz-adv-x="530" d="M510 0h-490v69l382 480h-354v75h462v-73l-384 -475h384v-76z"/>
|
||||||
|
<glyph unicode="a" horiz-adv-x="484" d="M461 1v-1q-24 -9 -50 -9q-71 0 -73 68q-65 -70 -164 -73q-64 0 -104 37.5t-40 90.5q0 33 12 58.5t27 40t45 26t48.5 15.5t56.5 10t51 9q64 12 64 55q0 35 -26.5 56t-78.5 21q-47 0 -75 -22.5t-29 -67.5h-71q0 62 47 106t138 45q70 0 121 -34.5t51 -99.5v-243 q0 -17 2.5 -25t14 -13t33.5 5v-55zM332 151v82q-17 -11 -57.5 -19.5t-75 -15t-62.5 -28t-28 -55.5q0 -33 22 -50t59 -17q48 0 95 29t47 74z"/>
|
||||||
|
<glyph unicode="b" horiz-adv-x="484" d="M459 240q2 -45 -8 -88t-32.5 -81.5t-64 -61.5t-96.5 -23q-93 0 -134 70l-6 -56h-69v624h78v-227q50 66 139 69q83 0 136.5 -63t56.5 -163zM379 227q0 84 -33.5 127.5t-93.5 43.5q-35 0 -61 -16t-40 -42.5t-20.5 -54.5t-6.5 -57q0 -171 132 -175q59 0 91 47.5t32 126.5z "/>
|
||||||
|
<glyph unicode="c" horiz-adv-x="434" d="M418 160q-10 -90 -65.5 -132t-126.5 -42q-86 0 -143.5 67t-57.5 174q0 116 58.5 178t145.5 62q73 0 127 -39t62 -126h-73q-4 45 -35 70.5t-78 25.5q-56 0 -91 -40.5t-35 -130.5q0 -72 35.5 -121.5t90.5 -49.5q94 0 112 104h74z"/>
|
||||||
|
<glyph unicode="d" horiz-adv-x="484" d="M27 240q3 100 56.5 163t136.5 63q88 -3 139 -69v227h78v-624h-69v64q-20 -35 -59 -56.5t-81 -21.5q-55 0 -96.5 23t-64 61.5t-32.5 81.5t-8 88zM107 227q0 -79 32 -126.5t91 -47.5q132 4 132 175q0 65 -31 117.5t-97 52.5q-60 0 -93.5 -43.5t-33.5 -127.5z"/>
|
||||||
|
<glyph unicode="e" horiz-adv-x="484" d="M421 201h-339q0 -64 38.5 -104.5t95.5 -40.5q55 0 88 29.5t33 56.5h78q-13 -73 -68 -114t-135 -41q-96 0 -152.5 65t-58.5 162q0 114 59 184t154 70q101 0 155.5 -73.5t51.5 -193.5zM341 263q0 61 -37 99t-89 38q-54 0 -92.5 -40.5t-40.5 -96.5h259z"/>
|
||||||
|
<glyph unicode="f" horiz-adv-x="240" d="M227 630v-63q-13 2 -32 2q-23 0 -32.5 -10.5t-9.5 -35.5v-69h74v-69h-74v-385h-78v385h-63v69h63v84q0 41 31 69t81 28q23 0 40 -5z"/>
|
||||||
|
<glyph unicode="g" horiz-adv-x="518" d="M458 20q0 -111 -54 -165t-151 -54q-26 0 -52 5.5t-56 19t-49 44t-20 74.5h76q0 -34 29 -53t67 -19q63 0 98.5 35t35.5 107v27q-50 -54 -139 -54q-76 0 -137.5 62.5t-63.5 165.5q0 117 59 184t153 67q41 0 75.5 -18t52.5 -46v55h76v-437zM382 226q0 76 -35 119.5t-96 43.5 q-51 0 -89.5 -41t-38.5 -115q0 -87 39 -132.5t92 -45.5q56 0 91.5 45.5t36.5 125.5z"/>
|
||||||
|
<glyph unicode="h" horiz-adv-x="484" d="M427 0h-78v297q0 101 -89 101q-54 0 -91 -38t-37 -113v-247h-78v624h78v-231q46 70 141 74q64 0 109 -38t45 -127v-302z"/>
|
||||||
|
<glyph unicode="i" horiz-adv-x="194" d="M134 536h-78v86h78v-86zM134 0h-78v454h78v-454z"/>
|
||||||
|
<glyph unicode="j" horiz-adv-x="269" d="M211 -78q0 -45 -29.5 -74t-84.5 -29q-25 0 -39 3v66q19 -4 35 -4q22 0 31 12t9 43v515h78v-532zM211 536h-78v88h78v-88z"/>
|
||||||
|
<glyph unicode="k" horiz-adv-x="434" d="M434 0h-97l-150 222l-55 -54v-168h-78v624h78v-363l194 193h98l-181 -174z"/>
|
||||||
|
<glyph unicode="l" horiz-adv-x="194" d="M135 0h-79v624h79v-624z"/>
|
||||||
|
<glyph unicode="m" horiz-adv-x="722" d="M669 0h-78v293q0 105 -84 105q-46 0 -75 -33t-31 -89v-276h-78v313q0 36 -17.5 60.5t-55.5 24.5q-48 0 -82 -36t-35 -115v-247h-78v454h72v-64q49 76 139 76q84 0 122 -73q47 73 139 73q18 0 35.5 -3.5t37.5 -14t34.5 -27t24.5 -44.5t10 -64v-313z"/>
|
||||||
|
<glyph unicode="n" horiz-adv-x="484" d="M427 0h-78v284q0 114 -89 114q-55 0 -91.5 -37.5t-36.5 -101.5v-259h-78v454h74v-66q15 25 54.5 51.5t90.5 26.5q70 0 112 -40.5t42 -123.5v-302z"/>
|
||||||
|
<glyph unicode="o" horiz-adv-x="484" d="M456 227q0 -98 -57.5 -168t-155.5 -72q-97 0 -154.5 70.5t-57.5 169.5q0 101 57 170.5t155 69.5t155.5 -69.5t57.5 -170.5zM376 227q1 39 -12 76.5t-44.5 66t-76.5 29.5q-65 0 -98.5 -54t-33.5 -118q0 -73 32.5 -123t99.5 -50t98.5 49t34.5 124z"/>
|
||||||
|
<glyph unicode="p" horiz-adv-x="484" d="M460 214q-3 -100 -56.5 -163t-137.5 -63q-87 3 -138 69v-237h-79v634h70v-64q20 35 59 56.5t81 21.5q55 0 96.5 -23t64 -61.5t32.5 -81.5t8 -88zM380 227q0 79 -32 126.5t-91 47.5q-132 -4 -132 -175q0 -65 31 -117.5t97 -52.5q60 0 93.5 43.5t33.5 127.5z"/>
|
||||||
|
<glyph unicode="q" horiz-adv-x="484" d="M19 214q0 46 10 88t32 81t63 62t96 23q92 0 133 -70l7 56h70v-634h-78v237q-52 -66 -139 -69q-85 0 -138.5 60.5t-55.5 165.5zM99 227q0 -83 34 -127t94 -44q45 0 75.5 29t41 65t10.5 76q0 171 -132 175q-59 0 -91 -47.5t-32 -126.5z"/>
|
||||||
|
<glyph unicode="r" horiz-adv-x="288" d="M257 385q-65 0 -105.5 -30t-40.5 -83v-272h-78v454h75v-77q40 87 149 87v-79z"/>
|
||||||
|
<glyph unicode="s" horiz-adv-x="434" d="M405 137q0 -65 -48 -108t-131 -43q-85 0 -137.5 38.5t-58.5 121.5h75q0 -93 121 -93q43 0 73 18t30 53q0 27 -27.5 42.5t-129.5 39.5q-26 6 -43.5 12.5t-39 19.5t-32.5 34t-11 50q0 69 48 107t124 38q52 0 88.5 -15.5t53 -40.5t23.5 -45.5t8 -41.5h-74q0 76 -107 76 q-11 0 -22 -1.5t-28 -7t-28.5 -19.5t-12.5 -36q0 -29 27.5 -41t126.5 -36q62 -17 96.5 -43.5t35.5 -78.5z"/>
|
||||||
|
<glyph unicode="t" horiz-adv-x="240" d="M227 54v-64q-23 -5 -40 -5q-50 0 -81 28t-31 69v303h-59v69h59v128h78v-128h74v-69h-74v-287q0 -25 9.5 -36t32.5 -11q12 0 32 3z"/>
|
||||||
|
<glyph unicode="u" horiz-adv-x="484" d="M49 454h79v-284q0 -114 89 -114q55 0 91.5 37.5t36.5 101.5v259h78v-454h-75v66q-15 -25 -54.5 -51.5t-90.5 -26.5q-70 0 -112 40.5t-42 123.5v302z"/>
|
||||||
|
<glyph unicode="v" horiz-adv-x="434" d="M417 454l-173 -454h-82l-165 454h87l124 -372l127 372h82z"/>
|
||||||
|
<glyph unicode="w" horiz-adv-x="628" d="M615 454l-131 -454h-80l-91 351l-91 -351h-80l-130 454h83l86 -358l93 358h85l89 -358l91 358h76z"/>
|
||||||
|
<glyph unicode="x" horiz-adv-x="434" d="M425 0h-98l-112 171l-110 -171h-96l160 234l-152 220h98l105 -161l106 161h92l-153 -221z"/>
|
||||||
|
<glyph unicode="y" horiz-adv-x="434" d="M425 454q-70 -199 -133 -365t-77 -195q-28 -56 -63 -72t-99 -2v70q69 -26 96 24l31 72l-170 468h86l124 -371l123 371h82z"/>
|
||||||
|
<glyph unicode="z" horiz-adv-x="434" d="M407 0h-380v59l273 331h-252v64h350v-63l-271 -329h280v-62z"/>
|
||||||
|
</font>
|
||||||
|
</defs></svg>
|
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,101 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<metadata/>
|
||||||
|
<defs>
|
||||||
|
<font id="SSSocialRegular">
|
||||||
|
<font-face font-family="SS Social" units-per-em="864" ascent="918" descent="-270"/>
|
||||||
|
<missing-glyph d="M0 864h864v-864h-864v864zM680 756h-496l248 -248zM108 680v-496l248 248zM184 108h496l-248 248zM756 184v496l-248 -248z"/>
|
||||||
|
<glyph horiz-adv-x="864" d="M0 864h864v-864h-864v864zM680 756h-496l248 -248zM108 680v-496l248 248zM184 108h496l-248 248zM756 184v496l-248 -248z"/>
|
||||||
|
<glyph unicode="✉" horiz-adv-x="864" d="M864 702l-432 -324l-432 324q0 22 16 38t38 16h756q22 0 38 -16t16 -38zM0 605l432 -324l432 324v-443q0 -22 -16 -38t-38 -16h-756q-22 0 -38 16t-16 38v443z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M270 135q0 -56 -39.5 -95.5t-95.5 -39.5t-95.5 39.5t-39.5 95.5t39.5 95.5t95.5 39.5q55 0 95 -40t40 -95zM864 18q0 -8 -5 -13t-13 -5h-126q-8 0 -13 5t-5 13q0 139 -54 266t-145.5 218.5t-218.5 145.5t-266 54q-8 0 -13 5t-5 13v126q0 8 5 13t13 5q230 0 424.5 -113.5 t308 -308t113.5 -424.5zM594 18q0 -8 -5 -13t-13 -5h-126q-8 0 -13 5t-5 13q0 172 -121 293t-293 121q-8 0 -13 5t-5 13v126q0 8 5 13t13 5q117 0 223.5 -45.5t184 -123t123 -184t45.5 -223.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M324 0v396h-108v144h108v126q0 84 54.5 141t161.5 57q27 0 54 -2t40 -4l14 -2l-6 -136h-93q-38 0 -50.5 -18t-12.5 -54v-108h162l-11 -144h-151v-396h-162z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 709q-36 -54 -88 -92v-23q0 -71 -20.5 -142t-63 -136.5t-101.5 -115.5t-141.5 -80t-177.5 -30q-160 0 -272 72q21 -3 42 -3q115 0 220 84q-57 1 -102.5 35.5t-62.5 87.5q17 -3 33 -3q24 0 47 6q-61 12 -101.5 61t-40.5 113v2q38 -21 80 -22q-79 53 -79 147 q0 44 24 86q67 -81 161.5 -128.5t203.5 -53.5q-4 17 -4 41q0 73 51.5 125t125.5 52q76 0 130 -56q59 12 112 43q-20 -64 -78 -98q51 6 102 28z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M18 558h180v-558h-180v558zM486 0v324q0 52 28.5 80t71.5 28q44 0 71 -31t27 -95v-306h180v324q0 119 -59.5 185.5t-156.5 66.5q-99 0 -162 -95l-6 77h-177l3 -126v-432h180zM107 648h-1q-47 0 -76.5 28.5t-29.5 70.5q0 43 30 71t79 28q48 0 77 -28t30 -71 q0 -42 -30 -70.5t-79 -28.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 666v-36h-144v-144h-36v144h-144v36h144v144h36v-144h144zM375 372q44 -32 61.5 -65t17.5 -82q0 -66 -60 -114.5t-163 -48.5q-97 0 -164 36.5t-67 96.5q0 64 65 113.5t157 49.5h39q-30 30 -30 62q0 23 11 43q-7 -1 -21 -1q-76 0 -124 47t-48 117q0 66 60 116t137 50 h226l-51 -37h-72q35 -13 54 -49t19 -81q0 -69 -64 -118q-27 -21 -35 -34t-8 -31q0 -14 20 -35.5t40 -34.5zM254 485q43 -1 69 38.5t18 96.5q-7 58 -43.5 98t-80.5 42t-69 -37t-18 -96q7 -58 43.5 -99t80.5 -43zM231 98q164 0 164 118q0 7 -2 23q-2 8 -5.5 14.5t-9 13.5 t-10 12t-14.5 12t-15 11t-18 13t-19 13q-25 7 -56 9q-66 0 -115 -35t-49 -83q0 -50 42.5 -85.5t106.5 -35.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M702 47q-8 -5 -23.5 -13t-67 -21t-107.5 -13q-120 0 -177 53.5t-57 162.5v270h-126v126q90 30 137.5 84t60.5 168h126v-216h198v-162h-198v-216q0 -71 21.5 -98.5t86.5 -27.5q24 0 55.5 9t50.5 18l20 9v-133z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM432 54q157 0 267.5 110.5t110.5 267.5t-110.5 267.5t-267.5 110.5t-267.5 -110.5t-110.5 -267.5t110.5 -267.5t267.5 -110.5zM135 562 q-27 -64 -27 -130q0 -94 49.5 -172.5t131.5 -118.5zM538 126l-102 278l-96 -283q47 -13 92 -13q56 0 106 18zM622 538q-31 52 -31 76q0 23 15.5 40.5t38.5 17.5h4q-92 84 -217 84q-83 0 -155 -39.5t-116 -106.5h20l86 4q8 0 12 -6t1 -13t-11 -8q-18 -2 -37 -3l118 -351 l71 213l-51 138l-34 3q-8 0 -11 7t1 13.5t12 6.5q54 -4 86 -4l86 4q14 1 14.5 -12.5t-12.5 -14.5q-17 -2 -37 -3l117 -348l32 108q25 80 25 105q0 45 -27 89zM756 432q0 84 -40 155q2 -10 2 -33q0 -55 -24 -116l-99 -286q73 43 117 117.5t44 162.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M810 540q22 0 38 -16t16 -38v-216q0 -112 -79 -191t-191 -79h-324q-112 0 -191 79t-79 191v324q0 112 79 191t191 79h162q112 0 191 -79t79 -191q0 -22 13 -38t32 -16h63zM270 648q-22 0 -38 -16t-16 -38t16 -38t38 -16h162q22 0 38 16t16 38t-16 38t-38 16h-162z M594 216q22 0 38 16t16 38t-16 38t-38 16h-324q-22 0 -38 -16t-16 -38t16 -38t38 -16h324z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M468 864q121 0 195.5 -85t74.5 -221q0 -143 -76.5 -233.5t-203.5 -90.5q-116 0 -180 99h-8v-333h-108v702l-6 144h96l17 -100h7q31 52 80.5 85t111.5 33zM441 314q79 0 134 64t55 180q0 103 -55 164.5t-131 61.5q-65 0 -119.5 -53t-54.5 -137v-108q0 -77 52.5 -124.5 t118.5 -47.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 738q240 0 304 -11q80 -15 105 -64q22 -42 23 -173v-58q0 -157 -12 -202q-16 -60 -72 -81q-58 -22 -247 -23h-101q-240 0 -304 11q-80 15 -105 64q-22 42 -23 173v58q0 157 12 202q16 60 72 81q58 22 247 23h101zM324 270l270 162l-270 162v-324z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M504 612q13 51 41.5 91t62.5 62.5t67.5 33.5t62.5 11q55 0 90.5 -40.5t35.5 -105.5q0 -82 -55.5 -192.5t-130 -200.5t-152 -153.5t-120.5 -63.5q-35 0 -63 16.5t-46 46t-27 50t-18 49.5l-108 342q-11 35 -32 36.5t-76 -36.5l-36 44q7 8 18.5 22.5t45 50t65 63t71.5 50 t70 22.5q22 0 40 -8.5t30 -26.5t20.5 -35.5t14.5 -45.5t9 -46.5t6.5 -48t5.5 -41.5q36 -234 78 -234q18 0 51 43t60 100t27 91q0 44 -27 61t-81 -7z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M396 432q0 -82 -58 -140t-140 -58t-140 58t-58 140t58 140t140 58t140 -58t58 -140zM864 432q0 -82 -58 -140t-140 -58t-140 58t-58 140t58 140t140 58t140 -58t58 -140z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M648 522h216v-396q0 -52 -37 -89t-89 -37h-612q-52 0 -89 37t-37 89v396h216q-18 -42 -18 -90q0 -97 68.5 -165.5t165.5 -68.5t165.5 68.5t68.5 165.5q0 48 -18 90zM432 270q-68 0 -115 47t-47 115q0 67 47.5 114.5t114.5 47.5t114.5 -47.5t47.5 -114.5t-47.5 -114.5 t-114.5 -47.5zM864 738v-144h-263q-70 72 -169 72t-169 -72h-263v144q0 52 37 89t89 37h612q52 0 89 -37t37 -89z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M452 864q138 0 226 -84.5t88 -199.5q0 -148 -74.5 -244t-192.5 -96q-39 0 -73.5 18t-48.5 43q-28 -114 -35 -136q-9 -35 -32 -76t-35.5 -58.5t-21.5 -27.5q-3 -4 -7 -3t-5 5q-13 127 2 189l63 270q-15 32 -15 79q0 55 27.5 91.5t67.5 36.5q32 0 49.5 -21t17.5 -53 q0 -20 -7.5 -48.5t-19.5 -66.5t-17 -61q-9 -39 15 -67.5t64 -28.5q69 0 113 77t44 187q0 84 -54.5 137t-151.5 53q-110 0 -177.5 -69.5t-67.5 -167.5q0 -58 33 -98q11 -13 7 -27l-3 -12t-4 -17t-3 -11q-5 -20 -25 -13q-50 21 -75.5 72t-25.5 118q0 54 23 108t65 99.5 t111.5 74t154.5 28.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M972 702v-36h-36q-53 0 -89 -89q-159 -404 -163 -415h-36l-176 474q-7 18 -19 24t-39 6h-36v36h288v-36h-90l130 -358l113 286q13 32 6 52t-33 20h-36v36h216zM396 324q0 -72 -42.5 -122t-119.5 -50q-57 0 -102.5 25.5t-73.5 61.5l-22 -77h-36v216h36q37 -100 89.5 -145 t104.5 -45q49 0 80.5 26.5t31.5 60.5q0 35 -18 56t-68 36l-133 40q-128 41 -128 160q0 70 43.5 107.5t105.5 37.5q92 0 147 -68l15 58h36v-180h-36q-17 72 -62.5 115t-100.5 43q-49 0 -74 -27t-25 -59q0 -48 76 -72q82 -26 141 -43q135 -39 135 -155z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M162 594l198 -54v72l-198 54v-72zM162 468l198 -54v72l-198 54v-72zM162 342l198 -54v72l-198 54v-72zM702 594l-198 -54v72l198 54v-72zM702 468l-198 -54v72l198 54v-72zM702 342l-198 -54v72l198 54v-72zM796 802q14 -9 14 -28v-540q0 -28 -27 -35l-310 -83 q10 -47 59 -85q2 -1 2 -4q-2 -3 -4 -3l-46 -6l-4 -68q0 -2 -3 -4h-1q-2 0 -3 1q-64 63 -74 167l-318 85q-27 7 -27 35v540q0 19 14 28q15 11 31 7l270 -73q36 -9 63 -39q27 30 63 39l270 73q16 5 31 -7zM396 189v421q0 18 -13.5 35t-31.5 22l-225 60v-465zM738 262v465 l-225 -60q-18 -5 -31.5 -22t-13.5 -35v-421z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 386l-254 -165l-178 148l256 158zM0 386l254 -165l178 148l-256 158zM0 668l254 166l178 -149l-256 -158zM864 668l-254 166l-178 -149l256 -158zM432 30l255 153v52l-78 -50l-177 146l-176 -146l-78 50v-52z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M432 864q179 0 305.5 -126.5t126.5 -305.5t-126.5 -305.5t-305.5 -126.5t-305.5 126.5t-126.5 305.5t126.5 305.5t305.5 126.5zM714 656q-78 -89 -199 -138q27 -62 29 -67q117 18 248 -12q-3 121 -78 217zM432 792q-44 0 -83 -10q73 -90 136 -206q113 46 183 128 q-101 88 -236 88zM275 756q-74 -35 -125.5 -100.5t-69.5 -146.5q199 4 334 43q-59 107 -139 204zM72 432q0 -137 92 -240q115 175 286 235q7 3 21 7q-12 28 -26 58q-157 -46 -373 -49v-11zM432 72q72 0 135 26q-22 139 -71 274q-170 -48 -283 -226q97 -74 219 -74zM636 135 q60 42 99.5 103.5t51.5 134.5q-114 27 -218 15q41 -114 67 -253z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M360 452l9 -3t20 -11.5t25 -22.5t20 -37t9 -53q0 -70 -47 -116.5t-153 -46.5h-243v540h261q76 0 120.5 -36.5t44.5 -103.5q0 -12 -1.5 -22.5t-4 -19t-6.5 -16t-7.5 -13t-8.5 -11.5t-8.5 -9t-9 -7t-8 -5.5l-7.5 -4.5zM124 608v-119h115q79 0 79 61q0 34 -22 46t-71 12 h-101zM239 256q50 0 70 20t20 57q0 67 -88 67h-117v-144h115zM864 356v-24h-282q1 -45 28.5 -70.5t67.5 -25.5q26 0 45.5 11t25.5 22l6 11h104q-13 -56 -63.5 -91t-120.5 -35q-88 0 -141.5 53t-53.5 149q0 101 53 154.5t139 53.5q92 0 142 -55t50 -153zM584 399h175 q0 35 -24.5 58.5t-62.5 23.5q-39 0 -61.5 -23t-26.5 -59zM792 630v54h-234v-54h234z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M666 864v-126h-71q17 -39 17 -86q0 -87 -54.5 -143t-135.5 -59q-23 -37 -17.5 -61t39.5 -47q94 -4 158 -52.5t64 -118.5q0 -74 -68 -122.5t-166 -48.5t-166 49t-68 122q0 47 30 85.5t81 60.5q-30 29 -36.5 60.5t5 56t34.5 43.5q-45 25 -70.5 70.5t-25.5 104.5 q0 90 57 146.5t141 56.5q59 0 108 -30q48 3 84 13t48 18zM432 234q-48 0 -78 -18t-30 -45t30 -45t78 -18t78 18t30 45t-30 45t-78 18zM414 558q31 0 51.5 26.5t20.5 72.5t-20.5 72.5t-51.5 26.5t-51.5 -26.5t-20.5 -72.5t20.5 -72.5t51.5 -26.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M801 596q63 -79 63 -181q0 -183 -110 -263t-322 -80t-322 80t-110 262q0 104 63 181q-23 120 9 197q102 -8 188 -76q82 22 172 22q91 0 171 -22q89 68 189 76q32 -77 9 -196zM432 126q318 0 318 180q0 36 -11 64t-28 44.5t-39 27t-41 14t-37 3.5q-20 0 -60.5 -4.5 t-101.5 -4.5t-101.5 4.5t-60.5 4.5q-18 0 -37 -3.5t-41 -14t-39 -27t-28 -44.5t-11 -64q0 -180 318 -180zM612 297q0 81 -45 81t-45 -81t45 -81t45 81zM342 297q0 81 -45 81t-45 -81t45 -81t45 81z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M810 324h-108v-216h-540v216h-108v-324h756v324zM216 162v108h432v-108h-432zM224 364l18 107l426 -75l-19 -107zM283 598l45 98l392 -182l-46 -98zM426 836l77 77l305 -306l-76 -76z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M18 0l188 864h424q48 0 93.5 -19t82 -56.5t50.5 -94t0 -132.5q-28 -134 -124.5 -213t-230.5 -79h-174l-57 -270h-252zM622 560q13 49 -12.5 86.5t-71.5 37.5h-123l-55 -252h116q54 0 94 38t52 90z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M760 48q-43 -34 -97.5 -29.5t-90.5 45.5l-194 236v-165q0 -56 -39.5 -95.5t-95.5 -39.5t-95.5 39.5t-39.5 95.5v594q0 56 39.5 95.5t95.5 39.5q55 0 95 -40t40 -95v-145l164 218q33 44 88 52.5t100 -25.5q44 -33 52.5 -88t-25.5 -100l-163 -191l186 -211q35 -43 29 -99.5 t-49 -91.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 630v-252l-360 -288l-162 137q72 35 116 102l46 -77zM0 486q0 89 63.5 152.5t152.5 63.5t152.5 -63.5t63.5 -152.5t-63.5 -152.5t-152.5 -63.5t-152.5 63.5t-63.5 152.5z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M823 367q41 -60 41 -133q0 -97 -68.5 -165.5t-165.5 -68.5q-73 0 -133 41q-35 -5 -65 -5q-164 0 -280 116t-116 280q0 30 5 65q-41 60 -41 133q0 97 68.5 165.5t165.5 68.5q73 0 133 -41q35 5 65 5q164 0 280 -116t116 -280q0 -30 -5 -65zM440 162q91 0 156.5 46.5 t65.5 125.5q0 112 -180 153l-60 13q-28 6 -41 10.5t-24.5 14.5t-11.5 26q0 45 83 45q31 0 54 -10.5t34 -22.5t27 -22.5t34 -10.5q27 0 43.5 18.5t16.5 44.5q0 48 -67 78.5t-153 30.5q-54 0 -100.5 -15t-80.5 -52.5t-34 -92.5q0 -67 38.5 -100.5t109.5 -51.5l85 -20 q59 -15 71 -26t12 -30q0 -22 -23 -37t-61 -15q-36 0 -63 14t-40.5 30.5t-32 30.5t-38.5 14q-28 0 -43 -17.5t-15 -42.5q0 -53 70 -91t168 -38z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M864 602q-18 -88 -129 -129q3 -20 3 -41q0 -149 -108 -254.5t-261 -105.5t-261 105.5t-108 254.5t108 254.5t261 105.5q55 0 108 -15v-213q-36 21 -81 21q-87 0 -142.5 -59t-55.5 -121q0 -58 43 -92t101 -34q83 0 145 55t62 134v279q14 -7 74 -42q42 -26 67 -39 t66.5 -25.5t83.5 -12.5q10 0 18 -8q6 -8 6 -18z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M616 622q15 -10 6 -25q-9 -17 -25 -6q-104 62 -255 28q-7 -2 -13.5 2t-8.5 11q-4 18 14 22q167 38 282 -32zM627 668q-59 37 -140 46.5t-150 -12.5q-22 -5 -29 16q-5 21 16 28q79 24 169 13t157 -52q19 -10 8 -31q-12 -19 -31 -8zM432 576q115 0 188 -78t73 -210 q0 -131 -75 -209.5t-186 -78.5q-115 0 -188 78t-73 210q0 131 75 209.5t186 78.5zM432 114q55 0 89.5 47t34.5 127q0 85 -34 129.5t-90 44.5q-55 0 -89.5 -47t-34.5 -127q0 -85 34 -129.5t90 -44.5zM698 769q-14 -23 -37 -9q-67 39 -170.5 47.5t-167.5 -14.5q-11 -3 -21 2.5 t-13 16.5q-3 10 2 20t16 14q53 16 120 18.5t138.5 -12t123.5 -45.5q9 -6 12 -17t-3 -21z"/>
|
||||||
|
<glyph unicode="" horiz-adv-x="864" d="M660 270q103 0 103 54q0 29 -25.5 44.5t-62.5 22.5t-73.5 17.5t-62 40.5t-25.5 81q0 72 48.5 107t127.5 35q158 0 170 -126l-99 -12q-7 60 -77 60q-34 0 -52.5 -14t-18.5 -39q0 -30 26 -45t62.5 -21.5t73.5 -17t63 -42t26 -86.5q0 -137 -216 -137q-47 0 -84.5 8.5 t-63.5 26t-44.5 34.5t-32 43t-20 41.5t-14.5 39.5l-3 9q-4 12 -12.5 39t-12.5 38.5t-12.5 32.5t-15 31t-18 24t-23.5 20t-29 10.5t-37 4.5q-56 0 -89 -44t-33 -118q0 -76 33 -119t79 -43q37 0 70.5 15t47.5 30l15 15l32 -86q-6 -6 -18.5 -14.5t-55.5 -23t-91 -14.5 q-43 0 -79.5 11t-68.5 36t-50 72t-18 112q0 128 62.5 188.5t160.5 60.5q62 0 104.5 -13.5t71 -46t45.5 -70.5t36 -101q13 -42 24.5 -68t31.5 -52.5t50.5 -38.5t73.5 -12z"/>
|
||||||
|
<glyph unicode="👍" horiz-adv-x="864" d="M144 18v504q0 8 -5 13t-13 5h-108q-8 0 -13 -5t-5 -13v-504q0 -8 5 -13t13 -5h108q8 0 13 5t5 13zM820 387q44 -24 44 -72q0 -28 -18 -50.5t-45 -28.5q9 -18 9 -38q0 -30 -18 -54t-45 -32q9 -18 9 -40q0 -30 -21 -51t-51 -21h-180q-54 0 -103 22l-185 86v378 q154 103 203 170t49 154q0 22 16 38t38 16q32 0 59 -40q31 -43 31 -104q0 -30 -8.5 -69t-17 -62.5t-9.5 -23.5q-3 -9 2 -17t15 -8h189q34 0 57.5 -23.5t23.5 -57.5q0 -50 -44 -72z"/>
|
||||||
|
<glyph/>
|
||||||
|
<glyph horiz-adv-x="288"/>
|
||||||
|
<glyph/>
|
||||||
|
<glyph unicode="
"/>
|
||||||
|
<glyph unicode=" " horiz-adv-x="216"/>
|
||||||
|
<glyph unicode="+" horiz-adv-x="584" d="M545 215h-217v-215h-72v215h-217v74h217v215h72v-215h217v-74z"/>
|
||||||
|
<glyph unicode="-" horiz-adv-x="833"/>
|
||||||
|
<glyph unicode="A" horiz-adv-x="580" d="M567 0h-92l-61 181h-251l-65 -181h-86l234 624h97zM382 256l-92 276l-100 -276h192z"/>
|
||||||
|
<glyph unicode="B" horiz-adv-x="580" d="M543 187q0 -84 -57 -135.5t-137 -51.5h-287v624h282q69 0 118 -42t50 -116q0 -42 -21 -79t-60 -51q50 -17 81 -56.5t31 -92.5zM429 448q0 51 -26.5 76.5t-92.5 26.5h-162v-192h164q59 0 87 25.5t30 63.5zM459 176q0 57 -30 85t-114 29h-167v-219h195q56 0 85 32t31 73z "/>
|
||||||
|
<glyph unicode="C" horiz-adv-x="628" d="M592 229q-13 -105 -84 -175.5t-182 -70.5q-63 0 -114 20.5t-83 54t-53.5 78t-30.5 89.5t-9 92q0 83 31 154t97.5 119t157.5 51q29 0 59 -5t64.5 -19.5t62 -36t49 -59t28.5 -85.5h-82q-12 62 -58 95t-111 33q-107 0 -157.5 -68.5t-52.5 -178.5q2 -66 21 -122.5t63.5 -96.5 t108.5 -40q81 0 130.5 45t61.5 126h83z"/>
|
||||||
|
<glyph unicode="D" horiz-adv-x="628" d="M584 334q0 -138 -67 -235t-183 -99h-265v624h262q42 0 83 -16t79.5 -48t63.5 -91t27 -135zM497 327q0 96 -43 160t-135 64h-164v-480h174q76 0 122 73t46 183z"/>
|
||||||
|
<glyph unicode="E" horiz-adv-x="580" d="M534 0h-461v624h456v-76h-371v-190h342v-75h-342v-208h376v-75z"/>
|
||||||
|
<glyph unicode="F" horiz-adv-x="530" d="M505 548h-347v-190h306v-75h-306v-283h-85v624h432v-76z"/>
|
||||||
|
<glyph unicode="G" horiz-adv-x="674" d="M610 0h-54l-20 83q-29 -41 -84 -68t-121 -29q-149 0 -219.5 90t-70.5 241q0 60 18.5 115.5t53.5 101.5t93 74t130 29q100 0 175.5 -53.5t88.5 -149.5h-81q-33 130 -187 130q-89 0 -147 -68t-58 -184q0 -124 56.5 -191.5t148.5 -67.5q72 0 131 45q38 31 52.5 67t16.5 95 h-194v72h272v-332z"/>
|
||||||
|
<glyph unicode="H" horiz-adv-x="628" d="M562 0h-85v290h-326v-290h-85v624h85v-259h326v259h85v-624z"/>
|
||||||
|
<glyph unicode="I" horiz-adv-x="240" d="M163 0h-85v624h85v-624z"/>
|
||||||
|
<glyph unicode="J" horiz-adv-x="434" d="M372 168q0 -96 -49.5 -139.5t-130.5 -45.5q-93 0 -135.5 47.5t-42.5 108.5v61h79v-44q0 -101 94 -101q51 0 74.5 26t24.5 82v461h86v-456z"/>
|
||||||
|
<glyph unicode="K" horiz-adv-x="580" d="M575 0h-109l-219 312l-98 -93v-219h-85v624h85v-304l303 304h116l-260 -252z"/>
|
||||||
|
<glyph unicode="L" horiz-adv-x="484" d="M466 0h-402v624h85v-549h317v-75z"/>
|
||||||
|
<glyph unicode="M" horiz-adv-x="722" d="M661 0h-83v524l-174 -524h-84l-178 523v-523h-80v624h121l180 -529l178 529h120v-624z"/>
|
||||||
|
<glyph unicode="N" horiz-adv-x="628" d="M562 0h-96l-318 503v-503h-82v624h100l314 -505v505h82v-624z"/>
|
||||||
|
<glyph unicode="O" horiz-adv-x="674" d="M641 312q0 -35 -5 -69.5t-23.5 -82.5t-49 -84t-88.5 -62t-136 -27q-76 0 -135.5 27.5t-95 74t-54 103.5t-18.5 120q0 89 31.5 160t101.5 117.5t170 47.5q66 0 119.5 -20.5t86.5 -53.5t55.5 -77t31.5 -87t9 -87zM556 312q0 112 -57.5 180.5t-159.5 69.5q-97 0 -157 -68 t-60 -182q0 -113 58 -181t159 -69q102 0 159.5 68.5t57.5 181.5z"/>
|
||||||
|
<glyph unicode="P" horiz-adv-x="580" d="M539 448q0 -76 -45 -129.5t-140 -55.5h-196v-263h-85v624h281q79 0 131 -46t54 -130zM452 448q0 103 -123 103h-171v-217h168q124 0 126 114z"/>
|
||||||
|
<glyph unicode="Q" horiz-adv-x="674" d="M641 312q0 -150 -91 -240l85 -66l-41 -51l-96 75q-65 -43 -160 -43q-76 0 -135.5 27.5t-95.5 74t-54.5 103.5t-18.5 120q0 138 78 230.5t226 94.5q66 0 119 -20.5t86.5 -53.5t56.5 -77t32 -87t9 -87zM554 312q0 112 -57 180.5t-159 69.5q-98 0 -157.5 -67.5t-59.5 -182.5 q0 -113 58 -181t159 -69q51 0 91 20l-65 49l43 53l80 -61q67 70 67 189z"/>
|
||||||
|
<glyph unicode="R" horiz-adv-x="628" d="M584 0h-95q-11 24 -16 63.5t-6.5 79t-2.5 47.5q-10 75 -102 76h-212v-266h-85v624h299q80 0 137 -43.5t59 -128.5q0 -97 -91 -145q69 -22 77 -101q3 -24 5.5 -66.5t6 -69.5t10.5 -45q7 -17 16 -25zM474 444q0 104 -103 107h-221v-212h214q47 0 78.5 29t31.5 76z"/>
|
||||||
|
<glyph unicode="S" horiz-adv-x="580" d="M537 175q0 -91 -67.5 -139.5t-176.5 -48.5q-249 0 -250 219h78q0 -141 172 -147q69 0 116 24.5t47 80.5q0 54 -38.5 74t-164.5 48q-15 3 -22 5q-76 17 -121.5 51.5t-47.5 103.5q0 82 54.5 136.5t161.5 54.5q65 0 112.5 -16.5t71 -38.5t37.5 -52t17.5 -49t4.5 -37v-5h-78 q0 63 -45.5 93.5t-111.5 33.5q-27 0 -50.5 -5t-45 -16.5t-34 -34t-12.5 -54.5q0 -60 75 -76l178 -41q140 -31 140 -164z"/>
|
||||||
|
<glyph unicode="T" horiz-adv-x="530" d="M519 548h-212v-548h-85v548h-210v76h507v-76z"/>
|
||||||
|
<glyph unicode="U" horiz-adv-x="628" d="M560 205q0 -93 -63.5 -154.5t-188.5 -62.5q-119 0 -178.5 55t-61.5 158v423h85v-407q0 -72 40 -113.5t115 -41.5q76 0 120.5 40t46.5 113v409h85v-419z"/>
|
||||||
|
<glyph unicode="V" horiz-adv-x="580" d="M561 624l-227 -624h-90l-227 624h98l177 -533l184 533h85z"/>
|
||||||
|
<glyph unicode="W" horiz-adv-x="819" d="M806 624l-165 -624h-88l-142 517l-146 -517h-89l-162 624h91l115 -509l143 509h91l143 -509l115 509h94z"/>
|
||||||
|
<glyph unicode="X" horiz-adv-x="580" d="M562 0h-105l-167 256l-173 -256h-101l223 320l-210 304h106l158 -239l159 239h101l-209 -305z"/>
|
||||||
|
<glyph unicode="Y" horiz-adv-x="580" d="M566 624l-235 -375v-249h-84v249l-234 375h102l178 -300l179 300h94z"/>
|
||||||
|
<glyph unicode="Z" horiz-adv-x="530" d="M510 0h-490v69l382 480h-354v75h462v-73l-384 -475h384v-76z"/>
|
||||||
|
<glyph unicode="a" horiz-adv-x="484" d="M461 1v-1q-24 -9 -50 -9q-71 0 -73 68q-65 -70 -164 -73q-64 0 -104 37.5t-40 90.5q0 33 12 58.5t27 40t45 26t48.5 15.5t56.5 10t51 9q64 12 64 55q0 35 -26.5 56t-78.5 21q-47 0 -75 -22.5t-29 -67.5h-71q0 62 47 106t138 45q70 0 121 -34.5t51 -99.5v-243 q0 -17 2.5 -25t14 -13t33.5 5v-55zM332 151v82q-17 -11 -57.5 -19.5t-75 -15t-62.5 -28t-28 -55.5q0 -33 22 -50t59 -17q48 0 95 29t47 74z"/>
|
||||||
|
<glyph unicode="b" horiz-adv-x="484" d="M459 240q2 -45 -8 -88t-32.5 -81.5t-64 -61.5t-96.5 -23q-93 0 -134 70l-6 -56h-69v624h78v-227q50 66 139 69q83 0 136.5 -63t56.5 -163zM379 227q0 84 -33.5 127.5t-93.5 43.5q-35 0 -61 -16t-40 -42.5t-20.5 -54.5t-6.5 -57q0 -171 132 -175q59 0 91 47.5t32 126.5z "/>
|
||||||
|
<glyph unicode="c" horiz-adv-x="434" d="M418 160q-10 -90 -65.5 -132t-126.5 -42q-86 0 -143.5 67t-57.5 174q0 116 58.5 178t145.5 62q73 0 127 -39t62 -126h-73q-4 45 -35 70.5t-78 25.5q-56 0 -91 -40.5t-35 -130.5q0 -72 35.5 -121.5t90.5 -49.5q94 0 112 104h74z"/>
|
||||||
|
<glyph unicode="d" horiz-adv-x="484" d="M27 240q3 100 56.5 163t136.5 63q88 -3 139 -69v227h78v-624h-69v64q-20 -35 -59 -56.5t-81 -21.5q-55 0 -96.5 23t-64 61.5t-32.5 81.5t-8 88zM107 227q0 -79 32 -126.5t91 -47.5q132 4 132 175q0 65 -31 117.5t-97 52.5q-60 0 -93.5 -43.5t-33.5 -127.5z"/>
|
||||||
|
<glyph unicode="e" horiz-adv-x="484" d="M421 201h-339q0 -64 38.5 -104.5t95.5 -40.5q55 0 88 29.5t33 56.5h78q-13 -73 -68 -114t-135 -41q-96 0 -152.5 65t-58.5 162q0 114 59 184t154 70q101 0 155.5 -73.5t51.5 -193.5zM341 263q0 61 -37 99t-89 38q-54 0 -92.5 -40.5t-40.5 -96.5h259z"/>
|
||||||
|
<glyph unicode="f" horiz-adv-x="240" d="M227 630v-63q-13 2 -32 2q-23 0 -32.5 -10.5t-9.5 -35.5v-69h74v-69h-74v-385h-78v385h-63v69h63v84q0 41 31 69t81 28q23 0 40 -5z"/>
|
||||||
|
<glyph unicode="g" horiz-adv-x="518" d="M458 20q0 -111 -54 -165t-151 -54q-26 0 -52 5.5t-56 19t-49 44t-20 74.5h76q0 -34 29 -53t67 -19q63 0 98.5 35t35.5 107v27q-50 -54 -139 -54q-76 0 -137.5 62.5t-63.5 165.5q0 117 59 184t153 67q41 0 75.5 -18t52.5 -46v55h76v-437zM382 226q0 76 -35 119.5t-96 43.5 q-51 0 -89.5 -41t-38.5 -115q0 -87 39 -132.5t92 -45.5q56 0 91.5 45.5t36.5 125.5z"/>
|
||||||
|
<glyph unicode="h" horiz-adv-x="484" d="M427 0h-78v297q0 101 -89 101q-54 0 -91 -38t-37 -113v-247h-78v624h78v-231q46 70 141 74q64 0 109 -38t45 -127v-302z"/>
|
||||||
|
<glyph unicode="i" horiz-adv-x="194" d="M134 536h-78v86h78v-86zM134 0h-78v454h78v-454z"/>
|
||||||
|
<glyph unicode="j" horiz-adv-x="269" d="M211 -78q0 -45 -29.5 -74t-84.5 -29q-25 0 -39 3v66q19 -4 35 -4q22 0 31 12t9 43v515h78v-532zM211 536h-78v88h78v-88z"/>
|
||||||
|
<glyph unicode="k" horiz-adv-x="434" d="M434 0h-97l-150 222l-55 -54v-168h-78v624h78v-363l194 193h98l-181 -174z"/>
|
||||||
|
<glyph unicode="l" horiz-adv-x="194" d="M135 0h-79v624h79v-624z"/>
|
||||||
|
<glyph unicode="m" horiz-adv-x="722" d="M669 0h-78v293q0 105 -84 105q-46 0 -75 -33t-31 -89v-276h-78v313q0 36 -17.5 60.5t-55.5 24.5q-48 0 -82 -36t-35 -115v-247h-78v454h72v-64q49 76 139 76q84 0 122 -73q47 73 139 73q18 0 35.5 -3.5t37.5 -14t34.5 -27t24.5 -44.5t10 -64v-313z"/>
|
||||||
|
<glyph unicode="n" horiz-adv-x="484" d="M427 0h-78v284q0 114 -89 114q-55 0 -91.5 -37.5t-36.5 -101.5v-259h-78v454h74v-66q15 25 54.5 51.5t90.5 26.5q70 0 112 -40.5t42 -123.5v-302z"/>
|
||||||
|
<glyph unicode="o" horiz-adv-x="484" d="M456 227q0 -98 -57.5 -168t-155.5 -72q-97 0 -154.5 70.5t-57.5 169.5q0 101 57 170.5t155 69.5t155.5 -69.5t57.5 -170.5zM376 227q1 39 -12 76.5t-44.5 66t-76.5 29.5q-65 0 -98.5 -54t-33.5 -118q0 -73 32.5 -123t99.5 -50t98.5 49t34.5 124z"/>
|
||||||
|
<glyph unicode="p" horiz-adv-x="484" d="M460 214q-3 -100 -56.5 -163t-137.5 -63q-87 3 -138 69v-237h-79v634h70v-64q20 35 59 56.5t81 21.5q55 0 96.5 -23t64 -61.5t32.5 -81.5t8 -88zM380 227q0 79 -32 126.5t-91 47.5q-132 -4 -132 -175q0 -65 31 -117.5t97 -52.5q60 0 93.5 43.5t33.5 127.5z"/>
|
||||||
|
<glyph unicode="q" horiz-adv-x="484" d="M19 214q0 46 10 88t32 81t63 62t96 23q92 0 133 -70l7 56h70v-634h-78v237q-52 -66 -139 -69q-85 0 -138.5 60.5t-55.5 165.5zM99 227q0 -83 34 -127t94 -44q45 0 75.5 29t41 65t10.5 76q0 171 -132 175q-59 0 -91 -47.5t-32 -126.5z"/>
|
||||||
|
<glyph unicode="r" horiz-adv-x="288" d="M257 385q-65 0 -105.5 -30t-40.5 -83v-272h-78v454h75v-77q40 87 149 87v-79z"/>
|
||||||
|
<glyph unicode="s" horiz-adv-x="434" d="M405 137q0 -65 -48 -108t-131 -43q-85 0 -137.5 38.5t-58.5 121.5h75q0 -93 121 -93q43 0 73 18t30 53q0 27 -27.5 42.5t-129.5 39.5q-26 6 -43.5 12.5t-39 19.5t-32.5 34t-11 50q0 69 48 107t124 38q52 0 88.5 -15.5t53 -40.5t23.5 -45.5t8 -41.5h-74q0 76 -107 76 q-11 0 -22 -1.5t-28 -7t-28.5 -19.5t-12.5 -36q0 -29 27.5 -41t126.5 -36q62 -17 96.5 -43.5t35.5 -78.5z"/>
|
||||||
|
<glyph unicode="t" horiz-adv-x="240" d="M227 54v-64q-23 -5 -40 -5q-50 0 -81 28t-31 69v303h-59v69h59v128h78v-128h74v-69h-74v-287q0 -25 9.5 -36t32.5 -11q12 0 32 3z"/>
|
||||||
|
<glyph unicode="u" horiz-adv-x="484" d="M49 454h79v-284q0 -114 89 -114q55 0 91.5 37.5t36.5 101.5v259h78v-454h-75v66q-15 -25 -54.5 -51.5t-90.5 -26.5q-70 0 -112 40.5t-42 123.5v302z"/>
|
||||||
|
<glyph unicode="v" horiz-adv-x="434" d="M417 454l-173 -454h-82l-165 454h87l124 -372l127 372h82z"/>
|
||||||
|
<glyph unicode="w" horiz-adv-x="628" d="M615 454l-131 -454h-80l-91 351l-91 -351h-80l-130 454h83l86 -358l93 358h85l89 -358l91 358h76z"/>
|
||||||
|
<glyph unicode="x" horiz-adv-x="434" d="M425 0h-98l-112 171l-110 -171h-96l160 234l-152 220h98l105 -161l106 161h92l-153 -221z"/>
|
||||||
|
<glyph unicode="y" horiz-adv-x="434" d="M425 454q-70 -199 -133 -365t-77 -195q-28 -56 -63 -72t-99 -2v70q69 -26 96 24l31 72l-170 468h86l124 -371l123 371h82z"/>
|
||||||
|
<glyph unicode="z" horiz-adv-x="434" d="M407 0h-380v59l273 331h-252v64h350v-63l-271 -329h280v-62z"/>
|
||||||
|
</font>
|
||||||
|
</defs></svg>
|
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
After Width: | Height: | Size: 202 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,132 @@
|
||||||
|
var MobileDetect = function() {
|
||||||
|
if (navigator.userAgent.match(/Android/i)
|
||||||
|
|| navigator.userAgent.match(/webOS/i)
|
||||||
|
|| navigator.userAgent.match(/iPhone/i)
|
||||||
|
|| navigator.userAgent.match(/iPad/i)
|
||||||
|
|| navigator.userAgent.match(/iPod/i)
|
||||||
|
|| navigator.userAgent.match(/BlackBerry/i)
|
||||||
|
|| navigator.userAgent.match(/Windows Phone/i)
|
||||||
|
){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var BrowserDetect = {
|
||||||
|
init: function () {
|
||||||
|
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
|
||||||
|
this.version = this.searchVersion(navigator.userAgent)
|
||||||
|
|| this.searchVersion(navigator.appVersion)
|
||||||
|
|| "an unknown version";
|
||||||
|
this.OS = this.searchString(this.dataOS) || "an unknown OS";
|
||||||
|
},
|
||||||
|
searchString: function (data) {
|
||||||
|
for (var i=0;i<data.length;i++) {
|
||||||
|
var dataString = data[i].string;
|
||||||
|
var dataProp = data[i].prop;
|
||||||
|
this.versionSearchString = data[i].versionSearch || data[i].identity;
|
||||||
|
if (dataString) {
|
||||||
|
if (dataString.indexOf(data[i].subString) != -1)
|
||||||
|
return data[i].identity;
|
||||||
|
}
|
||||||
|
else if (dataProp)
|
||||||
|
return data[i].identity;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
searchVersion: function (dataString) {
|
||||||
|
var index = dataString.indexOf(this.versionSearchString);
|
||||||
|
if (index == -1) return;
|
||||||
|
return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
|
||||||
|
},
|
||||||
|
dataBrowser: [
|
||||||
|
{
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "Chrome",
|
||||||
|
identity: "Chrome"
|
||||||
|
},
|
||||||
|
{ string: navigator.userAgent,
|
||||||
|
subString: "OmniWeb",
|
||||||
|
versionSearch: "OmniWeb/",
|
||||||
|
identity: "OmniWeb"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.vendor,
|
||||||
|
subString: "Apple",
|
||||||
|
identity: "Safari",
|
||||||
|
versionSearch: "Version"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: window.opera,
|
||||||
|
identity: "Opera",
|
||||||
|
versionSearch: "Version"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.vendor,
|
||||||
|
subString: "iCab",
|
||||||
|
identity: "iCab"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.vendor,
|
||||||
|
subString: "KDE",
|
||||||
|
identity: "Konqueror"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "Firefox",
|
||||||
|
identity: "Firefox"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.vendor,
|
||||||
|
subString: "Camino",
|
||||||
|
identity: "Camino"
|
||||||
|
},
|
||||||
|
{ // for newer Netscapes (6+)
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "Netscape",
|
||||||
|
identity: "Netscape"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "MSIE",
|
||||||
|
identity: "Explorer",
|
||||||
|
versionSearch: "MSIE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "Gecko",
|
||||||
|
identity: "Mozilla",
|
||||||
|
versionSearch: "rv"
|
||||||
|
},
|
||||||
|
{ // for older Netscapes (4-)
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "Mozilla",
|
||||||
|
identity: "Netscape",
|
||||||
|
versionSearch: "Mozilla"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
dataOS : [
|
||||||
|
{
|
||||||
|
string: navigator.platform,
|
||||||
|
subString: "Win",
|
||||||
|
identity: "Windows"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.platform,
|
||||||
|
subString: "Mac",
|
||||||
|
identity: "Mac"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.userAgent,
|
||||||
|
subString: "iPhone",
|
||||||
|
identity: "iPhone/iPod"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
string: navigator.platform,
|
||||||
|
subString: "Linux",
|
||||||
|
identity: "Linux"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
};
|
||||||
|
BrowserDetect.init();
|
|
@ -0,0 +1,195 @@
|
||||||
|
/*
|
||||||
|
Irritating differences between how browsers handle HTML5 video. ARGH!
|
||||||
|
|
||||||
|
Seeking:
|
||||||
|
- Firefox 3.6 - DONE pause > seeking > seek > play. unless the video has ended and you press play again, then it's just seeking > seek. AWESOME!
|
||||||
|
- Chrome 5.0 - DONE seeking > seek (sometimes sends these 2 events twice. usually, in fact)
|
||||||
|
- Opera 10.6 - DONE seeking > seek
|
||||||
|
- Safari 4 and 5 - DONE sends 2 seek events unless you happen to seek right on a keyframe exactly. beautiful. also maybe 1 in 10 times, it doesn't send an initial 'play' event. great!
|
||||||
|
- MSIE - unknown since IE8 doesn't support it and who knows what IE9 will do. for now, we'll fully disable this for IE users.
|
||||||
|
|
||||||
|
|
||||||
|
- firefox 30:
|
||||||
|
|
||||||
|
while playing:
|
||||||
|
|
||||||
|
pause 19
|
||||||
|
seeking 19
|
||||||
|
play 19
|
||||||
|
seek 19
|
||||||
|
|
||||||
|
if paused:
|
||||||
|
|
||||||
|
seeking 19
|
||||||
|
seek 19
|
||||||
|
|
||||||
|
pressing play after an 'end':
|
||||||
|
|
||||||
|
play 0
|
||||||
|
seeking 0
|
||||||
|
seek 0
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
var _htmlvid = [], _htmlvidi = 0;
|
||||||
|
|
||||||
|
function _htmlvid_track( e ) {
|
||||||
|
if( typeof e == "string" ) e = document.getElementById( e );
|
||||||
|
if( typeof e != "object" ) return false;
|
||||||
|
|
||||||
|
_htmlvidi++;
|
||||||
|
_htmlvid[ _htmlvidi ] = new _htmlvido( e, _htmlvidi );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function _htmlvido( e, i ) {
|
||||||
|
if( !e || !i ) return false;
|
||||||
|
|
||||||
|
// if the browser doesn't support html5 video, we're done.
|
||||||
|
if( !document.createElement("video").canPlayType ) return;
|
||||||
|
|
||||||
|
// different browsers handle video events differentely, mainly to do with "seeking", so we have to sniff around so we can do it right for each of them.
|
||||||
|
// these are grouped by behavior. chrome and opera have nothing to do with each other but they end up working the same way in this case.
|
||||||
|
if( navigator.userAgent.match(/firefox/i)) {
|
||||||
|
this.browser="firefox";
|
||||||
|
}
|
||||||
|
else if( navigator.userAgent.match(/chrome|opera/i)) {
|
||||||
|
this.browser="chrome";
|
||||||
|
}
|
||||||
|
else if( navigator.userAgent.match(/safari/i)) {
|
||||||
|
this.browser="safari";
|
||||||
|
}
|
||||||
|
else if( navigator.userAgent.match(/msie/i)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.timer = null;
|
||||||
|
this.seeking = this.ended = 0;
|
||||||
|
|
||||||
|
// we use both seeking and seeked so we can track the start and end of the seeking process, which helps us deal with some browser oddities/differences.
|
||||||
|
e.addEventListener("play", function(){ _htmlvid[i].videoLog("play"); }, false );
|
||||||
|
e.addEventListener("pause", function(){ _htmlvid[i].videoLog("pause"); }, false );
|
||||||
|
e.addEventListener("seeked", function(){ _htmlvid[i].videoLog("seek"); }, false );
|
||||||
|
e.addEventListener("seeking", function(){ _htmlvid[i].videoLog("seeking"); }, false );
|
||||||
|
e.addEventListener("ended", function(){ _htmlvid[i].videoLog("end"); }, false );
|
||||||
|
|
||||||
|
this.videoLog = function( action ) {
|
||||||
|
|
||||||
|
// $("#html5_log_raw").append( action + " " + this.videoTime() + "<br>" );
|
||||||
|
|
||||||
|
if( this.timer ) clearTimeout( this.timer );
|
||||||
|
this.timer = null;
|
||||||
|
this.do_timer = 0;
|
||||||
|
|
||||||
|
if( action == "end" ) this.ended = 1; // have to keep tracking of when a video ends for firefox because it's stupid
|
||||||
|
if( action == "seeking" ) this.seeking = 1;
|
||||||
|
if( action == "seek" ) {
|
||||||
|
// we ignore 'seek' events entirely, except for safari since it never sends 'seeking'
|
||||||
|
if( this.browser == "safari" ) {
|
||||||
|
this.seeking = 1;
|
||||||
|
}
|
||||||
|
else return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if( this.seeking ) {
|
||||||
|
// 2014-07-15 ok all browsers now seem to send a 'play' event after seeking has finished.
|
||||||
|
// previous most of them just did seeking > seek. so we can make this logic a lot simpler. if this.seeking, we won't do anything until we get a play event.
|
||||||
|
if( action == "play" ) {
|
||||||
|
this.seeking = 0;
|
||||||
|
action = "seek";
|
||||||
|
}
|
||||||
|
else return;
|
||||||
|
}
|
||||||
|
|
||||||
|
else if( action == "pause" ) {
|
||||||
|
// at first just firefox but now chrome too (so probably all browsers), they send pause events when you seek. so put those in a timer so they get canceled out if we're just seeking.
|
||||||
|
this.do_timer = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// depending on the browser, we need to only log an event after a brief timeout period. this is only needed for "seeks", which every browser seems to do its own fun way.
|
||||||
|
// basically, we unset the timer if another event comes in so this never gets logged.
|
||||||
|
// for example with firefox, when doing a seek, it first does a 'pause', but the seek event happens immediately after so the pause gets canceled and never logged.
|
||||||
|
if( this.do_timer ) {
|
||||||
|
this.timer = setTimeout( function(){ _htmlvid[i].videoLogReal( action ); }, 1000 );
|
||||||
|
}
|
||||||
|
else this.videoLogReal( action );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
this.videoLogReal = function( action ) {
|
||||||
|
// we make this a seperate function so setting a timeout is a bit cleaner
|
||||||
|
if( window._genericStats ) _genericStats.video( action, this.videoTime(), this.videoURL(), this.videoTitle());
|
||||||
|
|
||||||
|
//if( action=='play'||action=='pause'||action=='seek'||action=='end' ) $("#html5_log").append( action + " " + this.videoTime() + "<br>" );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.videoTime = function() {
|
||||||
|
return Math.round( e.currentTime );
|
||||||
|
}
|
||||||
|
|
||||||
|
this.videoURL = function() {
|
||||||
|
if( e.src ) return e.src;
|
||||||
|
this.test = e.getElementsByTagName("source");
|
||||||
|
if( this.test && this.test[0] && this.test[0].src ) return this.test[0].src;
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
this.videoTitle = function() {
|
||||||
|
return e.title || "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// the rest of this code finds all video and audio elements on a page and tracks them automatically. yesss!
|
||||||
|
|
||||||
|
function _htmlvid_auto() {
|
||||||
|
/*
|
||||||
|
* CONSIDER: Converting each HTMLCollection to an array via
|
||||||
|
* Array.prototype.slice.call (). Downside is that it's
|
||||||
|
* supported everywhere except IE 6 (and allegedly unsupported
|
||||||
|
* in IE up through 8).
|
||||||
|
*/
|
||||||
|
var videos = document.getElementsByTagName("video");
|
||||||
|
var audios = document.getElementsByTagName("audio");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < videos.length; i++) {
|
||||||
|
// apparently background auto-play looping videos are a thing. don't track those.
|
||||||
|
if( videos[i].attributes['loop'] && videos[i].attributes['autoplay'] ) continue;
|
||||||
|
_htmlvid_track( videos[i] );
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < audios.length; i++) {
|
||||||
|
// not sure if auto-play looping audio is also a thing but let's pretend it is.
|
||||||
|
if( audios[i].attributes['loop'] && audios[i].attributes['autoplay'] ) continue;
|
||||||
|
_htmlvid_track( audios[i] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// if auto-injected by tracking code, that's already on a 1 second delay, so no need to wait another second
|
||||||
|
// but if this file is included manually (the old way) then we want to wait a second to ensure dom is fully loaded before searching.
|
||||||
|
if( window._HTML5_NO_DELAY )
|
||||||
|
_htmlvid_auto();
|
||||||
|
else
|
||||||
|
setTimeout(_htmlvid_auto, 1000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
// static23
|
||||||
|
|
||||||
|
// exit trax0r
|
||||||
|
var o_O
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,52 @@
|
||||||
|
(function($) {
|
||||||
|
function isFullScreen() {
|
||||||
|
return document[!prefix ? 'fullScreen' :
|
||||||
|
'webkit' === prefix ? 'webkitIsFullScreen' :
|
||||||
|
prefix + 'FullScreen'];
|
||||||
|
}
|
||||||
|
function cancelFullScreen() {
|
||||||
|
return document[prefix ? prefix + 'CancelFullScreen'
|
||||||
|
: 'cancelFullScreen']();
|
||||||
|
}
|
||||||
|
|
||||||
|
var supported = typeof document.cancelFullScreen !== 'undefined'
|
||||||
|
, prefixes = ['webkit', 'moz', 'o', 'ms', 'khtml']
|
||||||
|
, prefix = ''
|
||||||
|
, noop = function() {}
|
||||||
|
, i
|
||||||
|
;
|
||||||
|
|
||||||
|
if (!supported) {
|
||||||
|
for (i = 0; prefix = prefixes[i]; i++) {
|
||||||
|
if (typeof document[prefix + 'CancelFullScreen'] !== 'undefined') {
|
||||||
|
supported = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (supported) {
|
||||||
|
$.fn.requestFullscreen = function() {
|
||||||
|
return this.each(function() {
|
||||||
|
return this[prefix ? prefix + 'RequestFullScreen'
|
||||||
|
: 'requestFullScreen']();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
$.fn.fullscreenChange = function(fn) {
|
||||||
|
var ar = [prefix + 'fullscreenchange'].concat([].slice.call(arguments, 0))
|
||||||
|
, $e = $(this);
|
||||||
|
return $e.bind.apply($e, ar);
|
||||||
|
};
|
||||||
|
$.Fullscreen =
|
||||||
|
{ isFullscreen: isFullScreen
|
||||||
|
, cancelFullscreen: cancelFullScreen
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.fn.requestFullscreen = $.fn.fullScreenChange = noop;
|
||||||
|
$.Fullscreen =
|
||||||
|
{ isFullscreen: function() { return false; }
|
||||||
|
, cancelFullscreen: noop
|
||||||
|
};
|
||||||
|
}
|
||||||
|
})(jQuery);
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,226 @@
|
||||||
|
// keymaster.js
|
||||||
|
// (c) 2011-2012 Thomas Fuchs
|
||||||
|
// keymaster.js may be freely distributed under the MIT license.
|
||||||
|
|
||||||
|
;(function(global){
|
||||||
|
var k,
|
||||||
|
_handlers = {},
|
||||||
|
_mods = { 16: false, 18: false, 17: false, 91: false },
|
||||||
|
_scope = 'all',
|
||||||
|
// modifier keys
|
||||||
|
_MODIFIERS = {
|
||||||
|
'⇧': 16, shift: 16,
|
||||||
|
'⌥': 18, alt: 18, option: 18,
|
||||||
|
'⌃': 17, ctrl: 17, control: 17,
|
||||||
|
'⌘': 91, command: 91
|
||||||
|
},
|
||||||
|
// special keys
|
||||||
|
_MAP = {
|
||||||
|
backspace: 8, tab: 9, clear: 12,
|
||||||
|
enter: 13, 'return': 13,
|
||||||
|
esc: 27, escape: 27, space: 32,
|
||||||
|
left: 37, up: 38,
|
||||||
|
right: 39, down: 40,
|
||||||
|
del: 46, 'delete': 46,
|
||||||
|
home: 36, end: 35,
|
||||||
|
pageup: 33, pagedown: 34,
|
||||||
|
',': 188, '.': 190, '/': 191,
|
||||||
|
'`': 192, '-': 189, '=': 187,
|
||||||
|
';': 186, '\'': 222,
|
||||||
|
'[': 219, ']': 221, '\\': 220
|
||||||
|
},
|
||||||
|
_downKeys = [];
|
||||||
|
|
||||||
|
for(k=1;k<20;k++) _MODIFIERS['f'+k] = 111+k;
|
||||||
|
|
||||||
|
// IE doesn't support Array#indexOf, so have a simple replacement
|
||||||
|
function index(array, item){
|
||||||
|
var i = array.length;
|
||||||
|
while(i--) if(array[i]===item) return i;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle keydown event
|
||||||
|
function dispatch(event, scope){
|
||||||
|
var key, handler, k, i, modifiersMatch;
|
||||||
|
key = event.keyCode;
|
||||||
|
|
||||||
|
if (index(_downKeys, key) == -1) {
|
||||||
|
_downKeys.push(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
// if a modifier key, set the key.<modifierkeyname> property to true and return
|
||||||
|
if(key == 93 || key == 224) key = 91; // right command on webkit, command on Gecko
|
||||||
|
if(key in _mods) {
|
||||||
|
_mods[key] = true;
|
||||||
|
// 'assignKey' from inside this closure is exported to window.key
|
||||||
|
for(k in _MODIFIERS) if(_MODIFIERS[k] == key) assignKey[k] = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// see if we need to ignore the keypress (filter() can can be overridden)
|
||||||
|
// by default ignore key presses if a select, textarea, or input is focused
|
||||||
|
if(!assignKey.filter.call(this, event)) return;
|
||||||
|
|
||||||
|
// abort if no potentially matching shortcuts found
|
||||||
|
if (!(key in _handlers)) return;
|
||||||
|
|
||||||
|
// for each potential shortcut
|
||||||
|
for (i = 0; i < _handlers[key].length; i++) {
|
||||||
|
handler = _handlers[key][i];
|
||||||
|
|
||||||
|
// see if it's in the current scope
|
||||||
|
if(handler.scope == scope || handler.scope == 'all'){
|
||||||
|
// check if modifiers match if any
|
||||||
|
modifiersMatch = handler.mods.length > 0;
|
||||||
|
for(k in _mods)
|
||||||
|
if((!_mods[k] && index(handler.mods, +k) > -1) ||
|
||||||
|
(_mods[k] && index(handler.mods, +k) == -1)) modifiersMatch = false;
|
||||||
|
// call the handler and stop the event if neccessary
|
||||||
|
if((handler.mods.length == 0 && !_mods[16] && !_mods[18] && !_mods[17] && !_mods[91]) || modifiersMatch){
|
||||||
|
if(handler.method(event, handler)===false){
|
||||||
|
if(event.preventDefault) event.preventDefault();
|
||||||
|
else event.returnValue = false;
|
||||||
|
if(event.stopPropagation) event.stopPropagation();
|
||||||
|
if(event.cancelBubble) event.cancelBubble = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// unset modifier keys on keyup
|
||||||
|
function clearModifier(event){
|
||||||
|
var key = event.keyCode, k,
|
||||||
|
i = index(_downKeys, key);
|
||||||
|
|
||||||
|
// remove key from _downKeys
|
||||||
|
if (i >= 0) {
|
||||||
|
_downKeys.splice(i, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(key == 93 || key == 224) key = 91;
|
||||||
|
if(key in _mods) {
|
||||||
|
_mods[key] = false;
|
||||||
|
for(k in _MODIFIERS) if(_MODIFIERS[k] == key) assignKey[k] = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function resetModifiers() {
|
||||||
|
for(k in _mods) _mods[k] = false;
|
||||||
|
for(k in _MODIFIERS) assignKey[k] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// parse and assign shortcut
|
||||||
|
function assignKey(key, scope, method){
|
||||||
|
var keys, mods, i, mi;
|
||||||
|
if (method === undefined) {
|
||||||
|
method = scope;
|
||||||
|
scope = 'all';
|
||||||
|
}
|
||||||
|
key = key.replace(/\s/g,'');
|
||||||
|
keys = key.split(',');
|
||||||
|
|
||||||
|
if((keys[keys.length-1])=='')
|
||||||
|
keys[keys.length-2] += ',';
|
||||||
|
// for each shortcut
|
||||||
|
for (i = 0; i < keys.length; i++) {
|
||||||
|
// set modifier keys if any
|
||||||
|
mods = [];
|
||||||
|
key = keys[i].split('+');
|
||||||
|
if(key.length > 1){
|
||||||
|
mods = key.slice(0,key.length-1);
|
||||||
|
for (mi = 0; mi < mods.length; mi++)
|
||||||
|
mods[mi] = _MODIFIERS[mods[mi]];
|
||||||
|
key = [key[key.length-1]];
|
||||||
|
}
|
||||||
|
// convert to keycode and...
|
||||||
|
key = key[0]
|
||||||
|
key = _MAP[key] || key.toUpperCase().charCodeAt(0);
|
||||||
|
// ...store handler
|
||||||
|
if (!(key in _handlers)) _handlers[key] = [];
|
||||||
|
_handlers[key].push({ shortcut: keys[i], scope: scope, method: method, key: keys[i], mods: mods });
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Returns true if the key with code 'keyCode' is currently down
|
||||||
|
// Converts strings into key codes.
|
||||||
|
function isPressed(keyCode) {
|
||||||
|
if (typeof(keyCode)=='string') {
|
||||||
|
if (keyCode.length == 1) {
|
||||||
|
keyCode = (keyCode.toUpperCase()).charCodeAt(0);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return index(_downKeys, keyCode) != -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPressedKeyCodes() {
|
||||||
|
return _downKeys.slice(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function filter(event){
|
||||||
|
var tagName = (event.target || event.srcElement).tagName;
|
||||||
|
// ignore keypressed in any elements that support keyboard data input
|
||||||
|
return !(tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA');
|
||||||
|
}
|
||||||
|
|
||||||
|
// initialize key.<modifier> to false
|
||||||
|
for(k in _MODIFIERS) assignKey[k] = false;
|
||||||
|
|
||||||
|
// set current scope (default 'all')
|
||||||
|
function setScope(scope){ _scope = scope || 'all' };
|
||||||
|
function getScope(){ return _scope || 'all' };
|
||||||
|
|
||||||
|
// delete all handlers for a given scope
|
||||||
|
function deleteScope(scope){
|
||||||
|
var key, handlers, i;
|
||||||
|
|
||||||
|
for (key in _handlers) {
|
||||||
|
handlers = _handlers[key];
|
||||||
|
for (i = 0; i < handlers.length; ) {
|
||||||
|
if (handlers[i].scope === scope) handlers.splice(i, 1);
|
||||||
|
else i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// cross-browser events
|
||||||
|
function addEvent(object, event, method) {
|
||||||
|
if (object.addEventListener)
|
||||||
|
object.addEventListener(event, method, false);
|
||||||
|
else if(object.attachEvent)
|
||||||
|
object.attachEvent('on'+event, function(){ method(window.event) });
|
||||||
|
};
|
||||||
|
|
||||||
|
// set the handlers globally on document
|
||||||
|
addEvent(document, 'keydown', function(event) { dispatch(event, _scope) }); // Passing _scope to a callback to ensure it remains the same by execution. Fixes #48
|
||||||
|
addEvent(document, 'keyup', clearModifier);
|
||||||
|
|
||||||
|
// reset modifiers to false whenever the window is (re)focused.
|
||||||
|
addEvent(window, 'focus', resetModifiers);
|
||||||
|
|
||||||
|
// store previously defined key
|
||||||
|
var previousKey = global.key;
|
||||||
|
|
||||||
|
// restore previously defined key and return reference to our key object
|
||||||
|
function noConflict() {
|
||||||
|
var k = global.key;
|
||||||
|
global.key = previousKey;
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// set window.key and window.key.set/get/deleteScope, and the default filter
|
||||||
|
global.key = assignKey;
|
||||||
|
global.key.setScope = setScope;
|
||||||
|
global.key.getScope = getScope;
|
||||||
|
global.key.deleteScope = deleteScope;
|
||||||
|
global.key.filter = filter;
|
||||||
|
global.key.isPressed = isPressed;
|
||||||
|
global.key.getPressedKeyCodes = getPressedKeyCodes;
|
||||||
|
global.key.noConflict = noConflict;
|
||||||
|
|
||||||
|
if(typeof module !== 'undefined') module.exports = key;
|
||||||
|
|
||||||
|
})(this);
|
|
@ -0,0 +1,85 @@
|
||||||
|
// Knockout JavaScript library v2.2.0
|
||||||
|
// (c) Steven Sanderson - http://knockoutjs.com/
|
||||||
|
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||||
|
|
||||||
|
(function() {function i(v){throw v;}var l=!0,n=null,q=!1;function t(v){return function(){return v}};var w=window,x=document,fa=navigator,E=window.jQuery,H=void 0;
|
||||||
|
function K(v){function ga(a,d,c,e,f){var g=[],a=b.j(function(){var a=d(c,f)||[];0<g.length&&(b.a.Xa(L(g),a),e&&b.r.K(e,n,[c,a,f]));g.splice(0,g.length);b.a.P(g,a)},n,{W:a,Ja:function(){return 0==g.length||!b.a.X(g[0])}});return{M:g,j:a.oa()?a:H}}function L(a){for(;a.length&&!b.a.X(a[0]);)a.splice(0,1);if(1<a.length){for(var d=a[0],c=a[a.length-1],e=[d];d!==c;){d=d.nextSibling;if(!d)return;e.push(d)}Array.prototype.splice.apply(a,[0,a.length].concat(e))}return a}function R(a,b,c,e,f){var g=Math.min,
|
||||||
|
h=Math.max,j=[],k,m=a.length,p,r=b.length,u=r-m||1,F=m+r+1,I,z,y;for(k=0;k<=m;k++){z=I;j.push(I=[]);y=g(r,k+u);for(p=h(0,k-1);p<=y;p++)I[p]=p?k?a[k-1]===b[p-1]?z[p-1]:g(z[p]||F,I[p-1]||F)+1:p+1:k+1}g=[];h=[];u=[];k=m;for(p=r;k||p;)r=j[k][p]-1,p&&r===j[k][p-1]?h.push(g[g.length]={status:c,value:b[--p],index:p}):k&&r===j[k-1][p]?u.push(g[g.length]={status:e,value:a[--k],index:k}):(g.push({status:"retained",value:b[--p]}),--k);if(h.length&&u.length)for(var a=10*m,s,b=c=0;(f||b<a)&&(s=h[c]);c++){for(e=
|
||||||
|
0;j=u[e];e++)if(s.value===j.value){s.moved=j.index;j.moved=s.index;u.splice(e,1);b=e=0;break}b+=e}return g.reverse()}function S(a,d,c,e,f){var f=f||{},g=a&&M(a),g=g&&g.ownerDocument,h=f.templateEngine||N;b.ya.ub(c,h,g);c=h.renderTemplate(c,e,f,g);("number"!=typeof c.length||0<c.length&&"number"!=typeof c[0].nodeType)&&i(Error("Template engine must return an array of DOM nodes"));g=q;switch(d){case "replaceChildren":b.e.N(a,c);g=l;break;case "replaceNode":b.a.Xa(a,c);g=l;break;case "ignoreTargetNode":break;
|
||||||
|
default:i(Error("Unknown renderMode: "+d))}g&&(T(c,e),f.afterRender&&b.r.K(f.afterRender,n,[c,e.$data]));return c}function M(a){return a.nodeType?a:0<a.length?a[0]:n}function T(a,d){if(a.length){var c=a[0],e=a[a.length-1];U(c,e,function(a){b.Ca(d,a)});U(c,e,function(a){b.s.hb(a,[d])})}}function U(a,d,c){for(var e,d=b.e.nextSibling(d);a&&(e=a)!==d;)a=b.e.nextSibling(e),(1===e.nodeType||8===e.nodeType)&&c(e)}function V(a,d,c){for(var a=b.g.aa(a),e=b.g.Q,f=0;f<a.length;f++){var g=a[f].key;if(e.hasOwnProperty(g)){var h=
|
||||||
|
e[g];"function"===typeof h?(g=h(a[f].value))&&i(Error(g)):h||i(Error("This template engine does not support the '"+g+"' binding within its templates"))}}a="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+b.g.ba(a)+" } })()})";return c.createJavaScriptEvaluatorBlock(a)+d}function W(a,d,c,e){function f(a){return function(){return j[a]}}function g(){return j}var h=0,j,k;b.j(function(){var m=c&&c instanceof b.z?c:new b.z(b.a.d(c)),p=m.$data;e&&b.cb(a,m);if(j=("function"==typeof d?
|
||||||
|
d(m,a):d)||b.J.instance.getBindings(a,m)){if(0===h){h=1;for(var r in j){var u=b.c[r];u&&8===a.nodeType&&!b.e.I[r]&&i(Error("The binding '"+r+"' cannot be used with virtual elements"));if(u&&"function"==typeof u.init&&(u=(0,u.init)(a,f(r),g,p,m))&&u.controlsDescendantBindings)k!==H&&i(Error("Multiple bindings ("+k+" and "+r+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.")),k=r}h=2}if(2===h)for(r in j)(u=b.c[r])&&"function"==
|
||||||
|
typeof u.update&&(0,u.update)(a,f(r),g,p,m)}},n,{W:a});return{Mb:k===H}}function X(a,d,c){var e=l,f=1===d.nodeType;f&&b.e.Sa(d);if(f&&c||b.J.instance.nodeHasBindings(d))e=W(d,n,a,c).Mb;e&&Y(a,d,!f)}function Y(a,d,c){for(var e=b.e.firstChild(d);d=e;)e=b.e.nextSibling(d),X(a,d,c)}function Z(a,b){var c=$(a,b);return c?0<c.length?c[c.length-1].nextSibling:a.nextSibling:n}function $(a,b){for(var c=a,e=1,f=[];c=c.nextSibling;){if(G(c)&&(e--,0===e))return f;f.push(c);A(c)&&e++}b||i(Error("Cannot find closing comment tag to match: "+
|
||||||
|
a.nodeValue));return n}function G(a){return 8==a.nodeType&&(J?a.text:a.nodeValue).match(ha)}function A(a){return 8==a.nodeType&&(J?a.text:a.nodeValue).match(ia)}function O(a,b){for(var c=n;a!=c;)c=a,a=a.replace(ja,function(a,c){return b[c]});return a}function ka(){var a=[],d=[];this.save=function(c,e){var f=b.a.i(a,c);0<=f?d[f]=e:(a.push(c),d.push(e))};this.get=function(c){c=b.a.i(a,c);return 0<=c?d[c]:H}}function aa(a,b,c){function e(e){var g=b(a[e]);switch(typeof g){case "boolean":case "number":case "string":case "function":f[e]=
|
||||||
|
g;break;case "object":case "undefined":var h=c.get(g);f[e]=h!==H?h:aa(g,b,c)}}c=c||new ka;a=b(a);if(!("object"==typeof a&&a!==n&&a!==H&&!(a instanceof Date)))return a;var f=a instanceof Array?[]:{};c.save(a,f);var g=a;if(g instanceof Array){for(var h=0;h<g.length;h++)e(h);"function"==typeof g.toJSON&&e("toJSON")}else for(h in g)e(h);return f}function ba(a,d){if(a)if(8==a.nodeType){var c=b.s.Ta(a.nodeValue);c!=n&&d.push({rb:a,Eb:c})}else if(1==a.nodeType)for(var c=0,e=a.childNodes,f=e.length;c<f;c++)ba(e[c],
|
||||||
|
d)}function P(a,d,c,e){b.c[a]={init:function(a){b.a.f.set(a,ca,{});return{controlsDescendantBindings:l}},update:function(a,g,h,j,k){var h=b.a.f.get(a,ca),g=b.a.d(g()),j=!c!==!g,m=!h.Ya;if(m||d||j!==h.pb)m&&(h.Ya=b.a.Ha(b.e.childNodes(a),l)),j?(m||b.e.N(a,b.a.Ha(h.Ya)),b.Da(e?e(k,g):k,a)):b.e.Y(a),h.pb=j}};b.g.Q[a]=q;b.e.I[a]=l}function da(a,d,c){c&&d!==b.k.q(a)&&b.k.T(a,d);d!==b.k.q(a)&&b.r.K(b.a.Aa,n,[a,"change"])}var b="undefined"!==typeof v?v:{};b.b=function(a,d){for(var c=a.split("."),e=b,f=0;f<
|
||||||
|
c.length-1;f++)e=e[c[f]];e[c[c.length-1]]=d};b.p=function(a,b,c){a[b]=c};b.version="2.2.0";b.b("version",b.version);b.a=new function(){function a(a,d){if("input"!==b.a.u(a)||!a.type||"click"!=d.toLowerCase())return q;var c=a.type;return"checkbox"==c||"radio"==c}var d=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,c={},e={};c[/Firefox\/2/i.test(fa.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];c.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");
|
||||||
|
for(var f in c){var g=c[f];if(g.length)for(var h=0,j=g.length;h<j;h++)e[g[h]]=f}var k={propertychange:l},m,c=3;f=x.createElement("div");for(g=f.getElementsByTagName("i");f.innerHTML="<\!--[if gt IE "+ ++c+"]><i></i><![endif]--\>",g[0];);m=4<c?c:H;return{Ma:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],o:function(a,b){for(var d=0,c=a.length;d<c;d++)b(a[d])},i:function(a,b){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(a,b);for(var d=0,c=a.length;d<
|
||||||
|
c;d++)if(a[d]===b)return d;return-1},kb:function(a,b,d){for(var c=0,e=a.length;c<e;c++)if(b.call(d,a[c]))return a[c];return n},ga:function(a,d){var c=b.a.i(a,d);0<=c&&a.splice(c,1)},Fa:function(a){for(var a=a||[],d=[],c=0,e=a.length;c<e;c++)0>b.a.i(d,a[c])&&d.push(a[c]);return d},V:function(a,b){for(var a=a||[],d=[],c=0,e=a.length;c<e;c++)d.push(b(a[c]));return d},fa:function(a,b){for(var a=a||[],d=[],c=0,e=a.length;c<e;c++)b(a[c])&&d.push(a[c]);return d},P:function(a,b){if(b instanceof Array)a.push.apply(a,
|
||||||
|
b);else for(var d=0,c=b.length;d<c;d++)a.push(b[d]);return a},extend:function(a,b){if(b)for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);return a},ka:function(a){for(;a.firstChild;)b.removeNode(a.firstChild)},Gb:function(a){for(var a=b.a.L(a),d=x.createElement("div"),c=0,e=a.length;c<e;c++)d.appendChild(b.A(a[c]));return d},Ha:function(a,d){for(var c=0,e=a.length,g=[];c<e;c++){var f=a[c].cloneNode(l);g.push(d?b.A(f):f)}return g},N:function(a,d){b.a.ka(a);if(d)for(var c=0,e=d.length;c<e;c++)a.appendChild(d[c])},
|
||||||
|
Xa:function(a,d){var c=a.nodeType?[a]:a;if(0<c.length){for(var e=c[0],g=e.parentNode,f=0,h=d.length;f<h;f++)g.insertBefore(d[f],e);f=0;for(h=c.length;f<h;f++)b.removeNode(c[f])}},ab:function(a,b){7>m?a.setAttribute("selected",b):a.selected=b},D:function(a){return(a||"").replace(d,"")},Qb:function(a,d){for(var c=[],e=(a||"").split(d),f=0,g=e.length;f<g;f++){var h=b.a.D(e[f]);""!==h&&c.push(h)}return c},Nb:function(a,b){a=a||"";return b.length>a.length?q:a.substring(0,b.length)===b},sb:function(a,b){if(b.compareDocumentPosition)return 16==
|
||||||
|
(b.compareDocumentPosition(a)&16);for(;a!=n;){if(a==b)return l;a=a.parentNode}return q},X:function(a){return b.a.sb(a,a.ownerDocument)},u:function(a){return a&&a.tagName&&a.tagName.toLowerCase()},n:function(b,d,c){var e=m&&k[d];if(!e&&"undefined"!=typeof E){if(a(b,d))var f=c,c=function(a,b){var d=this.checked;b&&(this.checked=b.mb!==l);f.call(this,a);this.checked=d};E(b).bind(d,c)}else!e&&"function"==typeof b.addEventListener?b.addEventListener(d,c,q):"undefined"!=typeof b.attachEvent?b.attachEvent("on"+
|
||||||
|
d,function(a){c.call(b,a)}):i(Error("Browser doesn't support addEventListener or attachEvent"))},Aa:function(b,d){(!b||!b.nodeType)&&i(Error("element must be a DOM node when calling triggerEvent"));if("undefined"!=typeof E){var c=[];a(b,d)&&c.push({mb:b.checked});E(b).trigger(d,c)}else"function"==typeof x.createEvent?"function"==typeof b.dispatchEvent?(c=x.createEvent(e[d]||"HTMLEvents"),c.initEvent(d,l,l,w,0,0,0,0,0,q,q,q,q,0,b),b.dispatchEvent(c)):i(Error("The supplied element doesn't support dispatchEvent")):
|
||||||
|
"undefined"!=typeof b.fireEvent?(a(b,d)&&(b.checked=b.checked!==l),b.fireEvent("on"+d)):i(Error("Browser doesn't support triggering events"))},d:function(a){return b.$(a)?a():a},ta:function(a){return b.$(a)?a.t():a},da:function(a,d,c){if(d){var e=/[\w-]+/g,f=a.className.match(e)||[];b.a.o(d.match(e),function(a){var d=b.a.i(f,a);0<=d?c||f.splice(d,1):c&&f.push(a)});a.className=f.join(" ")}},bb:function(a,d){var c=b.a.d(d);if(c===n||c===H)c="";if(3===a.nodeType)a.data=c;else{var e=b.e.firstChild(a);
|
||||||
|
!e||3!=e.nodeType||b.e.nextSibling(e)?b.e.N(a,[x.createTextNode(c)]):e.data=c;b.a.vb(a)}},$a:function(a,b){a.name=b;if(7>=m)try{a.mergeAttributes(x.createElement("<input name='"+a.name+"'/>"),q)}catch(d){}},vb:function(a){9<=m&&(a=1==a.nodeType?a:a.parentNode,a.style&&(a.style.zoom=a.style.zoom))},tb:function(a){if(9<=m){var b=a.style.width;a.style.width=0;a.style.width=b}},Kb:function(a,d){for(var a=b.a.d(a),d=b.a.d(d),c=[],e=a;e<=d;e++)c.push(e);return c},L:function(a){for(var b=[],d=0,c=a.length;d<
|
||||||
|
c;d++)b.push(a[d]);return b},Ob:6===m,Pb:7===m,Z:m,Na:function(a,d){for(var c=b.a.L(a.getElementsByTagName("input")).concat(b.a.L(a.getElementsByTagName("textarea"))),e="string"==typeof d?function(a){return a.name===d}:function(a){return d.test(a.name)},f=[],g=c.length-1;0<=g;g--)e(c[g])&&f.push(c[g]);return f},Hb:function(a){return"string"==typeof a&&(a=b.a.D(a))?w.JSON&&w.JSON.parse?w.JSON.parse(a):(new Function("return "+a))():n},wa:function(a,d,c){("undefined"==typeof JSON||"undefined"==typeof JSON.stringify)&&
|
||||||
|
i(Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js"));return JSON.stringify(b.a.d(a),d,c)},Ib:function(a,d,c){var c=c||{},e=c.params||{},f=c.includeFields||this.Ma,g=a;if("object"==typeof a&&"form"===b.a.u(a))for(var g=a.action,h=f.length-1;0<=h;h--)for(var j=b.a.Na(a,f[h]),k=j.length-1;0<=k;k--)e[j[k].name]=j[k].value;var d=b.a.d(d),m=x.createElement("form");
|
||||||
|
m.style.display="none";m.action=g;m.method="post";for(var v in d)a=x.createElement("input"),a.name=v,a.value=b.a.wa(b.a.d(d[v])),m.appendChild(a);for(v in e)a=x.createElement("input"),a.name=v,a.value=e[v],m.appendChild(a);x.body.appendChild(m);c.submitter?c.submitter(m):m.submit();setTimeout(function(){m.parentNode.removeChild(m)},0)}}};b.b("utils",b.a);b.b("utils.arrayForEach",b.a.o);b.b("utils.arrayFirst",b.a.kb);b.b("utils.arrayFilter",b.a.fa);b.b("utils.arrayGetDistinctValues",b.a.Fa);b.b("utils.arrayIndexOf",
|
||||||
|
b.a.i);b.b("utils.arrayMap",b.a.V);b.b("utils.arrayPushAll",b.a.P);b.b("utils.arrayRemoveItem",b.a.ga);b.b("utils.extend",b.a.extend);b.b("utils.fieldsIncludedWithJsonPost",b.a.Ma);b.b("utils.getFormFields",b.a.Na);b.b("utils.peekObservable",b.a.ta);b.b("utils.postJson",b.a.Ib);b.b("utils.parseJson",b.a.Hb);b.b("utils.registerEventHandler",b.a.n);b.b("utils.stringifyJson",b.a.wa);b.b("utils.range",b.a.Kb);b.b("utils.toggleDomNodeCssClass",b.a.da);b.b("utils.triggerEvent",b.a.Aa);b.b("utils.unwrapObservable",
|
||||||
|
b.a.d);Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments),a=c.shift();return function(){return b.apply(a,c.concat(Array.prototype.slice.call(arguments)))}});b.a.f=new function(){var a=0,d="__ko__"+(new Date).getTime(),c={};return{get:function(a,d){var c=b.a.f.getAll(a,q);return c===H?H:c[d]},set:function(a,d,c){c===H&&b.a.f.getAll(a,q)===H||(b.a.f.getAll(a,l)[d]=c)},getAll:function(b,f){var g=b[d];if(!g||!("null"!==g&&c[g])){if(!f)return H;
|
||||||
|
g=b[d]="ko"+a++;c[g]={}}return c[g]},clear:function(a){var b=a[d];return b?(delete c[b],a[d]=n,l):q}}};b.b("utils.domData",b.a.f);b.b("utils.domData.clear",b.a.f.clear);b.a.F=new function(){function a(a,d){var e=b.a.f.get(a,c);e===H&&d&&(e=[],b.a.f.set(a,c,e));return e}function d(c){var e=a(c,q);if(e)for(var e=e.slice(0),j=0;j<e.length;j++)e[j](c);b.a.f.clear(c);"function"==typeof E&&"function"==typeof E.cleanData&&E.cleanData([c]);if(f[c.nodeType])for(e=c.firstChild;c=e;)e=c.nextSibling,8===c.nodeType&&
|
||||||
|
d(c)}var c="__ko_domNodeDisposal__"+(new Date).getTime(),e={1:l,8:l,9:l},f={1:l,9:l};return{Ba:function(b,d){"function"!=typeof d&&i(Error("Callback must be a function"));a(b,l).push(d)},Wa:function(d,e){var f=a(d,q);f&&(b.a.ga(f,e),0==f.length&&b.a.f.set(d,c,H))},A:function(a){if(e[a.nodeType]&&(d(a),f[a.nodeType])){var c=[];b.a.P(c,a.getElementsByTagName("*"));for(var j=0,k=c.length;j<k;j++)d(c[j])}return a},removeNode:function(a){b.A(a);a.parentNode&&a.parentNode.removeChild(a)}}};b.A=b.a.F.A;
|
||||||
|
b.removeNode=b.a.F.removeNode;b.b("cleanNode",b.A);b.b("removeNode",b.removeNode);b.b("utils.domNodeDisposal",b.a.F);b.b("utils.domNodeDisposal.addDisposeCallback",b.a.F.Ba);b.b("utils.domNodeDisposal.removeDisposeCallback",b.a.F.Wa);b.a.sa=function(a){var d;if("undefined"!=typeof E){if((d=E.clean([a]))&&d[0]){for(a=d[0];a.parentNode&&11!==a.parentNode.nodeType;)a=a.parentNode;a.parentNode&&a.parentNode.removeChild(a)}}else{var c=b.a.D(a).toLowerCase();d=x.createElement("div");c=c.match(/^<(thead|tbody|tfoot)/)&&
|
||||||
|
[1,"<table>","</table>"]||!c.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!c.indexOf("<td")||!c.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""];a="ignored<div>"+c[1]+a+c[2]+"</div>";for("function"==typeof w.innerShiv?d.appendChild(w.innerShiv(a)):d.innerHTML=a;c[0]--;)d=d.lastChild;d=b.a.L(d.lastChild.childNodes)}return d};b.a.ca=function(a,d){b.a.ka(a);d=b.a.d(d);if(d!==n&&d!==H)if("string"!=typeof d&&(d=d.toString()),"undefined"!=typeof E)E(a).html(d);else for(var c=
|
||||||
|
b.a.sa(d),e=0;e<c.length;e++)a.appendChild(c[e])};b.b("utils.parseHtmlFragment",b.a.sa);b.b("utils.setHtml",b.a.ca);var Q={};b.s={qa:function(a){"function"!=typeof a&&i(Error("You can only pass a function to ko.memoization.memoize()"));var b=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);Q[b]=a;return"<\!--[ko_memo:"+b+"]--\>"},gb:function(a,b){var c=Q[a];c===H&&i(Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized."));
|
||||||
|
try{return c.apply(n,b||[]),l}finally{delete Q[a]}},hb:function(a,d){var c=[];ba(a,c);for(var e=0,f=c.length;e<f;e++){var g=c[e].rb,h=[g];d&&b.a.P(h,d);b.s.gb(c[e].Eb,h);g.nodeValue="";g.parentNode&&g.parentNode.removeChild(g)}},Ta:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:n}};b.b("memoization",b.s);b.b("memoization.memoize",b.s.qa);b.b("memoization.unmemoize",b.s.gb);b.b("memoization.parseMemoText",b.s.Ta);b.b("memoization.unmemoizeDomNodeAndDescendants",b.s.hb);b.La={throttle:function(a,
|
||||||
|
d){a.throttleEvaluation=d;var c=n;return b.j({read:a,write:function(b){clearTimeout(c);c=setTimeout(function(){a(b)},d)}})},notify:function(a,d){a.equalityComparer="always"==d?t(q):b.m.fn.equalityComparer;return a}};b.b("extenders",b.La);b.eb=function(a,d,c){this.target=a;this.ha=d;this.qb=c;b.p(this,"dispose",this.B)};b.eb.prototype.B=function(){this.Bb=l;this.qb()};b.S=function(){this.w={};b.a.extend(this,b.S.fn);b.p(this,"subscribe",this.xa);b.p(this,"extend",this.extend);b.p(this,"getSubscriptionsCount",
|
||||||
|
this.xb)};b.S.fn={xa:function(a,d,c){var c=c||"change",a=d?a.bind(d):a,e=new b.eb(this,a,function(){b.a.ga(this.w[c],e)}.bind(this));this.w[c]||(this.w[c]=[]);this.w[c].push(e);return e},notifySubscribers:function(a,d){d=d||"change";this.w[d]&&b.r.K(function(){b.a.o(this.w[d].slice(0),function(b){b&&b.Bb!==l&&b.ha(a)})},this)},xb:function(){var a=0,b;for(b in this.w)this.w.hasOwnProperty(b)&&(a+=this.w[b].length);return a},extend:function(a){var d=this;if(a)for(var c in a){var e=b.La[c];"function"==
|
||||||
|
typeof e&&(d=e(d,a[c]))}return d}};b.Pa=function(a){return"function"==typeof a.xa&&"function"==typeof a.notifySubscribers};b.b("subscribable",b.S);b.b("isSubscribable",b.Pa);var B=[];b.r={lb:function(a){B.push({ha:a,Ka:[]})},end:function(){B.pop()},Va:function(a){b.Pa(a)||i(Error("Only subscribable things can act as dependencies"));if(0<B.length){var d=B[B.length-1];d&&!(0<=b.a.i(d.Ka,a))&&(d.Ka.push(a),d.ha(a))}},K:function(a,b,c){try{return B.push(n),a.apply(b,c||[])}finally{B.pop()}}};var la={undefined:l,
|
||||||
|
"boolean":l,number:l,string:l};b.m=function(a){function d(){if(0<arguments.length){if(!d.equalityComparer||!d.equalityComparer(c,arguments[0]))d.H(),c=arguments[0],d.G();return this}b.r.Va(d);return c}var c=a;b.S.call(d);d.t=function(){return c};d.G=function(){d.notifySubscribers(c)};d.H=function(){d.notifySubscribers(c,"beforeChange")};b.a.extend(d,b.m.fn);b.p(d,"peek",d.t);b.p(d,"valueHasMutated",d.G);b.p(d,"valueWillMutate",d.H);return d};b.m.fn={equalityComparer:function(a,b){return a===n||typeof a in
|
||||||
|
la?a===b:q}};var D=b.m.Jb="__ko_proto__";b.m.fn[D]=b.m;b.la=function(a,d){return a===n||a===H||a[D]===H?q:a[D]===d?l:b.la(a[D],d)};b.$=function(a){return b.la(a,b.m)};b.Qa=function(a){return"function"==typeof a&&a[D]===b.m||"function"==typeof a&&a[D]===b.j&&a.yb?l:q};b.b("observable",b.m);b.b("isObservable",b.$);b.b("isWriteableObservable",b.Qa);b.R=function(a){0==arguments.length&&(a=[]);a!==n&&(a!==H&&!("length"in a))&&i(Error("The argument passed when initializing an observable array must be an array, or null, or undefined."));
|
||||||
|
var d=b.m(a);b.a.extend(d,b.R.fn);return d};b.R.fn={remove:function(a){for(var b=this.t(),c=[],e="function"==typeof a?a:function(b){return b===a},f=0;f<b.length;f++){var g=b[f];e(g)&&(0===c.length&&this.H(),c.push(g),b.splice(f,1),f--)}c.length&&this.G();return c},removeAll:function(a){if(a===H){var d=this.t(),c=d.slice(0);this.H();d.splice(0,d.length);this.G();return c}return!a?[]:this.remove(function(d){return 0<=b.a.i(a,d)})},destroy:function(a){var b=this.t(),c="function"==typeof a?a:function(b){return b===
|
||||||
|
a};this.H();for(var e=b.length-1;0<=e;e--)c(b[e])&&(b[e]._destroy=l);this.G()},destroyAll:function(a){return a===H?this.destroy(t(l)):!a?[]:this.destroy(function(d){return 0<=b.a.i(a,d)})},indexOf:function(a){var d=this();return b.a.i(d,a)},replace:function(a,b){var c=this.indexOf(a);0<=c&&(this.H(),this.t()[c]=b,this.G())}};b.a.o("pop push reverse shift sort splice unshift".split(" "),function(a){b.R.fn[a]=function(){var b=this.t();this.H();b=b[a].apply(b,arguments);this.G();return b}});b.a.o(["slice"],
|
||||||
|
function(a){b.R.fn[a]=function(){var b=this();return b[a].apply(b,arguments)}});b.b("observableArray",b.R);b.j=function(a,d,c){function e(){b.a.o(y,function(a){a.B()});y=[]}function f(){var a=h.throttleEvaluation;a&&0<=a?(clearTimeout(s),s=setTimeout(g,a)):g()}function g(){if(!p)if(m&&v())z();else{p=l;try{var a=b.a.V(y,function(a){return a.target});b.r.lb(function(c){var d;0<=(d=b.a.i(a,c))?a[d]=H:y.push(c.xa(f))});for(var c=r.call(d),e=a.length-1;0<=e;e--)a[e]&&y.splice(e,1)[0].B();m=l;h.notifySubscribers(k,
|
||||||
|
"beforeChange");k=c}finally{b.r.end()}h.notifySubscribers(k);p=q;y.length||z()}}function h(){if(0<arguments.length)return"function"===typeof u?u.apply(d,arguments):i(Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.")),this;m||g();b.r.Va(h);return k}function j(){return!m||0<y.length}var k,m=q,p=q,r=a;r&&"object"==typeof r?(c=r,r=c.read):(c=c||{},r||(r=c.read));"function"!=typeof r&&i(Error("Pass a function that returns the value of the ko.computed"));
|
||||||
|
var u=c.write,F=c.disposeWhenNodeIsRemoved||c.W||n,v=c.disposeWhen||c.Ja||t(q),z=e,y=[],s=n;d||(d=c.owner);h.t=function(){m||g();return k};h.wb=function(){return y.length};h.yb="function"===typeof c.write;h.B=function(){z()};h.oa=j;b.S.call(h);b.a.extend(h,b.j.fn);b.p(h,"peek",h.t);b.p(h,"dispose",h.B);b.p(h,"isActive",h.oa);b.p(h,"getDependenciesCount",h.wb);c.deferEvaluation!==l&&g();if(F&&j()){z=function(){b.a.F.Wa(F,arguments.callee);e()};b.a.F.Ba(F,z);var C=v,v=function(){return!b.a.X(F)||C()}}return h};
|
||||||
|
b.Ab=function(a){return b.la(a,b.j)};v=b.m.Jb;b.j[v]=b.m;b.j.fn={};b.j.fn[v]=b.j;b.b("dependentObservable",b.j);b.b("computed",b.j);b.b("isComputed",b.Ab);b.fb=function(a){0==arguments.length&&i(Error("When calling ko.toJS, pass the object you want to convert."));return aa(a,function(a){for(var c=0;b.$(a)&&10>c;c++)a=a();return a})};b.toJSON=function(a,d,c){a=b.fb(a);return b.a.wa(a,d,c)};b.b("toJS",b.fb);b.b("toJSON",b.toJSON);b.k={q:function(a){switch(b.a.u(a)){case "option":return a.__ko__hasDomDataOptionValue__===
|
||||||
|
l?b.a.f.get(a,b.c.options.ra):7>=b.a.Z?a.getAttributeNode("value").specified?a.value:a.text:a.value;case "select":return 0<=a.selectedIndex?b.k.q(a.options[a.selectedIndex]):H;default:return a.value}},T:function(a,d){switch(b.a.u(a)){case "option":switch(typeof d){case "string":b.a.f.set(a,b.c.options.ra,H);"__ko__hasDomDataOptionValue__"in a&&delete a.__ko__hasDomDataOptionValue__;a.value=d;break;default:b.a.f.set(a,b.c.options.ra,d),a.__ko__hasDomDataOptionValue__=l,a.value="number"===typeof d?
|
||||||
|
d:""}break;case "select":for(var c=a.options.length-1;0<=c;c--)if(b.k.q(a.options[c])==d){a.selectedIndex=c;break}break;default:if(d===n||d===H)d="";a.value=d}}};b.b("selectExtensions",b.k);b.b("selectExtensions.readValue",b.k.q);b.b("selectExtensions.writeValue",b.k.T);var ja=/\@ko_token_(\d+)\@/g,ma=["true","false"],na=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i;b.g={Q:[],aa:function(a){var d=b.a.D(a);if(3>d.length)return[];"{"===d.charAt(0)&&(d=d.substring(1,d.length-1));for(var a=[],
|
||||||
|
c=n,e,f=0;f<d.length;f++){var g=d.charAt(f);if(c===n)switch(g){case '"':case "'":case "/":c=f,e=g}else if(g==e&&"\\"!==d.charAt(f-1)){g=d.substring(c,f+1);a.push(g);var h="@ko_token_"+(a.length-1)+"@",d=d.substring(0,c)+h+d.substring(f+1),f=f-(g.length-h.length),c=n}}e=c=n;for(var j=0,k=n,f=0;f<d.length;f++){g=d.charAt(f);if(c===n)switch(g){case "{":c=f;k=g;e="}";break;case "(":c=f;k=g;e=")";break;case "[":c=f,k=g,e="]"}g===k?j++:g===e&&(j--,0===j&&(g=d.substring(c,f+1),a.push(g),h="@ko_token_"+(a.length-
|
||||||
|
1)+"@",d=d.substring(0,c)+h+d.substring(f+1),f-=g.length-h.length,c=n))}e=[];d=d.split(",");c=0;for(f=d.length;c<f;c++)j=d[c],k=j.indexOf(":"),0<k&&k<j.length-1?(g=j.substring(k+1),e.push({key:O(j.substring(0,k),a),value:O(g,a)})):e.push({unknown:O(j,a)});return e},ba:function(a){for(var d="string"===typeof a?b.g.aa(a):a,c=[],a=[],e,f=0;e=d[f];f++)if(0<c.length&&c.push(","),e.key){var g;a:{g=e.key;var h=b.a.D(g);switch(h.length&&h.charAt(0)){case "'":case '"':break a;default:g="'"+h+"'"}}e=e.value;
|
||||||
|
c.push(g);c.push(":");c.push(e);e=b.a.D(e);0<=b.a.i(ma,b.a.D(e).toLowerCase())?e=q:(h=e.match(na),e=h===n?q:h[1]?"Object("+h[1]+")"+h[2]:e);e&&(0<a.length&&a.push(", "),a.push(g+" : function(__ko_value) { "+e+" = __ko_value; }"))}else e.unknown&&c.push(e.unknown);d=c.join("");0<a.length&&(d=d+", '_ko_property_writers' : { "+a.join("")+" } ");return d},Db:function(a,d){for(var c=0;c<a.length;c++)if(b.a.D(a[c].key)==d)return l;return q},ea:function(a,d,c,e,f){if(!a||!b.Qa(a)){if((a=d()._ko_property_writers)&&
|
||||||
|
a[c])a[c](e)}else(!f||a.t()!==e)&&a(e)}};b.b("expressionRewriting",b.g);b.b("expressionRewriting.bindingRewriteValidators",b.g.Q);b.b("expressionRewriting.parseObjectLiteral",b.g.aa);b.b("expressionRewriting.preProcessBindings",b.g.ba);b.b("jsonExpressionRewriting",b.g);b.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",b.g.ba);var J="<\!--test--\>"===x.createComment("test").text,ia=J?/^<\!--\s*ko(?:\s+(.+\s*\:[\s\S]*))?\s*--\>$/:/^\s*ko(?:\s+(.+\s*\:[\s\S]*))?\s*$/,ha=J?/^<\!--\s*\/ko\s*--\>$/:
|
||||||
|
/^\s*\/ko\s*$/,oa={ul:l,ol:l};b.e={I:{},childNodes:function(a){return A(a)?$(a):a.childNodes},Y:function(a){if(A(a))for(var a=b.e.childNodes(a),d=0,c=a.length;d<c;d++)b.removeNode(a[d]);else b.a.ka(a)},N:function(a,d){if(A(a)){b.e.Y(a);for(var c=a.nextSibling,e=0,f=d.length;e<f;e++)c.parentNode.insertBefore(d[e],c)}else b.a.N(a,d)},Ua:function(a,b){A(a)?a.parentNode.insertBefore(b,a.nextSibling):a.firstChild?a.insertBefore(b,a.firstChild):a.appendChild(b)},Oa:function(a,d,c){c?A(a)?a.parentNode.insertBefore(d,
|
||||||
|
c.nextSibling):c.nextSibling?a.insertBefore(d,c.nextSibling):a.appendChild(d):b.e.Ua(a,d)},firstChild:function(a){return!A(a)?a.firstChild:!a.nextSibling||G(a.nextSibling)?n:a.nextSibling},nextSibling:function(a){A(a)&&(a=Z(a));return a.nextSibling&&G(a.nextSibling)?n:a.nextSibling},ib:function(a){return(a=A(a))?a[1]:n},Sa:function(a){if(oa[b.a.u(a)]){var d=a.firstChild;if(d){do if(1===d.nodeType){var c;c=d.firstChild;var e=n;if(c){do if(e)e.push(c);else if(A(c)){var f=Z(c,l);f?c=f:e=[c]}else G(c)&&
|
||||||
|
(e=[c]);while(c=c.nextSibling)}if(c=e){e=d.nextSibling;for(f=0;f<c.length;f++)e?a.insertBefore(c[f],e):a.appendChild(c[f])}}while(d=d.nextSibling)}}}};b.b("virtualElements",b.e);b.b("virtualElements.allowedBindings",b.e.I);b.b("virtualElements.emptyNode",b.e.Y);b.b("virtualElements.insertAfter",b.e.Oa);b.b("virtualElements.prepend",b.e.Ua);b.b("virtualElements.setDomNodeChildren",b.e.N);b.J=function(){this.Ga={}};b.a.extend(b.J.prototype,{nodeHasBindings:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind")!=
|
||||||
|
n;case 8:return b.e.ib(a)!=n;default:return q}},getBindings:function(a,b){var c=this.getBindingsString(a,b);return c?this.parseBindingsString(c,b,a):n},getBindingsString:function(a){switch(a.nodeType){case 1:return a.getAttribute("data-bind");case 8:return b.e.ib(a);default:return n}},parseBindingsString:function(a,d,c){try{var e;if(!(e=this.Ga[a])){var f=this.Ga,g="with($context){with($data||{}){return{"+b.g.ba(a)+"}}}";e=f[a]=new Function("$context","$element",g)}return e(d,c)}catch(h){i(Error("Unable to parse bindings.\nMessage: "+
|
||||||
|
h+";\nBindings value: "+a))}}});b.J.instance=new b.J;b.b("bindingProvider",b.J);b.c={};b.z=function(a,d,c){d?(b.a.extend(this,d),this.$parentContext=d,this.$parent=d.$data,this.$parents=(d.$parents||[]).slice(0),this.$parents.unshift(this.$parent)):(this.$parents=[],this.$root=a,this.ko=b);this.$data=a;c&&(this[c]=a)};b.z.prototype.createChildContext=function(a,d){return new b.z(a,this,d)};b.z.prototype.extend=function(a){var d=b.a.extend(new b.z,this);return b.a.extend(d,a)};b.cb=function(a,d){if(2==
|
||||||
|
arguments.length)b.a.f.set(a,"__ko_bindingContext__",d);else return b.a.f.get(a,"__ko_bindingContext__")};b.Ea=function(a,d,c){1===a.nodeType&&b.e.Sa(a);return W(a,d,c,l)};b.Da=function(a,b){(1===b.nodeType||8===b.nodeType)&&Y(a,b,l)};b.Ca=function(a,b){b&&(1!==b.nodeType&&8!==b.nodeType)&&i(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node"));b=b||w.document.body;X(a,b,l)};b.ja=function(a){switch(a.nodeType){case 1:case 8:var d=b.cb(a);if(d)return d;
|
||||||
|
if(a.parentNode)return b.ja(a.parentNode)}return H};b.ob=function(a){return(a=b.ja(a))?a.$data:H};b.b("bindingHandlers",b.c);b.b("applyBindings",b.Ca);b.b("applyBindingsToDescendants",b.Da);b.b("applyBindingsToNode",b.Ea);b.b("contextFor",b.ja);b.b("dataFor",b.ob);var ea={"class":"className","for":"htmlFor"};b.c.attr={update:function(a,d){var c=b.a.d(d())||{},e;for(e in c)if("string"==typeof e){var f=b.a.d(c[e]),g=f===q||f===n||f===H;g&&a.removeAttribute(e);8>=b.a.Z&&e in ea?(e=ea[e],g?a.removeAttribute(e):
|
||||||
|
a[e]=f):g||a.setAttribute(e,f.toString());"name"===e&&b.a.$a(a,g?"":f.toString())}}};b.c.checked={init:function(a,d,c){b.a.n(a,"click",function(){var e;if("checkbox"==a.type)e=a.checked;else if("radio"==a.type&&a.checked)e=a.value;else return;var f=d(),g=b.a.d(f);"checkbox"==a.type&&g instanceof Array?(e=b.a.i(g,a.value),a.checked&&0>e?f.push(a.value):!a.checked&&0<=e&&f.splice(e,1)):b.g.ea(f,c,"checked",e,l)});"radio"==a.type&&!a.name&&b.c.uniqueName.init(a,t(l))},update:function(a,d){var c=b.a.d(d());
|
||||||
|
"checkbox"==a.type?a.checked=c instanceof Array?0<=b.a.i(c,a.value):c:"radio"==a.type&&(a.checked=a.value==c)}};b.c.css={update:function(a,d){var c=b.a.d(d());if("object"==typeof c)for(var e in c){var f=b.a.d(c[e]);b.a.da(a,e,f)}else c=String(c||""),b.a.da(a,a.__ko__cssValue,q),a.__ko__cssValue=c,b.a.da(a,c,l)}};b.c.enable={update:function(a,d){var c=b.a.d(d());c&&a.disabled?a.removeAttribute("disabled"):!c&&!a.disabled&&(a.disabled=l)}};b.c.disable={update:function(a,d){b.c.enable.update(a,function(){return!b.a.d(d())})}};
|
||||||
|
b.c.event={init:function(a,d,c,e){var f=d()||{},g;for(g in f)(function(){var f=g;"string"==typeof f&&b.a.n(a,f,function(a){var g,m=d()[f];if(m){var p=c();try{var r=b.a.L(arguments);r.unshift(e);g=m.apply(e,r)}finally{g!==l&&(a.preventDefault?a.preventDefault():a.returnValue=q)}p[f+"Bubble"]===q&&(a.cancelBubble=l,a.stopPropagation&&a.stopPropagation())}})})()}};b.c.foreach={Ra:function(a){return function(){var d=a(),c=b.a.ta(d);if(!c||"number"==typeof c.length)return{foreach:d,templateEngine:b.C.na};
|
||||||
|
b.a.d(d);return{foreach:c.data,as:c.as,includeDestroyed:c.includeDestroyed,afterAdd:c.afterAdd,beforeRemove:c.beforeRemove,afterRender:c.afterRender,beforeMove:c.beforeMove,afterMove:c.afterMove,templateEngine:b.C.na}}},init:function(a,d){return b.c.template.init(a,b.c.foreach.Ra(d))},update:function(a,d,c,e,f){return b.c.template.update(a,b.c.foreach.Ra(d),c,e,f)}};b.g.Q.foreach=q;b.e.I.foreach=l;b.c.hasfocus={init:function(a,d,c){function e(e){a.__ko_hasfocusUpdating=l;var f=a.ownerDocument;"activeElement"in
|
||||||
|
f&&(e=f.activeElement===a);f=d();b.g.ea(f,c,"hasfocus",e,l);a.__ko_hasfocusUpdating=q}var f=e.bind(n,l),g=e.bind(n,q);b.a.n(a,"focus",f);b.a.n(a,"focusin",f);b.a.n(a,"blur",g);b.a.n(a,"focusout",g)},update:function(a,d){var c=b.a.d(d());a.__ko_hasfocusUpdating||(c?a.focus():a.blur(),b.r.K(b.a.Aa,n,[a,c?"focusin":"focusout"]))}};b.c.html={init:function(){return{controlsDescendantBindings:l}},update:function(a,d){b.a.ca(a,d())}};var ca="__ko_withIfBindingData";P("if");P("ifnot",q,l);P("with",l,q,function(a,
|
||||||
|
b){return a.createChildContext(b)});b.c.options={update:function(a,d,c){"select"!==b.a.u(a)&&i(Error("options binding applies only to SELECT elements"));for(var e=0==a.length,f=b.a.V(b.a.fa(a.childNodes,function(a){return a.tagName&&"option"===b.a.u(a)&&a.selected}),function(a){return b.k.q(a)||a.innerText||a.textContent}),g=a.scrollTop,h=b.a.d(d());0<a.length;)b.A(a.options[0]),a.remove(0);if(h){var c=c(),j=c.optionsIncludeDestroyed;"number"!=typeof h.length&&(h=[h]);if(c.optionsCaption){var k=x.createElement("option");
|
||||||
|
b.a.ca(k,c.optionsCaption);b.k.T(k,H);a.appendChild(k)}for(var d=0,m=h.length;d<m;d++){var p=h[d];if(!p||!p._destroy||j){var k=x.createElement("option"),r=function(a,b,c){var d=typeof b;return"function"==d?b(a):"string"==d?a[b]:c},u=r(p,c.optionsValue,p);b.k.T(k,b.a.d(u));p=r(p,c.optionsText,u);b.a.bb(k,p);a.appendChild(k)}}h=a.getElementsByTagName("option");d=j=0;for(m=h.length;d<m;d++)0<=b.a.i(f,b.k.q(h[d]))&&(b.a.ab(h[d],l),j++);a.scrollTop=g;e&&"value"in c&&da(a,b.a.ta(c.value),l);b.a.tb(a)}}};
|
||||||
|
b.c.options.ra="__ko.optionValueDomData__";b.c.selectedOptions={init:function(a,d,c){b.a.n(a,"change",function(){var e=d(),f=[];b.a.o(a.getElementsByTagName("option"),function(a){a.selected&&f.push(b.k.q(a))});b.g.ea(e,c,"value",f)})},update:function(a,d){"select"!=b.a.u(a)&&i(Error("values binding applies only to SELECT elements"));var c=b.a.d(d());c&&"number"==typeof c.length&&b.a.o(a.getElementsByTagName("option"),function(a){var d=0<=b.a.i(c,b.k.q(a));b.a.ab(a,d)})}};b.c.style={update:function(a,
|
||||||
|
d){var c=b.a.d(d()||{}),e;for(e in c)if("string"==typeof e){var f=b.a.d(c[e]);a.style[e]=f||""}}};b.c.submit={init:function(a,d,c,e){"function"!=typeof d()&&i(Error("The value for a submit binding must be a function"));b.a.n(a,"submit",function(b){var c,h=d();try{c=h.call(e,a)}finally{c!==l&&(b.preventDefault?b.preventDefault():b.returnValue=q)}})}};b.c.text={update:function(a,d){b.a.bb(a,d())}};b.e.I.text=l;b.c.uniqueName={init:function(a,d){if(d()){var c="ko_unique_"+ ++b.c.uniqueName.nb;b.a.$a(a,
|
||||||
|
c)}}};b.c.uniqueName.nb=0;b.c.value={init:function(a,d,c){function e(){h=q;var e=d(),f=b.k.q(a);b.g.ea(e,c,"value",f)}var f=["change"],g=c().valueUpdate,h=q;g&&("string"==typeof g&&(g=[g]),b.a.P(f,g),f=b.a.Fa(f));if(b.a.Z&&("input"==a.tagName.toLowerCase()&&"text"==a.type&&"off"!=a.autocomplete&&(!a.form||"off"!=a.form.autocomplete))&&-1==b.a.i(f,"propertychange"))b.a.n(a,"propertychange",function(){h=l}),b.a.n(a,"blur",function(){h&&e()});b.a.o(f,function(c){var d=e;b.a.Nb(c,"after")&&(d=function(){setTimeout(e,
|
||||||
|
0)},c=c.substring(5));b.a.n(a,c,d)})},update:function(a,d){var c="select"===b.a.u(a),e=b.a.d(d()),f=b.k.q(a),g=e!=f;0===e&&(0!==f&&"0"!==f)&&(g=l);g&&(f=function(){b.k.T(a,e)},f(),c&&setTimeout(f,0));c&&0<a.length&&da(a,e,q)}};b.c.visible={update:function(a,d){var c=b.a.d(d()),e="none"!=a.style.display;c&&!e?a.style.display="":!c&&e&&(a.style.display="none")}};b.c.click={init:function(a,d,c,e){return b.c.event.init.call(this,a,function(){var a={};a.click=d();return a},c,e)}};b.v=function(){};b.v.prototype.renderTemplateSource=
|
||||||
|
function(){i(Error("Override renderTemplateSource"))};b.v.prototype.createJavaScriptEvaluatorBlock=function(){i(Error("Override createJavaScriptEvaluatorBlock"))};b.v.prototype.makeTemplateSource=function(a,d){if("string"==typeof a){var d=d||x,c=d.getElementById(a);c||i(Error("Cannot find template with ID "+a));return new b.l.h(c)}if(1==a.nodeType||8==a.nodeType)return new b.l.O(a);i(Error("Unknown template type: "+a))};b.v.prototype.renderTemplate=function(a,b,c,e){a=this.makeTemplateSource(a,e);
|
||||||
|
return this.renderTemplateSource(a,b,c)};b.v.prototype.isTemplateRewritten=function(a,b){return this.allowTemplateRewriting===q?l:this.makeTemplateSource(a,b).data("isRewritten")};b.v.prototype.rewriteTemplate=function(a,b,c){a=this.makeTemplateSource(a,c);b=b(a.text());a.text(b);a.data("isRewritten",l)};b.b("templateEngine",b.v);var pa=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi,qa=/<\!--\s*ko\b\s*([\s\S]*?)\s*--\>/g;b.ya={ub:function(a,
|
||||||
|
d,c){d.isTemplateRewritten(a,c)||d.rewriteTemplate(a,function(a){return b.ya.Fb(a,d)},c)},Fb:function(a,b){return a.replace(pa,function(a,e,f,g,h,j,k){return V(k,e,b)}).replace(qa,function(a,e){return V(e,"<\!-- ko --\>",b)})},jb:function(a){return b.s.qa(function(d,c){d.nextSibling&&b.Ea(d.nextSibling,a,c)})}};b.b("__tr_ambtns",b.ya.jb);b.l={};b.l.h=function(a){this.h=a};b.l.h.prototype.text=function(){var a=b.a.u(this.h),a="script"===a?"text":"textarea"===a?"value":"innerHTML";if(0==arguments.length)return this.h[a];
|
||||||
|
var d=arguments[0];"innerHTML"===a?b.a.ca(this.h,d):this.h[a]=d};b.l.h.prototype.data=function(a){if(1===arguments.length)return b.a.f.get(this.h,"templateSourceData_"+a);b.a.f.set(this.h,"templateSourceData_"+a,arguments[1])};b.l.O=function(a){this.h=a};b.l.O.prototype=new b.l.h;b.l.O.prototype.text=function(){if(0==arguments.length){var a=b.a.f.get(this.h,"__ko_anon_template__")||{};a.za===H&&a.ia&&(a.za=a.ia.innerHTML);return a.za}b.a.f.set(this.h,"__ko_anon_template__",{za:arguments[0]})};b.l.h.prototype.nodes=
|
||||||
|
function(){if(0==arguments.length)return(b.a.f.get(this.h,"__ko_anon_template__")||{}).ia;b.a.f.set(this.h,"__ko_anon_template__",{ia:arguments[0]})};b.b("templateSources",b.l);b.b("templateSources.domElement",b.l.h);b.b("templateSources.anonymousTemplate",b.l.O);var N;b.va=function(a){a!=H&&!(a instanceof b.v)&&i(Error("templateEngine must inherit from ko.templateEngine"));N=a};b.ua=function(a,d,c,e,f){c=c||{};(c.templateEngine||N)==H&&i(Error("Set a template engine before calling renderTemplate"));
|
||||||
|
f=f||"replaceChildren";if(e){var g=M(e);return b.j(function(){var h=d&&d instanceof b.z?d:new b.z(b.a.d(d)),j="function"==typeof a?a(h.$data,h):a,h=S(e,f,j,h,c);"replaceNode"==f&&(e=h,g=M(e))},n,{Ja:function(){return!g||!b.a.X(g)},W:g&&"replaceNode"==f?g.parentNode:g})}return b.s.qa(function(e){b.ua(a,d,c,e,"replaceNode")})};b.Lb=function(a,d,c,e,f){function g(a,b){T(b,j);c.afterRender&&c.afterRender(b,a)}function h(d,e){j=f.createChildContext(b.a.d(d),c.as);j.$index=e;var g="function"==typeof a?
|
||||||
|
a(d,j):a;return S(n,"ignoreTargetNode",g,j,c)}var j;return b.j(function(){var a=b.a.d(d)||[];"undefined"==typeof a.length&&(a=[a]);a=b.a.fa(a,function(a){return c.includeDestroyed||a===H||a===n||!b.a.d(a._destroy)});b.r.K(b.a.Za,n,[e,a,h,c,g])},n,{W:e})};b.c.template={init:function(a,d){var c=b.a.d(d());if("string"!=typeof c&&!c.name&&(1==a.nodeType||8==a.nodeType))c=1==a.nodeType?a.childNodes:b.e.childNodes(a),c=b.a.Gb(c),(new b.l.O(a)).nodes(c);return{controlsDescendantBindings:l}},update:function(a,
|
||||||
|
d,c,e,f){var d=b.a.d(d()),c={},e=l,g,h=n;"string"!=typeof d&&(c=d,d=c.name,"if"in c&&(e=b.a.d(c["if"])),e&&"ifnot"in c&&(e=!b.a.d(c.ifnot)),g=b.a.d(c.data));"foreach"in c?h=b.Lb(d||a,e&&c.foreach||[],c,a,f):e?(f="data"in c?f.createChildContext(g,c.as):f,h=b.ua(d||a,f,c,a)):b.e.Y(a);f=h;(g=b.a.f.get(a,"__ko__templateComputedDomDataKey__"))&&"function"==typeof g.B&&g.B();b.a.f.set(a,"__ko__templateComputedDomDataKey__",f&&f.oa()?f:H)}};b.g.Q.template=function(a){a=b.g.aa(a);return 1==a.length&&a[0].unknown||
|
||||||
|
b.g.Db(a,"name")?n:"This template engine does not support anonymous templates nested within its templates"};b.e.I.template=l;b.b("setTemplateEngine",b.va);b.b("renderTemplate",b.ua);b.a.Ia=function(a,b,c){a=a||[];b=b||[];return a.length<=b.length?R(a,b,"added","deleted",c):R(b,a,"deleted","added",c)};b.b("utils.compareArrays",b.a.Ia);b.a.Za=function(a,d,c,e,f){function g(a,b){s=k[b];v!==b&&(y[a]=s);s.ma(v++);L(s.M);r.push(s);z.push(s)}function h(a,c){if(a)for(var d=0,e=c.length;d<e;d++)c[d]&&b.a.o(c[d].M,
|
||||||
|
function(b){a(b,d,c[d].U)})}for(var d=d||[],e=e||{},j=b.a.f.get(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===H,k=b.a.f.get(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],m=b.a.V(k,function(a){return a.U}),p=b.a.Ia(m,d),r=[],u=0,v=0,A=[],z=[],d=[],y=[],m=[],s,C=0,B,D;B=p[C];C++)switch(D=B.moved,B.status){case "deleted":D===H&&(s=k[u],s.j&&s.j.B(),A.push.apply(A,L(s.M)),e.beforeRemove&&(d[C]=s,z.push(s)));u++;break;case "retained":g(C,u++);break;case "added":D!==H?g(C,
|
||||||
|
D):(s={U:B.value,ma:b.m(v++)},r.push(s),z.push(s),j||(m[C]=s))}h(e.beforeMove,y);b.a.o(A,e.beforeRemove?b.A:b.removeNode);for(var C=0,j=b.e.firstChild(a),G;s=z[C];C++){s.M||b.a.extend(s,ga(a,c,s.U,f,s.ma));for(u=0;p=s.M[u];j=p.nextSibling,G=p,u++)p!==j&&b.e.Oa(a,p,G);!s.zb&&f&&(f(s.U,s.M,s.ma),s.zb=l)}h(e.beforeRemove,d);h(e.afterMove,y);h(e.afterAdd,m);b.a.f.set(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult",r)};b.b("utils.setDomNodeChildrenFromArrayMapping",b.a.Za);b.C=function(){this.allowTemplateRewriting=
|
||||||
|
q};b.C.prototype=new b.v;b.C.prototype.renderTemplateSource=function(a){var d=!(9>b.a.Z)&&a.nodes?a.nodes():n;if(d)return b.a.L(d.cloneNode(l).childNodes);a=a.text();return b.a.sa(a)};b.C.na=new b.C;b.va(b.C.na);b.b("nativeTemplateEngine",b.C);b.pa=function(){var a=this.Cb=function(){if("undefined"==typeof E||!E.tmpl)return 0;try{if(0<=E.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(a){}return 1}();this.renderTemplateSource=function(b,c,e){e=e||{};2>a&&i(Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later."));
|
||||||
|
var f=b.data("precompiled");f||(f=b.text()||"",f=E.template(n,"{{ko_with $item.koBindingContext}}"+f+"{{/ko_with}}"),b.data("precompiled",f));b=[c.$data];c=E.extend({koBindingContext:c},e.templateOptions);c=E.tmpl(f,b,c);c.appendTo(x.createElement("div"));E.fragments={};return c};this.createJavaScriptEvaluatorBlock=function(a){return"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,b){x.write("<script type='text/html' id='"+a+"'>"+b+"<\/script>")};0<a&&(E.tmpl.tag.ko_code=
|
||||||
|
{open:"__.push($1 || '');"},E.tmpl.tag.ko_with={open:"with($1) {",close:"} "})};b.pa.prototype=new b.v;v=new b.pa;0<v.Cb&&b.va(v);b.b("jqueryTmplTemplateEngine",b.pa)}"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?K(module.exports||exports):"function"===typeof define&&define.amd?define(["exports"],K):K(w.ko={});l;
|
||||||
|
})();
|
|
@ -0,0 +1,226 @@
|
||||||
|
var undef
|
||||||
|
|
||||||
|
// Pseudo-random generator
|
||||||
|
function Marsaglia(i1, i2) {
|
||||||
|
// from http://www.math.uni-bielefeld.de/~sillke/ALGORITHMS/random/marsaglia-c
|
||||||
|
var z=i1 || 362436069, w= i2 || 521288629;
|
||||||
|
var nextInt = function() {
|
||||||
|
z=(36969*(z&65535)+(z>>>16)) & 0xFFFFFFFF;
|
||||||
|
w=(18000*(w&65535)+(w>>>16)) & 0xFFFFFFFF;
|
||||||
|
return (((z&0xFFFF)<<16) | (w&0xFFFF)) & 0xFFFFFFFF;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.nextDouble = function() {
|
||||||
|
var i = nextInt() / 4294967296;
|
||||||
|
return i < 0 ? 1 + i : i;
|
||||||
|
};
|
||||||
|
this.nextInt = nextInt;
|
||||||
|
}
|
||||||
|
|
||||||
|
Marsaglia.createRandomized = function() {
|
||||||
|
var now = new Date();
|
||||||
|
return new Marsaglia((now / 60000) & 0xFFFFFFFF, now & 0xFFFFFFFF);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Noise functions and helpers
|
||||||
|
function PerlinNoise(seed) {
|
||||||
|
var rnd = seed !== undef ? new Marsaglia(seed) : Marsaglia.createRandomized();
|
||||||
|
var i, j;
|
||||||
|
// http://www.noisemachine.com/talk1/17b.html
|
||||||
|
// http://mrl.nyu.edu/~perlin/noise/
|
||||||
|
// generate permutation
|
||||||
|
var perm = new Array(512) // Uint8Array(512);
|
||||||
|
for(i=0;i<256;++i) { perm[i] = i; }
|
||||||
|
for(i=0;i<256;++i) { var t = perm[j = rnd.nextInt() & 0xFF]; perm[j] = perm[i]; perm[i] = t; }
|
||||||
|
// copy to avoid taking mod in perm[0];
|
||||||
|
for(i=0;i<256;++i) { perm[i + 256] = perm[i]; }
|
||||||
|
|
||||||
|
// TODO: Benchmark
|
||||||
|
function grad3d(i,x,y,z) {
|
||||||
|
var h = i & 15; // convert into 1 2 gradient directions
|
||||||
|
// var u = h<8 ? x : y,
|
||||||
|
// v = h<4 ? y : h===12||h===14 ? x : z;
|
||||||
|
// return ((h&1) === 0 ? u : -u) + ((h&2) === 0 ? v : -v);
|
||||||
|
|
||||||
|
|
||||||
|
// Optimization from
|
||||||
|
// http://riven8192.blogspot.com/2010/08/calculate-perlinnoise-twice-as-fast.html
|
||||||
|
//
|
||||||
|
// inline float grad(int hash, float x, float y, float z)
|
||||||
|
// {
|
||||||
|
//float u = (h < 8) ? x : y;
|
||||||
|
//float v = (h < 4) ? y : ((h == 12 || h == 14) ? x : z);
|
||||||
|
//return ((h & 1) == 0 ? u : -u) + ((h & 2) == 0 ? v : -v);
|
||||||
|
|
||||||
|
switch(h & 0xF)
|
||||||
|
{
|
||||||
|
case 0x0: return x + y;
|
||||||
|
case 0x1: return -x + y;
|
||||||
|
case 0x2: return x - y;
|
||||||
|
case 0x3: return -x - y;
|
||||||
|
case 0x4: return x + z;
|
||||||
|
case 0x5: return -x + z;
|
||||||
|
case 0x6: return x - z;
|
||||||
|
case 0x7: return -x - z;
|
||||||
|
case 0x8: return y + z;
|
||||||
|
case 0x9: return -y + z;
|
||||||
|
case 0xA: return y - z;
|
||||||
|
case 0xB: return -y - z;
|
||||||
|
case 0xC: return y + x;
|
||||||
|
case 0xD: return -y + z;
|
||||||
|
case 0xE: return y - x;
|
||||||
|
case 0xF: return -y - z;
|
||||||
|
default: return 0; // never happens
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function grad2d(i,x,y) {
|
||||||
|
var v = (i & 1) === 0 ? x : y;
|
||||||
|
return (i&2) === 0 ? -v : v;
|
||||||
|
}
|
||||||
|
|
||||||
|
function grad1d(i,x) {
|
||||||
|
return (i&1) === 0 ? -x : x;
|
||||||
|
}
|
||||||
|
|
||||||
|
function lerp(t,a,b) { return a + t * (b - a); }
|
||||||
|
|
||||||
|
this.noise3d = function(x, y, z) {
|
||||||
|
//var X = Math.floor(x)&255, Y = Math.floor(y)&255, Z = Math.floor(z)&255;
|
||||||
|
//x -= Math.floor(x); y -= Math.floor(y); z -= Math.floor(z);
|
||||||
|
var X = (x|0)&255, Y = (y|0)&255, Z = (z|0)&255;
|
||||||
|
x -= (x|0); y -= (y|0); z -= (z|0);
|
||||||
|
var fx = (3-2*x)*x*x, fy = (3-2*y)*y*y, fz = (3-2*z)*z*z;
|
||||||
|
var p0 = perm[X]+Y, p00 = perm[p0] + Z, p01 = perm[p0 + 1] + Z,
|
||||||
|
p1 = perm[X + 1] + Y, p10 = perm[p1] + Z, p11 = perm[p1 + 1] + Z;
|
||||||
|
return lerp(fz,
|
||||||
|
lerp(fy, lerp(fx, grad3d(perm[p00], x, y, z), grad3d(perm[p10], x-1, y, z)),
|
||||||
|
lerp(fx, grad3d(perm[p01], x, y-1, z), grad3d(perm[p11], x-1, y-1,z))),
|
||||||
|
lerp(fy, lerp(fx, grad3d(perm[p00 + 1], x, y, z-1), grad3d(perm[p10 + 1], x-1, y, z-1)),
|
||||||
|
lerp(fx, grad3d(perm[p01 + 1], x, y-1, z-1), grad3d(perm[p11 + 1], x-1, y-1,z-1))));
|
||||||
|
};
|
||||||
|
|
||||||
|
this.noise2d = function(x, y) {
|
||||||
|
var X = Math.floor(x)&255, Y = Math.floor(y)&255;
|
||||||
|
x -= Math.floor(x); y -= Math.floor(y);
|
||||||
|
var fx = (3-2*x)*x*x, fy = (3-2*y)*y*y;
|
||||||
|
var p0 = perm[X]+Y, p1 = perm[X + 1] + Y;
|
||||||
|
return lerp(fy,
|
||||||
|
lerp(fx, grad2d(perm[p0], x, y), grad2d(perm[p1], x-1, y)),
|
||||||
|
lerp(fx, grad2d(perm[p0 + 1], x, y-1), grad2d(perm[p1 + 1], x-1, y-1)));
|
||||||
|
};
|
||||||
|
|
||||||
|
this.noise1d = function(x) {
|
||||||
|
var X = Math.floor(x)&255;
|
||||||
|
x -= Math.floor(x);
|
||||||
|
var fx = (3-2*x)*x*x;
|
||||||
|
return lerp(fx, grad1d(perm[X], x), grad1d(perm[X+1], x-1));
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// processing defaults
|
||||||
|
// Yuriedit: window vs. var
|
||||||
|
window.noiseProfile = { generator: undef, octaves: 4, fallout: 0.5, seed: undef};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the Perlin noise value at specified coordinates. Perlin noise is a random sequence
|
||||||
|
* generator producing a more natural ordered, harmonic succession of numbers compared to the
|
||||||
|
* standard random() function. It was invented by Ken Perlin in the 1980s and been used since
|
||||||
|
* in graphical applications to produce procedural textures, natural motion, shapes, terrains etc.
|
||||||
|
* The main difference to the random() function is that Perlin noise is defined in an infinite
|
||||||
|
* n-dimensional space where each pair of coordinates corresponds to a fixed semi-random value
|
||||||
|
* (fixed only for the lifespan of the program). The resulting value will always be between 0.0
|
||||||
|
* and 1.0. Processing can compute 1D, 2D and 3D noise, depending on the number of coordinates
|
||||||
|
* given. The noise value can be animated by moving through the noise space as demonstrated in
|
||||||
|
* the example above. The 2nd and 3rd dimension can also be interpreted as time.
|
||||||
|
* The actual noise is structured similar to an audio signal, in respect to the function's use
|
||||||
|
* of frequencies. Similar to the concept of harmonics in physics, perlin noise is computed over
|
||||||
|
* several octaves which are added together for the final result.
|
||||||
|
* Another way to adjust the character of the resulting sequence is the scale of the input
|
||||||
|
* coordinates. As the function works within an infinite space the value of the coordinates
|
||||||
|
* doesn't matter as such, only the distance between successive coordinates does (eg. when using
|
||||||
|
* noise() within a loop). As a general rule the smaller the difference between coordinates, the
|
||||||
|
* smoother the resulting noise sequence will be. Steps of 0.005-0.03 work best for most applications,
|
||||||
|
* but this will differ depending on use.
|
||||||
|
*
|
||||||
|
* @param {float} x x coordinate in noise space
|
||||||
|
* @param {float} y y coordinate in noise space
|
||||||
|
* @param {float} z z coordinate in noise space
|
||||||
|
*
|
||||||
|
* @returns {float}
|
||||||
|
*
|
||||||
|
* @see random
|
||||||
|
* @see noiseDetail
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Yuriedit
|
||||||
|
// caching
|
||||||
|
window.noiseProfile.generator = new PerlinNoise(0) //noiseProfile.seed);
|
||||||
|
|
||||||
|
window.noise = function(x, y, z, octaves, fallout) {
|
||||||
|
|
||||||
|
var generator = noiseProfile.generator;
|
||||||
|
// Yuriedit; removed the check for the pre-existence of the generator
|
||||||
|
|
||||||
|
var effect = 1, k = 1, sum = 0;
|
||||||
|
// Yuriedit: Pass in octaves / fallout
|
||||||
|
for(var i=0; i< octaves; ++i) {
|
||||||
|
effect *= fallout;
|
||||||
|
// Yuriedit
|
||||||
|
// switch (arguments.length) {
|
||||||
|
// case 2:
|
||||||
|
// sum += effect * (1 + generator.noise1d(k*x))/2; break;
|
||||||
|
// case 3:
|
||||||
|
// sum += effect * (1 + generator.noise2d(k*x, k*y))/2; break;
|
||||||
|
// case 4:
|
||||||
|
sum += effect * (1 + generator.noise3d(k*x, k*y, k*z))/2;// break;
|
||||||
|
// }
|
||||||
|
k *= 2;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adjusts the character and level of detail produced by the Perlin noise function.
|
||||||
|
* Similar to harmonics in physics, noise is computed over several octaves. Lower octaves
|
||||||
|
* contribute more to the output signal and as such define the overal intensity of the noise,
|
||||||
|
* whereas higher octaves create finer grained details in the noise sequence. By default,
|
||||||
|
* noise is computed over 4 octaves with each octave contributing exactly half than its
|
||||||
|
* predecessor, starting at 50% strength for the 1st octave. This falloff amount can be
|
||||||
|
* changed by adding an additional function parameter. Eg. a falloff factor of 0.75 means
|
||||||
|
* each octave will now have 75% impact (25% less) of the previous lower octave. Any value
|
||||||
|
* between 0.0 and 1.0 is valid, however note that values greater than 0.5 might result in
|
||||||
|
* greater than 1.0 values returned by noise(). By changing these parameters, the signal
|
||||||
|
* created by the noise() function can be adapted to fit very specific needs and characteristics.
|
||||||
|
*
|
||||||
|
* @param {int} octaves number of octaves to be used by the noise() function
|
||||||
|
* @param {float} falloff falloff factor for each octave
|
||||||
|
*
|
||||||
|
* @see noise
|
||||||
|
*/
|
||||||
|
window.noiseDetail = function(octaves, fallout) {
|
||||||
|
noiseProfile.octaves = octaves;
|
||||||
|
if(fallout !== undef) {
|
||||||
|
noiseProfile.fallout = fallout;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the seed value for noise(). By default, noise() produces different results each
|
||||||
|
* time the program is run. Set the value parameter to a constant to return the same
|
||||||
|
* pseudo-random numbers each time the software is run.
|
||||||
|
*
|
||||||
|
* @param {int} seed int
|
||||||
|
*
|
||||||
|
* @returns {float}
|
||||||
|
*
|
||||||
|
* @see random
|
||||||
|
* @see radomSeed
|
||||||
|
* @see noise
|
||||||
|
* @see noiseDetail
|
||||||
|
*/
|
||||||
|
window.noiseSeed = function(seed) {
|
||||||
|
noiseProfile.seed = seed;
|
||||||
|
noiseProfile.generator = undef;
|
||||||
|
};
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue