├── .babelrc ├── .gitignore ├── src ├── copied │ ├── assets │ │ ├── games │ │ │ └── invaders │ │ │ │ ├── bullet.png │ │ │ │ ├── explode.png │ │ │ │ ├── invader.png │ │ │ │ ├── player.png │ │ │ │ ├── starfield.png │ │ │ │ ├── enemy-bullet.png │ │ │ │ ├── invader32x32x4.png │ │ │ │ ├── player - Copy.png │ │ │ │ ├── starfield - Copy.png │ │ │ │ ├── enemy-bullet - Copy.png │ │ │ │ └── invader32x32x4 - Copy.png │ │ └── fonts │ │ │ └── font-awesome │ │ │ ├── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ │ ├── less │ │ │ ├── screen-reader.less │ │ │ ├── fixed-width.less │ │ │ ├── larger.less │ │ │ ├── list.less │ │ │ ├── core.less │ │ │ ├── stacked.less │ │ │ ├── font-awesome.less │ │ │ ├── bordered-pulled.less │ │ │ ├── rotated-flipped.less │ │ │ ├── path.less │ │ │ ├── animated.less │ │ │ ├── mixins.less │ │ │ └── variables.less │ │ │ ├── scss │ │ │ ├── _fixed-width.scss │ │ │ ├── _screen-reader.scss │ │ │ ├── _larger.scss │ │ │ ├── _list.scss │ │ │ ├── _core.scss │ │ │ ├── font-awesome.scss │ │ │ ├── _stacked.scss │ │ │ ├── _bordered-pulled.scss │ │ │ ├── _rotated-flipped.scss │ │ │ ├── _path.scss │ │ │ ├── _animated.scss │ │ │ ├── _mixins.scss │ │ │ └── _variables.scss │ │ │ ├── HELP-US-OUT.txt │ │ │ └── css │ │ │ └── font-awesome.min.css │ └── index.html ├── store │ ├── constants.js │ ├── mutations.js │ ├── actions.js │ └── store.js ├── styles.scss ├── vue │ ├── Routing.js │ └── VueInitializer.js ├── app.js ├── components │ └── SidebarComp.vue ├── views │ ├── Base.vue │ ├── SpaceInvaders.vue │ ├── Paint.vue │ ├── Shopping.vue │ └── GettingStarted.vue └── games │ └── SpaceInvaders.js ├── .env.example ├── contracts ├── invaders_dawn2 │ ├── invaders.abi │ ├── invaders.hpp │ ├── invaders.cpp │ └── invaders.wast ├── paint_dawn4 │ └── paint.cpp ├── invaders_dawn3 │ └── invaders.cpp └── invaders_dawn4 │ └── invaders.cpp ├── tests └── eosjs.spec.js ├── package.json ├── readme.md └── webpack.config.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "stage-3"] 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | node_modules/ 3 | build/ 4 | .env -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/bullet.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/explode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/explode.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/invader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/invader.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/player.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/player.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/starfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/starfield.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/enemy-bullet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/enemy-bullet.png -------------------------------------------------------------------------------- /src/store/constants.js: -------------------------------------------------------------------------------- 1 | 2 | export const SET_SCATTER = 'setScatter'; 3 | export const SET_EOSJS = 'setEosjs'; 4 | export const SET_IDENTITY = 'setIdentity'; 5 | -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/invader32x32x4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/invader32x32x4.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/player - Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/player - Copy.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/starfield - Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/starfield - Copy.png -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/enemy-bullet - Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/enemy-bullet - Copy.png -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | PRIVATE_KEY=asdf 2 | ACCOUNT_NAME=asdf 3 | NETWORK_HOST="192.168.56.101" 4 | NETWORK_PORT=8888 5 | 6 | SPACE_INVADERS_OWNER_PKEY=asdf 7 | SPACE_INVADERS_OWNER_NAME=asdf -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/fonts/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /src/copied/assets/games/invaders/invader32x32x4 - Copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/games/invaders/invader32x32x4 - Copy.png -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EOSEssentials2/Scatter-Demos/HEAD/src/copied/assets/fonts/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /src/store/mutations.js: -------------------------------------------------------------------------------- 1 | import * as Mutations from './constants' 2 | 3 | export const mutations = { 4 | [Mutations.SET_SCATTER]:(state, scatter) => state.scatter = scatter, 5 | [Mutations.SET_EOSJS]:(state, eosjs) => state.eos = eosjs, 6 | [Mutations.SET_IDENTITY]:(state, identity) => state.identity = identity, 7 | }; -------------------------------------------------------------------------------- /src/store/actions.js: -------------------------------------------------------------------------------- 1 | import * as Actions from './constants' 2 | 3 | export const actions = { 4 | [Actions.SET_SCATTER]:({commit}, scatter) => commit(Actions.SET_SCATTER, scatter), 5 | [Actions.SET_EOSJS]:({commit}, eosjs) => commit(Actions.SET_EOSJS, eosjs), 6 | [Actions.SET_IDENTITY]:({commit}, identity) => commit(Actions.SET_IDENTITY, identity), 7 | 8 | }; -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /src/styles.scss: -------------------------------------------------------------------------------- 1 | div, figure, section, nav, article, input, textarea, a, h1, h2, h3, p { 2 | padding:0; margin:0; box-sizing: border-box; 3 | } 4 | 5 | body { 6 | padding:0; 7 | margin:0; 8 | overflow-y:scroll; 9 | word-break: break-word; 10 | font-family: 'Raleway', sans-serif; 11 | } 12 | 13 | a { 14 | display:inherit; 15 | text-decoration: inherit; 16 | color:inherit; 17 | } 18 | 19 | $lightred: #5da1ba; 20 | $midred: #6bb9d5; 21 | $darkred: #5da1ba; -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /src/store/store.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex'; 3 | 4 | import {mutations} from './mutations'; 5 | import {actions} from './actions'; 6 | 7 | Vue.use(Vuex); 8 | 9 | const state = { 10 | scatter:null, 11 | eos:null, 12 | identity:null, 13 | }; 14 | 15 | const getters = { 16 | account:state => state.scatter.identity.account, 17 | httpEndpoint:state => `http://${process.env.NETWORK_HOST}:${process.env.NETWORK_PORT}`, 18 | eosNetwork:state => ({blockchain:'eos', host:process.env.NETWORK_HOST, port:process.env.NETWORK_PORT}) 19 | }; 20 | 21 | export const store = new Vuex.Store({ 22 | state, 23 | getters, 24 | mutations, 25 | actions 26 | }) -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /contracts/invaders_dawn2/invaders.abi: -------------------------------------------------------------------------------- 1 | { 2 | "types": [], 3 | "structs": [{ 4 | "name": "score", 5 | "base": "", 6 | "fields": { 7 | "identity": "name", 8 | "score":"uint64", 9 | "signatory":"name", 10 | "proprietor":"name" 11 | } 12 | },{ 13 | "name": "owner", 14 | "base": "", 15 | "fields": { 16 | "proprietor":"name" 17 | } 18 | }], 19 | "actions": [{ 20 | "action_name": "score", 21 | "type": "score" 22 | },{ 23 | "action_name": "owner", 24 | "type": "owner" 25 | }], 26 | "tables": [{ 27 | "table_name": "scores", 28 | "type": "score", 29 | "index_type": "i64", 30 | "key_names" : ["name"], 31 | "key_types" : ["name"] 32 | },{ 33 | "table_name": "owners", 34 | "type": "owner", 35 | "index_type": "i64", 36 | "key_names" : ["name"], 37 | "key_types" : ["name"] 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /src/copied/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scatter Demos 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 19 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /contracts/invaders_dawn2/invaders.hpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | using namespace eosio; 5 | namespace invaders { 6 | 7 | struct score { 8 | name identity; 9 | uint64_t score; 10 | name signatory; 11 | name proprietor; 12 | }; 13 | 14 | struct owner { 15 | name proprietor; 16 | }; 17 | 18 | using scores = eosio::table< 19 | N(invaders), 20 | N(invaders), 21 | N(scores), 22 | score, 23 | name 24 | >; 25 | 26 | using owners = eosio::table< 27 | N(invaders), 28 | N(invaders), 29 | N(owners), 30 | owner, 31 | name 32 | >; 33 | 34 | inline owner get_owner(){ 35 | owner found_owner; 36 | owners::front(found_owner); 37 | return found_owner; 38 | } 39 | 40 | inline bool has_owner(){ 41 | owner found_owner; 42 | return owners::front(found_owner); 43 | } 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/vue/Routing.js: -------------------------------------------------------------------------------- 1 | import GettingStarted from '../views/GettingStarted.vue' 2 | import Shopping from '../views/Shopping.vue' 3 | import SpaceInvaders from '../views/SpaceInvaders.vue' 4 | import Paint from '../views/Paint.vue' 5 | 6 | export const RouteNames = { 7 | INDEX:'index', 8 | SHOPPING:'shopping', 9 | SPACE_INVADERS:'spaceInvaders', 10 | PAINT:'paint', 11 | }; 12 | 13 | const RouteViews = { 14 | [RouteNames.INDEX]:GettingStarted, 15 | [RouteNames.SHOPPING]:Shopping, 16 | [RouteNames.SPACE_INVADERS]:SpaceInvaders, 17 | [RouteNames.PAINT]:Paint, 18 | }; 19 | 20 | export class Routing { 21 | 22 | static builder(){ 23 | const routeNames = Object.keys(RouteNames).map(key => RouteNames[key]); 24 | 25 | let routesBuilder = {}; 26 | routeNames.map(routeName => { 27 | routesBuilder[routeName] = { 28 | path:routeName === RouteNames.INDEX ? '' : '/'+routeName, 29 | name:routeName, 30 | component: RouteViews[routeName] 31 | } 32 | }); 33 | 34 | return routesBuilder; 35 | } 36 | 37 | static routes(){ 38 | return Object.keys(Routing.builder()) 39 | .map(routeName => Routing.builder()[routeName]); 40 | } 41 | } -------------------------------------------------------------------------------- /contracts/invaders_dawn2/invaders.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | using namespace eosio; 4 | using namespace invaders; 5 | 6 | void apply_score( const score& message ){ 7 | require_auth(message.signatory); 8 | require_auth(message.proprietor); 9 | auto existing_owner = get_owner(); 10 | assert(existing_owner.proprietor == message.proprietor, "incorrect contract owner"); 11 | score score{message.identity, message.score}; 12 | scores::store( score ); 13 | } 14 | 15 | void apply_owner( const owner& message ){ 16 | require_auth(message.proprietor); 17 | auto owner_exists = has_owner(); 18 | assert(!owner_exists, "owner is already set"); 19 | 20 | owner owner{message.proprietor}; 21 | owners::store( owner ); 22 | print("Added owner: ", owner.proprietor, " \n"); 23 | } 24 | 25 | extern "C" { 26 | void init() {} 27 | 28 | void apply( uint64_t code, uint64_t action ) { 29 | eosio::print( "invaders Contract Apply: ", eosio::name(code), "->", eosio::name(action), "\n" ); 30 | 31 | if( code == N(invaders) ) { 32 | if( action == N(score) ) apply_score(current_message< score >()); 33 | if( action == N(owner) ) apply_owner(current_message< owner >()); 34 | } 35 | } 36 | 37 | } // extern "C" 38 | -------------------------------------------------------------------------------- /tests/eosjs.spec.js: -------------------------------------------------------------------------------- 1 | const assert = require('assert') 2 | const Eos = require('eosjs'); 3 | 4 | describe('eosjs', () => { 5 | 6 | const initaPrivate = '5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3'; 7 | const initaPublic = 'EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV'; 8 | const keyProvider = initaPrivate; 9 | const eos = Eos.Localnet({httpEndpoint: 'http://192.168.56.101:8888', keyProvider}); 10 | 11 | function randomAccountName(){ 12 | const size = Math.random() * 8 + 2; 13 | let text = ""; 14 | const possible = "abcdefghij12345."; 15 | for(let i=0; i { 20 | const newAccountName = randomAccountName(); 21 | console.log('newAccountName', newAccountName) 22 | eos.newaccount({ 23 | creator: 'inita', 24 | name: newAccountName, 25 | owner: initaPublic, 26 | active: initaPublic, 27 | recovery: 'inita', 28 | deposit: '1 EOS' 29 | }).then(account => { 30 | console.log(account); 31 | done(); 32 | }) 33 | }); 34 | 35 | }); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scatter-demos", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "set SCATTER_DEMOS_ENV=development&& webpack --watch", 8 | "build": "set SCATTER_DEMOS_ENV=production&& set NODE_ENV=production&& webpack" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "dotenv-webpack": "^1.5.5", 14 | "eosjs": "^11.0.0", 15 | "eosjs-ecc": "^4.0.0", 16 | "expose-loader": "^0.7.5", 17 | "murmurhash": "0.0.2", 18 | "phaser-ce": "^2.10.5", 19 | "pixi": "^0.3.1", 20 | "vue": "^2.5.16", 21 | "vue-color": "^2.4.6", 22 | "vue-router": "^3.0.1", 23 | "vuex": "^3.0.1" 24 | }, 25 | "devDependencies": { 26 | "babel-core": "^6.26.3", 27 | "babel-loader": "^7.1.4", 28 | "babel-preset-es2015": "^6.24.1", 29 | "babel-preset-stage-3": "^6.24.1", 30 | "copy-webpack-plugin": "^4.5.1", 31 | "css-loader": "^0.28.11", 32 | "extract-text-webpack-plugin": "^3.0.2", 33 | "file-loader": "^1.1.11", 34 | "ignore-emit-webpack-plugin": "^0.2.1", 35 | "node-sass": "^4.9.0", 36 | "sass-loader": "^6.0.7", 37 | "uglifyjs-webpack-plugin": "^1.2.5", 38 | "vue-loader": "^13.7.0", 39 | "vue-template-compiler": "^2.5.16", 40 | "webpack": "^3.12.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/vue/VueInitializer.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | import VueRouter from 'vue-router' 4 | import {Routing} from './Routing'; 5 | import {store} from '../store/store' 6 | import * as Actions from '../store/constants' 7 | 8 | /*** 9 | * Sets up an instance of Vue. 10 | * This is shared between the popup.js and prompt.js scripts. 11 | */ 12 | export default class VueInitializer { 13 | 14 | constructor(routes, 15 | components, 16 | middleware = () => {}, 17 | routerCallback = () => {}){ 18 | this.setupVuePlugins(); 19 | this.registerComponents(components); 20 | const router = this.setupRouting(routes, middleware); 21 | 22 | this.setupVue(router); 23 | routerCallback(router, store); 24 | } 25 | 26 | setupVuePlugins(){ 27 | Vue.use(VueRouter); 28 | } 29 | 30 | registerComponents(components){ 31 | components.map(component => { 32 | Vue.component(component.tag, component.vue); 33 | }); 34 | } 35 | 36 | setupRouting(routes, middleware){ 37 | const router = new VueRouter({routes}); 38 | router.beforeEach((to, from, next) => middleware(to, next, store)); 39 | return router; 40 | } 41 | 42 | setupVue(router){ 43 | const app = new Vue({router, store}); 44 | app.$mount('#scatter-demos'); 45 | document.getElementById('scatter-demos').removeAttribute('id') 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Scatter Demos 2 | 3 | This is a set of integration demos using `eosjs` and the Scatter extension. 4 | 5 | Demos currently include 6 | 7 | ## Demos Currently Available 8 | 9 | #### Shopping Demo 10 | A small demo showing Scatter's ability to return transactions with private data such as shipping info, 11 | email, and full name. This can be used to collect data necessary for providing physical products without 12 | having to lead users through tedious forms. 13 | 14 | #### Space Invaders 15 | Showcase of the ability to upload high scores to the EOS blockchain and the use of Identity names as 16 | usernames instead of EOS account names which provides continuity and a level of abstraction over a 17 | user's private data. 18 | 19 | 20 | ## Developers 21 | 22 | You will need an http server to run this project locally. We recommend `http-server`. 23 | 24 | #### Installing Locally 25 | - Clone the repo `git clone https://github.com/EOSEssentials/Scatter-Demos.git` 26 | - Go into the directory and install the dependencies with `npm i` 27 | - Copy the `.env.example` to `.env` and fill out the properties as you need. ( You will need a local EOS dawn x2 node 28 | running for this repository. You will also need to upload the contracts in the `contracts` folder ) 29 | - Build the project using `npm run build` 30 | - Point your http server to the `build` directory. 31 | 32 | #### Using http-server 33 | - Run the `npm i -g http-server` command to install `http-server` globally. 34 | - Go into the `build` directory. 35 | - Run `http-server` 36 | 37 | #### The .env File 38 | 39 | - PRIVATE_KEY: The private key of a faucet account. 40 | - ACCOUNT_NAME: The account name of the faucet account linked to the private key. 41 | - NETWORK_HOST: The URI of the local EOS node you are running. 42 | - NETWORK_PORT: The port of the local EOS node you are running. -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/mixins.less: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | .fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | .fa-icon-rotate(@degrees, @rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; 16 | -webkit-transform: rotate(@degrees); 17 | -ms-transform: rotate(@degrees); 18 | transform: rotate(@degrees); 19 | } 20 | 21 | .fa-icon-flip(@horiz, @vert, @rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; 23 | -webkit-transform: scale(@horiz, @vert); 24 | -ms-transform: scale(@horiz, @vert); 25 | transform: scale(@horiz, @vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | .sr-only() { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | .sr-only-focusable() { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Mixins 2 | // -------------------------- 3 | 4 | @mixin fa-icon() { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | 14 | @mixin fa-icon-rotate($degrees, $rotation) { 15 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; 16 | -webkit-transform: rotate($degrees); 17 | -ms-transform: rotate($degrees); 18 | transform: rotate($degrees); 19 | } 20 | 21 | @mixin fa-icon-flip($horiz, $vert, $rotation) { 22 | -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; 23 | -webkit-transform: scale($horiz, $vert); 24 | -ms-transform: scale($horiz, $vert); 25 | transform: scale($horiz, $vert); 26 | } 27 | 28 | 29 | // Only display content to screen readers. A la Bootstrap 4. 30 | // 31 | // See: http://a11yproject.com/posts/how-to-hide-content/ 32 | 33 | @mixin sr-only { 34 | position: absolute; 35 | width: 1px; 36 | height: 1px; 37 | padding: 0; 38 | margin: -1px; 39 | overflow: hidden; 40 | clip: rect(0,0,0,0); 41 | border: 0; 42 | } 43 | 44 | // Use in conjunction with .sr-only to only display content when it's focused. 45 | // 46 | // Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 47 | // 48 | // Credit: HTML5 Boilerplate 49 | 50 | @mixin sr-only-focusable { 51 | &:active, 52 | &:focus { 53 | position: static; 54 | width: auto; 55 | height: auto; 56 | margin: 0; 57 | overflow: visible; 58 | clip: auto; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/app.js: -------------------------------------------------------------------------------- 1 | import VueInitializer from './vue/VueInitializer'; 2 | import {Routing} from './vue/Routing'; 3 | import * as Actions from './store/constants' 4 | import {RouteNames} from './vue/Routing' 5 | 6 | import * as Eos from 'eosjs' 7 | // import ecc from 'eosjs-ecc'; 8 | const {ecc} = Eos.modules 9 | 10 | import { Slider, Material, Chrome } from 'vue-color' 11 | import SidebarComp from './components/SidebarComp.vue' 12 | import ViewBase from './views/Base.vue' 13 | 14 | class App { 15 | 16 | constructor(){ 17 | const routes = Routing.routes(); 18 | const components = [ 19 | {tag:'view-base', vue:ViewBase}, 20 | {tag:'sidebar', vue:SidebarComp}, 21 | {tag:'slider-picker', vue:Slider}, 22 | {tag:'material-picker', vue:Material}, 23 | {tag:'chrome-picker', vue:Chrome}, 24 | ]; 25 | 26 | const middleware = (to, next, store) => { 27 | next(); 28 | }; 29 | 30 | new VueInitializer(routes, components, middleware, (router, store) => { 31 | document.addEventListener('scatterLoaded', () => { 32 | 33 | window.scatter.requireVersion(3.0); 34 | store.dispatch(Actions.SET_SCATTER, window.scatter); 35 | store.dispatch(Actions.SET_IDENTITY, window.scatter.identity); 36 | // window.scatter.authenticate() 37 | // .then(res => console.log('auth res', res)) 38 | // .catch(err => console.log('auth err', err)) 39 | 40 | const host = process.env.NETWORK_HOST; 41 | const port = process.env.NETWORK_PORT; 42 | const network = { blockchain:'eos', host, port }; 43 | 44 | const eosOptions = {}; 45 | const eos = store.state.scatter.eos( network, Eos.Localnet, eosOptions ); 46 | store.dispatch(Actions.SET_EOSJS, eos); 47 | window.scatter = null; 48 | }) 49 | }); 50 | } 51 | 52 | } 53 | 54 | const popup = new App(); 55 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const webpack = require('webpack') 3 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin') 4 | const ExtractTextPlugin = require('extract-text-webpack-plugin'); 5 | const IgnoreEmitPlugin = require('ignore-emit-webpack-plugin'); 6 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 7 | const Dotenv = require('dotenv-webpack'); 8 | 9 | 10 | const production = process.env.SCATTER_DEMOS_ENV === 'production'; 11 | const vueAlias = `vue/dist/vue${production ? '.min' : ''}.js`; 12 | const productionPlugins = !production ? [] : [ 13 | new UglifyJsPlugin() 14 | ]; 15 | 16 | function replaceSuffixes(file){ 17 | return file 18 | .replace('scss', 'css') 19 | } 20 | 21 | const filesToPack = [ 22 | 'app.js', 23 | 'styles.scss' 24 | ]; 25 | const entry = filesToPack.reduce((o, file) => Object.assign(o, {[replaceSuffixes(file)]: `./src/${file}`}), {}); 26 | 27 | const phaserModulePath = path.join(__dirname, '/node_modules/phaser/'); 28 | 29 | module.exports = { 30 | entry, 31 | output: { 32 | path: path.resolve(__dirname, './build'), 33 | filename: '[name]' 34 | }, 35 | resolve: { 36 | alias: { 37 | vue: vueAlias 38 | }, 39 | modules: [ path.join(__dirname, "node_modules") ] 40 | }, 41 | module: { 42 | loaders: [ 43 | { test: /\.js$/, loader: 'babel-loader', query: { presets: ['es2015', 'stage-3'] }, exclude: /node_modules/ }, 44 | ], 45 | rules:[ 46 | { test: /\.(sass|scss)$/, loader: ExtractTextPlugin.extract(['css-loader', 'sass-loader']) }, 47 | { test: /\.(html|png)$/, loader: 'file-loader', options: { name: '[name].[ext]' } }, 48 | { test: /\.vue$/, loader: 'vue-loader', options: { 49 | loaders: { 50 | js: 'babel-loader', 51 | scss: 'vue-style-loader!css-loader!sass-loader' 52 | } 53 | } } 54 | ] 55 | }, 56 | plugins: [ 57 | new ExtractTextPlugin({ filename: '[name]', allChunks: true }), 58 | new IgnoreEmitPlugin(/\.omit$/), 59 | new CopyWebpackPlugin([`./src/copied`]), 60 | new Dotenv({ 61 | path: './.env', 62 | safe: true 63 | }) 64 | ].concat(productionPlugins), 65 | stats: { colors: true }, 66 | devtool: 'inline-source-map' 67 | } -------------------------------------------------------------------------------- /contracts/paint_dawn4/paint.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace eosio; 4 | using namespace std; 5 | 6 | class paint : contract { 7 | using contract::contract; 8 | 9 | static constexpr uint64_t code = N(paint); 10 | 11 | inline static uint64_t makeUUID(string s){ 12 | return std::hash{}(s); 13 | } 14 | 15 | // @abi table pixels i64 16 | struct Pixel { 17 | uint64_t pos; 18 | uint64_t x; 19 | uint64_t y; 20 | string color; 21 | string username; 22 | 23 | uint64_t primary_key() const { return pos; } 24 | EOSLIB_SERIALIZE( Pixel, (pos)(x)(y)(color)(username) ) 25 | }; 26 | 27 | // @abi table timestamps i64 28 | struct Timestamp { 29 | uint64_t timestamp; 30 | EOSLIB_SERIALIZE( Timestamp, (timestamp) ) 31 | }; 32 | 33 | typedef multi_index Pixels; 34 | typedef singleton Timestamps; 35 | typedef singleton Owner; 36 | 37 | public: 38 | paint( account_name self ) : contract(self){} 39 | 40 | void own( account_name owner ){ 41 | require_auth(_self); 42 | Owner(code,_self).set(owner,_self); 43 | } 44 | 45 | void fill( uint64_t x, uint64_t y, string color, string username, string scatter_hash, account_name account ){ 46 | require_auth(Owner(code,_self).get_or_default(_self)); 47 | require_auth(account); 48 | eosio_assert(x >= 0 && x <= 99, "X is out of bounds"); 49 | eosio_assert(y >= 0 && y <= 49, "Y is out of bounds"); 50 | 51 | uint64_t scatter = makeUUID(scatter_hash); 52 | 53 | uint64_t pos = makeUUID(to_string(x) + 'x' + to_string(y)); 54 | eosio_assert(Timestamps(code,scatter).get_or_default(Timestamp{0}).timestamp+(60*5) < now(), "You must wait 5 minutes between pixels"); 55 | 56 | Pixels pixels(_self,_self); 57 | auto existing = pixels.find(pos); 58 | if(existing == pixels.end()) 59 | pixels.emplace( _self, [&](auto& record){ record = Pixel{pos, x, y, color, username}; }); 60 | else pixels.modify(existing, 0, [&](auto& record){ record = Pixel{pos, x, y, color, username}; }); 61 | 62 | Timestamps(code,scatter).set(Timestamp{now()},_self); 63 | } 64 | 65 | }; 66 | 67 | EOSIO_ABI( paint, (own)(fill) ) -------------------------------------------------------------------------------- /src/components/SidebarComp.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 40 | 41 | -------------------------------------------------------------------------------- /contracts/invaders_dawn3/invaders.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace eosio; 5 | using namespace std; 6 | 7 | class invaders : public contract { 8 | public: 9 | using contract::contract; 10 | 11 | 12 | /*** 13 | * Constructor 14 | ****************************************************/ 15 | 16 | invaders( account_name self ) 17 | :contract(self){} 18 | 19 | 20 | 21 | /*** 22 | * Actions 23 | ****************************************************/ 24 | 25 | void scored( string username, uint64_t score, account_name identity_account, account_name application ){ 26 | eosio_assert(state_config(N(invaders),_self).exists(), "Contract does not yet have an application key"); 27 | eosio_assert(state_config(N(invaders),_self).get().application == application, "Application key does not match"); 28 | require_auth(identity_account); 29 | require_auth(application); 30 | 31 | 32 | TABLE_Scores _scores(_self, _self); 33 | 34 | hash index = usernameToHash(username); 35 | auto record = _scores.find( index ); 36 | if(record == _scores.end()) _scores.emplace( identity_account, [&]( auto& a ) { 37 | a.index = index; 38 | a.username = username; 39 | a.score = score; 40 | a.identity_account = identity_account; 41 | }); 42 | else _scores.modify( record, 0, [&]( auto& a ) { 43 | eosio_assert(record->identity_account == identity_account, "User no longer has this account"); 44 | eosio_assert(record->score < score, "Previous score was higher"); 45 | a.score = score; 46 | }); 47 | } 48 | 49 | void own( account_name application ){ 50 | require_auth(_self); 51 | require_auth(application); 52 | eosio_assert(!state_config(N(invaders),_self).exists(), "Application owner already exists"); 53 | state_config(N(invaders),_self).set(config{application}, _self); 54 | } 55 | 56 | void del( string username ){ 57 | require_auth(_self); 58 | 59 | TABLE_Scores _scores(_self, _self); 60 | 61 | auto itr = _scores.find( usernameToHash(username) ); 62 | eosio_assert(itr != _scores.end(), "No such username"); 63 | _scores.erase(itr); 64 | } 65 | 66 | 67 | private: 68 | typedef uint64_t hash; 69 | /*** 70 | * Structs 71 | ****************************************************/ 72 | 73 | // @abi table scores i64 74 | struct scores { 75 | hash index; 76 | string username; 77 | uint64_t score; 78 | account_name identity_account; 79 | 80 | hash primary_key()const { return index; } 81 | EOSLIB_SERIALIZE( scores, (index)(username)(score)(identity_account) ) 82 | }; 83 | 84 | static hash usernameToHash(string username){ 85 | return std::hash{}(username); 86 | } 87 | 88 | struct config { 89 | account_name application; 90 | 91 | EOSLIB_SERIALIZE( config, (application) ) 92 | }; 93 | 94 | 95 | /*** 96 | * Tables 97 | ****************************************************/ 98 | 99 | typedef multi_index TABLE_Scores; 100 | typedef singleton state_config; 101 | }; 102 | 103 | EOSIO_ABI( invaders, (scored)(own)(del) ) 104 | -------------------------------------------------------------------------------- /contracts/invaders_dawn4/invaders.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace eosio; 5 | using namespace std; 6 | 7 | class invaders : public contract { 8 | public: 9 | using contract::contract; 10 | 11 | 12 | /*** 13 | * Constructor 14 | ****************************************************/ 15 | 16 | invaders( account_name self ) 17 | :contract(self){} 18 | 19 | 20 | 21 | /*** 22 | * Actions 23 | ****************************************************/ 24 | 25 | void scored( string username, uint64_t score, account_name identity_account, account_name application ){ 26 | eosio_assert(state_config(N(invaders),_self).exists(), "Contract does not yet have an application key"); 27 | eosio_assert(state_config(N(invaders),_self).get().application == application, "Application key does not match"); 28 | require_auth(identity_account); 29 | require_auth(application); 30 | 31 | 32 | TABLE_Scores _scores(_self, _self); 33 | 34 | hash index = usernameToHash(username); 35 | auto record = _scores.find( index ); 36 | if(record == _scores.end()) _scores.emplace( identity_account, [&]( auto& a ) { 37 | a.index = index; 38 | a.username = username; 39 | a.score = score; 40 | a.identity_account = identity_account; 41 | }); 42 | else _scores.modify( record, 0, [&]( auto& a ) { 43 | eosio_assert(record->identity_account == identity_account, "User no longer has this account"); 44 | eosio_assert(record->score < score, "Previous score was higher"); 45 | a.score = score; 46 | }); 47 | } 48 | 49 | void own( account_name application ){ 50 | require_auth(_self); 51 | require_auth(application); 52 | eosio_assert(!state_config(N(invaders),_self).exists(), "Application owner already exists"); 53 | state_config(N(invaders),_self).set(config{application}, _self); 54 | } 55 | 56 | void del( string username ){ 57 | require_auth(_self); 58 | 59 | TABLE_Scores _scores(_self, _self); 60 | 61 | auto itr = _scores.find( usernameToHash(username) ); 62 | eosio_assert(itr != _scores.end(), "No such username"); 63 | _scores.erase(itr); 64 | } 65 | 66 | 67 | private: 68 | typedef uint64_t hash; 69 | /*** 70 | * Structs 71 | ****************************************************/ 72 | 73 | // @abi table scores i64 74 | struct scores { 75 | hash index; 76 | string username; 77 | uint64_t score; 78 | account_name identity_account; 79 | 80 | hash primary_key()const { return index; } 81 | EOSLIB_SERIALIZE( scores, (index)(username)(score)(identity_account) ) 82 | }; 83 | 84 | static hash usernameToHash(string username){ 85 | return std::hash{}(username); 86 | } 87 | 88 | struct config { 89 | account_name application; 90 | 91 | EOSLIB_SERIALIZE( config, (application) ) 92 | }; 93 | 94 | 95 | /*** 96 | * Tables 97 | ****************************************************/ 98 | 99 | typedef multi_index TABLE_Scores; 100 | typedef singleton state_config; 101 | }; 102 | 103 | EOSIO_ABI( invaders, (scored)(own)(del) ) 104 | -------------------------------------------------------------------------------- /src/views/Base.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 45 | 46 | -------------------------------------------------------------------------------- /src/views/SpaceInvaders.vue: -------------------------------------------------------------------------------- 1 | 121 | 122 | 223 | 224 | -------------------------------------------------------------------------------- /src/views/Paint.vue: -------------------------------------------------------------------------------- 1 | 49 | 50 | 179 | 180 | -------------------------------------------------------------------------------- /src/games/SpaceInvaders.js: -------------------------------------------------------------------------------- 1 | 2 | import PIXI from 'expose-loader?PIXI!phaser-ce/build/custom/pixi.js'; 3 | import p2 from 'expose-loader?p2!phaser-ce/build/custom/p2.js'; 4 | import Phaser from 'expose-loader?Phaser!phaser-ce/build/custom/phaser-split.js'; 5 | 6 | let game = null; 7 | 8 | let player; 9 | let aliens; 10 | let bullet; 11 | let bullets; 12 | let enemyBullets; 13 | let bulletTime = 0; 14 | let cursors; 15 | let fireButton; 16 | let explosions; 17 | let starfield; 18 | let score = 0; 19 | let scoreString = ''; 20 | let scoreText; 21 | let lives; 22 | let enemyBullet; 23 | let firingTimer = 0; 24 | let stateText; 25 | let livingEnemies = []; 26 | let speed = 0; 27 | let level = 0; 28 | let gameOverMethod = null; 29 | 30 | export function load(cb){ 31 | gameOverMethod = cb; 32 | game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render }); 33 | speed = 1; 34 | level = 1; 35 | } 36 | 37 | export function preload() { 38 | game.load.image('bullet', 'assets/games/invaders/bullet.png'); 39 | game.load.image('enemyBullet', 'assets/games/invaders/enemy-bullet.png'); 40 | game.load.spritesheet('invader', 'assets/games/invaders/invader32x32x4.png', 32, 32); 41 | game.load.image('ship', 'assets/games/invaders/player.png'); 42 | game.load.spritesheet('kaboom', 'assets/games/invaders/explode.png', 128, 128); 43 | game.load.image('starfield', 'assets/games/invaders/starfield.png'); 44 | game.load.image('background', 'assets/games/starstruck/background2.png'); 45 | } 46 | 47 | export function create() { 48 | 49 | 50 | game.physics.startSystem(Phaser.Physics.ARCADE); 51 | 52 | // The scrolling starfield background 53 | starfield = game.add.tileSprite(0, 0, 800, 600, 'starfield'); 54 | 55 | // Our bullet group 56 | bullets = game.add.group(); 57 | bullets.enableBody = true; 58 | bullets.physicsBodyType = Phaser.Physics.ARCADE; 59 | bullets.createMultiple(30, 'bullet'); 60 | bullets.setAll('anchor.x', 0.5); 61 | bullets.setAll('anchor.y', 1); 62 | bullets.setAll('outOfBoundsKill', true); 63 | bullets.setAll('checkWorldBounds', true); 64 | 65 | // The enemy's bullets 66 | enemyBullets = game.add.group(); 67 | enemyBullets.enableBody = true; 68 | enemyBullets.physicsBodyType = Phaser.Physics.ARCADE; 69 | enemyBullets.createMultiple(30, 'enemyBullet'); 70 | enemyBullets.setAll('anchor.x', 0.5); 71 | enemyBullets.setAll('anchor.y', 1); 72 | enemyBullets.setAll('outOfBoundsKill', true); 73 | enemyBullets.setAll('checkWorldBounds', true); 74 | 75 | // The hero! 76 | player = game.add.sprite(400, 500, 'ship'); 77 | player.anchor.setTo(0.5, 0.5); 78 | game.physics.enable(player, Phaser.Physics.ARCADE); 79 | 80 | // The baddies! 81 | aliens = game.add.group(); 82 | aliens.enableBody = true; 83 | aliens.physicsBodyType = Phaser.Physics.ARCADE; 84 | 85 | createAliens(); 86 | 87 | // The score 88 | scoreString = 'Score : '; 89 | scoreText = game.add.text(10, 10, scoreString + score, { font: '34px Arial', fill: '#fff' }); 90 | 91 | // Lives 92 | lives = game.add.group(); 93 | game.add.text(game.world.width - 100, 10, 'Lives : ', { font: '34px Arial', fill: '#fff' }); 94 | 95 | // Text 96 | stateText = game.add.text(game.world.centerX,game.world.centerY,' ', { font: '84px Arial', fill: '#fff' }); 97 | stateText.anchor.setTo(0.5, 0.5); 98 | stateText.visible = false; 99 | 100 | for (let i = 0; i < 3; i++) 101 | { 102 | let ship = lives.create(game.world.width - 100 + (30 * i), 60, 'ship'); 103 | ship.anchor.setTo(0.5, 0.5); 104 | ship.angle = 90; 105 | ship.alpha = 0.4; 106 | } 107 | 108 | // An explosion pool 109 | explosions = game.add.group(); 110 | explosions.createMultiple(30, 'kaboom'); 111 | explosions.forEach(setupInvader, this); 112 | 113 | // And some controls to play the game with 114 | cursors = game.input.keyboard.createCursorKeys(); 115 | fireButton = game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR); 116 | 117 | } 118 | 119 | export function createAliens () { 120 | 121 | for (let y = 0; y < 4; y++) 122 | { 123 | for (let x = 0; x < 10; x++) 124 | { 125 | let alien = aliens.create(x * 48, y * 50, 'invader'); 126 | alien.anchor.setTo(0.5, 0.5); 127 | alien.animations.add('fly', [ 0, 1, 2, 3 ], 20, true); 128 | alien.play('fly'); 129 | alien.body.moves = false; 130 | } 131 | } 132 | 133 | aliens.x = 100; 134 | aliens.y = 50; 135 | 136 | // All this does is basically start the invaders moving. Notice we're moving the Group they belong to, rather than the invaders directly. 137 | let tween = game.add.tween(aliens).to( { x: 200 }, 2000, Phaser.Easing.Linear.None, true, 0, 1000, true); 138 | 139 | // When the tween loops it calls descend 140 | tween.onLoop.add(descend, this); 141 | } 142 | 143 | export function setupInvader (invader) { 144 | 145 | invader.anchor.x = 0.5; 146 | invader.anchor.y = 0.5; 147 | invader.animations.add('kaboom'); 148 | 149 | } 150 | 151 | export function descend() { 152 | 153 | aliens.y += 10; 154 | 155 | } 156 | 157 | export function update() { 158 | 159 | // Scroll the background 160 | starfield.tilePosition.y += 2; 161 | 162 | if (player.alive) 163 | { 164 | // Reset the player, then check for movement keys 165 | player.body.velocity.setTo(0, 0); 166 | 167 | 168 | const {x, y} = player.body.position; 169 | 170 | 171 | if(cursors.left.isDown && x>0 && !cursors.right.isDown) player.body.velocity.x = -(200 + (level*10)); 172 | if(cursors.right.isDown && x < game.width - player.width && !cursors.left.isDown) player.body.velocity.x = 200 + (level*10); 173 | if(cursors.up.isDown && y > 300 && !cursors.down.isDown) player.body.velocity.y = -(200 + (level*10)); 174 | if(cursors.down.isDown && y < 530 && !cursors.up.isDown) player.body.velocity.y = 200 + (level*10); 175 | 176 | // Firing? 177 | if (fireButton.isDown) fireBullet(); 178 | if (game.time.now > firingTimer) enemyFires(); 179 | 180 | // Run collision 181 | game.physics.arcade.overlap(bullets, aliens, collisionHandler, null, this); 182 | game.physics.arcade.overlap(enemyBullets, player, enemyHitsPlayer, null, this); 183 | } 184 | 185 | } 186 | 187 | export function render() { 188 | 189 | // for (let i = 0; i < aliens.length; i++) 190 | // { 191 | // game.debug.body(aliens.children[i]); 192 | // } 193 | 194 | } 195 | 196 | export function collisionHandler (bullet, alien) { 197 | 198 | // When a bullet hits an alien we kill them both 199 | bullet.kill(); 200 | alien.kill(); 201 | 202 | // Increase the score 203 | score += 20; 204 | scoreText.text = scoreString + score; 205 | 206 | // And create an explosion :) 207 | let explosion = explosions.getFirstExists(false); 208 | explosion.reset(alien.body.x, alien.body.y); 209 | explosion.play('kaboom', 30, false, true); 210 | 211 | if (aliens.countLiving() === 0){ 212 | enemyBullets.callAll('kill',this); 213 | nextLevel(); 214 | } 215 | 216 | 217 | } 218 | 219 | export function enemyHitsPlayer (player,bullet) { 220 | 221 | bullet.kill(); 222 | 223 | let live = lives.getFirstAlive(); 224 | 225 | if (live) live.kill(); 226 | 227 | 228 | // And create an explosion :) 229 | let explosion = explosions.getFirstExists(false); 230 | explosion.reset(player.body.x, player.body.y); 231 | explosion.play('kaboom', 30, false, true); 232 | 233 | // When the player dies 234 | if (lives.countLiving() < 1) 235 | { 236 | player.kill(); 237 | enemyBullets.callAll('kill'); 238 | 239 | stateText.text=" GAME OVER \n Click to Try Again!"; 240 | stateText.visible = true; 241 | gameOverMethod(score); 242 | game.input.onTap.addOnce(gameOver,this); 243 | } 244 | 245 | } 246 | 247 | export function enemyFires () { 248 | 249 | // Grab the first bullet we can from the pool 250 | enemyBullet = enemyBullets.getFirstExists(false); 251 | 252 | livingEnemies.length=0; 253 | 254 | aliens.forEachAlive(function(alien){ 255 | 256 | // put every living enemy in an array 257 | livingEnemies.push(alien); 258 | }); 259 | 260 | 261 | if (enemyBullet && livingEnemies.length > 0) 262 | { 263 | 264 | let random=game.rnd.integerInRange(0,livingEnemies.length-1); 265 | 266 | // randomly select one of them 267 | let shooter=livingEnemies[random]; 268 | // And fire the bullet from this enemy 269 | enemyBullet.reset(shooter.body.x, shooter.body.y); 270 | 271 | game.physics.arcade.moveToObject(enemyBullet,player,180); 272 | firingTimer = game.time.now + (2000/level); 273 | } 274 | 275 | } 276 | 277 | export function fireBullet () { 278 | 279 | // To avoid them being allowed to fire too fast we set a time limit 280 | if (game.time.now > bulletTime) 281 | { 282 | // Grab the first bullet we can from the pool 283 | bullet = bullets.getFirstExists(false); 284 | 285 | if (bullet) 286 | { 287 | // And fire it 288 | bullet.reset(player.x, player.y + 8); 289 | bullet.body.velocity.y = -400; 290 | bulletTime = game.time.now + 200; 291 | } 292 | } 293 | 294 | } 295 | 296 | export function resetBullet (bullet) { 297 | 298 | // Called if the bullet goes out of the screen 299 | bullet.kill(); 300 | 301 | } 302 | 303 | export function nextLevel () { 304 | aliens.removeAll(); 305 | createAliens(); 306 | player.revive(); 307 | level++; 308 | 309 | } 310 | 311 | export function gameOver () { 312 | score = 0; 313 | scoreText.text = scoreString + score; 314 | lives.callAll('revive'); 315 | aliens.removeAll(); 316 | createAliens(); 317 | 318 | player.revive(); 319 | stateText.visible = false; 320 | level=1; 321 | 322 | } -------------------------------------------------------------------------------- /src/views/Shopping.vue: -------------------------------------------------------------------------------- 1 | 161 | 162 | 237 | 238 | -------------------------------------------------------------------------------- /src/views/GettingStarted.vue: -------------------------------------------------------------------------------- 1 | 166 | 167 | 259 | 260 | -------------------------------------------------------------------------------- /contracts/invaders_dawn2/invaders.wast: -------------------------------------------------------------------------------- 1 | (module 2 | (type $FUNCSIG$vj (func (param i64))) 3 | (type $FUNCSIG$ijjjii (func (param i64 i64 i64 i32 i32) (result i32))) 4 | (type $FUNCSIG$vii (func (param i32 i32))) 5 | (type $FUNCSIG$ijjii (func (param i64 i64 i32 i32) (result i32))) 6 | (type $FUNCSIG$vi (func (param i32))) 7 | (type $FUNCSIG$iii (func (param i32 i32) (result i32))) 8 | (import "env" "assert" (func $assert (param i32 i32))) 9 | (import "env" "front_i64" (func $front_i64 (param i64 i64 i64 i32 i32) (result i32))) 10 | (import "env" "printn" (func $printn (param i64))) 11 | (import "env" "prints" (func $prints (param i32))) 12 | (import "env" "read_message" (func $read_message (param i32 i32) (result i32))) 13 | (import "env" "require_auth" (func $require_auth (param i64))) 14 | (import "env" "store_i64" (func $store_i64 (param i64 i64 i32 i32) (result i32))) 15 | (table 0 anyfunc) 16 | (memory $0 1) 17 | (data (i32.const 4) "\00A\00\00") 18 | (data (i32.const 16) "incorrect contract owner\00") 19 | (data (i32.const 48) "owner is already set\00") 20 | (data (i32.const 80) "Added owner: \00") 21 | (data (i32.const 96) " \n\00") 22 | (data (i32.const 112) "invaders Contract Apply: \00") 23 | (data (i32.const 144) "->\00") 24 | (data (i32.const 160) "\n\00") 25 | (data (i32.const 176) "invaders\00") 26 | (data (i32.const 192) "score\00") 27 | (data (i32.const 208) "message shorter than expected\00") 28 | (data (i32.const 240) "owner\00") 29 | (export "memory" (memory $0)) 30 | (export "_Z11apply_scoreRKN8invaders5scoreE" (func $_Z11apply_scoreRKN8invaders5scoreE)) 31 | (export "_Z11apply_ownerRKN8invaders5ownerE" (func $_Z11apply_ownerRKN8invaders5ownerE)) 32 | (export "init" (func $init)) 33 | (export "apply" (func $apply)) 34 | (func $_Z11apply_scoreRKN8invaders5scoreE (param $0 i32) 35 | (local $1 i32) 36 | (i32.store offset=4 37 | (i32.const 0) 38 | (tee_local $1 39 | (i32.sub 40 | (i32.load offset=4 41 | (i32.const 0) 42 | ) 43 | (i32.const 32) 44 | ) 45 | ) 46 | ) 47 | (call $require_auth 48 | (i64.load offset=16 49 | (get_local $0) 50 | ) 51 | ) 52 | (call $require_auth 53 | (i64.load offset=24 54 | (get_local $0) 55 | ) 56 | ) 57 | (i64.store 58 | (get_local $1) 59 | (i64.const 0) 60 | ) 61 | (drop 62 | (call $front_i64 63 | (i64.const 8428034438138429440) 64 | (i64.const 8428034438138429440) 65 | (i64.const -6402240841699557376) 66 | (get_local $1) 67 | (i32.const 8) 68 | ) 69 | ) 70 | (call $assert 71 | (i64.eq 72 | (i64.load 73 | (get_local $1) 74 | ) 75 | (i64.load offset=24 76 | (get_local $0) 77 | ) 78 | ) 79 | (i32.const 16) 80 | ) 81 | (i64.store offset=16 82 | (get_local $1) 83 | (i64.const 0) 84 | ) 85 | (i64.store offset=24 86 | (get_local $1) 87 | (i64.const 0) 88 | ) 89 | (i64.store 90 | (get_local $1) 91 | (i64.load 92 | (get_local $0) 93 | ) 94 | ) 95 | (i64.store offset=8 96 | (get_local $1) 97 | (i64.load offset=8 98 | (get_local $0) 99 | ) 100 | ) 101 | (drop 102 | (call $store_i64 103 | (i64.const 8428034438138429440) 104 | (i64.const -4455901301129084928) 105 | (get_local $1) 106 | (i32.const 32) 107 | ) 108 | ) 109 | (i32.store offset=4 110 | (i32.const 0) 111 | (i32.add 112 | (get_local $1) 113 | (i32.const 32) 114 | ) 115 | ) 116 | ) 117 | (func $_Z11apply_ownerRKN8invaders5ownerE (param $0 i32) 118 | (local $1 i64) 119 | (local $2 i32) 120 | (i32.store offset=4 121 | (i32.const 0) 122 | (tee_local $2 123 | (i32.sub 124 | (i32.load offset=4 125 | (i32.const 0) 126 | ) 127 | (i32.const 16) 128 | ) 129 | ) 130 | ) 131 | (call $require_auth 132 | (i64.load 133 | (get_local $0) 134 | ) 135 | ) 136 | (i64.store offset=8 137 | (get_local $2) 138 | (i64.const 0) 139 | ) 140 | (call $assert 141 | (i32.ne 142 | (call $front_i64 143 | (i64.const 8428034438138429440) 144 | (i64.const 8428034438138429440) 145 | (i64.const -6402240841699557376) 146 | (i32.add 147 | (get_local $2) 148 | (i32.const 8) 149 | ) 150 | (i32.const 8) 151 | ) 152 | (i32.const 8) 153 | ) 154 | (i32.const 48) 155 | ) 156 | (i64.store offset=8 157 | (get_local $2) 158 | (i64.load 159 | (get_local $0) 160 | ) 161 | ) 162 | (drop 163 | (call $store_i64 164 | (i64.const 8428034438138429440) 165 | (i64.const -6402240841699557376) 166 | (i32.add 167 | (get_local $2) 168 | (i32.const 8) 169 | ) 170 | (i32.const 8) 171 | ) 172 | ) 173 | (set_local $1 174 | (i64.load offset=8 175 | (get_local $2) 176 | ) 177 | ) 178 | (call $prints 179 | (i32.const 80) 180 | ) 181 | (call $printn 182 | (get_local $1) 183 | ) 184 | (call $prints 185 | (i32.const 96) 186 | ) 187 | (i32.store offset=4 188 | (i32.const 0) 189 | (i32.add 190 | (get_local $2) 191 | (i32.const 16) 192 | ) 193 | ) 194 | ) 195 | (func $init 196 | ) 197 | (func $apply (param $0 i64) (param $1 i64) 198 | (local $2 i32) 199 | (local $3 i32) 200 | (local $4 i64) 201 | (local $5 i64) 202 | (local $6 i64) 203 | (local $7 i64) 204 | (local $8 i32) 205 | (i32.store offset=4 206 | (i32.const 0) 207 | (tee_local $8 208 | (i32.sub 209 | (i32.load offset=4 210 | (i32.const 0) 211 | ) 212 | (i32.const 64) 213 | ) 214 | ) 215 | ) 216 | (call $prints 217 | (i32.const 112) 218 | ) 219 | (call $printn 220 | (get_local $0) 221 | ) 222 | (call $prints 223 | (i32.const 144) 224 | ) 225 | (call $printn 226 | (get_local $1) 227 | ) 228 | (call $prints 229 | (i32.const 160) 230 | ) 231 | (set_local $5 232 | (i64.const 0) 233 | ) 234 | (set_local $4 235 | (i64.const 59) 236 | ) 237 | (set_local $3 238 | (i32.const 176) 239 | ) 240 | (set_local $6 241 | (i64.const 0) 242 | ) 243 | (loop $label$0 244 | (block $label$1 245 | (block $label$2 246 | (block $label$3 247 | (block $label$4 248 | (block $label$5 249 | (br_if $label$5 250 | (i64.gt_u 251 | (get_local $5) 252 | (i64.const 7) 253 | ) 254 | ) 255 | (br_if $label$4 256 | (i32.gt_u 257 | (i32.and 258 | (i32.add 259 | (tee_local $2 260 | (i32.load8_s 261 | (get_local $3) 262 | ) 263 | ) 264 | (i32.const -97) 265 | ) 266 | (i32.const 255) 267 | ) 268 | (i32.const 25) 269 | ) 270 | ) 271 | (set_local $2 272 | (i32.add 273 | (get_local $2) 274 | (i32.const 165) 275 | ) 276 | ) 277 | (br $label$3) 278 | ) 279 | (set_local $7 280 | (i64.const 0) 281 | ) 282 | (br_if $label$2 283 | (i64.le_u 284 | (get_local $5) 285 | (i64.const 11) 286 | ) 287 | ) 288 | (br $label$1) 289 | ) 290 | (set_local $2 291 | (select 292 | (i32.add 293 | (get_local $2) 294 | (i32.const 208) 295 | ) 296 | (i32.const 0) 297 | (i32.lt_u 298 | (i32.and 299 | (i32.add 300 | (get_local $2) 301 | (i32.const -49) 302 | ) 303 | (i32.const 255) 304 | ) 305 | (i32.const 5) 306 | ) 307 | ) 308 | ) 309 | ) 310 | (set_local $7 311 | (i64.shr_s 312 | (i64.shl 313 | (i64.extend_u/i32 314 | (get_local $2) 315 | ) 316 | (i64.const 56) 317 | ) 318 | (i64.const 56) 319 | ) 320 | ) 321 | ) 322 | (set_local $7 323 | (i64.shl 324 | (i64.and 325 | (get_local $7) 326 | (i64.const 31) 327 | ) 328 | (i64.and 329 | (get_local $4) 330 | (i64.const 4294967295) 331 | ) 332 | ) 333 | ) 334 | ) 335 | (set_local $3 336 | (i32.add 337 | (get_local $3) 338 | (i32.const 1) 339 | ) 340 | ) 341 | (set_local $5 342 | (i64.add 343 | (get_local $5) 344 | (i64.const 1) 345 | ) 346 | ) 347 | (set_local $6 348 | (i64.or 349 | (get_local $7) 350 | (get_local $6) 351 | ) 352 | ) 353 | (br_if $label$0 354 | (i64.ne 355 | (tee_local $4 356 | (i64.add 357 | (get_local $4) 358 | (i64.const -5) 359 | ) 360 | ) 361 | (i64.const -6) 362 | ) 363 | ) 364 | ) 365 | (block $label$6 366 | (br_if $label$6 367 | (i64.ne 368 | (get_local $6) 369 | (get_local $0) 370 | ) 371 | ) 372 | (set_local $5 373 | (i64.const 0) 374 | ) 375 | (set_local $4 376 | (i64.const 59) 377 | ) 378 | (set_local $3 379 | (i32.const 192) 380 | ) 381 | (set_local $6 382 | (i64.const 0) 383 | ) 384 | (loop $label$7 385 | (block $label$8 386 | (block $label$9 387 | (block $label$10 388 | (block $label$11 389 | (block $label$12 390 | (br_if $label$12 391 | (i64.gt_u 392 | (get_local $5) 393 | (i64.const 4) 394 | ) 395 | ) 396 | (br_if $label$11 397 | (i32.gt_u 398 | (i32.and 399 | (i32.add 400 | (tee_local $2 401 | (i32.load8_s 402 | (get_local $3) 403 | ) 404 | ) 405 | (i32.const -97) 406 | ) 407 | (i32.const 255) 408 | ) 409 | (i32.const 25) 410 | ) 411 | ) 412 | (set_local $2 413 | (i32.add 414 | (get_local $2) 415 | (i32.const 165) 416 | ) 417 | ) 418 | (br $label$10) 419 | ) 420 | (set_local $7 421 | (i64.const 0) 422 | ) 423 | (br_if $label$9 424 | (i64.le_u 425 | (get_local $5) 426 | (i64.const 11) 427 | ) 428 | ) 429 | (br $label$8) 430 | ) 431 | (set_local $2 432 | (select 433 | (i32.add 434 | (get_local $2) 435 | (i32.const 208) 436 | ) 437 | (i32.const 0) 438 | (i32.lt_u 439 | (i32.and 440 | (i32.add 441 | (get_local $2) 442 | (i32.const -49) 443 | ) 444 | (i32.const 255) 445 | ) 446 | (i32.const 5) 447 | ) 448 | ) 449 | ) 450 | ) 451 | (set_local $7 452 | (i64.shr_s 453 | (i64.shl 454 | (i64.extend_u/i32 455 | (get_local $2) 456 | ) 457 | (i64.const 56) 458 | ) 459 | (i64.const 56) 460 | ) 461 | ) 462 | ) 463 | (set_local $7 464 | (i64.shl 465 | (i64.and 466 | (get_local $7) 467 | (i64.const 31) 468 | ) 469 | (i64.and 470 | (get_local $4) 471 | (i64.const 4294967295) 472 | ) 473 | ) 474 | ) 475 | ) 476 | (set_local $3 477 | (i32.add 478 | (get_local $3) 479 | (i32.const 1) 480 | ) 481 | ) 482 | (set_local $5 483 | (i64.add 484 | (get_local $5) 485 | (i64.const 1) 486 | ) 487 | ) 488 | (set_local $6 489 | (i64.or 490 | (get_local $7) 491 | (get_local $6) 492 | ) 493 | ) 494 | (br_if $label$7 495 | (i64.ne 496 | (tee_local $4 497 | (i64.add 498 | (get_local $4) 499 | (i64.const -5) 500 | ) 501 | ) 502 | (i64.const -6) 503 | ) 504 | ) 505 | ) 506 | (block $label$13 507 | (br_if $label$13 508 | (i64.ne 509 | (get_local $6) 510 | (get_local $1) 511 | ) 512 | ) 513 | (i64.store offset=16 514 | (get_local $8) 515 | (i64.const 0) 516 | ) 517 | (i64.store 518 | (get_local $8) 519 | (i64.const 0) 520 | ) 521 | (i64.store offset=24 522 | (get_local $8) 523 | (i64.const 0) 524 | ) 525 | (call $assert 526 | (i32.gt_u 527 | (call $read_message 528 | (get_local $8) 529 | (i32.const 32) 530 | ) 531 | (i32.const 31) 532 | ) 533 | (i32.const 208) 534 | ) 535 | (call $require_auth 536 | (i64.load offset=16 537 | (get_local $8) 538 | ) 539 | ) 540 | (call $require_auth 541 | (i64.load offset=24 542 | (get_local $8) 543 | ) 544 | ) 545 | (i64.store offset=32 546 | (get_local $8) 547 | (i64.const 0) 548 | ) 549 | (drop 550 | (call $front_i64 551 | (i64.const 8428034438138429440) 552 | (i64.const 8428034438138429440) 553 | (i64.const -6402240841699557376) 554 | (i32.add 555 | (get_local $8) 556 | (i32.const 32) 557 | ) 558 | (i32.const 8) 559 | ) 560 | ) 561 | (call $assert 562 | (i64.eq 563 | (i64.load offset=32 564 | (get_local $8) 565 | ) 566 | (i64.load offset=24 567 | (get_local $8) 568 | ) 569 | ) 570 | (i32.const 16) 571 | ) 572 | (i64.store offset=48 573 | (get_local $8) 574 | (i64.const 0) 575 | ) 576 | (i64.store offset=56 577 | (get_local $8) 578 | (i64.const 0) 579 | ) 580 | (i64.store offset=32 581 | (get_local $8) 582 | (i64.load 583 | (get_local $8) 584 | ) 585 | ) 586 | (i64.store offset=40 587 | (get_local $8) 588 | (i64.load offset=8 589 | (get_local $8) 590 | ) 591 | ) 592 | (drop 593 | (call $store_i64 594 | (i64.const 8428034438138429440) 595 | (i64.const -4455901301129084928) 596 | (i32.add 597 | (get_local $8) 598 | (i32.const 32) 599 | ) 600 | (i32.const 32) 601 | ) 602 | ) 603 | ) 604 | (set_local $5 605 | (i64.const 0) 606 | ) 607 | (set_local $4 608 | (i64.const 59) 609 | ) 610 | (set_local $3 611 | (i32.const 240) 612 | ) 613 | (set_local $6 614 | (i64.const 0) 615 | ) 616 | (loop $label$14 617 | (block $label$15 618 | (block $label$16 619 | (block $label$17 620 | (block $label$18 621 | (block $label$19 622 | (br_if $label$19 623 | (i64.gt_u 624 | (get_local $5) 625 | (i64.const 4) 626 | ) 627 | ) 628 | (br_if $label$18 629 | (i32.gt_u 630 | (i32.and 631 | (i32.add 632 | (tee_local $2 633 | (i32.load8_s 634 | (get_local $3) 635 | ) 636 | ) 637 | (i32.const -97) 638 | ) 639 | (i32.const 255) 640 | ) 641 | (i32.const 25) 642 | ) 643 | ) 644 | (set_local $2 645 | (i32.add 646 | (get_local $2) 647 | (i32.const 165) 648 | ) 649 | ) 650 | (br $label$17) 651 | ) 652 | (set_local $7 653 | (i64.const 0) 654 | ) 655 | (br_if $label$16 656 | (i64.le_u 657 | (get_local $5) 658 | (i64.const 11) 659 | ) 660 | ) 661 | (br $label$15) 662 | ) 663 | (set_local $2 664 | (select 665 | (i32.add 666 | (get_local $2) 667 | (i32.const 208) 668 | ) 669 | (i32.const 0) 670 | (i32.lt_u 671 | (i32.and 672 | (i32.add 673 | (get_local $2) 674 | (i32.const -49) 675 | ) 676 | (i32.const 255) 677 | ) 678 | (i32.const 5) 679 | ) 680 | ) 681 | ) 682 | ) 683 | (set_local $7 684 | (i64.shr_s 685 | (i64.shl 686 | (i64.extend_u/i32 687 | (get_local $2) 688 | ) 689 | (i64.const 56) 690 | ) 691 | (i64.const 56) 692 | ) 693 | ) 694 | ) 695 | (set_local $7 696 | (i64.shl 697 | (i64.and 698 | (get_local $7) 699 | (i64.const 31) 700 | ) 701 | (i64.and 702 | (get_local $4) 703 | (i64.const 4294967295) 704 | ) 705 | ) 706 | ) 707 | ) 708 | (set_local $3 709 | (i32.add 710 | (get_local $3) 711 | (i32.const 1) 712 | ) 713 | ) 714 | (set_local $5 715 | (i64.add 716 | (get_local $5) 717 | (i64.const 1) 718 | ) 719 | ) 720 | (set_local $6 721 | (i64.or 722 | (get_local $7) 723 | (get_local $6) 724 | ) 725 | ) 726 | (br_if $label$14 727 | (i64.ne 728 | (tee_local $4 729 | (i64.add 730 | (get_local $4) 731 | (i64.const -5) 732 | ) 733 | ) 734 | (i64.const -6) 735 | ) 736 | ) 737 | ) 738 | (br_if $label$6 739 | (i64.ne 740 | (get_local $6) 741 | (get_local $1) 742 | ) 743 | ) 744 | (i64.store offset=32 745 | (get_local $8) 746 | (i64.const 0) 747 | ) 748 | (call $assert 749 | (i32.gt_u 750 | (call $read_message 751 | (i32.add 752 | (get_local $8) 753 | (i32.const 32) 754 | ) 755 | (i32.const 8) 756 | ) 757 | (i32.const 7) 758 | ) 759 | (i32.const 208) 760 | ) 761 | (call $require_auth 762 | (tee_local $5 763 | (i64.load offset=32 764 | (get_local $8) 765 | ) 766 | ) 767 | ) 768 | (i64.store offset=32 769 | (get_local $8) 770 | (i64.const 0) 771 | ) 772 | (call $assert 773 | (i32.ne 774 | (call $front_i64 775 | (i64.const 8428034438138429440) 776 | (i64.const 8428034438138429440) 777 | (i64.const -6402240841699557376) 778 | (i32.add 779 | (get_local $8) 780 | (i32.const 32) 781 | ) 782 | (i32.const 8) 783 | ) 784 | (i32.const 8) 785 | ) 786 | (i32.const 48) 787 | ) 788 | (i64.store offset=32 789 | (get_local $8) 790 | (get_local $5) 791 | ) 792 | (drop 793 | (call $store_i64 794 | (i64.const 8428034438138429440) 795 | (i64.const -6402240841699557376) 796 | (i32.add 797 | (get_local $8) 798 | (i32.const 32) 799 | ) 800 | (i32.const 8) 801 | ) 802 | ) 803 | (set_local $5 804 | (i64.load offset=32 805 | (get_local $8) 806 | ) 807 | ) 808 | (call $prints 809 | (i32.const 80) 810 | ) 811 | (call $printn 812 | (get_local $5) 813 | ) 814 | (call $prints 815 | (i32.const 96) 816 | ) 817 | ) 818 | (i32.store offset=4 819 | (i32.const 0) 820 | (i32.add 821 | (get_local $8) 822 | (i32.const 64) 823 | ) 824 | ) 825 | ) 826 | ) 827 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/less/variables.less: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | @fa-font-path: "../fonts"; 5 | @fa-font-size-base: 14px; 6 | @fa-line-height-base: 1; 7 | //@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly 8 | @fa-css-prefix: fa; 9 | @fa-version: "4.7.0"; 10 | @fa-border-color: #eee; 11 | @fa-inverse: #fff; 12 | @fa-li-width: (30em / 14); 13 | 14 | @fa-var-500px: "\f26e"; 15 | @fa-var-address-book: "\f2b9"; 16 | @fa-var-address-book-o: "\f2ba"; 17 | @fa-var-address-card: "\f2bb"; 18 | @fa-var-address-card-o: "\f2bc"; 19 | @fa-var-adjust: "\f042"; 20 | @fa-var-adn: "\f170"; 21 | @fa-var-align-center: "\f037"; 22 | @fa-var-align-justify: "\f039"; 23 | @fa-var-align-left: "\f036"; 24 | @fa-var-align-right: "\f038"; 25 | @fa-var-amazon: "\f270"; 26 | @fa-var-ambulance: "\f0f9"; 27 | @fa-var-american-sign-language-interpreting: "\f2a3"; 28 | @fa-var-anchor: "\f13d"; 29 | @fa-var-android: "\f17b"; 30 | @fa-var-angellist: "\f209"; 31 | @fa-var-angle-double-down: "\f103"; 32 | @fa-var-angle-double-left: "\f100"; 33 | @fa-var-angle-double-right: "\f101"; 34 | @fa-var-angle-double-up: "\f102"; 35 | @fa-var-angle-down: "\f107"; 36 | @fa-var-angle-left: "\f104"; 37 | @fa-var-angle-right: "\f105"; 38 | @fa-var-angle-up: "\f106"; 39 | @fa-var-apple: "\f179"; 40 | @fa-var-archive: "\f187"; 41 | @fa-var-area-chart: "\f1fe"; 42 | @fa-var-arrow-circle-down: "\f0ab"; 43 | @fa-var-arrow-circle-left: "\f0a8"; 44 | @fa-var-arrow-circle-o-down: "\f01a"; 45 | @fa-var-arrow-circle-o-left: "\f190"; 46 | @fa-var-arrow-circle-o-right: "\f18e"; 47 | @fa-var-arrow-circle-o-up: "\f01b"; 48 | @fa-var-arrow-circle-right: "\f0a9"; 49 | @fa-var-arrow-circle-up: "\f0aa"; 50 | @fa-var-arrow-down: "\f063"; 51 | @fa-var-arrow-left: "\f060"; 52 | @fa-var-arrow-right: "\f061"; 53 | @fa-var-arrow-up: "\f062"; 54 | @fa-var-arrows: "\f047"; 55 | @fa-var-arrows-alt: "\f0b2"; 56 | @fa-var-arrows-h: "\f07e"; 57 | @fa-var-arrows-v: "\f07d"; 58 | @fa-var-asl-interpreting: "\f2a3"; 59 | @fa-var-assistive-listening-systems: "\f2a2"; 60 | @fa-var-asterisk: "\f069"; 61 | @fa-var-at: "\f1fa"; 62 | @fa-var-audio-description: "\f29e"; 63 | @fa-var-automobile: "\f1b9"; 64 | @fa-var-backward: "\f04a"; 65 | @fa-var-balance-scale: "\f24e"; 66 | @fa-var-ban: "\f05e"; 67 | @fa-var-bandcamp: "\f2d5"; 68 | @fa-var-bank: "\f19c"; 69 | @fa-var-bar-chart: "\f080"; 70 | @fa-var-bar-chart-o: "\f080"; 71 | @fa-var-barcode: "\f02a"; 72 | @fa-var-bars: "\f0c9"; 73 | @fa-var-bath: "\f2cd"; 74 | @fa-var-bathtub: "\f2cd"; 75 | @fa-var-battery: "\f240"; 76 | @fa-var-battery-0: "\f244"; 77 | @fa-var-battery-1: "\f243"; 78 | @fa-var-battery-2: "\f242"; 79 | @fa-var-battery-3: "\f241"; 80 | @fa-var-battery-4: "\f240"; 81 | @fa-var-battery-empty: "\f244"; 82 | @fa-var-battery-full: "\f240"; 83 | @fa-var-battery-half: "\f242"; 84 | @fa-var-battery-quarter: "\f243"; 85 | @fa-var-battery-three-quarters: "\f241"; 86 | @fa-var-bed: "\f236"; 87 | @fa-var-beer: "\f0fc"; 88 | @fa-var-behance: "\f1b4"; 89 | @fa-var-behance-square: "\f1b5"; 90 | @fa-var-bell: "\f0f3"; 91 | @fa-var-bell-o: "\f0a2"; 92 | @fa-var-bell-slash: "\f1f6"; 93 | @fa-var-bell-slash-o: "\f1f7"; 94 | @fa-var-bicycle: "\f206"; 95 | @fa-var-binoculars: "\f1e5"; 96 | @fa-var-birthday-cake: "\f1fd"; 97 | @fa-var-bitbucket: "\f171"; 98 | @fa-var-bitbucket-square: "\f172"; 99 | @fa-var-bitcoin: "\f15a"; 100 | @fa-var-black-tie: "\f27e"; 101 | @fa-var-blind: "\f29d"; 102 | @fa-var-bluetooth: "\f293"; 103 | @fa-var-bluetooth-b: "\f294"; 104 | @fa-var-bold: "\f032"; 105 | @fa-var-bolt: "\f0e7"; 106 | @fa-var-bomb: "\f1e2"; 107 | @fa-var-book: "\f02d"; 108 | @fa-var-bookmark: "\f02e"; 109 | @fa-var-bookmark-o: "\f097"; 110 | @fa-var-braille: "\f2a1"; 111 | @fa-var-briefcase: "\f0b1"; 112 | @fa-var-btc: "\f15a"; 113 | @fa-var-bug: "\f188"; 114 | @fa-var-building: "\f1ad"; 115 | @fa-var-building-o: "\f0f7"; 116 | @fa-var-bullhorn: "\f0a1"; 117 | @fa-var-bullseye: "\f140"; 118 | @fa-var-bus: "\f207"; 119 | @fa-var-buysellads: "\f20d"; 120 | @fa-var-cab: "\f1ba"; 121 | @fa-var-calculator: "\f1ec"; 122 | @fa-var-calendar: "\f073"; 123 | @fa-var-calendar-check-o: "\f274"; 124 | @fa-var-calendar-minus-o: "\f272"; 125 | @fa-var-calendar-o: "\f133"; 126 | @fa-var-calendar-plus-o: "\f271"; 127 | @fa-var-calendar-times-o: "\f273"; 128 | @fa-var-camera: "\f030"; 129 | @fa-var-camera-retro: "\f083"; 130 | @fa-var-car: "\f1b9"; 131 | @fa-var-caret-down: "\f0d7"; 132 | @fa-var-caret-left: "\f0d9"; 133 | @fa-var-caret-right: "\f0da"; 134 | @fa-var-caret-square-o-down: "\f150"; 135 | @fa-var-caret-square-o-left: "\f191"; 136 | @fa-var-caret-square-o-right: "\f152"; 137 | @fa-var-caret-square-o-up: "\f151"; 138 | @fa-var-caret-up: "\f0d8"; 139 | @fa-var-cart-arrow-down: "\f218"; 140 | @fa-var-cart-plus: "\f217"; 141 | @fa-var-cc: "\f20a"; 142 | @fa-var-cc-amex: "\f1f3"; 143 | @fa-var-cc-diners-club: "\f24c"; 144 | @fa-var-cc-discover: "\f1f2"; 145 | @fa-var-cc-jcb: "\f24b"; 146 | @fa-var-cc-mastercard: "\f1f1"; 147 | @fa-var-cc-paypal: "\f1f4"; 148 | @fa-var-cc-stripe: "\f1f5"; 149 | @fa-var-cc-visa: "\f1f0"; 150 | @fa-var-certificate: "\f0a3"; 151 | @fa-var-chain: "\f0c1"; 152 | @fa-var-chain-broken: "\f127"; 153 | @fa-var-check: "\f00c"; 154 | @fa-var-check-circle: "\f058"; 155 | @fa-var-check-circle-o: "\f05d"; 156 | @fa-var-check-square: "\f14a"; 157 | @fa-var-check-square-o: "\f046"; 158 | @fa-var-chevron-circle-down: "\f13a"; 159 | @fa-var-chevron-circle-left: "\f137"; 160 | @fa-var-chevron-circle-right: "\f138"; 161 | @fa-var-chevron-circle-up: "\f139"; 162 | @fa-var-chevron-down: "\f078"; 163 | @fa-var-chevron-left: "\f053"; 164 | @fa-var-chevron-right: "\f054"; 165 | @fa-var-chevron-up: "\f077"; 166 | @fa-var-child: "\f1ae"; 167 | @fa-var-chrome: "\f268"; 168 | @fa-var-circle: "\f111"; 169 | @fa-var-circle-o: "\f10c"; 170 | @fa-var-circle-o-notch: "\f1ce"; 171 | @fa-var-circle-thin: "\f1db"; 172 | @fa-var-clipboard: "\f0ea"; 173 | @fa-var-clock-o: "\f017"; 174 | @fa-var-clone: "\f24d"; 175 | @fa-var-close: "\f00d"; 176 | @fa-var-cloud: "\f0c2"; 177 | @fa-var-cloud-download: "\f0ed"; 178 | @fa-var-cloud-upload: "\f0ee"; 179 | @fa-var-cny: "\f157"; 180 | @fa-var-code: "\f121"; 181 | @fa-var-code-fork: "\f126"; 182 | @fa-var-codepen: "\f1cb"; 183 | @fa-var-codiepie: "\f284"; 184 | @fa-var-coffee: "\f0f4"; 185 | @fa-var-cog: "\f013"; 186 | @fa-var-cogs: "\f085"; 187 | @fa-var-columns: "\f0db"; 188 | @fa-var-comment: "\f075"; 189 | @fa-var-comment-o: "\f0e5"; 190 | @fa-var-commenting: "\f27a"; 191 | @fa-var-commenting-o: "\f27b"; 192 | @fa-var-comments: "\f086"; 193 | @fa-var-comments-o: "\f0e6"; 194 | @fa-var-compass: "\f14e"; 195 | @fa-var-compress: "\f066"; 196 | @fa-var-connectdevelop: "\f20e"; 197 | @fa-var-contao: "\f26d"; 198 | @fa-var-copy: "\f0c5"; 199 | @fa-var-copyright: "\f1f9"; 200 | @fa-var-creative-commons: "\f25e"; 201 | @fa-var-credit-card: "\f09d"; 202 | @fa-var-credit-card-alt: "\f283"; 203 | @fa-var-crop: "\f125"; 204 | @fa-var-crosshairs: "\f05b"; 205 | @fa-var-css3: "\f13c"; 206 | @fa-var-cube: "\f1b2"; 207 | @fa-var-cubes: "\f1b3"; 208 | @fa-var-cut: "\f0c4"; 209 | @fa-var-cutlery: "\f0f5"; 210 | @fa-var-dashboard: "\f0e4"; 211 | @fa-var-dashcube: "\f210"; 212 | @fa-var-database: "\f1c0"; 213 | @fa-var-deaf: "\f2a4"; 214 | @fa-var-deafness: "\f2a4"; 215 | @fa-var-dedent: "\f03b"; 216 | @fa-var-delicious: "\f1a5"; 217 | @fa-var-desktop: "\f108"; 218 | @fa-var-deviantart: "\f1bd"; 219 | @fa-var-diamond: "\f219"; 220 | @fa-var-digg: "\f1a6"; 221 | @fa-var-dollar: "\f155"; 222 | @fa-var-dot-circle-o: "\f192"; 223 | @fa-var-download: "\f019"; 224 | @fa-var-dribbble: "\f17d"; 225 | @fa-var-drivers-license: "\f2c2"; 226 | @fa-var-drivers-license-o: "\f2c3"; 227 | @fa-var-dropbox: "\f16b"; 228 | @fa-var-drupal: "\f1a9"; 229 | @fa-var-edge: "\f282"; 230 | @fa-var-edit: "\f044"; 231 | @fa-var-eercast: "\f2da"; 232 | @fa-var-eject: "\f052"; 233 | @fa-var-ellipsis-h: "\f141"; 234 | @fa-var-ellipsis-v: "\f142"; 235 | @fa-var-empire: "\f1d1"; 236 | @fa-var-envelope: "\f0e0"; 237 | @fa-var-envelope-o: "\f003"; 238 | @fa-var-envelope-open: "\f2b6"; 239 | @fa-var-envelope-open-o: "\f2b7"; 240 | @fa-var-envelope-square: "\f199"; 241 | @fa-var-envira: "\f299"; 242 | @fa-var-eraser: "\f12d"; 243 | @fa-var-etsy: "\f2d7"; 244 | @fa-var-eur: "\f153"; 245 | @fa-var-euro: "\f153"; 246 | @fa-var-exchange: "\f0ec"; 247 | @fa-var-exclamation: "\f12a"; 248 | @fa-var-exclamation-circle: "\f06a"; 249 | @fa-var-exclamation-triangle: "\f071"; 250 | @fa-var-expand: "\f065"; 251 | @fa-var-expeditedssl: "\f23e"; 252 | @fa-var-external-link: "\f08e"; 253 | @fa-var-external-link-square: "\f14c"; 254 | @fa-var-eye: "\f06e"; 255 | @fa-var-eye-slash: "\f070"; 256 | @fa-var-eyedropper: "\f1fb"; 257 | @fa-var-fa: "\f2b4"; 258 | @fa-var-facebook: "\f09a"; 259 | @fa-var-facebook-f: "\f09a"; 260 | @fa-var-facebook-official: "\f230"; 261 | @fa-var-facebook-square: "\f082"; 262 | @fa-var-fast-backward: "\f049"; 263 | @fa-var-fast-forward: "\f050"; 264 | @fa-var-fax: "\f1ac"; 265 | @fa-var-feed: "\f09e"; 266 | @fa-var-female: "\f182"; 267 | @fa-var-fighter-jet: "\f0fb"; 268 | @fa-var-file: "\f15b"; 269 | @fa-var-file-archive-o: "\f1c6"; 270 | @fa-var-file-audio-o: "\f1c7"; 271 | @fa-var-file-code-o: "\f1c9"; 272 | @fa-var-file-excel-o: "\f1c3"; 273 | @fa-var-file-image-o: "\f1c5"; 274 | @fa-var-file-movie-o: "\f1c8"; 275 | @fa-var-file-o: "\f016"; 276 | @fa-var-file-pdf-o: "\f1c1"; 277 | @fa-var-file-photo-o: "\f1c5"; 278 | @fa-var-file-picture-o: "\f1c5"; 279 | @fa-var-file-powerpoint-o: "\f1c4"; 280 | @fa-var-file-sound-o: "\f1c7"; 281 | @fa-var-file-text: "\f15c"; 282 | @fa-var-file-text-o: "\f0f6"; 283 | @fa-var-file-video-o: "\f1c8"; 284 | @fa-var-file-word-o: "\f1c2"; 285 | @fa-var-file-zip-o: "\f1c6"; 286 | @fa-var-files-o: "\f0c5"; 287 | @fa-var-film: "\f008"; 288 | @fa-var-filter: "\f0b0"; 289 | @fa-var-fire: "\f06d"; 290 | @fa-var-fire-extinguisher: "\f134"; 291 | @fa-var-firefox: "\f269"; 292 | @fa-var-first-order: "\f2b0"; 293 | @fa-var-flag: "\f024"; 294 | @fa-var-flag-checkered: "\f11e"; 295 | @fa-var-flag-o: "\f11d"; 296 | @fa-var-flash: "\f0e7"; 297 | @fa-var-flask: "\f0c3"; 298 | @fa-var-flickr: "\f16e"; 299 | @fa-var-floppy-o: "\f0c7"; 300 | @fa-var-folder: "\f07b"; 301 | @fa-var-folder-o: "\f114"; 302 | @fa-var-folder-open: "\f07c"; 303 | @fa-var-folder-open-o: "\f115"; 304 | @fa-var-font: "\f031"; 305 | @fa-var-font-awesome: "\f2b4"; 306 | @fa-var-fonticons: "\f280"; 307 | @fa-var-fort-awesome: "\f286"; 308 | @fa-var-forumbee: "\f211"; 309 | @fa-var-forward: "\f04e"; 310 | @fa-var-foursquare: "\f180"; 311 | @fa-var-free-code-camp: "\f2c5"; 312 | @fa-var-frown-o: "\f119"; 313 | @fa-var-futbol-o: "\f1e3"; 314 | @fa-var-gamepad: "\f11b"; 315 | @fa-var-gavel: "\f0e3"; 316 | @fa-var-gbp: "\f154"; 317 | @fa-var-ge: "\f1d1"; 318 | @fa-var-gear: "\f013"; 319 | @fa-var-gears: "\f085"; 320 | @fa-var-genderless: "\f22d"; 321 | @fa-var-get-pocket: "\f265"; 322 | @fa-var-gg: "\f260"; 323 | @fa-var-gg-circle: "\f261"; 324 | @fa-var-gift: "\f06b"; 325 | @fa-var-git: "\f1d3"; 326 | @fa-var-git-square: "\f1d2"; 327 | @fa-var-github: "\f09b"; 328 | @fa-var-github-alt: "\f113"; 329 | @fa-var-github-square: "\f092"; 330 | @fa-var-gitlab: "\f296"; 331 | @fa-var-gittip: "\f184"; 332 | @fa-var-glass: "\f000"; 333 | @fa-var-glide: "\f2a5"; 334 | @fa-var-glide-g: "\f2a6"; 335 | @fa-var-globe: "\f0ac"; 336 | @fa-var-google: "\f1a0"; 337 | @fa-var-google-plus: "\f0d5"; 338 | @fa-var-google-plus-circle: "\f2b3"; 339 | @fa-var-google-plus-official: "\f2b3"; 340 | @fa-var-google-plus-square: "\f0d4"; 341 | @fa-var-google-wallet: "\f1ee"; 342 | @fa-var-graduation-cap: "\f19d"; 343 | @fa-var-gratipay: "\f184"; 344 | @fa-var-grav: "\f2d6"; 345 | @fa-var-group: "\f0c0"; 346 | @fa-var-h-square: "\f0fd"; 347 | @fa-var-hacker-news: "\f1d4"; 348 | @fa-var-hand-grab-o: "\f255"; 349 | @fa-var-hand-lizard-o: "\f258"; 350 | @fa-var-hand-o-down: "\f0a7"; 351 | @fa-var-hand-o-left: "\f0a5"; 352 | @fa-var-hand-o-right: "\f0a4"; 353 | @fa-var-hand-o-up: "\f0a6"; 354 | @fa-var-hand-paper-o: "\f256"; 355 | @fa-var-hand-peace-o: "\f25b"; 356 | @fa-var-hand-pointer-o: "\f25a"; 357 | @fa-var-hand-rock-o: "\f255"; 358 | @fa-var-hand-scissors-o: "\f257"; 359 | @fa-var-hand-spock-o: "\f259"; 360 | @fa-var-hand-stop-o: "\f256"; 361 | @fa-var-handshake-o: "\f2b5"; 362 | @fa-var-hard-of-hearing: "\f2a4"; 363 | @fa-var-hashtag: "\f292"; 364 | @fa-var-hdd-o: "\f0a0"; 365 | @fa-var-header: "\f1dc"; 366 | @fa-var-headphones: "\f025"; 367 | @fa-var-heart: "\f004"; 368 | @fa-var-heart-o: "\f08a"; 369 | @fa-var-heartbeat: "\f21e"; 370 | @fa-var-history: "\f1da"; 371 | @fa-var-home: "\f015"; 372 | @fa-var-hospital-o: "\f0f8"; 373 | @fa-var-hotel: "\f236"; 374 | @fa-var-hourglass: "\f254"; 375 | @fa-var-hourglass-1: "\f251"; 376 | @fa-var-hourglass-2: "\f252"; 377 | @fa-var-hourglass-3: "\f253"; 378 | @fa-var-hourglass-end: "\f253"; 379 | @fa-var-hourglass-half: "\f252"; 380 | @fa-var-hourglass-o: "\f250"; 381 | @fa-var-hourglass-start: "\f251"; 382 | @fa-var-houzz: "\f27c"; 383 | @fa-var-html5: "\f13b"; 384 | @fa-var-i-cursor: "\f246"; 385 | @fa-var-id-badge: "\f2c1"; 386 | @fa-var-id-card: "\f2c2"; 387 | @fa-var-id-card-o: "\f2c3"; 388 | @fa-var-ils: "\f20b"; 389 | @fa-var-image: "\f03e"; 390 | @fa-var-imdb: "\f2d8"; 391 | @fa-var-inbox: "\f01c"; 392 | @fa-var-indent: "\f03c"; 393 | @fa-var-industry: "\f275"; 394 | @fa-var-info: "\f129"; 395 | @fa-var-info-circle: "\f05a"; 396 | @fa-var-inr: "\f156"; 397 | @fa-var-instagram: "\f16d"; 398 | @fa-var-institution: "\f19c"; 399 | @fa-var-internet-explorer: "\f26b"; 400 | @fa-var-intersex: "\f224"; 401 | @fa-var-ioxhost: "\f208"; 402 | @fa-var-italic: "\f033"; 403 | @fa-var-joomla: "\f1aa"; 404 | @fa-var-jpy: "\f157"; 405 | @fa-var-jsfiddle: "\f1cc"; 406 | @fa-var-key: "\f084"; 407 | @fa-var-keyboard-o: "\f11c"; 408 | @fa-var-krw: "\f159"; 409 | @fa-var-language: "\f1ab"; 410 | @fa-var-laptop: "\f109"; 411 | @fa-var-lastfm: "\f202"; 412 | @fa-var-lastfm-square: "\f203"; 413 | @fa-var-leaf: "\f06c"; 414 | @fa-var-leanpub: "\f212"; 415 | @fa-var-legal: "\f0e3"; 416 | @fa-var-lemon-o: "\f094"; 417 | @fa-var-level-down: "\f149"; 418 | @fa-var-level-up: "\f148"; 419 | @fa-var-life-bouy: "\f1cd"; 420 | @fa-var-life-buoy: "\f1cd"; 421 | @fa-var-life-ring: "\f1cd"; 422 | @fa-var-life-saver: "\f1cd"; 423 | @fa-var-lightbulb-o: "\f0eb"; 424 | @fa-var-line-chart: "\f201"; 425 | @fa-var-link: "\f0c1"; 426 | @fa-var-linkedin: "\f0e1"; 427 | @fa-var-linkedin-square: "\f08c"; 428 | @fa-var-linode: "\f2b8"; 429 | @fa-var-linux: "\f17c"; 430 | @fa-var-list: "\f03a"; 431 | @fa-var-list-alt: "\f022"; 432 | @fa-var-list-ol: "\f0cb"; 433 | @fa-var-list-ul: "\f0ca"; 434 | @fa-var-location-arrow: "\f124"; 435 | @fa-var-lock: "\f023"; 436 | @fa-var-long-arrow-down: "\f175"; 437 | @fa-var-long-arrow-left: "\f177"; 438 | @fa-var-long-arrow-right: "\f178"; 439 | @fa-var-long-arrow-up: "\f176"; 440 | @fa-var-low-vision: "\f2a8"; 441 | @fa-var-magic: "\f0d0"; 442 | @fa-var-magnet: "\f076"; 443 | @fa-var-mail-forward: "\f064"; 444 | @fa-var-mail-reply: "\f112"; 445 | @fa-var-mail-reply-all: "\f122"; 446 | @fa-var-male: "\f183"; 447 | @fa-var-map: "\f279"; 448 | @fa-var-map-marker: "\f041"; 449 | @fa-var-map-o: "\f278"; 450 | @fa-var-map-pin: "\f276"; 451 | @fa-var-map-signs: "\f277"; 452 | @fa-var-mars: "\f222"; 453 | @fa-var-mars-double: "\f227"; 454 | @fa-var-mars-stroke: "\f229"; 455 | @fa-var-mars-stroke-h: "\f22b"; 456 | @fa-var-mars-stroke-v: "\f22a"; 457 | @fa-var-maxcdn: "\f136"; 458 | @fa-var-meanpath: "\f20c"; 459 | @fa-var-medium: "\f23a"; 460 | @fa-var-medkit: "\f0fa"; 461 | @fa-var-meetup: "\f2e0"; 462 | @fa-var-meh-o: "\f11a"; 463 | @fa-var-mercury: "\f223"; 464 | @fa-var-microchip: "\f2db"; 465 | @fa-var-microphone: "\f130"; 466 | @fa-var-microphone-slash: "\f131"; 467 | @fa-var-minus: "\f068"; 468 | @fa-var-minus-circle: "\f056"; 469 | @fa-var-minus-square: "\f146"; 470 | @fa-var-minus-square-o: "\f147"; 471 | @fa-var-mixcloud: "\f289"; 472 | @fa-var-mobile: "\f10b"; 473 | @fa-var-mobile-phone: "\f10b"; 474 | @fa-var-modx: "\f285"; 475 | @fa-var-money: "\f0d6"; 476 | @fa-var-moon-o: "\f186"; 477 | @fa-var-mortar-board: "\f19d"; 478 | @fa-var-motorcycle: "\f21c"; 479 | @fa-var-mouse-pointer: "\f245"; 480 | @fa-var-music: "\f001"; 481 | @fa-var-navicon: "\f0c9"; 482 | @fa-var-neuter: "\f22c"; 483 | @fa-var-newspaper-o: "\f1ea"; 484 | @fa-var-object-group: "\f247"; 485 | @fa-var-object-ungroup: "\f248"; 486 | @fa-var-odnoklassniki: "\f263"; 487 | @fa-var-odnoklassniki-square: "\f264"; 488 | @fa-var-opencart: "\f23d"; 489 | @fa-var-openid: "\f19b"; 490 | @fa-var-opera: "\f26a"; 491 | @fa-var-optin-monster: "\f23c"; 492 | @fa-var-outdent: "\f03b"; 493 | @fa-var-pagelines: "\f18c"; 494 | @fa-var-paint-brush: "\f1fc"; 495 | @fa-var-paper-plane: "\f1d8"; 496 | @fa-var-paper-plane-o: "\f1d9"; 497 | @fa-var-paperclip: "\f0c6"; 498 | @fa-var-paragraph: "\f1dd"; 499 | @fa-var-paste: "\f0ea"; 500 | @fa-var-pause: "\f04c"; 501 | @fa-var-pause-circle: "\f28b"; 502 | @fa-var-pause-circle-o: "\f28c"; 503 | @fa-var-paw: "\f1b0"; 504 | @fa-var-paypal: "\f1ed"; 505 | @fa-var-pencil: "\f040"; 506 | @fa-var-pencil-square: "\f14b"; 507 | @fa-var-pencil-square-o: "\f044"; 508 | @fa-var-percent: "\f295"; 509 | @fa-var-phone: "\f095"; 510 | @fa-var-phone-square: "\f098"; 511 | @fa-var-photo: "\f03e"; 512 | @fa-var-picture-o: "\f03e"; 513 | @fa-var-pie-chart: "\f200"; 514 | @fa-var-pied-piper: "\f2ae"; 515 | @fa-var-pied-piper-alt: "\f1a8"; 516 | @fa-var-pied-piper-pp: "\f1a7"; 517 | @fa-var-pinterest: "\f0d2"; 518 | @fa-var-pinterest-p: "\f231"; 519 | @fa-var-pinterest-square: "\f0d3"; 520 | @fa-var-plane: "\f072"; 521 | @fa-var-play: "\f04b"; 522 | @fa-var-play-circle: "\f144"; 523 | @fa-var-play-circle-o: "\f01d"; 524 | @fa-var-plug: "\f1e6"; 525 | @fa-var-plus: "\f067"; 526 | @fa-var-plus-circle: "\f055"; 527 | @fa-var-plus-square: "\f0fe"; 528 | @fa-var-plus-square-o: "\f196"; 529 | @fa-var-podcast: "\f2ce"; 530 | @fa-var-power-off: "\f011"; 531 | @fa-var-print: "\f02f"; 532 | @fa-var-product-hunt: "\f288"; 533 | @fa-var-puzzle-piece: "\f12e"; 534 | @fa-var-qq: "\f1d6"; 535 | @fa-var-qrcode: "\f029"; 536 | @fa-var-question: "\f128"; 537 | @fa-var-question-circle: "\f059"; 538 | @fa-var-question-circle-o: "\f29c"; 539 | @fa-var-quora: "\f2c4"; 540 | @fa-var-quote-left: "\f10d"; 541 | @fa-var-quote-right: "\f10e"; 542 | @fa-var-ra: "\f1d0"; 543 | @fa-var-random: "\f074"; 544 | @fa-var-ravelry: "\f2d9"; 545 | @fa-var-rebel: "\f1d0"; 546 | @fa-var-recycle: "\f1b8"; 547 | @fa-var-reddit: "\f1a1"; 548 | @fa-var-reddit-alien: "\f281"; 549 | @fa-var-reddit-square: "\f1a2"; 550 | @fa-var-refresh: "\f021"; 551 | @fa-var-registered: "\f25d"; 552 | @fa-var-remove: "\f00d"; 553 | @fa-var-renren: "\f18b"; 554 | @fa-var-reorder: "\f0c9"; 555 | @fa-var-repeat: "\f01e"; 556 | @fa-var-reply: "\f112"; 557 | @fa-var-reply-all: "\f122"; 558 | @fa-var-resistance: "\f1d0"; 559 | @fa-var-retweet: "\f079"; 560 | @fa-var-rmb: "\f157"; 561 | @fa-var-road: "\f018"; 562 | @fa-var-rocket: "\f135"; 563 | @fa-var-rotate-left: "\f0e2"; 564 | @fa-var-rotate-right: "\f01e"; 565 | @fa-var-rouble: "\f158"; 566 | @fa-var-rss: "\f09e"; 567 | @fa-var-rss-square: "\f143"; 568 | @fa-var-rub: "\f158"; 569 | @fa-var-ruble: "\f158"; 570 | @fa-var-rupee: "\f156"; 571 | @fa-var-s15: "\f2cd"; 572 | @fa-var-safari: "\f267"; 573 | @fa-var-save: "\f0c7"; 574 | @fa-var-scissors: "\f0c4"; 575 | @fa-var-scribd: "\f28a"; 576 | @fa-var-search: "\f002"; 577 | @fa-var-search-minus: "\f010"; 578 | @fa-var-search-plus: "\f00e"; 579 | @fa-var-sellsy: "\f213"; 580 | @fa-var-send: "\f1d8"; 581 | @fa-var-send-o: "\f1d9"; 582 | @fa-var-server: "\f233"; 583 | @fa-var-share: "\f064"; 584 | @fa-var-share-alt: "\f1e0"; 585 | @fa-var-share-alt-square: "\f1e1"; 586 | @fa-var-share-square: "\f14d"; 587 | @fa-var-share-square-o: "\f045"; 588 | @fa-var-shekel: "\f20b"; 589 | @fa-var-sheqel: "\f20b"; 590 | @fa-var-shield: "\f132"; 591 | @fa-var-ship: "\f21a"; 592 | @fa-var-shirtsinbulk: "\f214"; 593 | @fa-var-shopping-bag: "\f290"; 594 | @fa-var-shopping-basket: "\f291"; 595 | @fa-var-shopping-cart: "\f07a"; 596 | @fa-var-shower: "\f2cc"; 597 | @fa-var-sign-in: "\f090"; 598 | @fa-var-sign-language: "\f2a7"; 599 | @fa-var-sign-out: "\f08b"; 600 | @fa-var-signal: "\f012"; 601 | @fa-var-signing: "\f2a7"; 602 | @fa-var-simplybuilt: "\f215"; 603 | @fa-var-sitemap: "\f0e8"; 604 | @fa-var-skyatlas: "\f216"; 605 | @fa-var-skype: "\f17e"; 606 | @fa-var-slack: "\f198"; 607 | @fa-var-sliders: "\f1de"; 608 | @fa-var-slideshare: "\f1e7"; 609 | @fa-var-smile-o: "\f118"; 610 | @fa-var-snapchat: "\f2ab"; 611 | @fa-var-snapchat-ghost: "\f2ac"; 612 | @fa-var-snapchat-square: "\f2ad"; 613 | @fa-var-snowflake-o: "\f2dc"; 614 | @fa-var-soccer-ball-o: "\f1e3"; 615 | @fa-var-sort: "\f0dc"; 616 | @fa-var-sort-alpha-asc: "\f15d"; 617 | @fa-var-sort-alpha-desc: "\f15e"; 618 | @fa-var-sort-amount-asc: "\f160"; 619 | @fa-var-sort-amount-desc: "\f161"; 620 | @fa-var-sort-asc: "\f0de"; 621 | @fa-var-sort-desc: "\f0dd"; 622 | @fa-var-sort-down: "\f0dd"; 623 | @fa-var-sort-numeric-asc: "\f162"; 624 | @fa-var-sort-numeric-desc: "\f163"; 625 | @fa-var-sort-up: "\f0de"; 626 | @fa-var-soundcloud: "\f1be"; 627 | @fa-var-space-shuttle: "\f197"; 628 | @fa-var-spinner: "\f110"; 629 | @fa-var-spoon: "\f1b1"; 630 | @fa-var-spotify: "\f1bc"; 631 | @fa-var-square: "\f0c8"; 632 | @fa-var-square-o: "\f096"; 633 | @fa-var-stack-exchange: "\f18d"; 634 | @fa-var-stack-overflow: "\f16c"; 635 | @fa-var-star: "\f005"; 636 | @fa-var-star-half: "\f089"; 637 | @fa-var-star-half-empty: "\f123"; 638 | @fa-var-star-half-full: "\f123"; 639 | @fa-var-star-half-o: "\f123"; 640 | @fa-var-star-o: "\f006"; 641 | @fa-var-steam: "\f1b6"; 642 | @fa-var-steam-square: "\f1b7"; 643 | @fa-var-step-backward: "\f048"; 644 | @fa-var-step-forward: "\f051"; 645 | @fa-var-stethoscope: "\f0f1"; 646 | @fa-var-sticky-note: "\f249"; 647 | @fa-var-sticky-note-o: "\f24a"; 648 | @fa-var-stop: "\f04d"; 649 | @fa-var-stop-circle: "\f28d"; 650 | @fa-var-stop-circle-o: "\f28e"; 651 | @fa-var-street-view: "\f21d"; 652 | @fa-var-strikethrough: "\f0cc"; 653 | @fa-var-stumbleupon: "\f1a4"; 654 | @fa-var-stumbleupon-circle: "\f1a3"; 655 | @fa-var-subscript: "\f12c"; 656 | @fa-var-subway: "\f239"; 657 | @fa-var-suitcase: "\f0f2"; 658 | @fa-var-sun-o: "\f185"; 659 | @fa-var-superpowers: "\f2dd"; 660 | @fa-var-superscript: "\f12b"; 661 | @fa-var-support: "\f1cd"; 662 | @fa-var-table: "\f0ce"; 663 | @fa-var-tablet: "\f10a"; 664 | @fa-var-tachometer: "\f0e4"; 665 | @fa-var-tag: "\f02b"; 666 | @fa-var-tags: "\f02c"; 667 | @fa-var-tasks: "\f0ae"; 668 | @fa-var-taxi: "\f1ba"; 669 | @fa-var-telegram: "\f2c6"; 670 | @fa-var-television: "\f26c"; 671 | @fa-var-tencent-weibo: "\f1d5"; 672 | @fa-var-terminal: "\f120"; 673 | @fa-var-text-height: "\f034"; 674 | @fa-var-text-width: "\f035"; 675 | @fa-var-th: "\f00a"; 676 | @fa-var-th-large: "\f009"; 677 | @fa-var-th-list: "\f00b"; 678 | @fa-var-themeisle: "\f2b2"; 679 | @fa-var-thermometer: "\f2c7"; 680 | @fa-var-thermometer-0: "\f2cb"; 681 | @fa-var-thermometer-1: "\f2ca"; 682 | @fa-var-thermometer-2: "\f2c9"; 683 | @fa-var-thermometer-3: "\f2c8"; 684 | @fa-var-thermometer-4: "\f2c7"; 685 | @fa-var-thermometer-empty: "\f2cb"; 686 | @fa-var-thermometer-full: "\f2c7"; 687 | @fa-var-thermometer-half: "\f2c9"; 688 | @fa-var-thermometer-quarter: "\f2ca"; 689 | @fa-var-thermometer-three-quarters: "\f2c8"; 690 | @fa-var-thumb-tack: "\f08d"; 691 | @fa-var-thumbs-down: "\f165"; 692 | @fa-var-thumbs-o-down: "\f088"; 693 | @fa-var-thumbs-o-up: "\f087"; 694 | @fa-var-thumbs-up: "\f164"; 695 | @fa-var-ticket: "\f145"; 696 | @fa-var-times: "\f00d"; 697 | @fa-var-times-circle: "\f057"; 698 | @fa-var-times-circle-o: "\f05c"; 699 | @fa-var-times-rectangle: "\f2d3"; 700 | @fa-var-times-rectangle-o: "\f2d4"; 701 | @fa-var-tint: "\f043"; 702 | @fa-var-toggle-down: "\f150"; 703 | @fa-var-toggle-left: "\f191"; 704 | @fa-var-toggle-off: "\f204"; 705 | @fa-var-toggle-on: "\f205"; 706 | @fa-var-toggle-right: "\f152"; 707 | @fa-var-toggle-up: "\f151"; 708 | @fa-var-trademark: "\f25c"; 709 | @fa-var-train: "\f238"; 710 | @fa-var-transgender: "\f224"; 711 | @fa-var-transgender-alt: "\f225"; 712 | @fa-var-trash: "\f1f8"; 713 | @fa-var-trash-o: "\f014"; 714 | @fa-var-tree: "\f1bb"; 715 | @fa-var-trello: "\f181"; 716 | @fa-var-tripadvisor: "\f262"; 717 | @fa-var-trophy: "\f091"; 718 | @fa-var-truck: "\f0d1"; 719 | @fa-var-try: "\f195"; 720 | @fa-var-tty: "\f1e4"; 721 | @fa-var-tumblr: "\f173"; 722 | @fa-var-tumblr-square: "\f174"; 723 | @fa-var-turkish-lira: "\f195"; 724 | @fa-var-tv: "\f26c"; 725 | @fa-var-twitch: "\f1e8"; 726 | @fa-var-twitter: "\f099"; 727 | @fa-var-twitter-square: "\f081"; 728 | @fa-var-umbrella: "\f0e9"; 729 | @fa-var-underline: "\f0cd"; 730 | @fa-var-undo: "\f0e2"; 731 | @fa-var-universal-access: "\f29a"; 732 | @fa-var-university: "\f19c"; 733 | @fa-var-unlink: "\f127"; 734 | @fa-var-unlock: "\f09c"; 735 | @fa-var-unlock-alt: "\f13e"; 736 | @fa-var-unsorted: "\f0dc"; 737 | @fa-var-upload: "\f093"; 738 | @fa-var-usb: "\f287"; 739 | @fa-var-usd: "\f155"; 740 | @fa-var-user: "\f007"; 741 | @fa-var-user-circle: "\f2bd"; 742 | @fa-var-user-circle-o: "\f2be"; 743 | @fa-var-user-md: "\f0f0"; 744 | @fa-var-user-o: "\f2c0"; 745 | @fa-var-user-plus: "\f234"; 746 | @fa-var-user-secret: "\f21b"; 747 | @fa-var-user-times: "\f235"; 748 | @fa-var-users: "\f0c0"; 749 | @fa-var-vcard: "\f2bb"; 750 | @fa-var-vcard-o: "\f2bc"; 751 | @fa-var-venus: "\f221"; 752 | @fa-var-venus-double: "\f226"; 753 | @fa-var-venus-mars: "\f228"; 754 | @fa-var-viacoin: "\f237"; 755 | @fa-var-viadeo: "\f2a9"; 756 | @fa-var-viadeo-square: "\f2aa"; 757 | @fa-var-video-camera: "\f03d"; 758 | @fa-var-vimeo: "\f27d"; 759 | @fa-var-vimeo-square: "\f194"; 760 | @fa-var-vine: "\f1ca"; 761 | @fa-var-vk: "\f189"; 762 | @fa-var-volume-control-phone: "\f2a0"; 763 | @fa-var-volume-down: "\f027"; 764 | @fa-var-volume-off: "\f026"; 765 | @fa-var-volume-up: "\f028"; 766 | @fa-var-warning: "\f071"; 767 | @fa-var-wechat: "\f1d7"; 768 | @fa-var-weibo: "\f18a"; 769 | @fa-var-weixin: "\f1d7"; 770 | @fa-var-whatsapp: "\f232"; 771 | @fa-var-wheelchair: "\f193"; 772 | @fa-var-wheelchair-alt: "\f29b"; 773 | @fa-var-wifi: "\f1eb"; 774 | @fa-var-wikipedia-w: "\f266"; 775 | @fa-var-window-close: "\f2d3"; 776 | @fa-var-window-close-o: "\f2d4"; 777 | @fa-var-window-maximize: "\f2d0"; 778 | @fa-var-window-minimize: "\f2d1"; 779 | @fa-var-window-restore: "\f2d2"; 780 | @fa-var-windows: "\f17a"; 781 | @fa-var-won: "\f159"; 782 | @fa-var-wordpress: "\f19a"; 783 | @fa-var-wpbeginner: "\f297"; 784 | @fa-var-wpexplorer: "\f2de"; 785 | @fa-var-wpforms: "\f298"; 786 | @fa-var-wrench: "\f0ad"; 787 | @fa-var-xing: "\f168"; 788 | @fa-var-xing-square: "\f169"; 789 | @fa-var-y-combinator: "\f23b"; 790 | @fa-var-y-combinator-square: "\f1d4"; 791 | @fa-var-yahoo: "\f19e"; 792 | @fa-var-yc: "\f23b"; 793 | @fa-var-yc-square: "\f1d4"; 794 | @fa-var-yelp: "\f1e9"; 795 | @fa-var-yen: "\f157"; 796 | @fa-var-yoast: "\f2b1"; 797 | @fa-var-youtube: "\f167"; 798 | @fa-var-youtube-play: "\f16a"; 799 | @fa-var-youtube-square: "\f166"; 800 | 801 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/scss/_variables.scss: -------------------------------------------------------------------------------- 1 | // Variables 2 | // -------------------------- 3 | 4 | $fa-font-path: "../fonts" !default; 5 | $fa-font-size-base: 14px !default; 6 | $fa-line-height-base: 1 !default; 7 | //$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly 8 | $fa-css-prefix: fa !default; 9 | $fa-version: "4.7.0" !default; 10 | $fa-border-color: #eee !default; 11 | $fa-inverse: #fff !default; 12 | $fa-li-width: (30em / 14) !default; 13 | 14 | $fa-var-500px: "\f26e"; 15 | $fa-var-address-book: "\f2b9"; 16 | $fa-var-address-book-o: "\f2ba"; 17 | $fa-var-address-card: "\f2bb"; 18 | $fa-var-address-card-o: "\f2bc"; 19 | $fa-var-adjust: "\f042"; 20 | $fa-var-adn: "\f170"; 21 | $fa-var-align-center: "\f037"; 22 | $fa-var-align-justify: "\f039"; 23 | $fa-var-align-left: "\f036"; 24 | $fa-var-align-right: "\f038"; 25 | $fa-var-amazon: "\f270"; 26 | $fa-var-ambulance: "\f0f9"; 27 | $fa-var-american-sign-language-interpreting: "\f2a3"; 28 | $fa-var-anchor: "\f13d"; 29 | $fa-var-android: "\f17b"; 30 | $fa-var-angellist: "\f209"; 31 | $fa-var-angle-double-down: "\f103"; 32 | $fa-var-angle-double-left: "\f100"; 33 | $fa-var-angle-double-right: "\f101"; 34 | $fa-var-angle-double-up: "\f102"; 35 | $fa-var-angle-down: "\f107"; 36 | $fa-var-angle-left: "\f104"; 37 | $fa-var-angle-right: "\f105"; 38 | $fa-var-angle-up: "\f106"; 39 | $fa-var-apple: "\f179"; 40 | $fa-var-archive: "\f187"; 41 | $fa-var-area-chart: "\f1fe"; 42 | $fa-var-arrow-circle-down: "\f0ab"; 43 | $fa-var-arrow-circle-left: "\f0a8"; 44 | $fa-var-arrow-circle-o-down: "\f01a"; 45 | $fa-var-arrow-circle-o-left: "\f190"; 46 | $fa-var-arrow-circle-o-right: "\f18e"; 47 | $fa-var-arrow-circle-o-up: "\f01b"; 48 | $fa-var-arrow-circle-right: "\f0a9"; 49 | $fa-var-arrow-circle-up: "\f0aa"; 50 | $fa-var-arrow-down: "\f063"; 51 | $fa-var-arrow-left: "\f060"; 52 | $fa-var-arrow-right: "\f061"; 53 | $fa-var-arrow-up: "\f062"; 54 | $fa-var-arrows: "\f047"; 55 | $fa-var-arrows-alt: "\f0b2"; 56 | $fa-var-arrows-h: "\f07e"; 57 | $fa-var-arrows-v: "\f07d"; 58 | $fa-var-asl-interpreting: "\f2a3"; 59 | $fa-var-assistive-listening-systems: "\f2a2"; 60 | $fa-var-asterisk: "\f069"; 61 | $fa-var-at: "\f1fa"; 62 | $fa-var-audio-description: "\f29e"; 63 | $fa-var-automobile: "\f1b9"; 64 | $fa-var-backward: "\f04a"; 65 | $fa-var-balance-scale: "\f24e"; 66 | $fa-var-ban: "\f05e"; 67 | $fa-var-bandcamp: "\f2d5"; 68 | $fa-var-bank: "\f19c"; 69 | $fa-var-bar-chart: "\f080"; 70 | $fa-var-bar-chart-o: "\f080"; 71 | $fa-var-barcode: "\f02a"; 72 | $fa-var-bars: "\f0c9"; 73 | $fa-var-bath: "\f2cd"; 74 | $fa-var-bathtub: "\f2cd"; 75 | $fa-var-battery: "\f240"; 76 | $fa-var-battery-0: "\f244"; 77 | $fa-var-battery-1: "\f243"; 78 | $fa-var-battery-2: "\f242"; 79 | $fa-var-battery-3: "\f241"; 80 | $fa-var-battery-4: "\f240"; 81 | $fa-var-battery-empty: "\f244"; 82 | $fa-var-battery-full: "\f240"; 83 | $fa-var-battery-half: "\f242"; 84 | $fa-var-battery-quarter: "\f243"; 85 | $fa-var-battery-three-quarters: "\f241"; 86 | $fa-var-bed: "\f236"; 87 | $fa-var-beer: "\f0fc"; 88 | $fa-var-behance: "\f1b4"; 89 | $fa-var-behance-square: "\f1b5"; 90 | $fa-var-bell: "\f0f3"; 91 | $fa-var-bell-o: "\f0a2"; 92 | $fa-var-bell-slash: "\f1f6"; 93 | $fa-var-bell-slash-o: "\f1f7"; 94 | $fa-var-bicycle: "\f206"; 95 | $fa-var-binoculars: "\f1e5"; 96 | $fa-var-birthday-cake: "\f1fd"; 97 | $fa-var-bitbucket: "\f171"; 98 | $fa-var-bitbucket-square: "\f172"; 99 | $fa-var-bitcoin: "\f15a"; 100 | $fa-var-black-tie: "\f27e"; 101 | $fa-var-blind: "\f29d"; 102 | $fa-var-bluetooth: "\f293"; 103 | $fa-var-bluetooth-b: "\f294"; 104 | $fa-var-bold: "\f032"; 105 | $fa-var-bolt: "\f0e7"; 106 | $fa-var-bomb: "\f1e2"; 107 | $fa-var-book: "\f02d"; 108 | $fa-var-bookmark: "\f02e"; 109 | $fa-var-bookmark-o: "\f097"; 110 | $fa-var-braille: "\f2a1"; 111 | $fa-var-briefcase: "\f0b1"; 112 | $fa-var-btc: "\f15a"; 113 | $fa-var-bug: "\f188"; 114 | $fa-var-building: "\f1ad"; 115 | $fa-var-building-o: "\f0f7"; 116 | $fa-var-bullhorn: "\f0a1"; 117 | $fa-var-bullseye: "\f140"; 118 | $fa-var-bus: "\f207"; 119 | $fa-var-buysellads: "\f20d"; 120 | $fa-var-cab: "\f1ba"; 121 | $fa-var-calculator: "\f1ec"; 122 | $fa-var-calendar: "\f073"; 123 | $fa-var-calendar-check-o: "\f274"; 124 | $fa-var-calendar-minus-o: "\f272"; 125 | $fa-var-calendar-o: "\f133"; 126 | $fa-var-calendar-plus-o: "\f271"; 127 | $fa-var-calendar-times-o: "\f273"; 128 | $fa-var-camera: "\f030"; 129 | $fa-var-camera-retro: "\f083"; 130 | $fa-var-car: "\f1b9"; 131 | $fa-var-caret-down: "\f0d7"; 132 | $fa-var-caret-left: "\f0d9"; 133 | $fa-var-caret-right: "\f0da"; 134 | $fa-var-caret-square-o-down: "\f150"; 135 | $fa-var-caret-square-o-left: "\f191"; 136 | $fa-var-caret-square-o-right: "\f152"; 137 | $fa-var-caret-square-o-up: "\f151"; 138 | $fa-var-caret-up: "\f0d8"; 139 | $fa-var-cart-arrow-down: "\f218"; 140 | $fa-var-cart-plus: "\f217"; 141 | $fa-var-cc: "\f20a"; 142 | $fa-var-cc-amex: "\f1f3"; 143 | $fa-var-cc-diners-club: "\f24c"; 144 | $fa-var-cc-discover: "\f1f2"; 145 | $fa-var-cc-jcb: "\f24b"; 146 | $fa-var-cc-mastercard: "\f1f1"; 147 | $fa-var-cc-paypal: "\f1f4"; 148 | $fa-var-cc-stripe: "\f1f5"; 149 | $fa-var-cc-visa: "\f1f0"; 150 | $fa-var-certificate: "\f0a3"; 151 | $fa-var-chain: "\f0c1"; 152 | $fa-var-chain-broken: "\f127"; 153 | $fa-var-check: "\f00c"; 154 | $fa-var-check-circle: "\f058"; 155 | $fa-var-check-circle-o: "\f05d"; 156 | $fa-var-check-square: "\f14a"; 157 | $fa-var-check-square-o: "\f046"; 158 | $fa-var-chevron-circle-down: "\f13a"; 159 | $fa-var-chevron-circle-left: "\f137"; 160 | $fa-var-chevron-circle-right: "\f138"; 161 | $fa-var-chevron-circle-up: "\f139"; 162 | $fa-var-chevron-down: "\f078"; 163 | $fa-var-chevron-left: "\f053"; 164 | $fa-var-chevron-right: "\f054"; 165 | $fa-var-chevron-up: "\f077"; 166 | $fa-var-child: "\f1ae"; 167 | $fa-var-chrome: "\f268"; 168 | $fa-var-circle: "\f111"; 169 | $fa-var-circle-o: "\f10c"; 170 | $fa-var-circle-o-notch: "\f1ce"; 171 | $fa-var-circle-thin: "\f1db"; 172 | $fa-var-clipboard: "\f0ea"; 173 | $fa-var-clock-o: "\f017"; 174 | $fa-var-clone: "\f24d"; 175 | $fa-var-close: "\f00d"; 176 | $fa-var-cloud: "\f0c2"; 177 | $fa-var-cloud-download: "\f0ed"; 178 | $fa-var-cloud-upload: "\f0ee"; 179 | $fa-var-cny: "\f157"; 180 | $fa-var-code: "\f121"; 181 | $fa-var-code-fork: "\f126"; 182 | $fa-var-codepen: "\f1cb"; 183 | $fa-var-codiepie: "\f284"; 184 | $fa-var-coffee: "\f0f4"; 185 | $fa-var-cog: "\f013"; 186 | $fa-var-cogs: "\f085"; 187 | $fa-var-columns: "\f0db"; 188 | $fa-var-comment: "\f075"; 189 | $fa-var-comment-o: "\f0e5"; 190 | $fa-var-commenting: "\f27a"; 191 | $fa-var-commenting-o: "\f27b"; 192 | $fa-var-comments: "\f086"; 193 | $fa-var-comments-o: "\f0e6"; 194 | $fa-var-compass: "\f14e"; 195 | $fa-var-compress: "\f066"; 196 | $fa-var-connectdevelop: "\f20e"; 197 | $fa-var-contao: "\f26d"; 198 | $fa-var-copy: "\f0c5"; 199 | $fa-var-copyright: "\f1f9"; 200 | $fa-var-creative-commons: "\f25e"; 201 | $fa-var-credit-card: "\f09d"; 202 | $fa-var-credit-card-alt: "\f283"; 203 | $fa-var-crop: "\f125"; 204 | $fa-var-crosshairs: "\f05b"; 205 | $fa-var-css3: "\f13c"; 206 | $fa-var-cube: "\f1b2"; 207 | $fa-var-cubes: "\f1b3"; 208 | $fa-var-cut: "\f0c4"; 209 | $fa-var-cutlery: "\f0f5"; 210 | $fa-var-dashboard: "\f0e4"; 211 | $fa-var-dashcube: "\f210"; 212 | $fa-var-database: "\f1c0"; 213 | $fa-var-deaf: "\f2a4"; 214 | $fa-var-deafness: "\f2a4"; 215 | $fa-var-dedent: "\f03b"; 216 | $fa-var-delicious: "\f1a5"; 217 | $fa-var-desktop: "\f108"; 218 | $fa-var-deviantart: "\f1bd"; 219 | $fa-var-diamond: "\f219"; 220 | $fa-var-digg: "\f1a6"; 221 | $fa-var-dollar: "\f155"; 222 | $fa-var-dot-circle-o: "\f192"; 223 | $fa-var-download: "\f019"; 224 | $fa-var-dribbble: "\f17d"; 225 | $fa-var-drivers-license: "\f2c2"; 226 | $fa-var-drivers-license-o: "\f2c3"; 227 | $fa-var-dropbox: "\f16b"; 228 | $fa-var-drupal: "\f1a9"; 229 | $fa-var-edge: "\f282"; 230 | $fa-var-edit: "\f044"; 231 | $fa-var-eercast: "\f2da"; 232 | $fa-var-eject: "\f052"; 233 | $fa-var-ellipsis-h: "\f141"; 234 | $fa-var-ellipsis-v: "\f142"; 235 | $fa-var-empire: "\f1d1"; 236 | $fa-var-envelope: "\f0e0"; 237 | $fa-var-envelope-o: "\f003"; 238 | $fa-var-envelope-open: "\f2b6"; 239 | $fa-var-envelope-open-o: "\f2b7"; 240 | $fa-var-envelope-square: "\f199"; 241 | $fa-var-envira: "\f299"; 242 | $fa-var-eraser: "\f12d"; 243 | $fa-var-etsy: "\f2d7"; 244 | $fa-var-eur: "\f153"; 245 | $fa-var-euro: "\f153"; 246 | $fa-var-exchange: "\f0ec"; 247 | $fa-var-exclamation: "\f12a"; 248 | $fa-var-exclamation-circle: "\f06a"; 249 | $fa-var-exclamation-triangle: "\f071"; 250 | $fa-var-expand: "\f065"; 251 | $fa-var-expeditedssl: "\f23e"; 252 | $fa-var-external-link: "\f08e"; 253 | $fa-var-external-link-square: "\f14c"; 254 | $fa-var-eye: "\f06e"; 255 | $fa-var-eye-slash: "\f070"; 256 | $fa-var-eyedropper: "\f1fb"; 257 | $fa-var-fa: "\f2b4"; 258 | $fa-var-facebook: "\f09a"; 259 | $fa-var-facebook-f: "\f09a"; 260 | $fa-var-facebook-official: "\f230"; 261 | $fa-var-facebook-square: "\f082"; 262 | $fa-var-fast-backward: "\f049"; 263 | $fa-var-fast-forward: "\f050"; 264 | $fa-var-fax: "\f1ac"; 265 | $fa-var-feed: "\f09e"; 266 | $fa-var-female: "\f182"; 267 | $fa-var-fighter-jet: "\f0fb"; 268 | $fa-var-file: "\f15b"; 269 | $fa-var-file-archive-o: "\f1c6"; 270 | $fa-var-file-audio-o: "\f1c7"; 271 | $fa-var-file-code-o: "\f1c9"; 272 | $fa-var-file-excel-o: "\f1c3"; 273 | $fa-var-file-image-o: "\f1c5"; 274 | $fa-var-file-movie-o: "\f1c8"; 275 | $fa-var-file-o: "\f016"; 276 | $fa-var-file-pdf-o: "\f1c1"; 277 | $fa-var-file-photo-o: "\f1c5"; 278 | $fa-var-file-picture-o: "\f1c5"; 279 | $fa-var-file-powerpoint-o: "\f1c4"; 280 | $fa-var-file-sound-o: "\f1c7"; 281 | $fa-var-file-text: "\f15c"; 282 | $fa-var-file-text-o: "\f0f6"; 283 | $fa-var-file-video-o: "\f1c8"; 284 | $fa-var-file-word-o: "\f1c2"; 285 | $fa-var-file-zip-o: "\f1c6"; 286 | $fa-var-files-o: "\f0c5"; 287 | $fa-var-film: "\f008"; 288 | $fa-var-filter: "\f0b0"; 289 | $fa-var-fire: "\f06d"; 290 | $fa-var-fire-extinguisher: "\f134"; 291 | $fa-var-firefox: "\f269"; 292 | $fa-var-first-order: "\f2b0"; 293 | $fa-var-flag: "\f024"; 294 | $fa-var-flag-checkered: "\f11e"; 295 | $fa-var-flag-o: "\f11d"; 296 | $fa-var-flash: "\f0e7"; 297 | $fa-var-flask: "\f0c3"; 298 | $fa-var-flickr: "\f16e"; 299 | $fa-var-floppy-o: "\f0c7"; 300 | $fa-var-folder: "\f07b"; 301 | $fa-var-folder-o: "\f114"; 302 | $fa-var-folder-open: "\f07c"; 303 | $fa-var-folder-open-o: "\f115"; 304 | $fa-var-font: "\f031"; 305 | $fa-var-font-awesome: "\f2b4"; 306 | $fa-var-fonticons: "\f280"; 307 | $fa-var-fort-awesome: "\f286"; 308 | $fa-var-forumbee: "\f211"; 309 | $fa-var-forward: "\f04e"; 310 | $fa-var-foursquare: "\f180"; 311 | $fa-var-free-code-camp: "\f2c5"; 312 | $fa-var-frown-o: "\f119"; 313 | $fa-var-futbol-o: "\f1e3"; 314 | $fa-var-gamepad: "\f11b"; 315 | $fa-var-gavel: "\f0e3"; 316 | $fa-var-gbp: "\f154"; 317 | $fa-var-ge: "\f1d1"; 318 | $fa-var-gear: "\f013"; 319 | $fa-var-gears: "\f085"; 320 | $fa-var-genderless: "\f22d"; 321 | $fa-var-get-pocket: "\f265"; 322 | $fa-var-gg: "\f260"; 323 | $fa-var-gg-circle: "\f261"; 324 | $fa-var-gift: "\f06b"; 325 | $fa-var-git: "\f1d3"; 326 | $fa-var-git-square: "\f1d2"; 327 | $fa-var-github: "\f09b"; 328 | $fa-var-github-alt: "\f113"; 329 | $fa-var-github-square: "\f092"; 330 | $fa-var-gitlab: "\f296"; 331 | $fa-var-gittip: "\f184"; 332 | $fa-var-glass: "\f000"; 333 | $fa-var-glide: "\f2a5"; 334 | $fa-var-glide-g: "\f2a6"; 335 | $fa-var-globe: "\f0ac"; 336 | $fa-var-google: "\f1a0"; 337 | $fa-var-google-plus: "\f0d5"; 338 | $fa-var-google-plus-circle: "\f2b3"; 339 | $fa-var-google-plus-official: "\f2b3"; 340 | $fa-var-google-plus-square: "\f0d4"; 341 | $fa-var-google-wallet: "\f1ee"; 342 | $fa-var-graduation-cap: "\f19d"; 343 | $fa-var-gratipay: "\f184"; 344 | $fa-var-grav: "\f2d6"; 345 | $fa-var-group: "\f0c0"; 346 | $fa-var-h-square: "\f0fd"; 347 | $fa-var-hacker-news: "\f1d4"; 348 | $fa-var-hand-grab-o: "\f255"; 349 | $fa-var-hand-lizard-o: "\f258"; 350 | $fa-var-hand-o-down: "\f0a7"; 351 | $fa-var-hand-o-left: "\f0a5"; 352 | $fa-var-hand-o-right: "\f0a4"; 353 | $fa-var-hand-o-up: "\f0a6"; 354 | $fa-var-hand-paper-o: "\f256"; 355 | $fa-var-hand-peace-o: "\f25b"; 356 | $fa-var-hand-pointer-o: "\f25a"; 357 | $fa-var-hand-rock-o: "\f255"; 358 | $fa-var-hand-scissors-o: "\f257"; 359 | $fa-var-hand-spock-o: "\f259"; 360 | $fa-var-hand-stop-o: "\f256"; 361 | $fa-var-handshake-o: "\f2b5"; 362 | $fa-var-hard-of-hearing: "\f2a4"; 363 | $fa-var-hashtag: "\f292"; 364 | $fa-var-hdd-o: "\f0a0"; 365 | $fa-var-header: "\f1dc"; 366 | $fa-var-headphones: "\f025"; 367 | $fa-var-heart: "\f004"; 368 | $fa-var-heart-o: "\f08a"; 369 | $fa-var-heartbeat: "\f21e"; 370 | $fa-var-history: "\f1da"; 371 | $fa-var-home: "\f015"; 372 | $fa-var-hospital-o: "\f0f8"; 373 | $fa-var-hotel: "\f236"; 374 | $fa-var-hourglass: "\f254"; 375 | $fa-var-hourglass-1: "\f251"; 376 | $fa-var-hourglass-2: "\f252"; 377 | $fa-var-hourglass-3: "\f253"; 378 | $fa-var-hourglass-end: "\f253"; 379 | $fa-var-hourglass-half: "\f252"; 380 | $fa-var-hourglass-o: "\f250"; 381 | $fa-var-hourglass-start: "\f251"; 382 | $fa-var-houzz: "\f27c"; 383 | $fa-var-html5: "\f13b"; 384 | $fa-var-i-cursor: "\f246"; 385 | $fa-var-id-badge: "\f2c1"; 386 | $fa-var-id-card: "\f2c2"; 387 | $fa-var-id-card-o: "\f2c3"; 388 | $fa-var-ils: "\f20b"; 389 | $fa-var-image: "\f03e"; 390 | $fa-var-imdb: "\f2d8"; 391 | $fa-var-inbox: "\f01c"; 392 | $fa-var-indent: "\f03c"; 393 | $fa-var-industry: "\f275"; 394 | $fa-var-info: "\f129"; 395 | $fa-var-info-circle: "\f05a"; 396 | $fa-var-inr: "\f156"; 397 | $fa-var-instagram: "\f16d"; 398 | $fa-var-institution: "\f19c"; 399 | $fa-var-internet-explorer: "\f26b"; 400 | $fa-var-intersex: "\f224"; 401 | $fa-var-ioxhost: "\f208"; 402 | $fa-var-italic: "\f033"; 403 | $fa-var-joomla: "\f1aa"; 404 | $fa-var-jpy: "\f157"; 405 | $fa-var-jsfiddle: "\f1cc"; 406 | $fa-var-key: "\f084"; 407 | $fa-var-keyboard-o: "\f11c"; 408 | $fa-var-krw: "\f159"; 409 | $fa-var-language: "\f1ab"; 410 | $fa-var-laptop: "\f109"; 411 | $fa-var-lastfm: "\f202"; 412 | $fa-var-lastfm-square: "\f203"; 413 | $fa-var-leaf: "\f06c"; 414 | $fa-var-leanpub: "\f212"; 415 | $fa-var-legal: "\f0e3"; 416 | $fa-var-lemon-o: "\f094"; 417 | $fa-var-level-down: "\f149"; 418 | $fa-var-level-up: "\f148"; 419 | $fa-var-life-bouy: "\f1cd"; 420 | $fa-var-life-buoy: "\f1cd"; 421 | $fa-var-life-ring: "\f1cd"; 422 | $fa-var-life-saver: "\f1cd"; 423 | $fa-var-lightbulb-o: "\f0eb"; 424 | $fa-var-line-chart: "\f201"; 425 | $fa-var-link: "\f0c1"; 426 | $fa-var-linkedin: "\f0e1"; 427 | $fa-var-linkedin-square: "\f08c"; 428 | $fa-var-linode: "\f2b8"; 429 | $fa-var-linux: "\f17c"; 430 | $fa-var-list: "\f03a"; 431 | $fa-var-list-alt: "\f022"; 432 | $fa-var-list-ol: "\f0cb"; 433 | $fa-var-list-ul: "\f0ca"; 434 | $fa-var-location-arrow: "\f124"; 435 | $fa-var-lock: "\f023"; 436 | $fa-var-long-arrow-down: "\f175"; 437 | $fa-var-long-arrow-left: "\f177"; 438 | $fa-var-long-arrow-right: "\f178"; 439 | $fa-var-long-arrow-up: "\f176"; 440 | $fa-var-low-vision: "\f2a8"; 441 | $fa-var-magic: "\f0d0"; 442 | $fa-var-magnet: "\f076"; 443 | $fa-var-mail-forward: "\f064"; 444 | $fa-var-mail-reply: "\f112"; 445 | $fa-var-mail-reply-all: "\f122"; 446 | $fa-var-male: "\f183"; 447 | $fa-var-map: "\f279"; 448 | $fa-var-map-marker: "\f041"; 449 | $fa-var-map-o: "\f278"; 450 | $fa-var-map-pin: "\f276"; 451 | $fa-var-map-signs: "\f277"; 452 | $fa-var-mars: "\f222"; 453 | $fa-var-mars-double: "\f227"; 454 | $fa-var-mars-stroke: "\f229"; 455 | $fa-var-mars-stroke-h: "\f22b"; 456 | $fa-var-mars-stroke-v: "\f22a"; 457 | $fa-var-maxcdn: "\f136"; 458 | $fa-var-meanpath: "\f20c"; 459 | $fa-var-medium: "\f23a"; 460 | $fa-var-medkit: "\f0fa"; 461 | $fa-var-meetup: "\f2e0"; 462 | $fa-var-meh-o: "\f11a"; 463 | $fa-var-mercury: "\f223"; 464 | $fa-var-microchip: "\f2db"; 465 | $fa-var-microphone: "\f130"; 466 | $fa-var-microphone-slash: "\f131"; 467 | $fa-var-minus: "\f068"; 468 | $fa-var-minus-circle: "\f056"; 469 | $fa-var-minus-square: "\f146"; 470 | $fa-var-minus-square-o: "\f147"; 471 | $fa-var-mixcloud: "\f289"; 472 | $fa-var-mobile: "\f10b"; 473 | $fa-var-mobile-phone: "\f10b"; 474 | $fa-var-modx: "\f285"; 475 | $fa-var-money: "\f0d6"; 476 | $fa-var-moon-o: "\f186"; 477 | $fa-var-mortar-board: "\f19d"; 478 | $fa-var-motorcycle: "\f21c"; 479 | $fa-var-mouse-pointer: "\f245"; 480 | $fa-var-music: "\f001"; 481 | $fa-var-navicon: "\f0c9"; 482 | $fa-var-neuter: "\f22c"; 483 | $fa-var-newspaper-o: "\f1ea"; 484 | $fa-var-object-group: "\f247"; 485 | $fa-var-object-ungroup: "\f248"; 486 | $fa-var-odnoklassniki: "\f263"; 487 | $fa-var-odnoklassniki-square: "\f264"; 488 | $fa-var-opencart: "\f23d"; 489 | $fa-var-openid: "\f19b"; 490 | $fa-var-opera: "\f26a"; 491 | $fa-var-optin-monster: "\f23c"; 492 | $fa-var-outdent: "\f03b"; 493 | $fa-var-pagelines: "\f18c"; 494 | $fa-var-paint-brush: "\f1fc"; 495 | $fa-var-paper-plane: "\f1d8"; 496 | $fa-var-paper-plane-o: "\f1d9"; 497 | $fa-var-paperclip: "\f0c6"; 498 | $fa-var-paragraph: "\f1dd"; 499 | $fa-var-paste: "\f0ea"; 500 | $fa-var-pause: "\f04c"; 501 | $fa-var-pause-circle: "\f28b"; 502 | $fa-var-pause-circle-o: "\f28c"; 503 | $fa-var-paw: "\f1b0"; 504 | $fa-var-paypal: "\f1ed"; 505 | $fa-var-pencil: "\f040"; 506 | $fa-var-pencil-square: "\f14b"; 507 | $fa-var-pencil-square-o: "\f044"; 508 | $fa-var-percent: "\f295"; 509 | $fa-var-phone: "\f095"; 510 | $fa-var-phone-square: "\f098"; 511 | $fa-var-photo: "\f03e"; 512 | $fa-var-picture-o: "\f03e"; 513 | $fa-var-pie-chart: "\f200"; 514 | $fa-var-pied-piper: "\f2ae"; 515 | $fa-var-pied-piper-alt: "\f1a8"; 516 | $fa-var-pied-piper-pp: "\f1a7"; 517 | $fa-var-pinterest: "\f0d2"; 518 | $fa-var-pinterest-p: "\f231"; 519 | $fa-var-pinterest-square: "\f0d3"; 520 | $fa-var-plane: "\f072"; 521 | $fa-var-play: "\f04b"; 522 | $fa-var-play-circle: "\f144"; 523 | $fa-var-play-circle-o: "\f01d"; 524 | $fa-var-plug: "\f1e6"; 525 | $fa-var-plus: "\f067"; 526 | $fa-var-plus-circle: "\f055"; 527 | $fa-var-plus-square: "\f0fe"; 528 | $fa-var-plus-square-o: "\f196"; 529 | $fa-var-podcast: "\f2ce"; 530 | $fa-var-power-off: "\f011"; 531 | $fa-var-print: "\f02f"; 532 | $fa-var-product-hunt: "\f288"; 533 | $fa-var-puzzle-piece: "\f12e"; 534 | $fa-var-qq: "\f1d6"; 535 | $fa-var-qrcode: "\f029"; 536 | $fa-var-question: "\f128"; 537 | $fa-var-question-circle: "\f059"; 538 | $fa-var-question-circle-o: "\f29c"; 539 | $fa-var-quora: "\f2c4"; 540 | $fa-var-quote-left: "\f10d"; 541 | $fa-var-quote-right: "\f10e"; 542 | $fa-var-ra: "\f1d0"; 543 | $fa-var-random: "\f074"; 544 | $fa-var-ravelry: "\f2d9"; 545 | $fa-var-rebel: "\f1d0"; 546 | $fa-var-recycle: "\f1b8"; 547 | $fa-var-reddit: "\f1a1"; 548 | $fa-var-reddit-alien: "\f281"; 549 | $fa-var-reddit-square: "\f1a2"; 550 | $fa-var-refresh: "\f021"; 551 | $fa-var-registered: "\f25d"; 552 | $fa-var-remove: "\f00d"; 553 | $fa-var-renren: "\f18b"; 554 | $fa-var-reorder: "\f0c9"; 555 | $fa-var-repeat: "\f01e"; 556 | $fa-var-reply: "\f112"; 557 | $fa-var-reply-all: "\f122"; 558 | $fa-var-resistance: "\f1d0"; 559 | $fa-var-retweet: "\f079"; 560 | $fa-var-rmb: "\f157"; 561 | $fa-var-road: "\f018"; 562 | $fa-var-rocket: "\f135"; 563 | $fa-var-rotate-left: "\f0e2"; 564 | $fa-var-rotate-right: "\f01e"; 565 | $fa-var-rouble: "\f158"; 566 | $fa-var-rss: "\f09e"; 567 | $fa-var-rss-square: "\f143"; 568 | $fa-var-rub: "\f158"; 569 | $fa-var-ruble: "\f158"; 570 | $fa-var-rupee: "\f156"; 571 | $fa-var-s15: "\f2cd"; 572 | $fa-var-safari: "\f267"; 573 | $fa-var-save: "\f0c7"; 574 | $fa-var-scissors: "\f0c4"; 575 | $fa-var-scribd: "\f28a"; 576 | $fa-var-search: "\f002"; 577 | $fa-var-search-minus: "\f010"; 578 | $fa-var-search-plus: "\f00e"; 579 | $fa-var-sellsy: "\f213"; 580 | $fa-var-send: "\f1d8"; 581 | $fa-var-send-o: "\f1d9"; 582 | $fa-var-server: "\f233"; 583 | $fa-var-share: "\f064"; 584 | $fa-var-share-alt: "\f1e0"; 585 | $fa-var-share-alt-square: "\f1e1"; 586 | $fa-var-share-square: "\f14d"; 587 | $fa-var-share-square-o: "\f045"; 588 | $fa-var-shekel: "\f20b"; 589 | $fa-var-sheqel: "\f20b"; 590 | $fa-var-shield: "\f132"; 591 | $fa-var-ship: "\f21a"; 592 | $fa-var-shirtsinbulk: "\f214"; 593 | $fa-var-shopping-bag: "\f290"; 594 | $fa-var-shopping-basket: "\f291"; 595 | $fa-var-shopping-cart: "\f07a"; 596 | $fa-var-shower: "\f2cc"; 597 | $fa-var-sign-in: "\f090"; 598 | $fa-var-sign-language: "\f2a7"; 599 | $fa-var-sign-out: "\f08b"; 600 | $fa-var-signal: "\f012"; 601 | $fa-var-signing: "\f2a7"; 602 | $fa-var-simplybuilt: "\f215"; 603 | $fa-var-sitemap: "\f0e8"; 604 | $fa-var-skyatlas: "\f216"; 605 | $fa-var-skype: "\f17e"; 606 | $fa-var-slack: "\f198"; 607 | $fa-var-sliders: "\f1de"; 608 | $fa-var-slideshare: "\f1e7"; 609 | $fa-var-smile-o: "\f118"; 610 | $fa-var-snapchat: "\f2ab"; 611 | $fa-var-snapchat-ghost: "\f2ac"; 612 | $fa-var-snapchat-square: "\f2ad"; 613 | $fa-var-snowflake-o: "\f2dc"; 614 | $fa-var-soccer-ball-o: "\f1e3"; 615 | $fa-var-sort: "\f0dc"; 616 | $fa-var-sort-alpha-asc: "\f15d"; 617 | $fa-var-sort-alpha-desc: "\f15e"; 618 | $fa-var-sort-amount-asc: "\f160"; 619 | $fa-var-sort-amount-desc: "\f161"; 620 | $fa-var-sort-asc: "\f0de"; 621 | $fa-var-sort-desc: "\f0dd"; 622 | $fa-var-sort-down: "\f0dd"; 623 | $fa-var-sort-numeric-asc: "\f162"; 624 | $fa-var-sort-numeric-desc: "\f163"; 625 | $fa-var-sort-up: "\f0de"; 626 | $fa-var-soundcloud: "\f1be"; 627 | $fa-var-space-shuttle: "\f197"; 628 | $fa-var-spinner: "\f110"; 629 | $fa-var-spoon: "\f1b1"; 630 | $fa-var-spotify: "\f1bc"; 631 | $fa-var-square: "\f0c8"; 632 | $fa-var-square-o: "\f096"; 633 | $fa-var-stack-exchange: "\f18d"; 634 | $fa-var-stack-overflow: "\f16c"; 635 | $fa-var-star: "\f005"; 636 | $fa-var-star-half: "\f089"; 637 | $fa-var-star-half-empty: "\f123"; 638 | $fa-var-star-half-full: "\f123"; 639 | $fa-var-star-half-o: "\f123"; 640 | $fa-var-star-o: "\f006"; 641 | $fa-var-steam: "\f1b6"; 642 | $fa-var-steam-square: "\f1b7"; 643 | $fa-var-step-backward: "\f048"; 644 | $fa-var-step-forward: "\f051"; 645 | $fa-var-stethoscope: "\f0f1"; 646 | $fa-var-sticky-note: "\f249"; 647 | $fa-var-sticky-note-o: "\f24a"; 648 | $fa-var-stop: "\f04d"; 649 | $fa-var-stop-circle: "\f28d"; 650 | $fa-var-stop-circle-o: "\f28e"; 651 | $fa-var-street-view: "\f21d"; 652 | $fa-var-strikethrough: "\f0cc"; 653 | $fa-var-stumbleupon: "\f1a4"; 654 | $fa-var-stumbleupon-circle: "\f1a3"; 655 | $fa-var-subscript: "\f12c"; 656 | $fa-var-subway: "\f239"; 657 | $fa-var-suitcase: "\f0f2"; 658 | $fa-var-sun-o: "\f185"; 659 | $fa-var-superpowers: "\f2dd"; 660 | $fa-var-superscript: "\f12b"; 661 | $fa-var-support: "\f1cd"; 662 | $fa-var-table: "\f0ce"; 663 | $fa-var-tablet: "\f10a"; 664 | $fa-var-tachometer: "\f0e4"; 665 | $fa-var-tag: "\f02b"; 666 | $fa-var-tags: "\f02c"; 667 | $fa-var-tasks: "\f0ae"; 668 | $fa-var-taxi: "\f1ba"; 669 | $fa-var-telegram: "\f2c6"; 670 | $fa-var-television: "\f26c"; 671 | $fa-var-tencent-weibo: "\f1d5"; 672 | $fa-var-terminal: "\f120"; 673 | $fa-var-text-height: "\f034"; 674 | $fa-var-text-width: "\f035"; 675 | $fa-var-th: "\f00a"; 676 | $fa-var-th-large: "\f009"; 677 | $fa-var-th-list: "\f00b"; 678 | $fa-var-themeisle: "\f2b2"; 679 | $fa-var-thermometer: "\f2c7"; 680 | $fa-var-thermometer-0: "\f2cb"; 681 | $fa-var-thermometer-1: "\f2ca"; 682 | $fa-var-thermometer-2: "\f2c9"; 683 | $fa-var-thermometer-3: "\f2c8"; 684 | $fa-var-thermometer-4: "\f2c7"; 685 | $fa-var-thermometer-empty: "\f2cb"; 686 | $fa-var-thermometer-full: "\f2c7"; 687 | $fa-var-thermometer-half: "\f2c9"; 688 | $fa-var-thermometer-quarter: "\f2ca"; 689 | $fa-var-thermometer-three-quarters: "\f2c8"; 690 | $fa-var-thumb-tack: "\f08d"; 691 | $fa-var-thumbs-down: "\f165"; 692 | $fa-var-thumbs-o-down: "\f088"; 693 | $fa-var-thumbs-o-up: "\f087"; 694 | $fa-var-thumbs-up: "\f164"; 695 | $fa-var-ticket: "\f145"; 696 | $fa-var-times: "\f00d"; 697 | $fa-var-times-circle: "\f057"; 698 | $fa-var-times-circle-o: "\f05c"; 699 | $fa-var-times-rectangle: "\f2d3"; 700 | $fa-var-times-rectangle-o: "\f2d4"; 701 | $fa-var-tint: "\f043"; 702 | $fa-var-toggle-down: "\f150"; 703 | $fa-var-toggle-left: "\f191"; 704 | $fa-var-toggle-off: "\f204"; 705 | $fa-var-toggle-on: "\f205"; 706 | $fa-var-toggle-right: "\f152"; 707 | $fa-var-toggle-up: "\f151"; 708 | $fa-var-trademark: "\f25c"; 709 | $fa-var-train: "\f238"; 710 | $fa-var-transgender: "\f224"; 711 | $fa-var-transgender-alt: "\f225"; 712 | $fa-var-trash: "\f1f8"; 713 | $fa-var-trash-o: "\f014"; 714 | $fa-var-tree: "\f1bb"; 715 | $fa-var-trello: "\f181"; 716 | $fa-var-tripadvisor: "\f262"; 717 | $fa-var-trophy: "\f091"; 718 | $fa-var-truck: "\f0d1"; 719 | $fa-var-try: "\f195"; 720 | $fa-var-tty: "\f1e4"; 721 | $fa-var-tumblr: "\f173"; 722 | $fa-var-tumblr-square: "\f174"; 723 | $fa-var-turkish-lira: "\f195"; 724 | $fa-var-tv: "\f26c"; 725 | $fa-var-twitch: "\f1e8"; 726 | $fa-var-twitter: "\f099"; 727 | $fa-var-twitter-square: "\f081"; 728 | $fa-var-umbrella: "\f0e9"; 729 | $fa-var-underline: "\f0cd"; 730 | $fa-var-undo: "\f0e2"; 731 | $fa-var-universal-access: "\f29a"; 732 | $fa-var-university: "\f19c"; 733 | $fa-var-unlink: "\f127"; 734 | $fa-var-unlock: "\f09c"; 735 | $fa-var-unlock-alt: "\f13e"; 736 | $fa-var-unsorted: "\f0dc"; 737 | $fa-var-upload: "\f093"; 738 | $fa-var-usb: "\f287"; 739 | $fa-var-usd: "\f155"; 740 | $fa-var-user: "\f007"; 741 | $fa-var-user-circle: "\f2bd"; 742 | $fa-var-user-circle-o: "\f2be"; 743 | $fa-var-user-md: "\f0f0"; 744 | $fa-var-user-o: "\f2c0"; 745 | $fa-var-user-plus: "\f234"; 746 | $fa-var-user-secret: "\f21b"; 747 | $fa-var-user-times: "\f235"; 748 | $fa-var-users: "\f0c0"; 749 | $fa-var-vcard: "\f2bb"; 750 | $fa-var-vcard-o: "\f2bc"; 751 | $fa-var-venus: "\f221"; 752 | $fa-var-venus-double: "\f226"; 753 | $fa-var-venus-mars: "\f228"; 754 | $fa-var-viacoin: "\f237"; 755 | $fa-var-viadeo: "\f2a9"; 756 | $fa-var-viadeo-square: "\f2aa"; 757 | $fa-var-video-camera: "\f03d"; 758 | $fa-var-vimeo: "\f27d"; 759 | $fa-var-vimeo-square: "\f194"; 760 | $fa-var-vine: "\f1ca"; 761 | $fa-var-vk: "\f189"; 762 | $fa-var-volume-control-phone: "\f2a0"; 763 | $fa-var-volume-down: "\f027"; 764 | $fa-var-volume-off: "\f026"; 765 | $fa-var-volume-up: "\f028"; 766 | $fa-var-warning: "\f071"; 767 | $fa-var-wechat: "\f1d7"; 768 | $fa-var-weibo: "\f18a"; 769 | $fa-var-weixin: "\f1d7"; 770 | $fa-var-whatsapp: "\f232"; 771 | $fa-var-wheelchair: "\f193"; 772 | $fa-var-wheelchair-alt: "\f29b"; 773 | $fa-var-wifi: "\f1eb"; 774 | $fa-var-wikipedia-w: "\f266"; 775 | $fa-var-window-close: "\f2d3"; 776 | $fa-var-window-close-o: "\f2d4"; 777 | $fa-var-window-maximize: "\f2d0"; 778 | $fa-var-window-minimize: "\f2d1"; 779 | $fa-var-window-restore: "\f2d2"; 780 | $fa-var-windows: "\f17a"; 781 | $fa-var-won: "\f159"; 782 | $fa-var-wordpress: "\f19a"; 783 | $fa-var-wpbeginner: "\f297"; 784 | $fa-var-wpexplorer: "\f2de"; 785 | $fa-var-wpforms: "\f298"; 786 | $fa-var-wrench: "\f0ad"; 787 | $fa-var-xing: "\f168"; 788 | $fa-var-xing-square: "\f169"; 789 | $fa-var-y-combinator: "\f23b"; 790 | $fa-var-y-combinator-square: "\f1d4"; 791 | $fa-var-yahoo: "\f19e"; 792 | $fa-var-yc: "\f23b"; 793 | $fa-var-yc-square: "\f1d4"; 794 | $fa-var-yelp: "\f1e9"; 795 | $fa-var-yen: "\f157"; 796 | $fa-var-yoast: "\f2b1"; 797 | $fa-var-youtube: "\f167"; 798 | $fa-var-youtube-play: "\f16a"; 799 | $fa-var-youtube-square: "\f166"; 800 | 801 | -------------------------------------------------------------------------------- /src/copied/assets/fonts/font-awesome/css/font-awesome.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%} .fa-2x{font-size:2em} .fa-3x{font-size:3em} .fa-4x{font-size:4em} .fa-5x{font-size:5em} .fa-fw{width:1.28571429em;text-align:center} .fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none} .fa-ul>li{position:relative} .fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center} .fa-li.fa-lg{left:-1.85714286em} .fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em} .fa-pull-left{float:left} .fa-pull-right{float:right} .fa.fa-pull-left{margin-right:.3em} .fa.fa-pull-right{margin-left:.3em} .pull-right{float:right} .pull-left{float:left} .fa.pull-left{margin-right:.3em} .fa.pull-right{margin-left:.3em} .fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear} .fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)} @-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} @keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} .fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)} .fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)} .fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)} .fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)} .fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)} :root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none} .fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle} .fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center} .fa-stack-1x{line-height:inherit} .fa-stack-2x{font-size:2em} .fa-inverse{color:#fff} .fa-glass:before{content:"\f000"} .fa-music:before{content:"\f001"} .fa-search:before{content:"\f002"} .fa-envelope-o:before{content:"\f003"} .fa-heart:before{content:"\f004"} .fa-star:before{content:"\f005"} .fa-star-o:before{content:"\f006"} .fa-user:before{content:"\f007"} .fa-film:before{content:"\f008"} .fa-th-large:before{content:"\f009"} .fa-th:before{content:"\f00a"} .fa-th-list:before{content:"\f00b"} .fa-check:before{content:"\f00c"} .fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"} .fa-search-plus:before{content:"\f00e"} .fa-search-minus:before{content:"\f010"} .fa-power-off:before{content:"\f011"} .fa-signal:before{content:"\f012"} .fa-gear:before,.fa-cog:before{content:"\f013"} .fa-trash-o:before{content:"\f014"} .fa-home:before{content:"\f015"} .fa-file-o:before{content:"\f016"} .fa-clock-o:before{content:"\f017"} .fa-road:before{content:"\f018"} .fa-download:before{content:"\f019"} .fa-arrow-circle-o-down:before{content:"\f01a"} .fa-arrow-circle-o-up:before{content:"\f01b"} .fa-inbox:before{content:"\f01c"} .fa-play-circle-o:before{content:"\f01d"} .fa-rotate-right:before,.fa-repeat:before{content:"\f01e"} .fa-refresh:before{content:"\f021"} .fa-list-alt:before{content:"\f022"} .fa-lock:before{content:"\f023"} .fa-flag:before{content:"\f024"} .fa-headphones:before{content:"\f025"} .fa-volume-off:before{content:"\f026"} .fa-volume-down:before{content:"\f027"} .fa-volume-up:before{content:"\f028"} .fa-qrcode:before{content:"\f029"} .fa-barcode:before{content:"\f02a"} .fa-tag:before{content:"\f02b"} .fa-tags:before{content:"\f02c"} .fa-book:before{content:"\f02d"} .fa-bookmark:before{content:"\f02e"} .fa-print:before{content:"\f02f"} .fa-camera:before{content:"\f030"} .fa-font:before{content:"\f031"} .fa-bold:before{content:"\f032"} .fa-italic:before{content:"\f033"} .fa-text-height:before{content:"\f034"} .fa-text-width:before{content:"\f035"} .fa-align-left:before{content:"\f036"} .fa-align-center:before{content:"\f037"} .fa-align-right:before{content:"\f038"} .fa-align-justify:before{content:"\f039"} .fa-list:before{content:"\f03a"} .fa-dedent:before,.fa-outdent:before{content:"\f03b"} .fa-indent:before{content:"\f03c"} .fa-video-camera:before{content:"\f03d"} .fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"} .fa-pencil:before{content:"\f040"} .fa-map-marker:before{content:"\f041"} .fa-adjust:before{content:"\f042"} .fa-tint:before{content:"\f043"} .fa-edit:before,.fa-pencil-square-o:before{content:"\f044"} .fa-share-square-o:before{content:"\f045"} .fa-check-square-o:before{content:"\f046"} .fa-arrows:before{content:"\f047"} .fa-step-backward:before{content:"\f048"} .fa-fast-backward:before{content:"\f049"} .fa-backward:before{content:"\f04a"} .fa-play:before{content:"\f04b"} .fa-pause:before{content:"\f04c"} .fa-stop:before{content:"\f04d"} .fa-forward:before{content:"\f04e"} .fa-fast-forward:before{content:"\f050"} .fa-step-forward:before{content:"\f051"} .fa-eject:before{content:"\f052"} .fa-chevron-left:before{content:"\f053"} .fa-chevron-right:before{content:"\f054"} .fa-plus-circle:before{content:"\f055"} .fa-minus-circle:before{content:"\f056"} .fa-times-circle:before{content:"\f057"} .fa-check-circle:before{content:"\f058"} .fa-question-circle:before{content:"\f059"} .fa-info-circle:before{content:"\f05a"} .fa-crosshairs:before{content:"\f05b"} .fa-times-circle-o:before{content:"\f05c"} .fa-check-circle-o:before{content:"\f05d"} .fa-ban:before{content:"\f05e"} .fa-arrow-left:before{content:"\f060"} .fa-arrow-right:before{content:"\f061"} .fa-arrow-up:before{content:"\f062"} .fa-arrow-down:before{content:"\f063"} .fa-mail-forward:before,.fa-share:before{content:"\f064"} .fa-expand:before{content:"\f065"} .fa-compress:before{content:"\f066"} .fa-plus:before{content:"\f067"} .fa-minus:before{content:"\f068"} .fa-asterisk:before{content:"\f069"} .fa-exclamation-circle:before{content:"\f06a"} .fa-gift:before{content:"\f06b"} .fa-leaf:before{content:"\f06c"} .fa-fire:before{content:"\f06d"} .fa-eye:before{content:"\f06e"} .fa-eye-slash:before{content:"\f070"} .fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"} .fa-plane:before{content:"\f072"} .fa-calendar:before{content:"\f073"} .fa-random:before{content:"\f074"} .fa-comment:before{content:"\f075"} .fa-magnet:before{content:"\f076"} .fa-chevron-up:before{content:"\f077"} .fa-chevron-down:before{content:"\f078"} .fa-retweet:before{content:"\f079"} .fa-shopping-cart:before{content:"\f07a"} .fa-folder:before{content:"\f07b"} .fa-folder-open:before{content:"\f07c"} .fa-arrows-v:before{content:"\f07d"} .fa-arrows-h:before{content:"\f07e"} .fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"} .fa-twitter-square:before{content:"\f081"} .fa-facebook-square:before{content:"\f082"} .fa-camera-retro:before{content:"\f083"} .fa-key:before{content:"\f084"} .fa-gears:before,.fa-cogs:before{content:"\f085"} .fa-comments:before{content:"\f086"} .fa-thumbs-o-up:before{content:"\f087"} .fa-thumbs-o-down:before{content:"\f088"} .fa-star-half:before{content:"\f089"} .fa-heart-o:before{content:"\f08a"} .fa-sign-out:before{content:"\f08b"} .fa-linkedin-square:before{content:"\f08c"} .fa-thumb-tack:before{content:"\f08d"} .fa-external-link:before{content:"\f08e"} .fa-sign-in:before{content:"\f090"} .fa-trophy:before{content:"\f091"} .fa-github-square:before{content:"\f092"} .fa-upload:before{content:"\f093"} .fa-lemon-o:before{content:"\f094"} .fa-phone:before{content:"\f095"} .fa-square-o:before{content:"\f096"} .fa-bookmark-o:before{content:"\f097"} .fa-phone-square:before{content:"\f098"} .fa-twitter:before{content:"\f099"} .fa-facebook-f:before,.fa-facebook:before{content:"\f09a"} .fa-github:before{content:"\f09b"} .fa-unlock:before{content:"\f09c"} .fa-credit-card:before{content:"\f09d"} .fa-feed:before,.fa-rss:before{content:"\f09e"} .fa-hdd-o:before{content:"\f0a0"} .fa-bullhorn:before{content:"\f0a1"} .fa-bell:before{content:"\f0f3"} .fa-certificate:before{content:"\f0a3"} .fa-hand-o-right:before{content:"\f0a4"} .fa-hand-o-left:before{content:"\f0a5"} .fa-hand-o-up:before{content:"\f0a6"} .fa-hand-o-down:before{content:"\f0a7"} .fa-arrow-circle-left:before{content:"\f0a8"} .fa-arrow-circle-right:before{content:"\f0a9"} .fa-arrow-circle-up:before{content:"\f0aa"} .fa-arrow-circle-down:before{content:"\f0ab"} .fa-globe:before{content:"\f0ac"} .fa-wrench:before{content:"\f0ad"} .fa-tasks:before{content:"\f0ae"} .fa-filter:before{content:"\f0b0"} .fa-briefcase:before{content:"\f0b1"} .fa-arrows-alt:before{content:"\f0b2"} .fa-group:before,.fa-users:before{content:"\f0c0"} .fa-chain:before,.fa-link:before{content:"\f0c1"} .fa-cloud:before{content:"\f0c2"} .fa-flask:before{content:"\f0c3"} .fa-cut:before,.fa-scissors:before{content:"\f0c4"} .fa-copy:before,.fa-files-o:before{content:"\f0c5"} .fa-paperclip:before{content:"\f0c6"} .fa-save:before,.fa-floppy-o:before{content:"\f0c7"} .fa-square:before{content:"\f0c8"} .fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"} .fa-list-ul:before{content:"\f0ca"} .fa-list-ol:before{content:"\f0cb"} .fa-strikethrough:before{content:"\f0cc"} .fa-underline:before{content:"\f0cd"} .fa-table:before{content:"\f0ce"} .fa-magic:before{content:"\f0d0"} .fa-truck:before{content:"\f0d1"} .fa-pinterest:before{content:"\f0d2"} .fa-pinterest-square:before{content:"\f0d3"} .fa-google-plus-square:before{content:"\f0d4"} .fa-google-plus:before{content:"\f0d5"} .fa-money:before{content:"\f0d6"} .fa-caret-down:before{content:"\f0d7"} .fa-caret-up:before{content:"\f0d8"} .fa-caret-left:before{content:"\f0d9"} .fa-caret-right:before{content:"\f0da"} .fa-columns:before{content:"\f0db"} .fa-unsorted:before,.fa-sort:before{content:"\f0dc"} .fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"} .fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"} .fa-envelope:before{content:"\f0e0"} .fa-linkedin:before{content:"\f0e1"} .fa-rotate-left:before,.fa-undo:before{content:"\f0e2"} .fa-legal:before,.fa-gavel:before{content:"\f0e3"} .fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"} .fa-comment-o:before{content:"\f0e5"} .fa-comments-o:before{content:"\f0e6"} .fa-flash:before,.fa-bolt:before{content:"\f0e7"} .fa-sitemap:before{content:"\f0e8"} .fa-umbrella:before{content:"\f0e9"} .fa-paste:before,.fa-clipboard:before{content:"\f0ea"} .fa-lightbulb-o:before{content:"\f0eb"} .fa-exchange:before{content:"\f0ec"} .fa-cloud-download:before{content:"\f0ed"} .fa-cloud-upload:before{content:"\f0ee"} .fa-user-md:before{content:"\f0f0"} .fa-stethoscope:before{content:"\f0f1"} .fa-suitcase:before{content:"\f0f2"} .fa-bell-o:before{content:"\f0a2"} .fa-coffee:before{content:"\f0f4"} .fa-cutlery:before{content:"\f0f5"} .fa-file-text-o:before{content:"\f0f6"} .fa-building-o:before{content:"\f0f7"} .fa-hospital-o:before{content:"\f0f8"} .fa-ambulance:before{content:"\f0f9"} .fa-medkit:before{content:"\f0fa"} .fa-fighter-jet:before{content:"\f0fb"} .fa-beer:before{content:"\f0fc"} .fa-h-square:before{content:"\f0fd"} .fa-plus-square:before{content:"\f0fe"} .fa-angle-double-left:before{content:"\f100"} .fa-angle-double-right:before{content:"\f101"} .fa-angle-double-up:before{content:"\f102"} .fa-angle-double-down:before{content:"\f103"} .fa-angle-left:before{content:"\f104"} .fa-angle-right:before{content:"\f105"} .fa-angle-up:before{content:"\f106"} .fa-angle-down:before{content:"\f107"} .fa-desktop:before{content:"\f108"} .fa-laptop:before{content:"\f109"} .fa-tablet:before{content:"\f10a"} .fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"} .fa-circle-o:before{content:"\f10c"} .fa-quote-left:before{content:"\f10d"} .fa-quote-right:before{content:"\f10e"} .fa-spinner:before{content:"\f110"} .fa-circle:before{content:"\f111"} .fa-mail-reply:before,.fa-reply:before{content:"\f112"} .fa-github-alt:before{content:"\f113"} .fa-folder-o:before{content:"\f114"} .fa-folder-open-o:before{content:"\f115"} .fa-smile-o:before{content:"\f118"} .fa-frown-o:before{content:"\f119"} .fa-meh-o:before{content:"\f11a"} .fa-gamepad:before{content:"\f11b"} .fa-keyboard-o:before{content:"\f11c"} .fa-flag-o:before{content:"\f11d"} .fa-flag-checkered:before{content:"\f11e"} .fa-terminal:before{content:"\f120"} .fa-code:before{content:"\f121"} .fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"} .fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"} .fa-location-arrow:before{content:"\f124"} .fa-crop:before{content:"\f125"} .fa-code-fork:before{content:"\f126"} .fa-unlink:before,.fa-chain-broken:before{content:"\f127"} .fa-question:before{content:"\f128"} .fa-info:before{content:"\f129"} .fa-exclamation:before{content:"\f12a"} .fa-superscript:before{content:"\f12b"} .fa-subscript:before{content:"\f12c"} .fa-eraser:before{content:"\f12d"} .fa-puzzle-piece:before{content:"\f12e"} .fa-microphone:before{content:"\f130"} .fa-microphone-slash:before{content:"\f131"} .fa-shield:before{content:"\f132"} .fa-calendar-o:before{content:"\f133"} .fa-fire-extinguisher:before{content:"\f134"} .fa-rocket:before{content:"\f135"} .fa-maxcdn:before{content:"\f136"} .fa-chevron-circle-left:before{content:"\f137"} .fa-chevron-circle-right:before{content:"\f138"} .fa-chevron-circle-up:before{content:"\f139"} .fa-chevron-circle-down:before{content:"\f13a"} .fa-html5:before{content:"\f13b"} .fa-css3:before{content:"\f13c"} .fa-anchor:before{content:"\f13d"} .fa-unlock-alt:before{content:"\f13e"} .fa-bullseye:before{content:"\f140"} .fa-ellipsis-h:before{content:"\f141"} .fa-ellipsis-v:before{content:"\f142"} .fa-rss-square:before{content:"\f143"} .fa-play-circle:before{content:"\f144"} .fa-ticket:before{content:"\f145"} .fa-minus-square:before{content:"\f146"} .fa-minus-square-o:before{content:"\f147"} .fa-level-up:before{content:"\f148"} .fa-level-down:before{content:"\f149"} .fa-check-square:before{content:"\f14a"} .fa-pencil-square:before{content:"\f14b"} .fa-external-link-square:before{content:"\f14c"} .fa-share-square:before{content:"\f14d"} .fa-compass:before{content:"\f14e"} .fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"} .fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"} .fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"} .fa-euro:before,.fa-eur:before{content:"\f153"} .fa-gbp:before{content:"\f154"} .fa-dollar:before,.fa-usd:before{content:"\f155"} .fa-rupee:before,.fa-inr:before{content:"\f156"} .fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"} .fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"} .fa-won:before,.fa-krw:before{content:"\f159"} .fa-bitcoin:before,.fa-btc:before{content:"\f15a"} .fa-file:before{content:"\f15b"} .fa-file-text:before{content:"\f15c"} .fa-sort-alpha-asc:before{content:"\f15d"} .fa-sort-alpha-desc:before{content:"\f15e"} .fa-sort-amount-asc:before{content:"\f160"} .fa-sort-amount-desc:before{content:"\f161"} .fa-sort-numeric-asc:before{content:"\f162"} .fa-sort-numeric-desc:before{content:"\f163"} .fa-thumbs-up:before{content:"\f164"} .fa-thumbs-down:before{content:"\f165"} .fa-youtube-square:before{content:"\f166"} .fa-youtube:before{content:"\f167"} .fa-xing:before{content:"\f168"} .fa-xing-square:before{content:"\f169"} .fa-youtube-play:before{content:"\f16a"} .fa-dropbox:before{content:"\f16b"} .fa-stack-overflow:before{content:"\f16c"} .fa-instagram:before{content:"\f16d"} .fa-flickr:before{content:"\f16e"} .fa-adn:before{content:"\f170"} .fa-bitbucket:before{content:"\f171"} .fa-bitbucket-square:before{content:"\f172"} .fa-tumblr:before{content:"\f173"} .fa-tumblr-square:before{content:"\f174"} .fa-long-arrow-down:before{content:"\f175"} .fa-long-arrow-up:before{content:"\f176"} .fa-long-arrow-left:before{content:"\f177"} .fa-long-arrow-right:before{content:"\f178"} .fa-apple:before{content:"\f179"} .fa-windows:before{content:"\f17a"} .fa-android:before{content:"\f17b"} .fa-linux:before{content:"\f17c"} .fa-dribbble:before{content:"\f17d"} .fa-skype:before{content:"\f17e"} .fa-foursquare:before{content:"\f180"} .fa-trello:before{content:"\f181"} .fa-female:before{content:"\f182"} .fa-male:before{content:"\f183"} .fa-gittip:before,.fa-gratipay:before{content:"\f184"} .fa-sun-o:before{content:"\f185"} .fa-moon-o:before{content:"\f186"} .fa-archive:before{content:"\f187"} .fa-bug:before{content:"\f188"} .fa-vk:before{content:"\f189"} .fa-weibo:before{content:"\f18a"} .fa-renren:before{content:"\f18b"} .fa-pagelines:before{content:"\f18c"} .fa-stack-exchange:before{content:"\f18d"} .fa-arrow-circle-o-right:before{content:"\f18e"} .fa-arrow-circle-o-left:before{content:"\f190"} .fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"} .fa-dot-circle-o:before{content:"\f192"} .fa-wheelchair:before{content:"\f193"} .fa-vimeo-square:before{content:"\f194"} .fa-turkish-lira:before,.fa-try:before{content:"\f195"} .fa-plus-square-o:before{content:"\f196"} .fa-space-shuttle:before{content:"\f197"} .fa-slack:before{content:"\f198"} .fa-envelope-square:before{content:"\f199"} .fa-wordpress:before{content:"\f19a"} .fa-openid:before{content:"\f19b"} .fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"} .fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"} .fa-yahoo:before{content:"\f19e"} .fa-google:before{content:"\f1a0"} .fa-reddit:before{content:"\f1a1"} .fa-reddit-square:before{content:"\f1a2"} .fa-stumbleupon-circle:before{content:"\f1a3"} .fa-stumbleupon:before{content:"\f1a4"} .fa-delicious:before{content:"\f1a5"} .fa-digg:before{content:"\f1a6"} .fa-pied-piper-pp:before{content:"\f1a7"} .fa-pied-piper-alt:before{content:"\f1a8"} .fa-drupal:before{content:"\f1a9"} .fa-joomla:before{content:"\f1aa"} .fa-language:before{content:"\f1ab"} .fa-fax:before{content:"\f1ac"} .fa-building:before{content:"\f1ad"} .fa-child:before{content:"\f1ae"} .fa-paw:before{content:"\f1b0"} .fa-spoon:before{content:"\f1b1"} .fa-cube:before{content:"\f1b2"} .fa-cubes:before{content:"\f1b3"} .fa-behance:before{content:"\f1b4"} .fa-behance-square:before{content:"\f1b5"} .fa-steam:before{content:"\f1b6"} .fa-steam-square:before{content:"\f1b7"} .fa-recycle:before{content:"\f1b8"} .fa-automobile:before,.fa-car:before{content:"\f1b9"} .fa-cab:before,.fa-taxi:before{content:"\f1ba"} .fa-tree:before{content:"\f1bb"} .fa-spotify:before{content:"\f1bc"} .fa-deviantart:before{content:"\f1bd"} .fa-soundcloud:before{content:"\f1be"} .fa-database:before{content:"\f1c0"} .fa-file-pdf-o:before{content:"\f1c1"} .fa-file-word-o:before{content:"\f1c2"} .fa-file-excel-o:before{content:"\f1c3"} .fa-file-powerpoint-o:before{content:"\f1c4"} .fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"} .fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"} .fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"} .fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"} .fa-file-code-o:before{content:"\f1c9"} .fa-vine:before{content:"\f1ca"} .fa-codepen:before{content:"\f1cb"} .fa-jsfiddle:before{content:"\f1cc"} .fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"} .fa-circle-o-notch:before{content:"\f1ce"} .fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"} .fa-ge:before,.fa-empire:before{content:"\f1d1"} .fa-git-square:before{content:"\f1d2"} .fa-git:before{content:"\f1d3"} .fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"} .fa-tencent-weibo:before{content:"\f1d5"} .fa-qq:before{content:"\f1d6"} .fa-wechat:before,.fa-weixin:before{content:"\f1d7"} .fa-send:before,.fa-paper-plane:before{content:"\f1d8"} .fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"} .fa-history:before{content:"\f1da"} .fa-circle-thin:before{content:"\f1db"} .fa-header:before{content:"\f1dc"} .fa-paragraph:before{content:"\f1dd"} .fa-sliders:before{content:"\f1de"} .fa-share-alt:before{content:"\f1e0"} .fa-share-alt-square:before{content:"\f1e1"} .fa-bomb:before{content:"\f1e2"} .fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"} .fa-tty:before{content:"\f1e4"} .fa-binoculars:before{content:"\f1e5"} .fa-plug:before{content:"\f1e6"} .fa-slideshare:before{content:"\f1e7"} .fa-twitch:before{content:"\f1e8"} .fa-yelp:before{content:"\f1e9"} .fa-newspaper-o:before{content:"\f1ea"} .fa-wifi:before{content:"\f1eb"} .fa-calculator:before{content:"\f1ec"} .fa-paypal:before{content:"\f1ed"} .fa-google-wallet:before{content:"\f1ee"} .fa-cc-visa:before{content:"\f1f0"} .fa-cc-mastercard:before{content:"\f1f1"} .fa-cc-discover:before{content:"\f1f2"} .fa-cc-amex:before{content:"\f1f3"} .fa-cc-paypal:before{content:"\f1f4"} .fa-cc-stripe:before{content:"\f1f5"} .fa-bell-slash:before{content:"\f1f6"} .fa-bell-slash-o:before{content:"\f1f7"} .fa-trash:before{content:"\f1f8"} .fa-copyright:before{content:"\f1f9"} .fa-at:before{content:"\f1fa"} .fa-eyedropper:before{content:"\f1fb"} .fa-paint-brush:before{content:"\f1fc"} .fa-birthday-cake:before{content:"\f1fd"} .fa-area-chart:before{content:"\f1fe"} .fa-pie-chart:before{content:"\f200"} .fa-line-chart:before{content:"\f201"} .fa-lastfm:before{content:"\f202"} .fa-lastfm-square:before{content:"\f203"} .fa-toggle-off:before{content:"\f204"} .fa-toggle-on:before{content:"\f205"} .fa-bicycle:before{content:"\f206"} .fa-bus:before{content:"\f207"} .fa-ioxhost:before{content:"\f208"} .fa-angellist:before{content:"\f209"} .fa-cc:before{content:"\f20a"} .fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"} .fa-meanpath:before{content:"\f20c"} .fa-buysellads:before{content:"\f20d"} .fa-connectdevelop:before{content:"\f20e"} .fa-dashcube:before{content:"\f210"} .fa-forumbee:before{content:"\f211"} .fa-leanpub:before{content:"\f212"} .fa-sellsy:before{content:"\f213"} .fa-shirtsinbulk:before{content:"\f214"} .fa-simplybuilt:before{content:"\f215"} .fa-skyatlas:before{content:"\f216"} .fa-cart-plus:before{content:"\f217"} .fa-cart-arrow-down:before{content:"\f218"} .fa-diamond:before{content:"\f219"} .fa-ship:before{content:"\f21a"} .fa-user-secret:before{content:"\f21b"} .fa-motorcycle:before{content:"\f21c"} .fa-street-view:before{content:"\f21d"} .fa-heartbeat:before{content:"\f21e"} .fa-venus:before{content:"\f221"} .fa-mars:before{content:"\f222"} .fa-mercury:before{content:"\f223"} .fa-intersex:before,.fa-transgender:before{content:"\f224"} .fa-transgender-alt:before{content:"\f225"} .fa-venus-double:before{content:"\f226"} .fa-mars-double:before{content:"\f227"} .fa-venus-mars:before{content:"\f228"} .fa-mars-stroke:before{content:"\f229"} .fa-mars-stroke-v:before{content:"\f22a"} .fa-mars-stroke-h:before{content:"\f22b"} .fa-neuter:before{content:"\f22c"} .fa-genderless:before{content:"\f22d"} .fa-facebook-official:before{content:"\f230"} .fa-pinterest-p:before{content:"\f231"} .fa-whatsapp:before{content:"\f232"} .fa-server:before{content:"\f233"} .fa-user-plus:before{content:"\f234"} .fa-user-times:before{content:"\f235"} .fa-hotel:before,.fa-bed:before{content:"\f236"} .fa-viacoin:before{content:"\f237"} .fa-train:before{content:"\f238"} .fa-subway:before{content:"\f239"} .fa-medium:before{content:"\f23a"} .fa-yc:before,.fa-y-combinator:before{content:"\f23b"} .fa-optin-monster:before{content:"\f23c"} .fa-opencart:before{content:"\f23d"} .fa-expeditedssl:before{content:"\f23e"} .fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"} .fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"} .fa-battery-2:before,.fa-battery-half:before{content:"\f242"} .fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"} .fa-battery-0:before,.fa-battery-empty:before{content:"\f244"} .fa-mouse-pointer:before{content:"\f245"} .fa-i-cursor:before{content:"\f246"} .fa-object-group:before{content:"\f247"} .fa-object-ungroup:before{content:"\f248"} .fa-sticky-note:before{content:"\f249"} .fa-sticky-note-o:before{content:"\f24a"} .fa-cc-jcb:before{content:"\f24b"} .fa-cc-diners-club:before{content:"\f24c"} .fa-clone:before{content:"\f24d"} .fa-balance-scale:before{content:"\f24e"} .fa-hourglass-o:before{content:"\f250"} .fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"} .fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"} .fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"} .fa-hourglass:before{content:"\f254"} .fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"} .fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"} .fa-hand-scissors-o:before{content:"\f257"} .fa-hand-lizard-o:before{content:"\f258"} .fa-hand-spock-o:before{content:"\f259"} .fa-hand-pointer-o:before{content:"\f25a"} .fa-hand-peace-o:before{content:"\f25b"} .fa-trademark:before{content:"\f25c"} .fa-registered:before{content:"\f25d"} .fa-creative-commons:before{content:"\f25e"} .fa-gg:before{content:"\f260"} .fa-gg-circle:before{content:"\f261"} .fa-tripadvisor:before{content:"\f262"} .fa-odnoklassniki:before{content:"\f263"} .fa-odnoklassniki-square:before{content:"\f264"} .fa-get-pocket:before{content:"\f265"} .fa-wikipedia-w:before{content:"\f266"} .fa-safari:before{content:"\f267"} .fa-chrome:before{content:"\f268"} .fa-firefox:before{content:"\f269"} .fa-opera:before{content:"\f26a"} .fa-internet-explorer:before{content:"\f26b"} .fa-tv:before,.fa-television:before{content:"\f26c"} .fa-contao:before{content:"\f26d"} .fa-500px:before{content:"\f26e"} .fa-amazon:before{content:"\f270"} .fa-calendar-plus-o:before{content:"\f271"} .fa-calendar-minus-o:before{content:"\f272"} .fa-calendar-times-o:before{content:"\f273"} .fa-calendar-check-o:before{content:"\f274"} .fa-industry:before{content:"\f275"} .fa-map-pin:before{content:"\f276"} .fa-map-signs:before{content:"\f277"} .fa-map-o:before{content:"\f278"} .fa-map:before{content:"\f279"} .fa-commenting:before{content:"\f27a"} .fa-commenting-o:before{content:"\f27b"} .fa-houzz:before{content:"\f27c"} .fa-vimeo:before{content:"\f27d"} .fa-black-tie:before{content:"\f27e"} .fa-fonticons:before{content:"\f280"} .fa-reddit-alien:before{content:"\f281"} .fa-edge:before{content:"\f282"} .fa-credit-card-alt:before{content:"\f283"} .fa-codiepie:before{content:"\f284"} .fa-modx:before{content:"\f285"} .fa-fort-awesome:before{content:"\f286"} .fa-usb:before{content:"\f287"} .fa-product-hunt:before{content:"\f288"} .fa-mixcloud:before{content:"\f289"} .fa-scribd:before{content:"\f28a"} .fa-pause-circle:before{content:"\f28b"} .fa-pause-circle-o:before{content:"\f28c"} .fa-stop-circle:before{content:"\f28d"} .fa-stop-circle-o:before{content:"\f28e"} .fa-shopping-bag:before{content:"\f290"} .fa-shopping-basket:before{content:"\f291"} .fa-hashtag:before{content:"\f292"} .fa-bluetooth:before{content:"\f293"} .fa-bluetooth-b:before{content:"\f294"} .fa-percent:before{content:"\f295"} .fa-gitlab:before{content:"\f296"} .fa-wpbeginner:before{content:"\f297"} .fa-wpforms:before{content:"\f298"} .fa-envira:before{content:"\f299"} .fa-universal-access:before{content:"\f29a"} .fa-wheelchair-alt:before{content:"\f29b"} .fa-question-circle-o:before{content:"\f29c"} .fa-blind:before{content:"\f29d"} .fa-audio-description:before{content:"\f29e"} .fa-volume-control-phone:before{content:"\f2a0"} .fa-braille:before{content:"\f2a1"} .fa-assistive-listening-systems:before{content:"\f2a2"} .fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"} .fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"} .fa-glide:before{content:"\f2a5"} .fa-glide-g:before{content:"\f2a6"} .fa-signing:before,.fa-sign-language:before{content:"\f2a7"} .fa-low-vision:before{content:"\f2a8"} .fa-viadeo:before{content:"\f2a9"} .fa-viadeo-square:before{content:"\f2aa"} .fa-snapchat:before{content:"\f2ab"} .fa-snapchat-ghost:before{content:"\f2ac"} .fa-snapchat-square:before{content:"\f2ad"} .fa-pied-piper:before{content:"\f2ae"} .fa-first-order:before{content:"\f2b0"} .fa-yoast:before{content:"\f2b1"} .fa-themeisle:before{content:"\f2b2"} .fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"} .fa-fa:before,.fa-font-awesome:before{content:"\f2b4"} .fa-handshake-o:before{content:"\f2b5"} .fa-envelope-open:before{content:"\f2b6"} .fa-envelope-open-o:before{content:"\f2b7"} .fa-linode:before{content:"\f2b8"} .fa-address-book:before{content:"\f2b9"} .fa-address-book-o:before{content:"\f2ba"} .fa-vcard:before,.fa-address-card:before{content:"\f2bb"} .fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"} .fa-user-circle:before{content:"\f2bd"} .fa-user-circle-o:before{content:"\f2be"} .fa-user-o:before{content:"\f2c0"} .fa-id-badge:before{content:"\f2c1"} .fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"} .fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"} .fa-quora:before{content:"\f2c4"} .fa-free-code-camp:before{content:"\f2c5"} .fa-telegram:before{content:"\f2c6"} .fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"} .fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"} .fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"} .fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"} .fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"} .fa-shower:before{content:"\f2cc"} .fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"} .fa-podcast:before{content:"\f2ce"} .fa-window-maximize:before{content:"\f2d0"} .fa-window-minimize:before{content:"\f2d1"} .fa-window-restore:before{content:"\f2d2"} .fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"} .fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"} .fa-bandcamp:before{content:"\f2d5"} .fa-grav:before{content:"\f2d6"} .fa-etsy:before{content:"\f2d7"} .fa-imdb:before{content:"\f2d8"} .fa-ravelry:before{content:"\f2d9"} .fa-eercast:before{content:"\f2da"} .fa-microchip:before{content:"\f2db"} .fa-snowflake-o:before{content:"\f2dc"} .fa-superpowers:before{content:"\f2dd"} .fa-wpexplorer:before{content:"\f2de"} .fa-meetup:before{content:"\f2e0"} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0} .sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} 5 | --------------------------------------------------------------------------------