diff --git a/mopidy_iris/static/app.css b/mopidy_iris/static/app.css index 4587c54b..454f7df4 100644 --- a/mopidy_iris/static/app.css +++ b/mopidy_iris/static/app.css @@ -3356,6 +3356,22 @@ label .input input { filter: invert(1); } +.search-form input { + background: transparent; + border-bottom: 1px solid #FFFFFF; + padding: 16px 0 8px; + width: 100%; + color: #FFFFFF; +} + +.search-form input:focus, .search-form input:active { + border-color: #08d58f; +} + +.search-form.sidebar { + padding: 10px 15px 0 15px; +} + aside { position: fixed; top: 0; @@ -3387,6 +3403,10 @@ aside .thumbnail .image { height: 100%; } +aside nav { + padding-top: 20px; +} + aside nav a { font-size: 16px; color: #FFFFFF; @@ -3593,6 +3613,12 @@ aside .player .controls a:hover { border-bottom: 0; } +.grid .grid-item:nth-child(5)::after { + content: ''; + clear: both; + display: block; +} + .grid .grid-item .thumbnail { -webkit-transition: all 0.2s ease-in-out; -moz-transition: all 0.2s ease-in-out; @@ -3616,12 +3642,6 @@ aside .player .controls a:hover { color: #888888; } -.grid .grid-item:nth-child(5)::after { - content: ''; - clear: both; - display: block; -} - .grid .grid-item:hover { cursor: pointer; } @@ -3630,18 +3650,6 @@ aside .player .controls a:hover { opacity: 0.75; } -@media (max-width: 850px) { - .grid .grid-item { - width: 21%; - } -} - -@media (max-width: 650px) { - .grid .grid-item { - width: 29.3334%; - } -} - .grid.category-grid .grid-item { position: relative; } @@ -3657,6 +3665,74 @@ aside .player .controls a:hover { color: #FFFFFF; } +@media (max-width: 2400px) { + .grid.mini .grid-item { + width: 29.33333%; + } + .grid.mini .grid-item:nth-child(3)::after { + content: ''; + clear: both; + display: block; + } + .grid:not(.mini) .grid-item { + width: 12.66667%; + } + .grid:not(.mini) .grid-item:nth-child(6)::after { + content: ''; + clear: both; + display: block; + } +} + +@media (max-width: 1200px) { + .grid.mini .grid-item { + width: 46%; + } + .grid.mini .grid-item:nth-child(2)::after { + content: ''; + clear: both; + display: block; + } + .grid:not(.mini) .grid-item { + width: 16%; + } + .grid:not(.mini) .grid-item:nth-child(5)::after { + content: ''; + clear: both; + display: block; + } +} + +@media (max-width: 850px) { + .grid.mini .grid-item { + width: 46%; + } + .grid.mini .grid-item:nth-child(2)::after { + content: ''; + clear: both; + display: block; + } + .grid:not(.mini) .grid-item { + width: 21%; + } + .grid:not(.mini) .grid-item:nth-child(4)::after { + content: ''; + clear: both; + display: block; + } +} + +@media (max-width: 650px) { + .grid:not(.mini) .grid-item { + width: 29.33333%; + } + .grid:not(.mini) .grid-item:nth-child(3)::after { + content: ''; + clear: both; + display: block; + } +} + main header { padding: 14px 20px; background: #EEEEEE; diff --git a/mopidy_iris/static/app.css.map b/mopidy_iris/static/app.css.map index 21eac838..df8ecaf5 100644 --- a/mopidy_iris/static/app.css.map +++ b/mopidy_iris/static/app.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack:///src/scss/app.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_index.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_path.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_core.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_larger.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_fixed-width.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_list.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_variables.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_bordered-pulled.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_animated.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_rotated-flipped.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_mixins.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_stacked.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_icons.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_screen-reader.scss","webpack:///webpack:///src/scss/src/scss/global/_variables.scss","webpack:///webpack:///src/scss/src/scss/global/_core.scss","webpack:///webpack:///src/scss/src/scss/global/_reset.scss","webpack:///webpack:///src/scss/src/scss/global/_forms.scss","webpack:///webpack:///src/scss/src/scss/components/_lazy-load-listener.scss","webpack:///webpack:///src/scss/src/scss/components/_context-menu.scss","webpack:///webpack:///src/scss/src/scss/components/_images.scss","webpack:///webpack:///src/scss/src/scss/components/_icon.scss","webpack:///webpack:///src/scss/src/scss/components/_sidebar.scss","webpack:///webpack:///src/scss/src/scss/components/_lists.scss","webpack:///webpack:///src/scss/src/scss/components/_grid.scss","webpack:///webpack:///src/scss/src/scss/components/_header.scss","webpack:///webpack:///src/scss/src/scss/views/_artist.scss","webpack:///webpack:///src/scss/src/scss/views/_album.scss","webpack:///webpack:///src/scss/src/scss/views/_playlist.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACAjB;;;GAGG;ACHH;gCACgC;AAEhC;EACE,2BAA2B;EAC3B,mCAAQ;EACR,2PAI4F;EAE5F,oBAAoB;EACpB,mBAAmB;CFApB;;AGVD;EACE,sBAAsB;EACtB,8CAAoF;EACpF,mBAAmB;EACnB,qBAAqB;EACrB,oCAAoC;EACpC,mCAAmC;CAEpC;;ACRD,8DAA8D;AAC9D;EACE,qBAAe;EACf,oBAAiB;EACjB,qBAAqB;CACtB;;AACD;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;ACVrB;EACE,iBAAY;EACZ,mBAAmB;CACpB;;ACFD;EACE,gBAAgB;EAChB,uBCMyB;EDLzB,sBAAsB;CAEvB;;AALD;EAIS,mBAAmB;CAAI;;AAEhC;EACE,mBAAmB;EACnB,iBCAyB;EDCzB,iBCDyB;EDEzB,eAAS;EACT,mBAAmB;CAIpB;;AATD;EAOI,iBAAO;CACR;;AEdH;EACE,0BAA0B;EAC1B,0BDIwB;ECHxB,oBAAoB;CACrB;;AAED;EAAE,YAAY;CAAI;;AAClB;EAAE,aAAa;CAAI;;AAEnB;EACI,mBAAmB;CAAI;;AAD3B;EAEI,kBAAkB;CAAI;;AAG1B,4BAA4B;AAC5B;EAAc,aAAa;CAAI;;AAC/B;EAAa,YAAY;CAAI;;AAE7B;EACgB,mBAAmB;CAAI;;AADvC;EAEiB,kBAAkB;CAAI;;ACpBvC;EACE,8CAA8C;EACtC,sCAAsC;CAC/C;;AAED;EACE,gDAA4C;EACpC,wCAAoC;CAC7C;;AAED;EACE;IACE,gCAAyB;IACjB,wBAAiB;GT+G1B;ES7GD;IACE,kCAAyB;IACjB,0BAAiB;GT+G1B;CACF;;AS5GD;EACE;IACE,gCAAyB;IACjB,wBAAiB;GT+G1B;ES7GD;IACE,kCAAyB;IACjB,0BAAiB;GT+G1B;CACF;;AU5ID;ECWE,uEAAiF;EACjF,iCAAyB;EACrB,6BAAqB;EACjB,yBAAiB;CDda;;AACxC;ECUE,uEAAiF;EACjF,kCAAyB;EACrB,8BAAqB;EACjB,0BAAiB;CDba;;AACxC;ECSE,uEAAiF;EACjF,kCAAyB;EACrB,8BAAqB;EACjB,0BAAiB;CDZa;;AAExC;ECcE,iFAA2F;EAC3F,gCAAwB;EACpB,4BAAoB;EAChB,wBAAgB;CDjBW;;AACrC;ECaE,iFAA2F;EAC3F,gCAAwB;EACpB,4BAAoB;EAChB,wBAAgB;CDhBW;;AAKrC;;;;;EACE,aAAa;CACd;;AEZD;EACE,mBAAmB;EACnB,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,uBAAuB;CACxB;;AACD;EACE,mBAAmB;EACnB,QAAQ;EACR,YAAY;EACZ,mBAAmB;CACpB;;AACD;EAAE,qBAAqB;CAAI;;AAC3B;EAAE,eAAe;CAAI;;AACrB;EAAE,YLTwB;CKSF;;ACnBxB;oEACoE;AAEpE;EAAE,iBNyTa;CMzTa;;AAC5B;EAAE,iBNmca;CMnca;;AAC5B;EAAE,iBN8hBc;CM9hBa;;AAC7B;EAAE,iBN2NkB;CM3Na;;AACjC;EAAE,iBNsVa;CMtVa;;AAC5B;EAAE,iBNolBY;CMplBa;;AAC3B;EAAE,iBNwlBc;CMxlBa;;AAC7B;EAAE,iBN4qBY;CM5qBa;;AAC3B;EAAE,iBNqQY;CMrQa;;AAC3B;EAAE,iBNunBgB;CMvnBa;;AAC/B;EAAE,iBNqnBU;CMrnBa;;AACzB;EAAE,iBNsnBe;CMtnBa;;AAC9B;EAAE,iBNiIa;CMjIa;;AAC5B;;;EAAE,iBN4nBa;CM5nBa;;AAC5B;EAAE,iBNohBmB;CMphBa;;AAClC;EAAE,iBNkhBoB;CMlhBa;;AACnC;EAAE,iBNqeiB;CMrea;;AAChC;EAAE,iBNsiBc;CMtiBa;;AAC7B;;EAAE,iBN2JW;CM3Ja;;AAC1B;EAAE,iBNqoBe;CMroBa;;AAC9B;EAAE,iBN0UY;CM1Ua;;AAC3B;EAAE,iBN4Oc;CM5Oa;;AAC7B;EAAE,iBN2Ie;CM3Ia;;AAC9B;EAAE,iBN2fY;CM3fa;;AAC3B;EAAE,iBN2LgB;CM3La;;AAC/B;EAAE,iBNW2B;CMXa;;AAC1C;EAAE,iBNayB;CMba;;AACxC;EAAE,iBNmVa;CMnVa;;AAC5B;EAAE,iBNmdqB;CMnda;;AACpC;;EAAE,iBN+ec;CM/ea;;AAC7B;EAAE,iBNyee;CMzea;;AAC9B;EAAE,iBNsXgB;CMtXa;;AAC/B;EAAE,iBNyXY;CMzXa;;AAC3B;EAAE,iBNkPY;CMlPa;;AAC3B;EAAE,iBNuTkB;CMvTa;;AACjC;EAAE,iBNmqBkB;CMnqBa;;AACjC;EAAE,iBNiqBmB;CMjqBa;;AAClC;EAAE,iBNkqBiB;CMlqBa;;AAChC;EAAE,iBNodc;CMpda;;AAC7B;EAAE,iBNuBe;CMvBa;;AAC9B;EAAE,iBN8kBW;CM9kBa;;AAC1B;EAAE,iBN8kBY;CM9kBa;;AAC3B;EAAE,iBNqDY;CMrDa;;AAC3B;EAAE,iBNqDgB;CMrDa;;AAC/B;EAAE,iBN0ca;CM1ca;;AAC5B;EAAE,iBNuEc;CMvEa;;AAC7B;EAAE,iBNgPY;CMhPa;;AAC3B;EAAE,iBN6CY;CM7Ca;;AAC3B;EAAE,iBNyUc;CMzUa;;AAC7B;EAAE,iBN4kBmB;CM5kBa;;AAClC;EAAE,iBN4kBkB;CM5kBa;;AACjC;EAAE,iBNpCkB;CMoCa;;AACjC;EAAE,iBNvCoB;CMuCa;;AACnC;EAAE,iBNrCmB;CMqCa;;AAClC;EAAE,iBNxCqB;CMwCa;;AACpC;EAAE,iBN6VY;CM7Va;;AAC3B;;EAAE,iBNwZe;CMxZa;;AAC9B;EAAE,iBNsTc;CMtTa;;AAC7B;EAAE,iBNqoBoB;CMroBa;;AACnC;;;EAAE,iBNyaiB;CMzaa;;AAChC;EAAE,iBNiac;CMjaa;;AAC7B;EAAE,iBNyWkB;CMzWa;;AACjC;EAAE,iBNnDc;CMmDa;;AAC7B;EAAE,iBN6kBY;CM7kBa;;AAC3B;;EAAE,iBN+ZuB;CM/Za;;AACtC;EAAE,iBN0esB;CM1ea;;AACrC;EAAE,iBN+EsB;CM/Ea;;AACrC;EAAE,iBNrBc;CMqBa;;AAC7B;EAAE,iBN6hBqB;CM7hBa;;AACpC;EAAE,iBN+KqB;CM/Ka;;AACpC;EAAE,iBNdgB;CMca;;AAC/B;EAAE,iBNsaY;CMtaa;;AAC3B;EAAE,iBNgZa;CMhZa;;AAC5B;EAAE,iBN6hBY;CM7hBa;;AAC3B;EAAE,iBNyNe;CMzNa;;AAC9B;EAAE,iBN0KoB;CM1Ka;;AACnC;EAAE,iBNshBoB;CMthBa;;AACnC;EAAE,iBN4Ia;CM5Ia;;AAC5B;EAAE,iBNyEoB;CMzEa;;AACnC;EAAE,iBNyEqB;CMzEa;;AACpC;EAAE,iBNkamB;CMlaa;;AAClC;EAAE,iBNuWoB;CMvWa;;AACnC;EAAE,iBNwjBoB;CMxjBa;;AACnC;EAAE,iBN2DoB;CM3Da;;AACnC;EAAE,iBNwauB;CMxaa;;AACtC;EAAE,iBN6RmB;CM7Ra;;AAClC;EAAE,iBN0GkB;CM1Ga;;AACjC;EAAE,iBNojBsB;CMpjBa;;AACrC;EAAE,iBNuDsB;CMvDa;;AACrC;EAAE,iBN/BW;CM+Ba;;AAC1B;EAAE,iBN/CkB;CM+Ca;;AACjC;EAAE,iBN/CmB;CM+Ca;;AAClC;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBNnDkB;CMmDa;;AACjC;;EAAE,iBNyca;CMzca;;AAC5B;EAAE,iBNyIc;CMzIa;;AAC7B;EAAE,iBNuFgB;CMvFa;;AAC/B;EAAE,iBNgZY;CMhZa;;AAC3B;EAAE,iBNqVa;CMrVa;;AAC5B;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBNkI0B;CMlIa;;AACzC;EAAE,iBN4MY;CM5Ma;;AAC3B;EAAE,iBN8RY;CM9Ra;;AAC3B;EAAE,iBNwKY;CMxKa;;AAC3B;EAAE,iBNoIW;CMpIa;;AAC1B;EAAE,iBNoIiB;CMpIa;;AAChC;;EAAE,iBN6H4B;CM7Ha;;AAC3C;EAAE,iBNiYa;CMjYa;;AAC5B;EAAE,iBNEgB;CMFa;;AAC/B;EAAE,iBNoZc;CMpZa;;AAC7B;EAAE,iBNkEe;CMlEa;;AAC9B;EAAE,iBNiTc;CMjTa;;AAC7B;EAAE,iBNyCkB;CMzCa;;AACjC;EAAE,iBNqCoB;CMrCa;;AACnC;EAAE,iBN8Ze;CM9Za;;AAC9B;EAAE,iBNgcqB;CMhca;;AACpC;EAAE,iBNsKc;CMtKa;;AAC7B;EAAE,iBNuKmB;CMvKa;;AAClC;EAAE,iBNrEgB;CMqEa;;AAC/B;EAAE,iBNvEgB;CMuEa;;AAC/B;;EAAE,iBN5DiB;CM4Da;;AAChC;EAAE,iBN6iBsB;CM7iBa;;AACrC;EAAE,iBNyHuB;CMzHa;;AACtC;EAAE,iBNNoB;CMMa;;AACnC;EAAE,iBNiQW;CMjQa;;AAC1B;;EAAE,iBNiDY;CMjDa;;AAC3B;EAAE,iBNsDgB;CMtDa;;AAC/B;EAAE,iBNugBmB;CMvgBa;;AAClC;EAAE,iBNqgBqB;CMrgBa;;AACpC;EAAE,iBNydiB;CMzda;;AAChC;EAAE,iBNyNe;CMzNa;;AAC9B;EAAE,iBNmbgB;CMnba;;AAC/B;EAAE,iBN8QuB;CM9Qa;;AACtC;EAAE,iBN8fkB;CM9fa;;AACjC;EAAE,iBNoGqB;CMpGa;;AACpC;EAAE,iBN6ae;CM7aa;;AAC9B;EAAE,iBNohBc;CMphBa;;AAC7B;EAAE,iBN6KqB;CM7Ka;;AACpC;EAAE,iBNsiBc;CMtiBa;;AAC7B;EAAE,iBN4Pe;CM5Pa;;AAC9B;EAAE,iBNqVa;CMrVa;;AAC5B;EAAE,iBNycgB;CMzca;;AAC/B;EAAE,iBN7CkB;CM6Ca;;AACjC;EAAE,iBNmVoB;CMnVa;;AACnC;EAAE,iBNqhBe;CMrhBa;;AAC9B;;EAAE,iBN+FgB;CM/Fa;;AAC/B;EAAE,iBNkKc;CMlKa;;AAC7B;EAAE,iBN0hBc;CM1hBa;;AAC7B;EAAE,iBNyCmB;CMzCa;;AAClC;;EAAE,iBNkYW;CMlYa;;AAC1B;EAAE,iBNiMa;CMjMa;;AAC5B;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBN1EY;CM0Ea;;AAC3B;EAAE,iBNfmB;CMea;;AAClC;EAAE,iBNkLoB;CMlLa;;AACnC;EAAE,iBNgLmB;CMhLa;;AAClC;EAAE,iBNiLiB;CMjLa;;AAChC;EAAE,iBN6KmB;CM7Ka;;AAClC;EAAE,iBN3HyB;CM2Ha;;AACxC;EAAE,iBNvH0B;CMuHa;;AACzC;EAAE,iBNvHuB;CMuHa;;AACtC;EAAE,iBN/HyB;CM+Ha;;AACxC;EAAE,iBN0Ja;CM1Ja;;AAC5B;EAAE,iBNmjBc;CMnjBa;;AAC7B;EAAE,iBNoda;CMpda;;AAC5B;EAAE,iBNyGc;CMzGa;;AAC7B;EAAE,iBNnEiB;CMmEa;;AAChC;EAAE,iBNxHkB;CMwHa;;AACjC;;EAAE,iBNghBa;CMhhBa;;AAC5B;;EAAE,iBNuOY;CMvOa;;AAC3B;EAAE,iBNNa;CMMa;;AAC5B;EAAE,iBN4Ga;CM5Ga;;AAC5B;;EAAE,iBNkXgB;CMlXa;;AAC/B;;EAAE,iBN+Fe;CM/Fa;;AAC9B;EAAE,iBNuSiB;CMvSa;;AAChC;;EAAE,iBN0GgB;CM1Ga;;AAC/B;EAAE,iBNqac;CMraa;;AAC7B;;;EAAE,iBNlHY;CMkHa;;AAC3B;EAAE,iBNqOe;CMrOa;;AAC9B;EAAE,iBNmOe;CMnOa;;AAC9B;EAAE,iBNsbqB;CMtba;;AACpC;EAAE,iBNmfiB;CMnfa;;AAChC;EAAE,iBN6ba;CM7ba;;AAC5B;EAAE,iBNwOa;CMxOa;;AAC5B;EAAE,iBNqea;CMrea;;AAC5B;EAAE,iBNgTiB;CMhTa;;AAChC;EAAE,iBNiTwB;CMjTa;;AACvC;EAAE,iBNsI0B;CMtIa;;AACzC;EAAE,iBNkImB;CMlIa;;AAClC;EAAE,iBNkQa;CMlQa;;AAC5B;EAAE,iBNvEkB;CMuEa;;AACjC;EAAE,iBNjEgB;CMiEa;;AAC/B;EAAE,iBNxEkB;CMwEa;;AACjC;EAAE,iBNxEmB;CMwEa;;AAClC;EAAE,iBNnBe;CMmBa;;AAC9B;;EAAE,iBNkYY;CMlYa;;AAC3B;;EAAE,iBNuYiB;CMvYa;;AAChC;;EAAE,iBNqYgB;CMrYa;;AAC/B;EAAE,iBNuBgB;CMvBa;;AAC/B;EAAE,iBN0MgB;CM1Ma;;AAC/B;;EAAE,iBNieY;CMjea;;AAC3B;;EAAE,iBN+Fa;CM/Fa;;AAC5B;;EAAE,iBN2akB;CM3aa;;AACjC;EAAE,iBN1BiB;CM0Ba;;AAChC;EAAE,iBNvBkB;CMuBa;;AACjC;;EAAE,iBNhHY;CMgHa;;AAC3B;EAAE,iBN4We;CM5Wa;;AAC9B;EAAE,iBNwdgB;CMxda;;AAC/B;;EAAE,iBNhDiB;CMgDa;;AAChC;EAAE,iBN6LmB;CM7La;;AAClC;EAAE,iBNkBgB;CMlBa;;AAC/B;EAAE,iBN9CsB;CM8Ca;;AACrC;EAAE,iBN9CoB;CM8Ca;;AACnC;EAAE,iBN+de;CM/da;;AAC9B;EAAE,iBN6YmB;CM7Ya;;AAClC;EAAE,iBNwZgB;CMxZa;;AAC/B;EAAE,iBNzIc;CMyIa;;AAC7B;EAAE,iBN7Cc;CM6Ca;;AAC7B;EAAE,iBNrBe;CMqBa;;AAC9B;EAAE,iBN6CmB;CM7Ca;;AAClC;EAAE,iBNrHkB;CMqHa;;AACjC;EAAE,iBNkIkB;CMlIa;;AACjC;EAAE,iBN5MiB;CM4Ma;;AAChC;EAAE,iBNmNc;CMnNa;;AAC7B;EAAE,iBNyBmB;CMzBa;;AAClC;EAAE,iBNtJY;CMsJa;;AAC3B;EAAE,iBNoGgB;CMpGa;;AAC/B;EAAE,iBNgRmB;CMhRa;;AAClC;EAAE,iBN5MyB;CM4Ma;;AACxC;EAAE,iBN5M0B;CM4Ma;;AACzC;EAAE,iBN5MuB;CM4Ma;;AACtC;EAAE,iBNhNyB;CMgNa;;AACxC;EAAE,iBN5MkB;CM4Ma;;AACjC;EAAE,iBN5MmB;CM4Ma;;AAClC;EAAE,iBN5MgB;CM4Ma;;AAC/B;EAAE,iBNhNkB;CMgNa;;AACjC;EAAE,iBN/Be;CM+Ba;;AAC9B;EAAE,iBNoJc;CMpJa;;AAC7B;EAAE,iBNsYc;CMtYa;;AAC7B;;EAAE,iBN6Mc;CM7Ma;;AAC7B;EAAE,iBNnFgB;CMmFa;;AAC/B;EAAE,iBN6QkB;CM7Qa;;AACjC;EAAE,iBN6QmB;CM7Qa;;AAClC;EAAE,iBN+Ve;CM/Va;;AAC9B;EAAE,iBNxFc;CMwFa;;AAC7B;;EAAE,iBNwRa;CMxRa;;AAC5B;EAAE,iBN+DkB;CM/Da;;AACjC;EAAE,iBNoCgB;CMpCa;;AAC/B;EAAE,iBNqCqB;CMrCa;;AACpC;EAAE,iBNuUe;CMvUa;;AAC9B;EAAE,iBN2Ce;CM3Ca;;AAC9B;EAAE,iBNwLa;CMxLa;;AAC5B;EAAE,iBN2Ce;CM3Ca;;AAC9B;EAAE,iBNiIkB;CMjIa;;AACjC;EAAE,iBNuBc;CMvBa;;AAC7B;EAAE,iBNqBsB;CMrBa;;AACrC;EAAE,iBN4XgB;CM5Xa;;AAC/B;EAAE,iBNzFY;CMyFa;;AAC3B;;EAAE,iBN4QiB;CM5Qa;;AAChC;;;EAAE,iBN0VmB;CM1Va;;AAClC;EAAE,iBNoJsB;CMpJa;;AACrC;EAAE,iBNtEY;CMsEa;;AAC3B;EAAE,iBN7FiB;CM6Fa;;AAChC;;EAAE,iBN3HoB;CM2Ha;;AACnC;EAAE,iBNmPgB;CMnPa;;AAC/B;EAAE,iBNwGY;CMxGa;;AAC3B;EAAE,iBNrCmB;CMqCa;;AAClC;EAAE,iBNsWmB;CMtWa;;AAClC;EAAE,iBNiWiB;CMjWa;;AAChC;EAAE,iBN5Cc;CM4Ca;;AAC7B;EAAE,iBN0OoB;CM1Oa;;AACnC;EAAE,iBNsKkB;CMtKa;;AACjC;EAAE,iBNsKwB;CMtKa;;AACvC;EAAE,iBN6Rc;CM7Ra;;AAC7B;EAAE,iBNjKkB;CMiKa;;AACjC;EAAE,iBNHyB;CMGa;;AACxC;EAAE,iBN+Pc;CM/Pa;;AAC7B;EAAE,iBN0Jc;CM1Ja;;AAC7B;EAAE,iBNnI2B;CMmIa;;AAC1C;EAAE,iBNnI4B;CMmIa;;AAC3C;EAAE,iBNnIyB;CMmIa;;AACxC;EAAE,iBNvI2B;CMuIa;;AAC1C;EAAE,iBNgFa;CMhFa;;AAC5B;EAAE,iBN1FY;CM0Fa;;AAC3B;EAAE,iBNxQc;CMwQa;;AAC7B;EAAE,iBNiZkB;CMjZa;;AACjC;EAAE,iBNrLgB;CMqLa;;AAC/B;EAAE,iBNrEkB;CMqEa;;AACjC;EAAE,iBNrEkB;CMqEa;;AACjC;EAAE,iBNuPkB;CMvPa;;AACjC;EAAE,iBN4MmB;CM5Ma;;AAClC;EAAE,iBNqWc;CMrWa;;AAC7B;EAAE,iBNqJoB;CMrJa;;AACnC;EAAE,iBNqJsB;CMrJa;;AACrC;EAAE,iBNmGgB;CMnGa;;AAC/B;EAAE,iBNiGkB;CMjGa;;AACjC;EAAE,iBNxJoB;CMwJa;;AACnC;EAAE,iBNqLqB;CMrLa;;AACpC;EAAE,iBN/D4B;CM+Da;;AAC3C;EAAE,iBN+PoB;CM/Pa;;AACnC;EAAE,iBNtHe;CMsHa;;AAC9B;;EAAE,iBNnL2B;CMmLa;;AAC1C;;EAAE,iBNjLyB;CMiLa;;AACxC;;EAAE,iBNnL4B;CMmLa;;AAC3C;;EAAE,iBN9EW;CM8Ea;;AAC1B;EAAE,iBNRW;CMQa;;AAC1B;;EAAE,iBNgYW;CMhYa;;AAC1B;;EAAE,iBNgEW;CMhEa;;AAC1B;;;;EAAE,iBNuEW;CMvEa;;AAC1B;;;EAAE,iBNoOW;CMpOa;;AAC1B;;EAAE,iBNyEW;CMzEa;;AAC1B;;EAAE,iBNnNW;CMmNa;;AAC1B;EAAE,iBN9DY;CM8Da;;AAC3B;EAAE,iBNlDiB;CMkDa;;AAChC;EAAE,iBN4QsB;CM5Qa;;AACrC;EAAE,iBN4QuB;CM5Qa;;AACtC;EAAE,iBN4QuB;CM5Qa;;AACtC;EAAE,iBN4QwB;CM5Qa;;AACvC;EAAE,iBN+QwB;CM/Qa;;AACvC;EAAE,iBN+QyB;CM/Qa;;AACxC;EAAE,iBNuUiB;CMvUa;;AAChC;EAAE,iBNmUmB;CMnUa;;AAClC;EAAE,iBNiasB;CMjaa;;AACrC;EAAE,iBN8Ze;CM9Za;;AAC9B;EAAE,iBNmZY;CMnZa;;AAC3B;EAAE,iBNmZmB;CMnZa;;AAClC;EAAE,iBN4ZoB;CM5Za;;AACnC;EAAE,iBNlHe;CMkHa;;AAC9B;EAAE,iBNgRsB;CMhRa;;AACrC;EAAE,iBN2CiB;CM3Ca;;AAChC;EAAE,iBNlDc;CMkDa;;AAC7B;EAAE,iBN/TW;CM+Ta;;AAC1B;EAAE,iBNvPiB;CMuPa;;AAChC;EAAE,iBNvPwB;CMuPa;;AACvC;EAAE,iBNkVc;CMlVa;;AAC7B;EAAE,iBNkVqB;CMlVa;;AACpC;EAAE,iBN0EuB;CM1Ea;;AACtC;EAAE,iBN4EqB;CM5Ea;;AACpC;EAAE,iBNyEuB;CMzEa;;AACtC;EAAE,iBNyEwB;CMzEa;;AACvC;EAAE,iBNrTa;CMqTa;;AAC5B;EAAE,iBN4Xe;CM5Xa;;AAC9B;EAAE,iBNjUe;CMiUa;;AAC9B;EAAE,iBN4Da;CM5Da;;AAC5B;EAAE,iBNpIgB;CMoIa;;AAC/B;EAAE,iBNmOa;CMnOa;;AAC5B;EAAE,iBNtDkB;CMsDa;;AACjC;EAAE,iBN+Tc;CM/Ta;;AAC7B;EAAE,iBNpGc;CMoGa;;AAC7B;EAAE,iBNuEY;CMvEa;;AAC3B;;EAAE,iBN1BgB;CM0Ba;;AAC/B;EAAE,iBNiRa;CMjRa;;AAC5B;EAAE,iBNgGc;CMhGa;;AAC7B;EAAE,iBNjUe;CMiUa;;AAC9B;EAAE,iBN7PW;CM6Pa;;AAC1B;EAAE,iBNgWU;CMhWa;;AACzB;EAAE,iBNsWa;CMtWa;;AAC5B;EAAE,iBNqKc;CMrKa;;AAC7B;EAAE,iBN2GiB;CM3Ga;;AAChC;EAAE,iBNgPsB;CMhPa;;AACrC;EAAE,iBNlU4B;CMkUa;;AAC3C;EAAE,iBNpU2B;CMoUa;;AAC1C;;EAAE,iBN/O2B;CM+Oa;;AAC1C;EAAE,iBNzJoB;CMyJa;;AACnC;EAAE,iBNiWkB;CMjWa;;AACjC;EAAE,iBNoVoB;CMpVa;;AACnC;;EAAE,iBNgTW;CMhTa;;AAC1B;EAAE,iBNqIqB;CMrIa;;AACpC;EAAE,iBNiOqB;CMjOa;;AACpC;EAAE,iBN4Ma;CM5Ma;;AAC5B;EAAE,iBNnJuB;CMmJa;;AACtC;EAAE,iBNgWiB;CMhWa;;AAChC;EAAE,iBNyFc;CMzFa;;AAC7B;;;EAAE,iBNsTkB;CMtTa;;AACjC;;EAAE,iBNnDsB;CMmDa;;AACrC;EAAE,iBNoWa;CMpWa;;AAC5B;EAAE,iBN3Dc;CM2Da;;AAC7B;EAAE,iBN2Ic;CM3Ia;;AAC7B;EAAE,iBN4IqB;CM5Ia;;AACpC;EAAE,iBNiP0B;CMjPa;;AACzC;EAAE,iBN+OmB;CM/Oa;;AAClC;EAAE,iBNjLiB;CMiLa;;AAChC;EAAE,iBN9KY;CM8Ka;;AAC3B;EAAE,iBNyGqB;CMzGa;;AACpC;EAAE,iBNuGsB;CMvGa;;AACrC;EAAE,iBN3Kc;CM2Ka;;AAC7B;EAAE,iBNRc;CMQa;;AAC7B;EAAE,iBNHgB;CMGa;;AAC/B;EAAE,iBN9IW;CM8Ia;;AAC1B;EAAE,iBN/RgB;CM+Ra;;AAC/B;EAAE,iBN5Oa;CM4Oa;;AAC5B;EAAE,iBNoFW;CMpFa;;AAC1B;EAAE,iBN2Ma;CM3Ma;;AAC5B;EAAE,iBNvMY;CMuMa;;AAC3B;EAAE,iBNvMa;CMuMa;;AAC5B;EAAE,iBN/Te;CM+Ta;;AAC9B;EAAE,iBN/TsB;CM+Ta;;AACrC;EAAE,iBNkNa;CMlNa;;AAC5B;EAAE,iBNkNoB;CMlNa;;AACnC;EAAE,iBNoHe;CMpHa;;AAC9B;;EAAE,iBN1RW;CM0Ra;;AAC1B;;EAAE,iBNwOY;CMxOa;;AAC3B;EAAE,iBNuQY;CMvQa;;AAC3B;EAAE,iBNiMe;CMjMa;;AAC9B;EAAE,iBNtMkB;CMsMa;;AACjC;EAAE,iBN2LkB;CM3La;;AACjC;EAAE,iBN9MgB;CM8Ma;;AAC/B;EAAE,iBNrJkB;CMqJa;;AACjC;EAAE,iBN9ImB;CM8Ia;;AAClC;EAAE,iBN3JoB;CM2Ja;;AACnC;EAAE,iBNrJyB;CMqJa;;AACxC;;;EAAE,iBN5JoB;CM4Ja;;AACnC;;EAAE,iBNjKsB;CMiKa;;AACrC;;EAAE,iBNjKoB;CMiKa;;AACnC;;EAAE,iBNrJoB;CMqJa;;AACnC;EAAE,iBNlKmB;CMkKa;;AAClC;EAAE,iBNkSY;CMlSa;;AAC3B;EAAE,iBNvPe;CMuPa;;AAC9B;EAAE,iBNtCgB;CMsCa;;AAC/B;;;;;EAAE,iBNvBiB;CMuBa;;AAChC;EAAE,iBNtQsB;CMsQa;;AACrC;;;EAAE,iBN6Fa;CM7Fa;;AAC5B;;EAAE,iBN1Mc;CM0Ma;;AAC7B;EAAE,iBNpHkB;CMoHa;;AACjC;EAAE,iBNtHW;CMsHa;;AAC1B;;;EAAE,iBNlGmB;CMkGa;;AAClC;EAAE,iBNiNqB;CMjNa;;AACpC;EAAE,iBN8EU;CM9Ea;;AACzB;;EAAE,iBN+Rc;CM/Ra;;AAC7B;;EAAE,iBNsCmB;CMtCa;;AAClC;;EAAE,iBNsCqB;CMtCa;;AACpC;EAAE,iBNlFe;CMkFa;;AAC9B;EAAE,iBNjRmB;CMiRa;;AAClC;EAAE,iBNzFc;CMyFa;;AAC7B;EAAE,iBNoCiB;CMpCa;;AAChC;EAAE,iBN2Ie;CM3Ia;;AAC9B;EAAE,iBNoHiB;CMpHa;;AAChC;EAAE,iBNoHwB;CMpHa;;AACvC;EAAE,iBNxVY;CMwVa;;AAC3B;;EAAE,iBNjJgB;CMiJa;;AAC/B;EAAE,iBNuOW;CMvOa;;AAC1B;EAAE,iBNtWkB;CMsWa;;AACjC;EAAE,iBNsDY;CMtDa;;AAC3B;EAAE,iBNoIkB;CMpIa;;AACjC;EAAE,iBNwOc;CMxOa;;AAC7B;EAAE,iBNiSY;CMjSa;;AAC3B;EAAE,iBNSmB;CMTa;;AAClC;EAAE,iBNgRY;CMhRa;;AAC3B;EAAE,iBNnVkB;CMmVa;;AACjC;EAAE,iBN2Bc;CM3Ba;;AAC7B;EAAE,iBNhIqB;CMgIa;;AACpC;EAAE,iBN1Te;CM0Ta;;AAC9B;EAAE,iBN9TqB;CM8Ta;;AACpC;EAAE,iBNjUmB;CMiUa;;AAClC;EAAE,iBNpUe;CMoUa;;AAC9B;EAAE,iBNhUiB;CMgUa;;AAChC;EAAE,iBNhUiB;CMgUa;;AAChC;EAAE,iBNzXkB;CMyXa;;AACjC;EAAE,iBNzXoB;CMyXa;;AACnC;EAAE,iBN4Ma;CM5Ma;;AAC5B;EAAE,iBNjRiB;CMiRa;;AAChC;EAAE,iBNxZU;CMwZa;;AACzB;EAAE,iBNhOkB;CMgOa;;AACjC;EAAE,iBNGmB;CMHa;;AAClC;EAAE,iBN5XqB;CM4Xa;;AACpC;EAAE,iBNhbkB;CMgba;;AACjC;EAAE,iBNmBiB;CMnBa;;AAChC;EAAE,iBNpEkB;CMoEa;;AACjC;EAAE,iBNlFc;CMkFa;;AAC7B;EAAE,iBNlFqB;CMkFa;;AACpC;EAAE,iBNyLkB;CMzLa;;AACjC;EAAE,iBNyLiB;CMzLa;;AAChC;EAAE,iBNtYe;CMsYa;;AAC9B;EAAE,iBN/WW;CM+Wa;;AAC1B;EAAE,iBNlGe;CMkGa;;AAC9B;EAAE,iBNrciB;CMqca;;AAChC;EAAE,iBN3VU;CM2Va;;AACzB;;;EAAE,iBNjHW;CMiHa;;AAC1B;EAAE,iBN9CgB;CM8Ca;;AAC/B;EAAE,iBNpXkB;CMoXa;;AACjC;EAAE,iBNxSsB;CMwSa;;AACrC;EAAE,iBN1RgB;CM0Ra;;AAC/B;EAAE,iBNhMgB;CMgMa;;AAC/B;EAAE,iBN9Fe;CM8Fa;;AAC9B;EAAE,iBN+Dc;CM/Da;;AAC7B;EAAE,iBN2EoB;CM3Ea;;AACnC;EAAE,iBNmFmB;CMnFa;;AAClC;EAAE,iBNoFgB;CMpFa;;AAC/B;EAAE,iBNxWiB;CMwWa;;AAChC;EAAE,iBN1WuB;CM0Wa;;AACtC;EAAE,iBN3Re;CM2Ra;;AAC9B;EAAE,iBNoEY;CMpEa;;AAC3B;EAAE,iBN0MmB;CM1Ma;;AAClC;EAAE,iBN3CkB;CM2Ca;;AACjC;EAAE,iBN2HmB;CM3Ha;;AAClC;EAAE,iBNnJiB;CMmJa;;AAChC;EAAE,iBNyMa;CMzMa;;AAC5B;EAAE,iBNvEY;CMuEa;;AAC3B;EAAE,iBN9De;CM8Da;;AAC9B;;EAAE,iBNkKmB;CMlKa;;AAClC;EAAE,iBNkKuB;CMlKa;;AACtC;EAAE,iBNqMoB;CMrMa;;AACnC;EAAE,iBN3EmB;CM2Ea;;AAClC;EAAE,iBNoMkB;CMpMa;;AACjC;EAAE,iBN5EmB;CM4Ea;;AAClC;EAAE,iBN3EqB;CM2Ea;;AACpC;EAAE,iBN7EqB;CM6Ea;;AACpC;EAAE,iBNrDc;CMqDa;;AAC7B;EAAE,iBN/MkB;CM+Ma;;AACjC;EAAE,iBN3QyB;CM2Qa;;AACxC;EAAE,iBNpBmB;CMoBa;;AAClC;EAAE,iBN6MgB;CM7Ma;;AAC/B;EAAE,iBNsCc;CMtCa;;AAC7B;EAAE,iBNoLiB;CMpLa;;AAChC;EAAE,iBNqLkB;CMrLa;;AACjC;;EAAE,iBNzbW;CMyba;;AAC1B;EAAE,iBNwLe;CMxLa;;AAC9B;EAAE,iBN+Ia;CM/Ia;;AAC5B;EAAE,iBNwGc;CMxGa;;AAC7B;EAAE,iBNtFc;CMsFa;;AAC7B;;EAAE,iBNiNoB;CMjNa;;AACnC;EAAE,iBN1DqB;CM0Da;;AACpC;EAAE,iBN9DgB;CM8Da;;AAC/B;EAAE,iBNlSoB;CMkSa;;AACnC;;EAAE,iBNtcoB;CMsca;;AACnC;;EAAE,iBNpc8B;CMoca;;AAC7C;;EAAE,iBNvcoB;CMuca;;AACnC;;EAAE,iBNvcuB;CMuca;;AACtC;;EAAE,iBN3cqB;CM2ca;;AACpC;EAAE,iBN9EqB;CM8Ea;;AACpC;EAAE,iBNvKgB;CMuKa;;AAC/B;EAAE,iBN3EoB;CM2Ea;;AACnC;EAAE,iBN3EsB;CM2Ea;;AACrC;EAAE,iBN+EmB;CM/Ea;;AAClC;EAAE,iBN+EqB;CM/Ea;;AACpC;EAAE,iBNlZc;CMkZa;;AAC7B;EAAE,iBNrZsB;CMqZa;;AACrC;EAAE,iBNvXa;CMuXa;;AAC5B;EAAE,iBNjeqB;CMiea;;AACpC;EAAE,iBNpLmB;CMoLa;;AAClC;;EAAE,iBNpLuB;CMoLa;;AACtC;;EAAE,iBNvLsB;CMuLa;;AACrC;;EAAE,iBNzLqB;CMyLa;;AACpC;EAAE,iBN9LiB;CM8La;;AAChC;;EAAE,iBN/MmB;CM+Ma;;AAClC;;EAAE,iBNnNoB;CMmNa;;AACnC;EAAE,iBNhNuB;CMgNa;;AACtC;EAAE,iBN1NqB;CM0Na;;AACpC;EAAE,iBNjNoB;CMiNa;;AACnC;EAAE,iBNrNsB;CMqNa;;AACrC;EAAE,iBNvNoB;CMuNa;;AACnC;EAAE,iBN4GiB;CM5Ga;;AAChC;EAAE,iBNhCkB;CMgCa;;AACjC;EAAE,iBN7WwB;CM6Wa;;AACvC;EAAE,iBN3PU;CM2Pa;;AACzB;EAAE,iBN3PiB;CM2Pa;;AAChC;EAAE,iBN+GmB;CM/Ga;;AAClC;EAAE,iBNnGqB;CMmGa;;AACpC;EAAE,iBNnG4B;CMmGa;;AAC3C;EAAE,iBNjQkB;CMiQa;;AACjC;EAAE,iBNgKmB;CMhKa;;AAClC;EAAE,iBNrBc;CMqBa;;AAC7B;EAAE,iBNvZc;CMuZa;;AAC7B;EAAE,iBNlSe;CMkSa;;AAC9B;EAAE,iBNtGa;CMsGa;;AAC5B;EAAE,iBN/LyB;CM+La;;AACxC;;EAAE,iBNoEkB;CMpEa;;AACjC;EAAE,iBN9Xc;CM8Xa;;AAC7B;EAAE,iBN9iBa;CM8iBa;;AAC5B;EAAE,iBNxiBc;CMwiBa;;AAC7B;EAAE,iBNxcuB;CMwca;;AACtC;EAAE,iBN3cwB;CM2ca;;AACvC;EAAE,iBNzcwB;CMyca;;AACvC;EAAE,iBN9cwB;CM8ca;;AACvC;EAAE,iBN9MgB;CM8Ma;;AAC/B;EAAE,iBNvJe;CMuJa;;AAC9B;EAAE,iBNvJiB;CMuJa;;AAChC;EAAE,iBN1Ja;CM0Ja;;AAC5B;EAAE,iBN7JW;CM6Ja;;AAC1B;EAAE,iBNjZkB;CMiZa;;AACjC;EAAE,iBNjZoB;CMiZa;;AACnC;EAAE,iBN5Na;CM4Na;;AAC5B;EAAE,iBN0Ha;CM1Ha;;AAC5B;EAAE,iBN/eiB;CM+ea;;AAChC;EAAE,iBNxSiB;CMwSa;;AAChC;EAAE,iBNpEoB;CMoEa;;AACnC;EAAE,iBNnXY;CMmXa;;AAC3B;EAAE,iBN7YuB;CM6Ya;;AACtC;EAAE,iBNjagB;CMiaa;;AAC/B;EAAE,iBN/IY;CM+Ia;;AAC3B;EAAE,iBN7SoB;CM6Sa;;AACnC;EAAE,iBNkGW;CMlGa;;AAC1B;EAAE,iBNzFoB;CMyFa;;AACnC;EAAE,iBNtJgB;CMsJa;;AAC/B;EAAE,iBNnDc;CMmDa;;AAC7B;EAAE,iBN1HoB;CM0Ha;;AACnC;EAAE,iBN1HsB;CM0Ha;;AACrC;EAAE,iBNkBmB;CMlBa;;AAClC;EAAE,iBNkBqB;CMlBa;;AACpC;EAAE,iBNtCoB;CMsCa;;AACnC;EAAE,iBNtCuB;CMsCa;;AACtC;EAAE,iBNnQe;CMmQa;;AAC9B;EAAE,iBNhgBiB;CMggBa;;AAChC;EAAE,iBNhgBmB;CMggBa;;AAClC;EAAE,iBN5He;CM4Ha;;AAC9B;EAAE,iBNtSc;CMsSa;;AAC7B;EAAE,iBNsHkB;CMtHa;;AACjC;EAAE,iBNsHe;CMtHa;;AAC9B;EAAE,iBNhYc;CMgYa;;AAC7B;EAAE,iBNyEwB;CMzEa;;AACvC;EAAE,iBN4GsB;CM5Ga;;AACrC;EAAE,iBNtGyB;CMsGa;;AACxC;EAAE,iBN3gBa;CM2gBa;;AAC5B;EAAE,iBN/iByB;CM+iBa;;AACxC;EAAE,iBN8F4B;CM9Fa;;AAC3C;EAAE,iBNrgBe;CMqgBa;;AAC9B;EAAE,iBNrjBmC;CMqjBa;;AAClD;;EAAE,iBNtlB2C;CMslBa;;AAC1D;;;EAAE,iBNjaY;CMiaa;;AAC3B;EAAE,iBNjTa;CMiTa;;AAC5B;EAAE,iBNjTe;CMiTa;;AAC9B;;EAAE,iBNxDqB;CMwDa;;AACpC;EAAE,iBNhNkB;CMgNa;;AACjC;EAAE,iBN8Ec;CM9Ea;;AAC7B;EAAE,iBN8EqB;CM9Ea;;AACpC;EAAE,iBNhDgB;CMgDa;;AAC/B;EAAE,iBNhDsB;CMgDa;;AACrC;EAAE,iBNhDuB;CMgDa;;AACtC;EAAE,iBN9IkB;CM8Ia;;AACjC;EAAE,iBNnWmB;CMmWa;;AAClC;EAAE,iBN0Ga;CM1Ga;;AAC5B;EAAE,iBNWiB;CMXa;;AAChC;;EAAE,iBNxT4B;CMwTa;;AAC3C;;EAAE,iBN1VoB;CM0Va;;ACznBnC;EH8BE,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,uBAAU;EACV,UAAU;CGrCqB;;AACjC;EHgDI,iBAAiB;EACjB,YAAY;EACZ,aAAa;EACb,UAAU;EACV,kBAAkB;EAClB,WAAW;CACZ;;AI5BH;EACI;IAAO,UAAU;Gf0xFlB;EezxFC;IAAK,YAAY;Gf4xFlB;CACF;;AgB3zFD;;EAEC,oBAAoB;EACpB,eAAe;EACf,4DAA4D;EAC5D,gBAAgB;CAChB;;AAED;EACC,mBAAmB;EACnB,mBAAmB;CACnB;;AAED;;EAEC,mBAAmB;CACnB;;AAED;EACC,mBAAmB;EACnB,kBAAkB;CAwDlB;;AA1DD;EAKE,eAAe;EACf,sBAAsB;EACtB,sCAAsC;CAKtC;;AAZF;EAUG,sBAAsB;CACtB;;AAXH;EAeE,cAAc;CACd;;AAhBF;EAmBE,iBAAiB;EACjB,gBAAgB;CAChB;;AArBF;EAwBE,iBAAiB;EACjB,gBAAgB;CAChB;;AA1BF;EA6BE,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;CAChB;;AAhCF;EAmCE,gBAAgB;EAChB,oBAAoB;EACpB,0BAA0B;CAU1B;;AA/CF;EAwCG,oBAAoB;EACpB,iCAAiC;CACjC;;AA1CH;EA6CG,kBAAkB;CAClB;;AA9CH;EAiDoB,eAAe;CAAI;;AAjDvC;EAkDsB,kBAAkB;CAAI;;AAlD5C;EAmDsB,iBAAiB;CAAI;;AAnD3C;EAoDqB,gBAAgB;CAAI;;AApDzC;EAsDkB,kBAAkB;CAAI;;AAtDxC;EAuDoB,qBAAqB;CAAI;;AAvD7C;EAwDmB,oBAAoB;CAAI;;AAxD3C;EAyDmB,mBAAmB;CAAI;;AAG1C;EACC,gBAAgB;EAChB,YAAY;CAwBZ;;AA1BD;EAIS,UAAU;CAAI;;AAJvB;EAKU,WAAW;CAAI;;AALzB;EAMU,WAAW;CAAI;;AANzB;EAOU,WAAW;CAAI;;AAPzB;EAQU,WAAW;CAAI;;AARzB;EASU,WAAW;CAAI;;AATzB;EAUU,gBAAgB;CAAI;;AAV9B;EAWU,WAAW;CAAI;;AAXzB;EAYU,WAAW;CAAI;;AAZzB;EAaU,WAAW;CAAI;;AAbzB;EAcU,WAAW;CAAI;;AAdzB;EAeU,WAAW;CAAI;;AAfzB;EAgBU,WAAW;CAAI;;AAhBzB;EAiBU,WAAW;CAAI;;AAjBzB;EAkBU,gBAAgB;CAAI;;AAlB9B;EAmBU,WAAW;CAAI;;AAnBzB;EAoBU,WAAW;CAAI;;AApBzB;EAqBU,WAAW;CAAI;;AArBzB;EAsBU,WAAW;CAAI;;AAtBzB;EAuBU,WAAW;CAAI;;AAvBzB;EAwBU,WAAW;CAAI;;AAxBzB;EAyBU,YAAY;CAAI;;AAG1B;ED3FE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AC4FF;EDtGC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CCsGxB;;AAED;EACC,eDjHiB;CCkHjB;;AAED;EACC,eAAe;EACf,eDvHmB;ECwHnB,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;CACnB;;AAED;EACC,sBAAsB;EACtB,eD9HiB;EC+HjB,0BAA0B;CAK1B;;AARD;EAME,oBAAoB;CACpB;;ACtIF;EACC,UAAU;EACV,UAAU;EACV,WAAW;EACX,WAAW;CACX;;ACLD;;;;;;;EAOC,mBAAmB;EACnB,oBAAoB;EACpB,eAAe;EACf,4DAA4D;EAC5D,gBAAgB;CAChB;;AAED;;;;EHSC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;EGHpD,mBAAmB;EACnB,UAAU;EACV,eAAe;EACf,oBHpBmB;CGwEnB;;AA5DD;;;;EAWE,gBAAgB;EAChB,oBAAkB;CAClB;;AAbF;;;;EAgBE,oBH9BiB;EG+BjB,eAAe;CAIf;;AArBF;;;;EAmBG,oBAAkB;CAClB;;AApBH;;;;EAwBE,oBAAoB;EACpB,eAAe;CAIf;;AA7BF;;;;EA2BG,oBAAmB;CACnB;;AA5BH;;;;;;;EAiCE,oBHzCW;EG0CX,eAAe;CAIf;;AAtCF;;;;;;;EAoCG,oBAAkB;CAClB;;AArCH;;;;EAyCE,mBAAmB;CAWnB;;AApDF;;;;EHqBI,+BAA+B;EAC/B,uBGqB0B;EHpB1B,kCAAkC;EGqBnC,YAAY;EACZ,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,SAAS;EACT,sCAAgB;CAChB;;AAnDH;;;;;;;EAwDE,+BAAkC;EAClC,0BAA2B;EAC3B,+BAA+B;CAC/B;;AAGF;EACC,eAAe;EACf,oBAAoB;CAkBpB;;AApBD;EH5DE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AGyDF;EAME,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,YAAY;CACZ;;AAVF;EAaE,WAAW;EACX,YAAY;CAKZ;;AAnBF;EAiBG,WAAW;CACX;;AAIH;EACC,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,qCAAgB;EAChB,gBAAgB;CAShB;;AAdD;EAQE,QAAQ;EACR,OAAO;EACP,aAAa;EACb,oBH7GiB;EG8GjB,qBAAqB;CACrB;;AC/GF;EACC,aAAa;EACb,eJAmB;CIKnB;;ACPD;EACC,gBAAgB;EAChB,QAAQ;EACR,OAAO;EACP,cAAc;EACd,oBLDkB;EKElB,eAAe;CAgBf;;AAtBD;EASE,eAAe;EACf,kBAAkB;EAClB,aAAa;CAUb;;AArBF;EAcG,8BAA6B;CAC7B;;AAfH;EAkBG,gBAAgB;EAChB,oBAAmB;CACnB;;ACnBH;EACC,YAAY;EACZ,iBAAiB;EACjB,iBAAiB;CAmBjB;;AAtBD;EAME,YAAY;EACZ,qBAAqB;EACrB,mBAAmB;EACnB,6BAA6B;EAC7B,0BNTkB;EMUlB,6BAA6B;EAC7B,uBAAuB;CACvB;;AAbF;EAgBE,gBAAgB;CAChB;;AAjBF;EAoBE,mBAAmB;CACnB;;AAGF;EACC,aAAa;EACb,YAAY;EACZ,iBAAiB;EACjB,oBNzBkB;CMqClB;;AAhBD;EAOE,YAAY;EACZ,aAAa;EACb,WAAW;ENXZ,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;CMkBnD;;AAfF;EAaG,aAAa;CACb;;ACvCH;EAEE,0BAAsB;EACtB,uBAAmB;EACnB,kBAAc;CACd;;ACLF;EAEC,gBAAgB;EAChB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,oBAAoB;EACpB,aAAa;EACb,iBAAiB;EACjB,0DAA2C;CA2H3C;;AApID;EAYE,mBAAmB;EACnB,WAAW;EACX,aAAa;EACb,cAAc;EACd,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,aAAa;CAOb;;AA5BF;ERyCC,2BAAoB;EACpB,mBAAY;EQjBV,kBAAkB;EAClB,aAAa;CACb;;AA3BH;EAiCG,gBAAgB;EAChB,eAAe;EACf,sBAAsB;EACtB,eAAe;EACf,2BAA2B;EAC3B,mCAAmC;CAsBnC;;AA5DH;EAyCI,aAAa;EACb,mBAAmB;EACnB,oBAAoB;EACpB,gBAAgB;CAChB;;AA7CJ;EAgDI,sBRhDe;EQiDf,+BAAgB;CAChB;;AAlDJ;EAqDI,aAAa;EACb,oBAAoB;CACpB;;AAvDJ;EA0DI,qCAAgB;CAChB;;AA3DJ;EA+DG,gBAAgB;CAUhB;;AAzEH;EAkEI,eAAe;EACf,oBAAoB;EACpB,gBAAgB;EAChB,0BAA0B;EAC1B,aAAa;EACb,eAAe;CACf;;AAxEJ;EA8EE,mBAAmB;EACnB,UAAU;EACV,QAAQ;EACR,SAAS;EACT,cAAc;CAiDd;;AAnIF;EAqFG,gBAAgB;EAChB,0BAA0B;EAC1B,mBAAmB;EACnB,eAAe;CAqBf;;AA7GH;ERSC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CQiFrB;;AA5FJ;EA+FI,aAAa;EACb,eAAe;ERvFlB,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CQiGrB;;AA5GJ;EAoGK,eAAe;EACf,sBAAsB;EACtB,sCAAsC;CAKtC;;AA3GL;EAyGM,iCAAiC;CACjC;;AA1GN;EAgHG,mBAAmB;CAkBnB;;AAlIH;EAmHI,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,aAAa;CASb;;AAjIJ;EA2HK,eR3Hc;CQ4Hd;;AA5HL;EA+HK,aAAa;CACb;;AChIL;EAEC,4BAA4B;EAC5B,0BAA0B;EAC1B,yBAAyB;EACzB,uBAAuB;EACvB,sBAAsB;EACtB,kBAAkB;EAElB,eAAe;EACf,mBAAmB;EACnB,2BAA2B;EAC3B,8BTXmB;ESYnB,iCTZmB;ESanB,oBAAoB;CAwDpB;;AAtED;ETgBE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;ASnBF;EAkBE,+BAA+B;CAC/B;;AAnBF;EAsBE,oBTrBkB;ESsBlB,gBAAgB;EAChB,sBTvBkB;CSwBlB;;AAzBF;EA4BE,gBAAgB;EAChB,eAAe;EACf,0BAA0B;EAC1B,cAAc;EACd,oBAAoB;CACpB;;AAjCF;EA0CI,WAAW;CACX;;AA3CJ;EA+CG,mBAAmB;EACnB,UAAU;EACV,WAAW;EACX,gBAAgB;CAChB;;AAnDH;EAsDG,iBAAiB;CACjB;;AAvDH;EA+DI,WAAW;CACX;;AAhEJ;EAkEI,WAAW;CACX;;AAKJ;EAEE,eAAe;EACf,UAAU;EACV,oBAAoB;CAqBpB;;AAzBF;ETxDE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;ASqDF;EAQG,YAAY;EACZ,mBAAmB;EACnB,YAAY;EACZ,8BAA8B;CAC9B;;AAZH;EAeG,sBAAsB;EACtB,kBAAkB;CAClB;;AAjBH;EAqBI,sBT7Fe;ES8Ff,aAAa;CACb;;AC/FJ;EAEC,mBAAmB;CA8DnB;;AAhED;EAKE,WAAW;EACX,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACpB,iBAAiB;CAqCjB;;AA9CF;EVuBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;EUTlD,gBAAgB;CAChB;;AAdH;EVSC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;EUOtB,iBAAiB;CACjB;;AAnBH;EVSC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;EUYtB,iBAAiB;EACjB,eVnBqB;CUoBrB;;AAzBH;EVgBE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AUnBF;EAgCG,gBAAgB;CAKhB;;AArCH;EAmCI,cAAc;CACd;;AVUH;EU9CD;IAwCG,WAAW;GAMZ;CzBqgHD;;AergHA;EU9CD;IA4CG,gBAAgB;GAEjB;CzB2gHD;;AyBzjHD;EAkDG,mBAAmB;CAYnB;;AA9DH;EAqDI,mBAAmB;EACnB,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;CACf;;AC7DJ;EAEE,mBAAmB;EACnB,oBAAoB;CAapB;;AAhBF;EAMG,sBAAsB;EACtB,oBAAoB;EACpB,aAAa;CACb;;AATH;EAYG,gBAAgB;EAChB,iBAAiB;EACjB,sBAAsB;CACtB;;ACfH;EAEE,mBAAmB;EACnB,wBAAwB;CAcxB;;AAjBF;EZgBE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AYnBF;EAOG,iBAAiB;EACjB,sBAAsB;EACtB,YAAY;CACZ;;AAVH;EAaG,eAAe;EACf,kBAAkB;EAClB,qBAAqB;CACrB;;AChBH;EAEE,kBAAkB;CAYlB;;AAdF;EAKG,mBAAmB;CAQnB;;AAbH;EAQI,ebLc;CaSd;;AAZJ;EAUK,eAAa;CACb;;AAXL;EAiBE,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACX,oBbrBkB;CakElB;;AAnEF;EAyBG,YAAY;EACZ,eAAe;EACf,gBAAgB;CAChB;;AA5BH;EA+BG,cAAc;CACd;;AAhCH;EAmCG,WAAW;EACX,UAAU;CA8BV;;AAlEH;EAuCI,UAAU;EACV,WAAW;EACX,mBAAmB;CAwBnB;;AAjEJ;EA4CK,0BbvCmB;CawCnB;;AA7CL;EbuBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;Ea2BhD,mBAAmB;EACnB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,WAAW;EACX,kBAAkB;CAClB;;AA1DL;EA8DM,WAAW;CACX;;AC/DN;EAEE,kBAAkB;CAYlB;;AAdF;EAKG,mBAAmB;CAQnB;;AAbH;EAQI,edLc;CcSd;;AAZJ;EAUK,eAAa;CACb;;AAXL;EAiBE,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACX,oBdrBkB;CckElB;;AAnEF;EAyBG,YAAY;EACZ,eAAe;EACf,gBAAgB;CAChB;;AA5BH;EA+BG,cAAc;CACd;;AAhCH;EAmCG,WAAW;EACX,UAAU;CA8BV;;AAlEH;EAuCI,UAAU;EACV,WAAW;EACX,mBAAmB;CAwBnB;;AAjEJ;EA4CK,0BdvCmB;CcwCnB;;AA7CL;EduBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;Ec2BhD,mBAAmB;EACnB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,WAAW;EACX,kBAAkB;CAClB;;AA1DL;EA8DM,WAAW;CACX","file":"app.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"../assets/fonts/fontawesome-webfont.eot?v=4.6.3\");\n src: url(\"../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3\") format(\"embedded-opentype\"), url(\"../assets/fonts/fontawesome-webfont.woff2?v=4.6.3\") format(\"woff2\"), url(\"../assets/fonts/fontawesome-webfont.woff?v=4.6.3\") format(\"woff\"), url(\"../assets/fonts/fontawesome-webfont.ttf?v=4.6.3\") format(\"truetype\"), url(\"../assets/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-fw {\n width: 1.28571em;\n text-align: center;\n}\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none;\n}\n\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center;\n}\n\n.fa-li.fa-lg {\n left: -1.85714em;\n}\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n\n.pull-left {\n float: left;\n}\n\n.fa.pull-left {\n margin-right: .3em;\n}\n\n.fa.pull-right {\n margin-left: .3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.fa-stack-1x {\n line-height: inherit;\n}\n\n.fa-stack-2x {\n font-size: 2em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\";\n}\n\n.fa-music:before {\n content: \"\";\n}\n\n.fa-search:before {\n content: \"\";\n}\n\n.fa-envelope-o:before {\n content: \"\";\n}\n\n.fa-heart:before {\n content: \"\";\n}\n\n.fa-star:before {\n content: \"\";\n}\n\n.fa-star-o:before {\n content: \"\";\n}\n\n.fa-user:before {\n content: \"\";\n}\n\n.fa-film:before {\n content: \"\";\n}\n\n.fa-th-large:before {\n content: \"\";\n}\n\n.fa-th:before {\n content: \"\";\n}\n\n.fa-th-list:before {\n content: \"\";\n}\n\n.fa-check:before {\n content: \"\";\n}\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\";\n}\n\n.fa-search-plus:before {\n content: \"\";\n}\n\n.fa-search-minus:before {\n content: \"\";\n}\n\n.fa-power-off:before {\n content: \"\";\n}\n\n.fa-signal:before {\n content: \"\";\n}\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\";\n}\n\n.fa-trash-o:before {\n content: \"\";\n}\n\n.fa-home:before {\n content: \"\";\n}\n\n.fa-file-o:before {\n content: \"\";\n}\n\n.fa-clock-o:before {\n content: \"\";\n}\n\n.fa-road:before {\n content: \"\";\n}\n\n.fa-download:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-down:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-up:before {\n content: \"\";\n}\n\n.fa-inbox:before {\n content: \"\";\n}\n\n.fa-play-circle-o:before {\n content: \"\";\n}\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\";\n}\n\n.fa-refresh:before {\n content: \"\";\n}\n\n.fa-list-alt:before {\n content: \"\";\n}\n\n.fa-lock:before {\n content: \"\";\n}\n\n.fa-flag:before {\n content: \"\";\n}\n\n.fa-headphones:before {\n content: \"\";\n}\n\n.fa-volume-off:before {\n content: \"\";\n}\n\n.fa-volume-down:before {\n content: \"\";\n}\n\n.fa-volume-up:before {\n content: \"\";\n}\n\n.fa-qrcode:before {\n content: \"\";\n}\n\n.fa-barcode:before {\n content: \"\";\n}\n\n.fa-tag:before {\n content: \"\";\n}\n\n.fa-tags:before {\n content: \"\";\n}\n\n.fa-book:before {\n content: \"\";\n}\n\n.fa-bookmark:before {\n content: \"\";\n}\n\n.fa-print:before {\n content: \"\";\n}\n\n.fa-camera:before {\n content: \"\";\n}\n\n.fa-font:before {\n content: \"\";\n}\n\n.fa-bold:before {\n content: \"\";\n}\n\n.fa-italic:before {\n content: \"\";\n}\n\n.fa-text-height:before {\n content: \"\";\n}\n\n.fa-text-width:before {\n content: \"\";\n}\n\n.fa-align-left:before {\n content: \"\";\n}\n\n.fa-align-center:before {\n content: \"\";\n}\n\n.fa-align-right:before {\n content: \"\";\n}\n\n.fa-align-justify:before {\n content: \"\";\n}\n\n.fa-list:before {\n content: \"\";\n}\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\";\n}\n\n.fa-indent:before {\n content: \"\";\n}\n\n.fa-video-camera:before {\n content: \"\";\n}\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\";\n}\n\n.fa-pencil:before {\n content: \"\";\n}\n\n.fa-map-marker:before {\n content: \"\";\n}\n\n.fa-adjust:before {\n content: \"\";\n}\n\n.fa-tint:before {\n content: \"\";\n}\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\";\n}\n\n.fa-share-square-o:before {\n content: \"\";\n}\n\n.fa-check-square-o:before {\n content: \"\";\n}\n\n.fa-arrows:before {\n content: \"\";\n}\n\n.fa-step-backward:before {\n content: \"\";\n}\n\n.fa-fast-backward:before {\n content: \"\";\n}\n\n.fa-backward:before {\n content: \"\";\n}\n\n.fa-play:before {\n content: \"\";\n}\n\n.fa-pause:before {\n content: \"\";\n}\n\n.fa-stop:before {\n content: \"\";\n}\n\n.fa-forward:before {\n content: \"\";\n}\n\n.fa-fast-forward:before {\n content: \"\";\n}\n\n.fa-step-forward:before {\n content: \"\";\n}\n\n.fa-eject:before {\n content: \"\";\n}\n\n.fa-chevron-left:before {\n content: \"\";\n}\n\n.fa-chevron-right:before {\n content: \"\";\n}\n\n.fa-plus-circle:before {\n content: \"\";\n}\n\n.fa-minus-circle:before {\n content: \"\";\n}\n\n.fa-times-circle:before {\n content: \"\";\n}\n\n.fa-check-circle:before {\n content: \"\";\n}\n\n.fa-question-circle:before {\n content: \"\";\n}\n\n.fa-info-circle:before {\n content: \"\";\n}\n\n.fa-crosshairs:before {\n content: \"\";\n}\n\n.fa-times-circle-o:before {\n content: \"\";\n}\n\n.fa-check-circle-o:before {\n content: \"\";\n}\n\n.fa-ban:before {\n content: \"\";\n}\n\n.fa-arrow-left:before {\n content: \"\";\n}\n\n.fa-arrow-right:before {\n content: \"\";\n}\n\n.fa-arrow-up:before {\n content: \"\";\n}\n\n.fa-arrow-down:before {\n content: \"\";\n}\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\";\n}\n\n.fa-expand:before {\n content: \"\";\n}\n\n.fa-compress:before {\n content: \"\";\n}\n\n.fa-plus:before {\n content: \"\";\n}\n\n.fa-minus:before {\n content: \"\";\n}\n\n.fa-asterisk:before {\n content: \"\";\n}\n\n.fa-exclamation-circle:before {\n content: \"\";\n}\n\n.fa-gift:before {\n content: \"\";\n}\n\n.fa-leaf:before {\n content: \"\";\n}\n\n.fa-fire:before {\n content: \"\";\n}\n\n.fa-eye:before {\n content: \"\";\n}\n\n.fa-eye-slash:before {\n content: \"\";\n}\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\";\n}\n\n.fa-plane:before {\n content: \"\";\n}\n\n.fa-calendar:before {\n content: \"\";\n}\n\n.fa-random:before {\n content: \"\";\n}\n\n.fa-comment:before {\n content: \"\";\n}\n\n.fa-magnet:before {\n content: \"\";\n}\n\n.fa-chevron-up:before {\n content: \"\";\n}\n\n.fa-chevron-down:before {\n content: \"\";\n}\n\n.fa-retweet:before {\n content: \"\";\n}\n\n.fa-shopping-cart:before {\n content: \"\";\n}\n\n.fa-folder:before {\n content: \"\";\n}\n\n.fa-folder-open:before {\n content: \"\";\n}\n\n.fa-arrows-v:before {\n content: \"\";\n}\n\n.fa-arrows-h:before {\n content: \"\";\n}\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\";\n}\n\n.fa-twitter-square:before {\n content: \"\";\n}\n\n.fa-facebook-square:before {\n content: \"\";\n}\n\n.fa-camera-retro:before {\n content: \"\";\n}\n\n.fa-key:before {\n content: \"\";\n}\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\";\n}\n\n.fa-comments:before {\n content: \"\";\n}\n\n.fa-thumbs-o-up:before {\n content: \"\";\n}\n\n.fa-thumbs-o-down:before {\n content: \"\";\n}\n\n.fa-star-half:before {\n content: \"\";\n}\n\n.fa-heart-o:before {\n content: \"\";\n}\n\n.fa-sign-out:before {\n content: \"\";\n}\n\n.fa-linkedin-square:before {\n content: \"\";\n}\n\n.fa-thumb-tack:before {\n content: \"\";\n}\n\n.fa-external-link:before {\n content: \"\";\n}\n\n.fa-sign-in:before {\n content: \"\";\n}\n\n.fa-trophy:before {\n content: \"\";\n}\n\n.fa-github-square:before {\n content: \"\";\n}\n\n.fa-upload:before {\n content: \"\";\n}\n\n.fa-lemon-o:before {\n content: \"\";\n}\n\n.fa-phone:before {\n content: \"\";\n}\n\n.fa-square-o:before {\n content: \"\";\n}\n\n.fa-bookmark-o:before {\n content: \"\";\n}\n\n.fa-phone-square:before {\n content: \"\";\n}\n\n.fa-twitter:before {\n content: \"\";\n}\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\";\n}\n\n.fa-github:before {\n content: \"\";\n}\n\n.fa-unlock:before {\n content: \"\";\n}\n\n.fa-credit-card:before {\n content: \"\";\n}\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\";\n}\n\n.fa-hdd-o:before {\n content: \"\";\n}\n\n.fa-bullhorn:before {\n content: \"\";\n}\n\n.fa-bell:before {\n content: \"\";\n}\n\n.fa-certificate:before {\n content: \"\";\n}\n\n.fa-hand-o-right:before {\n content: \"\";\n}\n\n.fa-hand-o-left:before {\n content: \"\";\n}\n\n.fa-hand-o-up:before {\n content: \"\";\n}\n\n.fa-hand-o-down:before {\n content: \"\";\n}\n\n.fa-arrow-circle-left:before {\n content: \"\";\n}\n\n.fa-arrow-circle-right:before {\n content: \"\";\n}\n\n.fa-arrow-circle-up:before {\n content: \"\";\n}\n\n.fa-arrow-circle-down:before {\n content: \"\";\n}\n\n.fa-globe:before {\n content: \"\";\n}\n\n.fa-wrench:before {\n content: \"\";\n}\n\n.fa-tasks:before {\n content: \"\";\n}\n\n.fa-filter:before {\n content: \"\";\n}\n\n.fa-briefcase:before {\n content: \"\";\n}\n\n.fa-arrows-alt:before {\n content: \"\";\n}\n\n.fa-group:before,\n.fa-users:before {\n content: \"\";\n}\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\";\n}\n\n.fa-cloud:before {\n content: \"\";\n}\n\n.fa-flask:before {\n content: \"\";\n}\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\";\n}\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\";\n}\n\n.fa-paperclip:before {\n content: \"\";\n}\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\";\n}\n\n.fa-square:before {\n content: \"\";\n}\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\";\n}\n\n.fa-list-ul:before {\n content: \"\";\n}\n\n.fa-list-ol:before {\n content: \"\";\n}\n\n.fa-strikethrough:before {\n content: \"\";\n}\n\n.fa-underline:before {\n content: \"\";\n}\n\n.fa-table:before {\n content: \"\";\n}\n\n.fa-magic:before {\n content: \"\";\n}\n\n.fa-truck:before {\n content: \"\";\n}\n\n.fa-pinterest:before {\n content: \"\";\n}\n\n.fa-pinterest-square:before {\n content: \"\";\n}\n\n.fa-google-plus-square:before {\n content: \"\";\n}\n\n.fa-google-plus:before {\n content: \"\";\n}\n\n.fa-money:before {\n content: \"\";\n}\n\n.fa-caret-down:before {\n content: \"\";\n}\n\n.fa-caret-up:before {\n content: \"\";\n}\n\n.fa-caret-left:before {\n content: \"\";\n}\n\n.fa-caret-right:before {\n content: \"\";\n}\n\n.fa-columns:before {\n content: \"\";\n}\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\";\n}\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\";\n}\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\";\n}\n\n.fa-envelope:before {\n content: \"\";\n}\n\n.fa-linkedin:before {\n content: \"\";\n}\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\";\n}\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\";\n}\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\";\n}\n\n.fa-comment-o:before {\n content: \"\";\n}\n\n.fa-comments-o:before {\n content: \"\";\n}\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\";\n}\n\n.fa-sitemap:before {\n content: \"\";\n}\n\n.fa-umbrella:before {\n content: \"\";\n}\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\";\n}\n\n.fa-lightbulb-o:before {\n content: \"\";\n}\n\n.fa-exchange:before {\n content: \"\";\n}\n\n.fa-cloud-download:before {\n content: \"\";\n}\n\n.fa-cloud-upload:before {\n content: \"\";\n}\n\n.fa-user-md:before {\n content: \"\";\n}\n\n.fa-stethoscope:before {\n content: \"\";\n}\n\n.fa-suitcase:before {\n content: \"\";\n}\n\n.fa-bell-o:before {\n content: \"\";\n}\n\n.fa-coffee:before {\n content: \"\";\n}\n\n.fa-cutlery:before {\n content: \"\";\n}\n\n.fa-file-text-o:before {\n content: \"\";\n}\n\n.fa-building-o:before {\n content: \"\";\n}\n\n.fa-hospital-o:before {\n content: \"\";\n}\n\n.fa-ambulance:before {\n content: \"\";\n}\n\n.fa-medkit:before {\n content: \"\";\n}\n\n.fa-fighter-jet:before {\n content: \"\";\n}\n\n.fa-beer:before {\n content: \"\";\n}\n\n.fa-h-square:before {\n content: \"\";\n}\n\n.fa-plus-square:before {\n content: \"\";\n}\n\n.fa-angle-double-left:before {\n content: \"\";\n}\n\n.fa-angle-double-right:before {\n content: \"\";\n}\n\n.fa-angle-double-up:before {\n content: \"\";\n}\n\n.fa-angle-double-down:before {\n content: \"\";\n}\n\n.fa-angle-left:before {\n content: \"\";\n}\n\n.fa-angle-right:before {\n content: \"\";\n}\n\n.fa-angle-up:before {\n content: \"\";\n}\n\n.fa-angle-down:before {\n content: \"\";\n}\n\n.fa-desktop:before {\n content: \"\";\n}\n\n.fa-laptop:before {\n content: \"\";\n}\n\n.fa-tablet:before {\n content: \"\";\n}\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\";\n}\n\n.fa-circle-o:before {\n content: \"\";\n}\n\n.fa-quote-left:before {\n content: \"\";\n}\n\n.fa-quote-right:before {\n content: \"\";\n}\n\n.fa-spinner:before {\n content: \"\";\n}\n\n.fa-circle:before {\n content: \"\";\n}\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\";\n}\n\n.fa-github-alt:before {\n content: \"\";\n}\n\n.fa-folder-o:before {\n content: \"\";\n}\n\n.fa-folder-open-o:before {\n content: \"\";\n}\n\n.fa-smile-o:before {\n content: \"\";\n}\n\n.fa-frown-o:before {\n content: \"\";\n}\n\n.fa-meh-o:before {\n content: \"\";\n}\n\n.fa-gamepad:before {\n content: \"\";\n}\n\n.fa-keyboard-o:before {\n content: \"\";\n}\n\n.fa-flag-o:before {\n content: \"\";\n}\n\n.fa-flag-checkered:before {\n content: \"\";\n}\n\n.fa-terminal:before {\n content: \"\";\n}\n\n.fa-code:before {\n content: \"\";\n}\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\";\n}\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\";\n}\n\n.fa-location-arrow:before {\n content: \"\";\n}\n\n.fa-crop:before {\n content: \"\";\n}\n\n.fa-code-fork:before {\n content: \"\";\n}\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\";\n}\n\n.fa-question:before {\n content: \"\";\n}\n\n.fa-info:before {\n content: \"\";\n}\n\n.fa-exclamation:before {\n content: \"\";\n}\n\n.fa-superscript:before {\n content: \"\";\n}\n\n.fa-subscript:before {\n content: \"\";\n}\n\n.fa-eraser:before {\n content: \"\";\n}\n\n.fa-puzzle-piece:before {\n content: \"\";\n}\n\n.fa-microphone:before {\n content: \"\";\n}\n\n.fa-microphone-slash:before {\n content: \"\";\n}\n\n.fa-shield:before {\n content: \"\";\n}\n\n.fa-calendar-o:before {\n content: \"\";\n}\n\n.fa-fire-extinguisher:before {\n content: \"\";\n}\n\n.fa-rocket:before {\n content: \"\";\n}\n\n.fa-maxcdn:before {\n content: \"\";\n}\n\n.fa-chevron-circle-left:before {\n content: \"\";\n}\n\n.fa-chevron-circle-right:before {\n content: \"\";\n}\n\n.fa-chevron-circle-up:before {\n content: \"\";\n}\n\n.fa-chevron-circle-down:before {\n content: \"\";\n}\n\n.fa-html5:before {\n content: \"\";\n}\n\n.fa-css3:before {\n content: \"\";\n}\n\n.fa-anchor:before {\n content: \"\";\n}\n\n.fa-unlock-alt:before {\n content: \"\";\n}\n\n.fa-bullseye:before {\n content: \"\";\n}\n\n.fa-ellipsis-h:before {\n content: \"\";\n}\n\n.fa-ellipsis-v:before {\n content: \"\";\n}\n\n.fa-rss-square:before {\n content: \"\";\n}\n\n.fa-play-circle:before {\n content: \"\";\n}\n\n.fa-ticket:before {\n content: \"\";\n}\n\n.fa-minus-square:before {\n content: \"\";\n}\n\n.fa-minus-square-o:before {\n content: \"\";\n}\n\n.fa-level-up:before {\n content: \"\";\n}\n\n.fa-level-down:before {\n content: \"\";\n}\n\n.fa-check-square:before {\n content: \"\";\n}\n\n.fa-pencil-square:before {\n content: \"\";\n}\n\n.fa-external-link-square:before {\n content: \"\";\n}\n\n.fa-share-square:before {\n content: \"\";\n}\n\n.fa-compass:before {\n content: \"\";\n}\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\";\n}\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\";\n}\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\";\n}\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\";\n}\n\n.fa-gbp:before {\n content: \"\";\n}\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\";\n}\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\";\n}\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\";\n}\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\";\n}\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\";\n}\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\";\n}\n\n.fa-file:before {\n content: \"\";\n}\n\n.fa-file-text:before {\n content: \"\";\n}\n\n.fa-sort-alpha-asc:before {\n content: \"\";\n}\n\n.fa-sort-alpha-desc:before {\n content: \"\";\n}\n\n.fa-sort-amount-asc:before {\n content: \"\";\n}\n\n.fa-sort-amount-desc:before {\n content: \"\";\n}\n\n.fa-sort-numeric-asc:before {\n content: \"\";\n}\n\n.fa-sort-numeric-desc:before {\n content: \"\";\n}\n\n.fa-thumbs-up:before {\n content: \"\";\n}\n\n.fa-thumbs-down:before {\n content: \"\";\n}\n\n.fa-youtube-square:before {\n content: \"\";\n}\n\n.fa-youtube:before {\n content: \"\";\n}\n\n.fa-xing:before {\n content: \"\";\n}\n\n.fa-xing-square:before {\n content: \"\";\n}\n\n.fa-youtube-play:before {\n content: \"\";\n}\n\n.fa-dropbox:before {\n content: \"\";\n}\n\n.fa-stack-overflow:before {\n content: \"\";\n}\n\n.fa-instagram:before {\n content: \"\";\n}\n\n.fa-flickr:before {\n content: \"\";\n}\n\n.fa-adn:before {\n content: \"\";\n}\n\n.fa-bitbucket:before {\n content: \"\";\n}\n\n.fa-bitbucket-square:before {\n content: \"\";\n}\n\n.fa-tumblr:before {\n content: \"\";\n}\n\n.fa-tumblr-square:before {\n content: \"\";\n}\n\n.fa-long-arrow-down:before {\n content: \"\";\n}\n\n.fa-long-arrow-up:before {\n content: \"\";\n}\n\n.fa-long-arrow-left:before {\n content: \"\";\n}\n\n.fa-long-arrow-right:before {\n content: \"\";\n}\n\n.fa-apple:before {\n content: \"\";\n}\n\n.fa-windows:before {\n content: \"\";\n}\n\n.fa-android:before {\n content: \"\";\n}\n\n.fa-linux:before {\n content: \"\";\n}\n\n.fa-dribbble:before {\n content: \"\";\n}\n\n.fa-skype:before {\n content: \"\";\n}\n\n.fa-foursquare:before {\n content: \"\";\n}\n\n.fa-trello:before {\n content: \"\";\n}\n\n.fa-female:before {\n content: \"\";\n}\n\n.fa-male:before {\n content: \"\";\n}\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\";\n}\n\n.fa-sun-o:before {\n content: \"\";\n}\n\n.fa-moon-o:before {\n content: \"\";\n}\n\n.fa-archive:before {\n content: \"\";\n}\n\n.fa-bug:before {\n content: \"\";\n}\n\n.fa-vk:before {\n content: \"\";\n}\n\n.fa-weibo:before {\n content: \"\";\n}\n\n.fa-renren:before {\n content: \"\";\n}\n\n.fa-pagelines:before {\n content: \"\";\n}\n\n.fa-stack-exchange:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-right:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-left:before {\n content: \"\";\n}\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\";\n}\n\n.fa-dot-circle-o:before {\n content: \"\";\n}\n\n.fa-wheelchair:before {\n content: \"\";\n}\n\n.fa-vimeo-square:before {\n content: \"\";\n}\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\";\n}\n\n.fa-plus-square-o:before {\n content: \"\";\n}\n\n.fa-space-shuttle:before {\n content: \"\";\n}\n\n.fa-slack:before {\n content: \"\";\n}\n\n.fa-envelope-square:before {\n content: \"\";\n}\n\n.fa-wordpress:before {\n content: \"\";\n}\n\n.fa-openid:before {\n content: \"\";\n}\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\";\n}\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\";\n}\n\n.fa-yahoo:before {\n content: \"\";\n}\n\n.fa-google:before {\n content: \"\";\n}\n\n.fa-reddit:before {\n content: \"\";\n}\n\n.fa-reddit-square:before {\n content: \"\";\n}\n\n.fa-stumbleupon-circle:before {\n content: \"\";\n}\n\n.fa-stumbleupon:before {\n content: \"\";\n}\n\n.fa-delicious:before {\n content: \"\";\n}\n\n.fa-digg:before {\n content: \"\";\n}\n\n.fa-pied-piper-pp:before {\n content: \"\";\n}\n\n.fa-pied-piper-alt:before {\n content: \"\";\n}\n\n.fa-drupal:before {\n content: \"\";\n}\n\n.fa-joomla:before {\n content: \"\";\n}\n\n.fa-language:before {\n content: \"\";\n}\n\n.fa-fax:before {\n content: \"\";\n}\n\n.fa-building:before {\n content: \"\";\n}\n\n.fa-child:before {\n content: \"\";\n}\n\n.fa-paw:before {\n content: \"\";\n}\n\n.fa-spoon:before {\n content: \"\";\n}\n\n.fa-cube:before {\n content: \"\";\n}\n\n.fa-cubes:before {\n content: \"\";\n}\n\n.fa-behance:before {\n content: \"\";\n}\n\n.fa-behance-square:before {\n content: \"\";\n}\n\n.fa-steam:before {\n content: \"\";\n}\n\n.fa-steam-square:before {\n content: \"\";\n}\n\n.fa-recycle:before {\n content: \"\";\n}\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\";\n}\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\";\n}\n\n.fa-tree:before {\n content: \"\";\n}\n\n.fa-spotify:before {\n content: \"\";\n}\n\n.fa-deviantart:before {\n content: \"\";\n}\n\n.fa-soundcloud:before {\n content: \"\";\n}\n\n.fa-database:before {\n content: \"\";\n}\n\n.fa-file-pdf-o:before {\n content: \"\";\n}\n\n.fa-file-word-o:before {\n content: \"\";\n}\n\n.fa-file-excel-o:before {\n content: \"\";\n}\n\n.fa-file-powerpoint-o:before {\n content: \"\";\n}\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\";\n}\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\";\n}\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\";\n}\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\";\n}\n\n.fa-file-code-o:before {\n content: \"\";\n}\n\n.fa-vine:before {\n content: \"\";\n}\n\n.fa-codepen:before {\n content: \"\";\n}\n\n.fa-jsfiddle:before {\n content: \"\";\n}\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\";\n}\n\n.fa-circle-o-notch:before {\n content: \"\";\n}\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\";\n}\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\";\n}\n\n.fa-git-square:before {\n content: \"\";\n}\n\n.fa-git:before {\n content: \"\";\n}\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\";\n}\n\n.fa-tencent-weibo:before {\n content: \"\";\n}\n\n.fa-qq:before {\n content: \"\";\n}\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\";\n}\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\";\n}\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\";\n}\n\n.fa-history:before {\n content: \"\";\n}\n\n.fa-circle-thin:before {\n content: \"\";\n}\n\n.fa-header:before {\n content: \"\";\n}\n\n.fa-paragraph:before {\n content: \"\";\n}\n\n.fa-sliders:before {\n content: \"\";\n}\n\n.fa-share-alt:before {\n content: \"\";\n}\n\n.fa-share-alt-square:before {\n content: \"\";\n}\n\n.fa-bomb:before {\n content: \"\";\n}\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\";\n}\n\n.fa-tty:before {\n content: \"\";\n}\n\n.fa-binoculars:before {\n content: \"\";\n}\n\n.fa-plug:before {\n content: \"\";\n}\n\n.fa-slideshare:before {\n content: \"\";\n}\n\n.fa-twitch:before {\n content: \"\";\n}\n\n.fa-yelp:before {\n content: \"\";\n}\n\n.fa-newspaper-o:before {\n content: \"\";\n}\n\n.fa-wifi:before {\n content: \"\";\n}\n\n.fa-calculator:before {\n content: \"\";\n}\n\n.fa-paypal:before {\n content: \"\";\n}\n\n.fa-google-wallet:before {\n content: \"\";\n}\n\n.fa-cc-visa:before {\n content: \"\";\n}\n\n.fa-cc-mastercard:before {\n content: \"\";\n}\n\n.fa-cc-discover:before {\n content: \"\";\n}\n\n.fa-cc-amex:before {\n content: \"\";\n}\n\n.fa-cc-paypal:before {\n content: \"\";\n}\n\n.fa-cc-stripe:before {\n content: \"\";\n}\n\n.fa-bell-slash:before {\n content: \"\";\n}\n\n.fa-bell-slash-o:before {\n content: \"\";\n}\n\n.fa-trash:before {\n content: \"\";\n}\n\n.fa-copyright:before {\n content: \"\";\n}\n\n.fa-at:before {\n content: \"\";\n}\n\n.fa-eyedropper:before {\n content: \"\";\n}\n\n.fa-paint-brush:before {\n content: \"\";\n}\n\n.fa-birthday-cake:before {\n content: \"\";\n}\n\n.fa-area-chart:before {\n content: \"\";\n}\n\n.fa-pie-chart:before {\n content: \"\";\n}\n\n.fa-line-chart:before {\n content: \"\";\n}\n\n.fa-lastfm:before {\n content: \"\";\n}\n\n.fa-lastfm-square:before {\n content: \"\";\n}\n\n.fa-toggle-off:before {\n content: \"\";\n}\n\n.fa-toggle-on:before {\n content: \"\";\n}\n\n.fa-bicycle:before {\n content: \"\";\n}\n\n.fa-bus:before {\n content: \"\";\n}\n\n.fa-ioxhost:before {\n content: \"\";\n}\n\n.fa-angellist:before {\n content: \"\";\n}\n\n.fa-cc:before {\n content: \"\";\n}\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\";\n}\n\n.fa-meanpath:before {\n content: \"\";\n}\n\n.fa-buysellads:before {\n content: \"\";\n}\n\n.fa-connectdevelop:before {\n content: \"\";\n}\n\n.fa-dashcube:before {\n content: \"\";\n}\n\n.fa-forumbee:before {\n content: \"\";\n}\n\n.fa-leanpub:before {\n content: \"\";\n}\n\n.fa-sellsy:before {\n content: \"\";\n}\n\n.fa-shirtsinbulk:before {\n content: \"\";\n}\n\n.fa-simplybuilt:before {\n content: \"\";\n}\n\n.fa-skyatlas:before {\n content: \"\";\n}\n\n.fa-cart-plus:before {\n content: \"\";\n}\n\n.fa-cart-arrow-down:before {\n content: \"\";\n}\n\n.fa-diamond:before {\n content: \"\";\n}\n\n.fa-ship:before {\n content: \"\";\n}\n\n.fa-user-secret:before {\n content: \"\";\n}\n\n.fa-motorcycle:before {\n content: \"\";\n}\n\n.fa-street-view:before {\n content: \"\";\n}\n\n.fa-heartbeat:before {\n content: \"\";\n}\n\n.fa-venus:before {\n content: \"\";\n}\n\n.fa-mars:before {\n content: \"\";\n}\n\n.fa-mercury:before {\n content: \"\";\n}\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\";\n}\n\n.fa-transgender-alt:before {\n content: \"\";\n}\n\n.fa-venus-double:before {\n content: \"\";\n}\n\n.fa-mars-double:before {\n content: \"\";\n}\n\n.fa-venus-mars:before {\n content: \"\";\n}\n\n.fa-mars-stroke:before {\n content: \"\";\n}\n\n.fa-mars-stroke-v:before {\n content: \"\";\n}\n\n.fa-mars-stroke-h:before {\n content: \"\";\n}\n\n.fa-neuter:before {\n content: \"\";\n}\n\n.fa-genderless:before {\n content: \"\";\n}\n\n.fa-facebook-official:before {\n content: \"\";\n}\n\n.fa-pinterest-p:before {\n content: \"\";\n}\n\n.fa-whatsapp:before {\n content: \"\";\n}\n\n.fa-server:before {\n content: \"\";\n}\n\n.fa-user-plus:before {\n content: \"\";\n}\n\n.fa-user-times:before {\n content: \"\";\n}\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\";\n}\n\n.fa-viacoin:before {\n content: \"\";\n}\n\n.fa-train:before {\n content: \"\";\n}\n\n.fa-subway:before {\n content: \"\";\n}\n\n.fa-medium:before {\n content: \"\";\n}\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\";\n}\n\n.fa-optin-monster:before {\n content: \"\";\n}\n\n.fa-opencart:before {\n content: \"\";\n}\n\n.fa-expeditedssl:before {\n content: \"\";\n}\n\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\";\n}\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\";\n}\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\";\n}\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\";\n}\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\";\n}\n\n.fa-mouse-pointer:before {\n content: \"\";\n}\n\n.fa-i-cursor:before {\n content: \"\";\n}\n\n.fa-object-group:before {\n content: \"\";\n}\n\n.fa-object-ungroup:before {\n content: \"\";\n}\n\n.fa-sticky-note:before {\n content: \"\";\n}\n\n.fa-sticky-note-o:before {\n content: \"\";\n}\n\n.fa-cc-jcb:before {\n content: \"\";\n}\n\n.fa-cc-diners-club:before {\n content: \"\";\n}\n\n.fa-clone:before {\n content: \"\";\n}\n\n.fa-balance-scale:before {\n content: \"\";\n}\n\n.fa-hourglass-o:before {\n content: \"\";\n}\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\";\n}\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\";\n}\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\";\n}\n\n.fa-hourglass:before {\n content: \"\";\n}\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\";\n}\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\";\n}\n\n.fa-hand-scissors-o:before {\n content: \"\";\n}\n\n.fa-hand-lizard-o:before {\n content: \"\";\n}\n\n.fa-hand-spock-o:before {\n content: \"\";\n}\n\n.fa-hand-pointer-o:before {\n content: \"\";\n}\n\n.fa-hand-peace-o:before {\n content: \"\";\n}\n\n.fa-trademark:before {\n content: \"\";\n}\n\n.fa-registered:before {\n content: \"\";\n}\n\n.fa-creative-commons:before {\n content: \"\";\n}\n\n.fa-gg:before {\n content: \"\";\n}\n\n.fa-gg-circle:before {\n content: \"\";\n}\n\n.fa-tripadvisor:before {\n content: \"\";\n}\n\n.fa-odnoklassniki:before {\n content: \"\";\n}\n\n.fa-odnoklassniki-square:before {\n content: \"\";\n}\n\n.fa-get-pocket:before {\n content: \"\";\n}\n\n.fa-wikipedia-w:before {\n content: \"\";\n}\n\n.fa-safari:before {\n content: \"\";\n}\n\n.fa-chrome:before {\n content: \"\";\n}\n\n.fa-firefox:before {\n content: \"\";\n}\n\n.fa-opera:before {\n content: \"\";\n}\n\n.fa-internet-explorer:before {\n content: \"\";\n}\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\";\n}\n\n.fa-contao:before {\n content: \"\";\n}\n\n.fa-500px:before {\n content: \"\";\n}\n\n.fa-amazon:before {\n content: \"\";\n}\n\n.fa-calendar-plus-o:before {\n content: \"\";\n}\n\n.fa-calendar-minus-o:before {\n content: \"\";\n}\n\n.fa-calendar-times-o:before {\n content: \"\";\n}\n\n.fa-calendar-check-o:before {\n content: \"\";\n}\n\n.fa-industry:before {\n content: \"\";\n}\n\n.fa-map-pin:before {\n content: \"\";\n}\n\n.fa-map-signs:before {\n content: \"\";\n}\n\n.fa-map-o:before {\n content: \"\";\n}\n\n.fa-map:before {\n content: \"\";\n}\n\n.fa-commenting:before {\n content: \"\";\n}\n\n.fa-commenting-o:before {\n content: \"\";\n}\n\n.fa-houzz:before {\n content: \"\";\n}\n\n.fa-vimeo:before {\n content: \"\";\n}\n\n.fa-black-tie:before {\n content: \"\";\n}\n\n.fa-fonticons:before {\n content: \"\";\n}\n\n.fa-reddit-alien:before {\n content: \"\";\n}\n\n.fa-edge:before {\n content: \"\";\n}\n\n.fa-credit-card-alt:before {\n content: \"\";\n}\n\n.fa-codiepie:before {\n content: \"\";\n}\n\n.fa-modx:before {\n content: \"\";\n}\n\n.fa-fort-awesome:before {\n content: \"\";\n}\n\n.fa-usb:before {\n content: \"\";\n}\n\n.fa-product-hunt:before {\n content: \"\";\n}\n\n.fa-mixcloud:before {\n content: \"\";\n}\n\n.fa-scribd:before {\n content: \"\";\n}\n\n.fa-pause-circle:before {\n content: \"\";\n}\n\n.fa-pause-circle-o:before {\n content: \"\";\n}\n\n.fa-stop-circle:before {\n content: \"\";\n}\n\n.fa-stop-circle-o:before {\n content: \"\";\n}\n\n.fa-shopping-bag:before {\n content: \"\";\n}\n\n.fa-shopping-basket:before {\n content: \"\";\n}\n\n.fa-hashtag:before {\n content: \"\";\n}\n\n.fa-bluetooth:before {\n content: \"\";\n}\n\n.fa-bluetooth-b:before {\n content: \"\";\n}\n\n.fa-percent:before {\n content: \"\";\n}\n\n.fa-gitlab:before {\n content: \"\";\n}\n\n.fa-wpbeginner:before {\n content: \"\";\n}\n\n.fa-wpforms:before {\n content: \"\";\n}\n\n.fa-envira:before {\n content: \"\";\n}\n\n.fa-universal-access:before {\n content: \"\";\n}\n\n.fa-wheelchair-alt:before {\n content: \"\";\n}\n\n.fa-question-circle-o:before {\n content: \"\";\n}\n\n.fa-blind:before {\n content: \"\";\n}\n\n.fa-audio-description:before {\n content: \"\";\n}\n\n.fa-volume-control-phone:before {\n content: \"\";\n}\n\n.fa-braille:before {\n content: \"\";\n}\n\n.fa-assistive-listening-systems:before {\n content: \"\";\n}\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\";\n}\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\";\n}\n\n.fa-glide:before {\n content: \"\";\n}\n\n.fa-glide-g:before {\n content: \"\";\n}\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\";\n}\n\n.fa-low-vision:before {\n content: \"\";\n}\n\n.fa-viadeo:before {\n content: \"\";\n}\n\n.fa-viadeo-square:before {\n content: \"\";\n}\n\n.fa-snapchat:before {\n content: \"\";\n}\n\n.fa-snapchat-ghost:before {\n content: \"\";\n}\n\n.fa-snapchat-square:before {\n content: \"\";\n}\n\n.fa-pied-piper:before {\n content: \"\";\n}\n\n.fa-first-order:before {\n content: \"\";\n}\n\n.fa-yoast:before {\n content: \"\";\n}\n\n.fa-themeisle:before {\n content: \"\";\n}\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\";\n}\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\";\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n@keyframes fill_from_left {\n from {\n width: 0%;\n }\n to {\n width: 100%;\n }\n}\n\nbody,\nhtml {\n background: #F5F5F5;\n color: #000000;\n font-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n}\n\nbody {\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\nmain,\nfooter {\n margin-left: 200px;\n}\n\nmain {\n position: relative;\n min-height: 100vh;\n}\n\nmain a {\n color: inherit;\n text-decoration: none;\n border-bottom: 1px dotted transparent;\n}\n\nmain a:hover {\n border-color: #000000;\n}\n\nmain section {\n padding: 40px;\n}\n\nmain h1 {\n font-weight: 500;\n font-size: 40px;\n}\n\nmain h2 {\n font-weight: 500;\n font-size: 30px;\n}\n\nmain h3 {\n font-weight: 100;\n font-style: italic;\n font-size: 20px;\n}\n\nmain h4 {\n font-size: 14px;\n margin-bottom: 14px;\n text-transform: uppercase;\n}\n\nmain h4.underline {\n padding-bottom: 4px;\n border-bottom: 1px solid #000000;\n}\n\nmain h4:not(:first-child) {\n padding-top: 40px;\n}\n\nmain .no-top-padding {\n padding-top: 0;\n}\n\nmain .no-bottom-padding {\n padding-bottom: 0;\n}\n\nmain .no-right-padding {\n padding-right: 0;\n}\n\nmain .no-left-padding {\n padding-left: 0;\n}\n\nmain .top-padding {\n padding-top: 20px;\n}\n\nmain .bottom-padding {\n padding-bottom: 20px;\n}\n\nmain .right-padding {\n padding-right: 40px;\n}\n\nmain .left-padding {\n padding-left: 40px;\n}\n\n.col {\n min-height: 1px;\n float: left;\n}\n\n.col.w5 {\n width: 5%;\n}\n\n.col.w10 {\n width: 10%;\n}\n\n.col.w15 {\n width: 15%;\n}\n\n.col.w20 {\n width: 20%;\n}\n\n.col.w25 {\n width: 25%;\n}\n\n.col.w30 {\n width: 30%;\n}\n\n.col.w33 {\n width: 33.3334%;\n}\n\n.col.w35 {\n width: 35%;\n}\n\n.col.w40 {\n width: 40%;\n}\n\n.col.w45 {\n width: 45%;\n}\n\n.col.w50 {\n width: 50%;\n}\n\n.col.w55 {\n width: 55%;\n}\n\n.col.w60 {\n width: 60%;\n}\n\n.col.w65 {\n width: 65%;\n}\n\n.col.w66 {\n width: 66.6667%;\n}\n\n.col.w70 {\n width: 70%;\n}\n\n.col.w75 {\n width: 75%;\n}\n\n.col.w80 {\n width: 80%;\n}\n\n.col.w85 {\n width: 85%;\n}\n\n.col.w90 {\n width: 90%;\n}\n\n.col.w95 {\n width: 95%;\n}\n\n.col.w100 {\n width: 100%;\n}\n\n.cf::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.one-liner {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.grey-text {\n color: #AAAAAA;\n}\n\nfooter {\n display: block;\n color: #DDDDDD;\n padding-top: 50px;\n padding-bottom: 50px;\n text-align: center;\n}\n\n.details {\n list-style-type: none;\n color: #AAAAAA;\n text-transform: uppercase;\n}\n\n.details li {\n padding-bottom: 4px;\n}\n\n* {\n border: 0;\n margin: 0;\n padding: 0;\n outline: 0;\n}\n\nbutton,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"date\"] {\n padding: 10px 14px;\n background: #FFFFFF;\n color: #000000;\n font-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n}\n\n.button,\nbutton,\ninput[type=\"button\"],\ninput[type=\"submit\"] {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n padding: 10px 20px;\n border: 0;\n color: #000000;\n background: #DDDDDD;\n}\n\n.button:hover,\nbutton:hover,\ninput[type=\"button\"]:hover,\ninput[type=\"submit\"]:hover {\n cursor: pointer;\n background: #cecece;\n}\n\n.button.primary,\nbutton.primary,\ninput[type=\"button\"].primary,\ninput[type=\"submit\"].primary {\n background: #08d58f;\n color: #FFFFFF;\n}\n\n.button.primary:hover,\nbutton.primary:hover,\ninput[type=\"button\"].primary:hover,\ninput[type=\"submit\"].primary:hover {\n background: #07b87b;\n}\n\n.button.secondary,\nbutton.secondary,\ninput[type=\"button\"].secondary,\ninput[type=\"submit\"].secondary {\n background: #000000;\n color: #FFFFFF;\n}\n\n.button.secondary:hover,\nbutton.secondary:hover,\ninput[type=\"button\"].secondary:hover,\ninput[type=\"submit\"].secondary:hover {\n background: #333333;\n}\n\n.button.confirming, .button.destructive,\nbutton.confirming,\nbutton.destructive,\ninput[type=\"button\"].confirming,\ninput[type=\"button\"].destructive,\ninput[type=\"submit\"].confirming,\ninput[type=\"submit\"].destructive {\n background: #cf2d2d;\n color: #FFFFFF;\n}\n\n.button.confirming:hover, .button.destructive:hover,\nbutton.confirming:hover,\nbutton.destructive:hover,\ninput[type=\"button\"].confirming:hover,\ninput[type=\"button\"].destructive:hover,\ninput[type=\"submit\"].confirming:hover,\ninput[type=\"submit\"].destructive:hover {\n background: #b62828;\n}\n\n.button.timing-out,\nbutton.timing-out,\ninput[type=\"button\"].timing-out,\ninput[type=\"submit\"].timing-out {\n position: relative;\n}\n\n.button.timing-out::before,\nbutton.timing-out::before,\ninput[type=\"button\"].timing-out::before,\ninput[type=\"submit\"].timing-out::before {\n animation-name: fill_from_left;\n animation-duration: 2s;\n animation-timing-function: linear;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 0;\n background: rgba(255, 255, 255, 0.15);\n}\n\n.button[disabled], .button[disabled=\"disabled\"],\nbutton[disabled],\nbutton[disabled=\"disabled\"],\ninput[type=\"button\"][disabled],\ninput[type=\"button\"][disabled=\"disabled\"],\ninput[type=\"submit\"][disabled],\ninput[type=\"submit\"][disabled=\"disabled\"] {\n background: #DDDDDD !important;\n color: #AAAAAA !important;\n cursor: not-allowed !important;\n}\n\nlabel {\n display: block;\n padding-bottom: 8px;\n}\n\nlabel::after {\n content: '';\n clear: both;\n display: block;\n}\n\nlabel .label {\n display: block;\n padding-top: 10px;\n width: 15%;\n float: left;\n}\n\nlabel .input {\n width: 85%;\n float: left;\n}\n\nlabel .input input {\n width: 60%;\n}\n\n.slider {\n margin: 10px 0;\n height: 5px;\n position: relative;\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.slider .progress {\n left: 0;\n top: 0;\n height: 100%;\n background: #08d58f;\n pointer-events: none;\n}\n\n.lazy-loader {\n height: 50px;\n color: #DDDDDD;\n}\n\n.context-menu {\n position: fixed;\n left: 0;\n top: 0;\n z-index: 9999;\n background: #333333;\n color: #FFFFFF;\n}\n\n.context-menu a {\n display: block;\n padding: 8px 12px;\n width: 120px;\n}\n\n.context-menu a:not(:first-child) {\n border-top: 1px solid #474747;\n}\n\n.context-menu a:hover {\n cursor: pointer;\n background: #404040;\n}\n\n.thumbnail {\n width: 100%;\n max-width: 300px;\n overflow: hidden;\n}\n\n.thumbnail .image {\n width: 100%;\n padding-bottom: 100%;\n position: relative;\n background-repeat: no-repeat;\n background-color: #DDDDDD;\n background-position: 50% 50%;\n background-size: cover;\n}\n\n.thumbnail.small {\n max-width: 50px;\n}\n\n.thumbnail.circle {\n border-radius: 50%;\n}\n\n.parallax {\n height: 50vh;\n width: 100%;\n overflow: hidden;\n background: #333333;\n}\n\n.parallax canvas {\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: all 0.4s ease-in-out;\n -moz-transition: all 0.4s ease-in-out;\n -o-transition: all 0.4s ease-in-out;\n transition: all 0.4s ease-in-out;\n}\n\n.parallax canvas.loaded {\n opacity: 0.5;\n}\n\n.icon.white {\n -webkit-filter: invert(1);\n -moz-filter: invert(1);\n filter: invert(1);\n}\n\naside {\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n background: #111111;\n width: 200px;\n overflow: hidden;\n box-shadow: inset -20px 0px 30px -20px rgba(0, 0, 0, 0.5);\n}\n\naside .thumbnail {\n position: absolute;\n top: -30px;\n right: -30px;\n bottom: -30px;\n left: -30px;\n height: auto;\n width: auto;\n max-width: none;\n z-index: -1;\n opacity: 0.2;\n}\n\naside .thumbnail .image {\n -webkit-filter: blur(10px);\n filter: blur(10px);\n padding-bottom: 0;\n height: 100%;\n}\n\naside nav a {\n font-size: 16px;\n color: #FFFFFF;\n text-decoration: none;\n display: block;\n padding: 6px 18px 6px 14px;\n border-left: 4px solid transparent;\n}\n\naside nav a .icon {\n height: 14px;\n padding-right: 8px;\n vertical-align: top;\n margin-top: 4px;\n}\n\naside nav a.active {\n border-color: #08d58f;\n background: rgba(0, 0, 0, 0.5);\n}\n\naside nav a[disabled] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n\naside nav a:hover:not([disabled]) {\n background: rgba(255, 255, 255, 0.1);\n}\n\naside nav section {\n padding: 10px 0;\n}\n\naside nav section title {\n display: block;\n padding: 0 18px 2px;\n font-size: 11px;\n text-transform: uppercase;\n opacity: 0.5;\n color: #FFFFFF;\n}\n\naside .player {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 14px;\n}\n\naside .player .track-in-focus {\n font-size: 16px;\n text-transform: uppercase;\n text-align: center;\n color: #FFFFFF;\n}\n\naside .player .track-in-focus .title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\naside .player .track-in-focus .artist-sentence {\n opacity: 0.5;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\naside .player .track-in-focus .artist-sentence .artist {\n color: inherit;\n text-decoration: none;\n border-bottom: 1px dotted transparent;\n}\n\naside .player .track-in-focus .artist-sentence .artist:hover {\n border-color: #FFFFFF !important;\n}\n\naside .player .controls {\n text-align: center;\n}\n\naside .player .controls a {\n color: #FFFFFF;\n cursor: pointer;\n font-size: 14px;\n padding: 8px;\n display: inline-block;\n opacity: 0.8;\n}\n\naside .player .controls a.active {\n color: #08d58f;\n}\n\naside .player .controls a:hover {\n opacity: 1.0;\n}\n\n.list-item {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: block;\n position: relative;\n padding: 9px 10px 9px 40px;\n border-top: 1px solid #EEEEEE;\n border-bottom: 1px solid #EEEEEE;\n margin-bottom: -1px;\n}\n\n.list-item::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.list-item.selected {\n background: #FFF39C !important;\n}\n\n.list-item:not(.header):hover {\n background: #EEEEEE;\n cursor: pointer;\n border-color: #EEEEEE;\n}\n\n.list-item.header {\n font-size: 10px;\n color: #CCCCCC;\n text-transform: uppercase;\n border-top: 0;\n padding-bottom: 2px;\n}\n\n.list-item.track .col.name, .list-item.track .col.artists, .list-item.track .col.album {\n width: 30%;\n}\n\n.list-item.track .select-state {\n position: absolute;\n top: 12px;\n left: 15px;\n font-size: 10px;\n}\n\n.list-item.track.playing {\n font-weight: 600;\n}\n\n.list-item.playlist .col.name {\n width: 30%;\n}\n\n.list-item.playlist .col.owner {\n width: 20%;\n}\n\n.artist-list .artist {\n display: block;\n border: 0;\n margin-bottom: 15px;\n}\n\n.artist-list .artist::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.artist-list .artist .thumbnail {\n width: 50px;\n margin-right: 20px;\n float: left;\n border: 3px solid transparent;\n}\n\n.artist-list .artist .name {\n display: inline-block;\n padding-top: 15px;\n}\n\n.artist-list .artist:hover .thumbnail {\n border-color: #08d58f;\n opacity: 0.8;\n}\n\n.grid {\n padding: 40px 20px;\n}\n\n.grid .grid-item {\n width: 16%;\n margin: 0 2% 3%;\n display: inline-block;\n vertical-align: top;\n border-bottom: 0;\n}\n\n.grid .grid-item .thumbnail {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n}\n\n.grid .grid-item .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 8px;\n}\n\n.grid .grid-item .secondary {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n color: #888888;\n}\n\n.grid .grid-item:nth-child(5)::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.grid .grid-item:hover {\n cursor: pointer;\n}\n\n.grid .grid-item:hover .thumbnail {\n opacity: 0.75;\n}\n\n@media (max-width: 850px) {\n .grid .grid-item {\n width: 21%;\n }\n}\n\n@media (max-width: 650px) {\n .grid .grid-item {\n width: 29.3334%;\n }\n}\n\n.grid.category-grid .grid-item {\n position: relative;\n}\n\n.grid.category-grid .grid-item .name {\n position: absolute;\n bottom: 15%;\n left: 0;\n right: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 600;\n color: #FFFFFF;\n}\n\nmain header {\n padding: 14px 20px;\n background: #EEEEEE;\n}\n\nmain header .icon {\n display: inline-block;\n padding-right: 14px;\n height: 16px;\n}\n\nmain header h1 {\n font-size: 22px;\n font-weight: 100;\n display: inline-block;\n}\n\n.artist-view .intro {\n position: relative;\n margin: -100px 0 20px 0;\n}\n\n.artist-view .intro::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.artist-view .intro .thumbnail {\n max-width: 200px;\n margin: 0 20px 0 40px;\n float: left;\n}\n\n.artist-view .intro h1 {\n color: #FFFFFF;\n padding-top: 30px;\n padding-bottom: 45px;\n}\n\n.album-view .main {\n padding-left: 35%;\n}\n\n.album-view .main .title {\n padding: 30px 40px;\n}\n\n.album-view .main .title h3 {\n color: #AAAAAA;\n}\n\n.album-view .main .title h3 a:hover {\n color: #777777;\n}\n\n.album-view .intro {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 35%;\n background: #EEEEEE;\n}\n\n.album-view .intro .thumbnail {\n float: none;\n margin: 0 auto;\n max-width: none;\n}\n\n.album-view .intro .details {\n padding: 30px;\n}\n\n.album-view .intro .artist-grid {\n padding: 0;\n margin: 0;\n}\n\n.album-view .intro .artist-grid .grid-item {\n margin: 0;\n width: 50%;\n position: relative;\n}\n\n.album-view .intro .artist-grid .grid-item .thumbnail .image {\n background-color: #888888;\n}\n\n.album-view .intro .artist-grid .grid-item .name {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n position: absolute;\n top: 35%;\n left: 0;\n right: 0;\n text-align: center;\n color: #FFFFFF;\n opacity: 0;\n z-index: 2;\n font-weight: bold;\n}\n\n.album-view .intro .artist-grid .grid-item:hover .name {\n opacity: 1;\n}\n\n.playlist-view .main {\n padding-left: 35%;\n}\n\n.playlist-view .main .title {\n padding: 30px 40px;\n}\n\n.playlist-view .main .title h3 {\n color: #AAAAAA;\n}\n\n.playlist-view .main .title h3 a:hover {\n color: #777777;\n}\n\n.playlist-view .intro {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 35%;\n background: #EEEEEE;\n}\n\n.playlist-view .intro .thumbnail {\n float: none;\n margin: 0 auto;\n max-width: none;\n}\n\n.playlist-view .intro .details {\n padding: 30px;\n}\n\n.playlist-view .intro .artist-grid {\n padding: 0;\n margin: 0;\n}\n\n.playlist-view .intro .artist-grid .grid-item {\n margin: 0;\n width: 50%;\n position: relative;\n}\n\n.playlist-view .intro .artist-grid .grid-item .thumbnail .image {\n background-color: #888888;\n}\n\n.playlist-view .intro .artist-grid .grid-item .name {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n position: absolute;\n top: 35%;\n left: 0;\n right: 0;\n text-align: center;\n color: #FFFFFF;\n opacity: 0;\n z-index: 2;\n font-weight: bold;\n}\n\n.playlist-view .intro .artist-grid .grid-item:hover .name {\n opacity: 1;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/app.scss\n **/","/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables\";\n@import \"mixins\";\n@import \"path\";\n@import \"core\";\n@import \"larger\";\n@import \"fixed-width\";\n@import \"list\";\n@import \"bordered-pulled\";\n@import \"animated\";\n@import \"rotated-flipped\";\n@import \"stacked\";\n@import \"icons\";\n@import \"screen-reader\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_index.scss\n **/","/* FONT PATH\n * -------------------------- */\n\n@font-face {\n font-family: 'FontAwesome';\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),\n url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),\n url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),\n url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),\n url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');\n// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n font-weight: normal;\n font-style: normal;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_path.scss\n **/","// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix} {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_core.scss\n **/","// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -15%;\n}\n.#{$fa-css-prefix}-2x { font-size: 2em; }\n.#{$fa-css-prefix}-3x { font-size: 3em; }\n.#{$fa-css-prefix}-4x { font-size: 4em; }\n.#{$fa-css-prefix}-5x { font-size: 5em; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_larger.scss\n **/","// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n width: (18em / 14);\n text-align: center;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_fixed-width.scss\n **/","// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n padding-left: 0;\n margin-left: $fa-li-width;\n list-style-type: none;\n > li { position: relative; }\n}\n.#{$fa-css-prefix}-li {\n position: absolute;\n left: -$fa-li-width;\n width: $fa-li-width;\n top: (2em / 14);\n text-align: center;\n &.#{$fa-css-prefix}-lg {\n left: -$fa-li-width + (4em / 14);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_list.scss\n **/","// Variables\n// --------------------------\n\n$fa-font-path: \"../assets/fonts\" !default;\n$fa-font-size-base: 14px !default;\n$fa-line-height-base: 1 !default;\n//$fa-font-path: \"//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts\" !default; // for referencing Bootstrap CDN font files directly\n$fa-css-prefix: fa !default;\n$fa-version: \"4.6.3\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: (30em / 14) !default;\n\n$fa-var-500px: \"\\f26e\";\n$fa-var-adjust: \"\\f042\";\n$fa-var-adn: \"\\f170\";\n$fa-var-align-center: \"\\f037\";\n$fa-var-align-justify: \"\\f039\";\n$fa-var-align-left: \"\\f036\";\n$fa-var-align-right: \"\\f038\";\n$fa-var-amazon: \"\\f270\";\n$fa-var-ambulance: \"\\f0f9\";\n$fa-var-american-sign-language-interpreting: \"\\f2a3\";\n$fa-var-anchor: \"\\f13d\";\n$fa-var-android: \"\\f17b\";\n$fa-var-angellist: \"\\f209\";\n$fa-var-angle-double-down: \"\\f103\";\n$fa-var-angle-double-left: \"\\f100\";\n$fa-var-angle-double-right: \"\\f101\";\n$fa-var-angle-double-up: \"\\f102\";\n$fa-var-angle-down: \"\\f107\";\n$fa-var-angle-left: \"\\f104\";\n$fa-var-angle-right: \"\\f105\";\n$fa-var-angle-up: \"\\f106\";\n$fa-var-apple: \"\\f179\";\n$fa-var-archive: \"\\f187\";\n$fa-var-area-chart: \"\\f1fe\";\n$fa-var-arrow-circle-down: \"\\f0ab\";\n$fa-var-arrow-circle-left: \"\\f0a8\";\n$fa-var-arrow-circle-o-down: \"\\f01a\";\n$fa-var-arrow-circle-o-left: \"\\f190\";\n$fa-var-arrow-circle-o-right: \"\\f18e\";\n$fa-var-arrow-circle-o-up: \"\\f01b\";\n$fa-var-arrow-circle-right: \"\\f0a9\";\n$fa-var-arrow-circle-up: \"\\f0aa\";\n$fa-var-arrow-down: \"\\f063\";\n$fa-var-arrow-left: \"\\f060\";\n$fa-var-arrow-right: \"\\f061\";\n$fa-var-arrow-up: \"\\f062\";\n$fa-var-arrows: \"\\f047\";\n$fa-var-arrows-alt: \"\\f0b2\";\n$fa-var-arrows-h: \"\\f07e\";\n$fa-var-arrows-v: \"\\f07d\";\n$fa-var-asl-interpreting: \"\\f2a3\";\n$fa-var-assistive-listening-systems: \"\\f2a2\";\n$fa-var-asterisk: \"\\f069\";\n$fa-var-at: \"\\f1fa\";\n$fa-var-audio-description: \"\\f29e\";\n$fa-var-automobile: \"\\f1b9\";\n$fa-var-backward: \"\\f04a\";\n$fa-var-balance-scale: \"\\f24e\";\n$fa-var-ban: \"\\f05e\";\n$fa-var-bank: \"\\f19c\";\n$fa-var-bar-chart: \"\\f080\";\n$fa-var-bar-chart-o: \"\\f080\";\n$fa-var-barcode: \"\\f02a\";\n$fa-var-bars: \"\\f0c9\";\n$fa-var-battery-0: \"\\f244\";\n$fa-var-battery-1: \"\\f243\";\n$fa-var-battery-2: \"\\f242\";\n$fa-var-battery-3: \"\\f241\";\n$fa-var-battery-4: \"\\f240\";\n$fa-var-battery-empty: \"\\f244\";\n$fa-var-battery-full: \"\\f240\";\n$fa-var-battery-half: \"\\f242\";\n$fa-var-battery-quarter: \"\\f243\";\n$fa-var-battery-three-quarters: \"\\f241\";\n$fa-var-bed: \"\\f236\";\n$fa-var-beer: \"\\f0fc\";\n$fa-var-behance: \"\\f1b4\";\n$fa-var-behance-square: \"\\f1b5\";\n$fa-var-bell: \"\\f0f3\";\n$fa-var-bell-o: \"\\f0a2\";\n$fa-var-bell-slash: \"\\f1f6\";\n$fa-var-bell-slash-o: \"\\f1f7\";\n$fa-var-bicycle: \"\\f206\";\n$fa-var-binoculars: \"\\f1e5\";\n$fa-var-birthday-cake: \"\\f1fd\";\n$fa-var-bitbucket: \"\\f171\";\n$fa-var-bitbucket-square: \"\\f172\";\n$fa-var-bitcoin: \"\\f15a\";\n$fa-var-black-tie: \"\\f27e\";\n$fa-var-blind: \"\\f29d\";\n$fa-var-bluetooth: \"\\f293\";\n$fa-var-bluetooth-b: \"\\f294\";\n$fa-var-bold: \"\\f032\";\n$fa-var-bolt: \"\\f0e7\";\n$fa-var-bomb: \"\\f1e2\";\n$fa-var-book: \"\\f02d\";\n$fa-var-bookmark: \"\\f02e\";\n$fa-var-bookmark-o: \"\\f097\";\n$fa-var-braille: \"\\f2a1\";\n$fa-var-briefcase: \"\\f0b1\";\n$fa-var-btc: \"\\f15a\";\n$fa-var-bug: \"\\f188\";\n$fa-var-building: \"\\f1ad\";\n$fa-var-building-o: \"\\f0f7\";\n$fa-var-bullhorn: \"\\f0a1\";\n$fa-var-bullseye: \"\\f140\";\n$fa-var-bus: \"\\f207\";\n$fa-var-buysellads: \"\\f20d\";\n$fa-var-cab: \"\\f1ba\";\n$fa-var-calculator: \"\\f1ec\";\n$fa-var-calendar: \"\\f073\";\n$fa-var-calendar-check-o: \"\\f274\";\n$fa-var-calendar-minus-o: \"\\f272\";\n$fa-var-calendar-o: \"\\f133\";\n$fa-var-calendar-plus-o: \"\\f271\";\n$fa-var-calendar-times-o: \"\\f273\";\n$fa-var-camera: \"\\f030\";\n$fa-var-camera-retro: \"\\f083\";\n$fa-var-car: \"\\f1b9\";\n$fa-var-caret-down: \"\\f0d7\";\n$fa-var-caret-left: \"\\f0d9\";\n$fa-var-caret-right: \"\\f0da\";\n$fa-var-caret-square-o-down: \"\\f150\";\n$fa-var-caret-square-o-left: \"\\f191\";\n$fa-var-caret-square-o-right: \"\\f152\";\n$fa-var-caret-square-o-up: \"\\f151\";\n$fa-var-caret-up: \"\\f0d8\";\n$fa-var-cart-arrow-down: \"\\f218\";\n$fa-var-cart-plus: \"\\f217\";\n$fa-var-cc: \"\\f20a\";\n$fa-var-cc-amex: \"\\f1f3\";\n$fa-var-cc-diners-club: \"\\f24c\";\n$fa-var-cc-discover: \"\\f1f2\";\n$fa-var-cc-jcb: \"\\f24b\";\n$fa-var-cc-mastercard: \"\\f1f1\";\n$fa-var-cc-paypal: \"\\f1f4\";\n$fa-var-cc-stripe: \"\\f1f5\";\n$fa-var-cc-visa: \"\\f1f0\";\n$fa-var-certificate: \"\\f0a3\";\n$fa-var-chain: \"\\f0c1\";\n$fa-var-chain-broken: \"\\f127\";\n$fa-var-check: \"\\f00c\";\n$fa-var-check-circle: \"\\f058\";\n$fa-var-check-circle-o: \"\\f05d\";\n$fa-var-check-square: \"\\f14a\";\n$fa-var-check-square-o: \"\\f046\";\n$fa-var-chevron-circle-down: \"\\f13a\";\n$fa-var-chevron-circle-left: \"\\f137\";\n$fa-var-chevron-circle-right: \"\\f138\";\n$fa-var-chevron-circle-up: \"\\f139\";\n$fa-var-chevron-down: \"\\f078\";\n$fa-var-chevron-left: \"\\f053\";\n$fa-var-chevron-right: \"\\f054\";\n$fa-var-chevron-up: \"\\f077\";\n$fa-var-child: \"\\f1ae\";\n$fa-var-chrome: \"\\f268\";\n$fa-var-circle: \"\\f111\";\n$fa-var-circle-o: \"\\f10c\";\n$fa-var-circle-o-notch: \"\\f1ce\";\n$fa-var-circle-thin: \"\\f1db\";\n$fa-var-clipboard: \"\\f0ea\";\n$fa-var-clock-o: \"\\f017\";\n$fa-var-clone: \"\\f24d\";\n$fa-var-close: \"\\f00d\";\n$fa-var-cloud: \"\\f0c2\";\n$fa-var-cloud-download: \"\\f0ed\";\n$fa-var-cloud-upload: \"\\f0ee\";\n$fa-var-cny: \"\\f157\";\n$fa-var-code: \"\\f121\";\n$fa-var-code-fork: \"\\f126\";\n$fa-var-codepen: \"\\f1cb\";\n$fa-var-codiepie: \"\\f284\";\n$fa-var-coffee: \"\\f0f4\";\n$fa-var-cog: \"\\f013\";\n$fa-var-cogs: \"\\f085\";\n$fa-var-columns: \"\\f0db\";\n$fa-var-comment: \"\\f075\";\n$fa-var-comment-o: \"\\f0e5\";\n$fa-var-commenting: \"\\f27a\";\n$fa-var-commenting-o: \"\\f27b\";\n$fa-var-comments: \"\\f086\";\n$fa-var-comments-o: \"\\f0e6\";\n$fa-var-compass: \"\\f14e\";\n$fa-var-compress: \"\\f066\";\n$fa-var-connectdevelop: \"\\f20e\";\n$fa-var-contao: \"\\f26d\";\n$fa-var-copy: \"\\f0c5\";\n$fa-var-copyright: \"\\f1f9\";\n$fa-var-creative-commons: \"\\f25e\";\n$fa-var-credit-card: \"\\f09d\";\n$fa-var-credit-card-alt: \"\\f283\";\n$fa-var-crop: \"\\f125\";\n$fa-var-crosshairs: \"\\f05b\";\n$fa-var-css3: \"\\f13c\";\n$fa-var-cube: \"\\f1b2\";\n$fa-var-cubes: \"\\f1b3\";\n$fa-var-cut: \"\\f0c4\";\n$fa-var-cutlery: \"\\f0f5\";\n$fa-var-dashboard: \"\\f0e4\";\n$fa-var-dashcube: \"\\f210\";\n$fa-var-database: \"\\f1c0\";\n$fa-var-deaf: \"\\f2a4\";\n$fa-var-deafness: \"\\f2a4\";\n$fa-var-dedent: \"\\f03b\";\n$fa-var-delicious: \"\\f1a5\";\n$fa-var-desktop: \"\\f108\";\n$fa-var-deviantart: \"\\f1bd\";\n$fa-var-diamond: \"\\f219\";\n$fa-var-digg: \"\\f1a6\";\n$fa-var-dollar: \"\\f155\";\n$fa-var-dot-circle-o: \"\\f192\";\n$fa-var-download: \"\\f019\";\n$fa-var-dribbble: \"\\f17d\";\n$fa-var-dropbox: \"\\f16b\";\n$fa-var-drupal: \"\\f1a9\";\n$fa-var-edge: \"\\f282\";\n$fa-var-edit: \"\\f044\";\n$fa-var-eject: \"\\f052\";\n$fa-var-ellipsis-h: \"\\f141\";\n$fa-var-ellipsis-v: \"\\f142\";\n$fa-var-empire: \"\\f1d1\";\n$fa-var-envelope: \"\\f0e0\";\n$fa-var-envelope-o: \"\\f003\";\n$fa-var-envelope-square: \"\\f199\";\n$fa-var-envira: \"\\f299\";\n$fa-var-eraser: \"\\f12d\";\n$fa-var-eur: \"\\f153\";\n$fa-var-euro: \"\\f153\";\n$fa-var-exchange: \"\\f0ec\";\n$fa-var-exclamation: \"\\f12a\";\n$fa-var-exclamation-circle: \"\\f06a\";\n$fa-var-exclamation-triangle: \"\\f071\";\n$fa-var-expand: \"\\f065\";\n$fa-var-expeditedssl: \"\\f23e\";\n$fa-var-external-link: \"\\f08e\";\n$fa-var-external-link-square: \"\\f14c\";\n$fa-var-eye: \"\\f06e\";\n$fa-var-eye-slash: \"\\f070\";\n$fa-var-eyedropper: \"\\f1fb\";\n$fa-var-fa: \"\\f2b4\";\n$fa-var-facebook: \"\\f09a\";\n$fa-var-facebook-f: \"\\f09a\";\n$fa-var-facebook-official: \"\\f230\";\n$fa-var-facebook-square: \"\\f082\";\n$fa-var-fast-backward: \"\\f049\";\n$fa-var-fast-forward: \"\\f050\";\n$fa-var-fax: \"\\f1ac\";\n$fa-var-feed: \"\\f09e\";\n$fa-var-female: \"\\f182\";\n$fa-var-fighter-jet: \"\\f0fb\";\n$fa-var-file: \"\\f15b\";\n$fa-var-file-archive-o: \"\\f1c6\";\n$fa-var-file-audio-o: \"\\f1c7\";\n$fa-var-file-code-o: \"\\f1c9\";\n$fa-var-file-excel-o: \"\\f1c3\";\n$fa-var-file-image-o: \"\\f1c5\";\n$fa-var-file-movie-o: \"\\f1c8\";\n$fa-var-file-o: \"\\f016\";\n$fa-var-file-pdf-o: \"\\f1c1\";\n$fa-var-file-photo-o: \"\\f1c5\";\n$fa-var-file-picture-o: \"\\f1c5\";\n$fa-var-file-powerpoint-o: \"\\f1c4\";\n$fa-var-file-sound-o: \"\\f1c7\";\n$fa-var-file-text: \"\\f15c\";\n$fa-var-file-text-o: \"\\f0f6\";\n$fa-var-file-video-o: \"\\f1c8\";\n$fa-var-file-word-o: \"\\f1c2\";\n$fa-var-file-zip-o: \"\\f1c6\";\n$fa-var-files-o: \"\\f0c5\";\n$fa-var-film: \"\\f008\";\n$fa-var-filter: \"\\f0b0\";\n$fa-var-fire: \"\\f06d\";\n$fa-var-fire-extinguisher: \"\\f134\";\n$fa-var-firefox: \"\\f269\";\n$fa-var-first-order: \"\\f2b0\";\n$fa-var-flag: \"\\f024\";\n$fa-var-flag-checkered: \"\\f11e\";\n$fa-var-flag-o: \"\\f11d\";\n$fa-var-flash: \"\\f0e7\";\n$fa-var-flask: \"\\f0c3\";\n$fa-var-flickr: \"\\f16e\";\n$fa-var-floppy-o: \"\\f0c7\";\n$fa-var-folder: \"\\f07b\";\n$fa-var-folder-o: \"\\f114\";\n$fa-var-folder-open: \"\\f07c\";\n$fa-var-folder-open-o: \"\\f115\";\n$fa-var-font: \"\\f031\";\n$fa-var-font-awesome: \"\\f2b4\";\n$fa-var-fonticons: \"\\f280\";\n$fa-var-fort-awesome: \"\\f286\";\n$fa-var-forumbee: \"\\f211\";\n$fa-var-forward: \"\\f04e\";\n$fa-var-foursquare: \"\\f180\";\n$fa-var-frown-o: \"\\f119\";\n$fa-var-futbol-o: \"\\f1e3\";\n$fa-var-gamepad: \"\\f11b\";\n$fa-var-gavel: \"\\f0e3\";\n$fa-var-gbp: \"\\f154\";\n$fa-var-ge: \"\\f1d1\";\n$fa-var-gear: \"\\f013\";\n$fa-var-gears: \"\\f085\";\n$fa-var-genderless: \"\\f22d\";\n$fa-var-get-pocket: \"\\f265\";\n$fa-var-gg: \"\\f260\";\n$fa-var-gg-circle: \"\\f261\";\n$fa-var-gift: \"\\f06b\";\n$fa-var-git: \"\\f1d3\";\n$fa-var-git-square: \"\\f1d2\";\n$fa-var-github: \"\\f09b\";\n$fa-var-github-alt: \"\\f113\";\n$fa-var-github-square: \"\\f092\";\n$fa-var-gitlab: \"\\f296\";\n$fa-var-gittip: \"\\f184\";\n$fa-var-glass: \"\\f000\";\n$fa-var-glide: \"\\f2a5\";\n$fa-var-glide-g: \"\\f2a6\";\n$fa-var-globe: \"\\f0ac\";\n$fa-var-google: \"\\f1a0\";\n$fa-var-google-plus: \"\\f0d5\";\n$fa-var-google-plus-circle: \"\\f2b3\";\n$fa-var-google-plus-official: \"\\f2b3\";\n$fa-var-google-plus-square: \"\\f0d4\";\n$fa-var-google-wallet: \"\\f1ee\";\n$fa-var-graduation-cap: \"\\f19d\";\n$fa-var-gratipay: \"\\f184\";\n$fa-var-group: \"\\f0c0\";\n$fa-var-h-square: \"\\f0fd\";\n$fa-var-hacker-news: \"\\f1d4\";\n$fa-var-hand-grab-o: \"\\f255\";\n$fa-var-hand-lizard-o: \"\\f258\";\n$fa-var-hand-o-down: \"\\f0a7\";\n$fa-var-hand-o-left: \"\\f0a5\";\n$fa-var-hand-o-right: \"\\f0a4\";\n$fa-var-hand-o-up: \"\\f0a6\";\n$fa-var-hand-paper-o: \"\\f256\";\n$fa-var-hand-peace-o: \"\\f25b\";\n$fa-var-hand-pointer-o: \"\\f25a\";\n$fa-var-hand-rock-o: \"\\f255\";\n$fa-var-hand-scissors-o: \"\\f257\";\n$fa-var-hand-spock-o: \"\\f259\";\n$fa-var-hand-stop-o: \"\\f256\";\n$fa-var-hard-of-hearing: \"\\f2a4\";\n$fa-var-hashtag: \"\\f292\";\n$fa-var-hdd-o: \"\\f0a0\";\n$fa-var-header: \"\\f1dc\";\n$fa-var-headphones: \"\\f025\";\n$fa-var-heart: \"\\f004\";\n$fa-var-heart-o: \"\\f08a\";\n$fa-var-heartbeat: \"\\f21e\";\n$fa-var-history: \"\\f1da\";\n$fa-var-home: \"\\f015\";\n$fa-var-hospital-o: \"\\f0f8\";\n$fa-var-hotel: \"\\f236\";\n$fa-var-hourglass: \"\\f254\";\n$fa-var-hourglass-1: \"\\f251\";\n$fa-var-hourglass-2: \"\\f252\";\n$fa-var-hourglass-3: \"\\f253\";\n$fa-var-hourglass-end: \"\\f253\";\n$fa-var-hourglass-half: \"\\f252\";\n$fa-var-hourglass-o: \"\\f250\";\n$fa-var-hourglass-start: \"\\f251\";\n$fa-var-houzz: \"\\f27c\";\n$fa-var-html5: \"\\f13b\";\n$fa-var-i-cursor: \"\\f246\";\n$fa-var-ils: \"\\f20b\";\n$fa-var-image: \"\\f03e\";\n$fa-var-inbox: \"\\f01c\";\n$fa-var-indent: \"\\f03c\";\n$fa-var-industry: \"\\f275\";\n$fa-var-info: \"\\f129\";\n$fa-var-info-circle: \"\\f05a\";\n$fa-var-inr: \"\\f156\";\n$fa-var-instagram: \"\\f16d\";\n$fa-var-institution: \"\\f19c\";\n$fa-var-internet-explorer: \"\\f26b\";\n$fa-var-intersex: \"\\f224\";\n$fa-var-ioxhost: \"\\f208\";\n$fa-var-italic: \"\\f033\";\n$fa-var-joomla: \"\\f1aa\";\n$fa-var-jpy: \"\\f157\";\n$fa-var-jsfiddle: \"\\f1cc\";\n$fa-var-key: \"\\f084\";\n$fa-var-keyboard-o: \"\\f11c\";\n$fa-var-krw: \"\\f159\";\n$fa-var-language: \"\\f1ab\";\n$fa-var-laptop: \"\\f109\";\n$fa-var-lastfm: \"\\f202\";\n$fa-var-lastfm-square: \"\\f203\";\n$fa-var-leaf: \"\\f06c\";\n$fa-var-leanpub: \"\\f212\";\n$fa-var-legal: \"\\f0e3\";\n$fa-var-lemon-o: \"\\f094\";\n$fa-var-level-down: \"\\f149\";\n$fa-var-level-up: \"\\f148\";\n$fa-var-life-bouy: \"\\f1cd\";\n$fa-var-life-buoy: \"\\f1cd\";\n$fa-var-life-ring: \"\\f1cd\";\n$fa-var-life-saver: \"\\f1cd\";\n$fa-var-lightbulb-o: \"\\f0eb\";\n$fa-var-line-chart: \"\\f201\";\n$fa-var-link: \"\\f0c1\";\n$fa-var-linkedin: \"\\f0e1\";\n$fa-var-linkedin-square: \"\\f08c\";\n$fa-var-linux: \"\\f17c\";\n$fa-var-list: \"\\f03a\";\n$fa-var-list-alt: \"\\f022\";\n$fa-var-list-ol: \"\\f0cb\";\n$fa-var-list-ul: \"\\f0ca\";\n$fa-var-location-arrow: \"\\f124\";\n$fa-var-lock: \"\\f023\";\n$fa-var-long-arrow-down: \"\\f175\";\n$fa-var-long-arrow-left: \"\\f177\";\n$fa-var-long-arrow-right: \"\\f178\";\n$fa-var-long-arrow-up: \"\\f176\";\n$fa-var-low-vision: \"\\f2a8\";\n$fa-var-magic: \"\\f0d0\";\n$fa-var-magnet: \"\\f076\";\n$fa-var-mail-forward: \"\\f064\";\n$fa-var-mail-reply: \"\\f112\";\n$fa-var-mail-reply-all: \"\\f122\";\n$fa-var-male: \"\\f183\";\n$fa-var-map: \"\\f279\";\n$fa-var-map-marker: \"\\f041\";\n$fa-var-map-o: \"\\f278\";\n$fa-var-map-pin: \"\\f276\";\n$fa-var-map-signs: \"\\f277\";\n$fa-var-mars: \"\\f222\";\n$fa-var-mars-double: \"\\f227\";\n$fa-var-mars-stroke: \"\\f229\";\n$fa-var-mars-stroke-h: \"\\f22b\";\n$fa-var-mars-stroke-v: \"\\f22a\";\n$fa-var-maxcdn: \"\\f136\";\n$fa-var-meanpath: \"\\f20c\";\n$fa-var-medium: \"\\f23a\";\n$fa-var-medkit: \"\\f0fa\";\n$fa-var-meh-o: \"\\f11a\";\n$fa-var-mercury: \"\\f223\";\n$fa-var-microphone: \"\\f130\";\n$fa-var-microphone-slash: \"\\f131\";\n$fa-var-minus: \"\\f068\";\n$fa-var-minus-circle: \"\\f056\";\n$fa-var-minus-square: \"\\f146\";\n$fa-var-minus-square-o: \"\\f147\";\n$fa-var-mixcloud: \"\\f289\";\n$fa-var-mobile: \"\\f10b\";\n$fa-var-mobile-phone: \"\\f10b\";\n$fa-var-modx: \"\\f285\";\n$fa-var-money: \"\\f0d6\";\n$fa-var-moon-o: \"\\f186\";\n$fa-var-mortar-board: \"\\f19d\";\n$fa-var-motorcycle: \"\\f21c\";\n$fa-var-mouse-pointer: \"\\f245\";\n$fa-var-music: \"\\f001\";\n$fa-var-navicon: \"\\f0c9\";\n$fa-var-neuter: \"\\f22c\";\n$fa-var-newspaper-o: \"\\f1ea\";\n$fa-var-object-group: \"\\f247\";\n$fa-var-object-ungroup: \"\\f248\";\n$fa-var-odnoklassniki: \"\\f263\";\n$fa-var-odnoklassniki-square: \"\\f264\";\n$fa-var-opencart: \"\\f23d\";\n$fa-var-openid: \"\\f19b\";\n$fa-var-opera: \"\\f26a\";\n$fa-var-optin-monster: \"\\f23c\";\n$fa-var-outdent: \"\\f03b\";\n$fa-var-pagelines: \"\\f18c\";\n$fa-var-paint-brush: \"\\f1fc\";\n$fa-var-paper-plane: \"\\f1d8\";\n$fa-var-paper-plane-o: \"\\f1d9\";\n$fa-var-paperclip: \"\\f0c6\";\n$fa-var-paragraph: \"\\f1dd\";\n$fa-var-paste: \"\\f0ea\";\n$fa-var-pause: \"\\f04c\";\n$fa-var-pause-circle: \"\\f28b\";\n$fa-var-pause-circle-o: \"\\f28c\";\n$fa-var-paw: \"\\f1b0\";\n$fa-var-paypal: \"\\f1ed\";\n$fa-var-pencil: \"\\f040\";\n$fa-var-pencil-square: \"\\f14b\";\n$fa-var-pencil-square-o: \"\\f044\";\n$fa-var-percent: \"\\f295\";\n$fa-var-phone: \"\\f095\";\n$fa-var-phone-square: \"\\f098\";\n$fa-var-photo: \"\\f03e\";\n$fa-var-picture-o: \"\\f03e\";\n$fa-var-pie-chart: \"\\f200\";\n$fa-var-pied-piper: \"\\f2ae\";\n$fa-var-pied-piper-alt: \"\\f1a8\";\n$fa-var-pied-piper-pp: \"\\f1a7\";\n$fa-var-pinterest: \"\\f0d2\";\n$fa-var-pinterest-p: \"\\f231\";\n$fa-var-pinterest-square: \"\\f0d3\";\n$fa-var-plane: \"\\f072\";\n$fa-var-play: \"\\f04b\";\n$fa-var-play-circle: \"\\f144\";\n$fa-var-play-circle-o: \"\\f01d\";\n$fa-var-plug: \"\\f1e6\";\n$fa-var-plus: \"\\f067\";\n$fa-var-plus-circle: \"\\f055\";\n$fa-var-plus-square: \"\\f0fe\";\n$fa-var-plus-square-o: \"\\f196\";\n$fa-var-power-off: \"\\f011\";\n$fa-var-print: \"\\f02f\";\n$fa-var-product-hunt: \"\\f288\";\n$fa-var-puzzle-piece: \"\\f12e\";\n$fa-var-qq: \"\\f1d6\";\n$fa-var-qrcode: \"\\f029\";\n$fa-var-question: \"\\f128\";\n$fa-var-question-circle: \"\\f059\";\n$fa-var-question-circle-o: \"\\f29c\";\n$fa-var-quote-left: \"\\f10d\";\n$fa-var-quote-right: \"\\f10e\";\n$fa-var-ra: \"\\f1d0\";\n$fa-var-random: \"\\f074\";\n$fa-var-rebel: \"\\f1d0\";\n$fa-var-recycle: \"\\f1b8\";\n$fa-var-reddit: \"\\f1a1\";\n$fa-var-reddit-alien: \"\\f281\";\n$fa-var-reddit-square: \"\\f1a2\";\n$fa-var-refresh: \"\\f021\";\n$fa-var-registered: \"\\f25d\";\n$fa-var-remove: \"\\f00d\";\n$fa-var-renren: \"\\f18b\";\n$fa-var-reorder: \"\\f0c9\";\n$fa-var-repeat: \"\\f01e\";\n$fa-var-reply: \"\\f112\";\n$fa-var-reply-all: \"\\f122\";\n$fa-var-resistance: \"\\f1d0\";\n$fa-var-retweet: \"\\f079\";\n$fa-var-rmb: \"\\f157\";\n$fa-var-road: \"\\f018\";\n$fa-var-rocket: \"\\f135\";\n$fa-var-rotate-left: \"\\f0e2\";\n$fa-var-rotate-right: \"\\f01e\";\n$fa-var-rouble: \"\\f158\";\n$fa-var-rss: \"\\f09e\";\n$fa-var-rss-square: \"\\f143\";\n$fa-var-rub: \"\\f158\";\n$fa-var-ruble: \"\\f158\";\n$fa-var-rupee: \"\\f156\";\n$fa-var-safari: \"\\f267\";\n$fa-var-save: \"\\f0c7\";\n$fa-var-scissors: \"\\f0c4\";\n$fa-var-scribd: \"\\f28a\";\n$fa-var-search: \"\\f002\";\n$fa-var-search-minus: \"\\f010\";\n$fa-var-search-plus: \"\\f00e\";\n$fa-var-sellsy: \"\\f213\";\n$fa-var-send: \"\\f1d8\";\n$fa-var-send-o: \"\\f1d9\";\n$fa-var-server: \"\\f233\";\n$fa-var-share: \"\\f064\";\n$fa-var-share-alt: \"\\f1e0\";\n$fa-var-share-alt-square: \"\\f1e1\";\n$fa-var-share-square: \"\\f14d\";\n$fa-var-share-square-o: \"\\f045\";\n$fa-var-shekel: \"\\f20b\";\n$fa-var-sheqel: \"\\f20b\";\n$fa-var-shield: \"\\f132\";\n$fa-var-ship: \"\\f21a\";\n$fa-var-shirtsinbulk: \"\\f214\";\n$fa-var-shopping-bag: \"\\f290\";\n$fa-var-shopping-basket: \"\\f291\";\n$fa-var-shopping-cart: \"\\f07a\";\n$fa-var-sign-in: \"\\f090\";\n$fa-var-sign-language: \"\\f2a7\";\n$fa-var-sign-out: \"\\f08b\";\n$fa-var-signal: \"\\f012\";\n$fa-var-signing: \"\\f2a7\";\n$fa-var-simplybuilt: \"\\f215\";\n$fa-var-sitemap: \"\\f0e8\";\n$fa-var-skyatlas: \"\\f216\";\n$fa-var-skype: \"\\f17e\";\n$fa-var-slack: \"\\f198\";\n$fa-var-sliders: \"\\f1de\";\n$fa-var-slideshare: \"\\f1e7\";\n$fa-var-smile-o: \"\\f118\";\n$fa-var-snapchat: \"\\f2ab\";\n$fa-var-snapchat-ghost: \"\\f2ac\";\n$fa-var-snapchat-square: \"\\f2ad\";\n$fa-var-soccer-ball-o: \"\\f1e3\";\n$fa-var-sort: \"\\f0dc\";\n$fa-var-sort-alpha-asc: \"\\f15d\";\n$fa-var-sort-alpha-desc: \"\\f15e\";\n$fa-var-sort-amount-asc: \"\\f160\";\n$fa-var-sort-amount-desc: \"\\f161\";\n$fa-var-sort-asc: \"\\f0de\";\n$fa-var-sort-desc: \"\\f0dd\";\n$fa-var-sort-down: \"\\f0dd\";\n$fa-var-sort-numeric-asc: \"\\f162\";\n$fa-var-sort-numeric-desc: \"\\f163\";\n$fa-var-sort-up: \"\\f0de\";\n$fa-var-soundcloud: \"\\f1be\";\n$fa-var-space-shuttle: \"\\f197\";\n$fa-var-spinner: \"\\f110\";\n$fa-var-spoon: \"\\f1b1\";\n$fa-var-spotify: \"\\f1bc\";\n$fa-var-square: \"\\f0c8\";\n$fa-var-square-o: \"\\f096\";\n$fa-var-stack-exchange: \"\\f18d\";\n$fa-var-stack-overflow: \"\\f16c\";\n$fa-var-star: \"\\f005\";\n$fa-var-star-half: \"\\f089\";\n$fa-var-star-half-empty: \"\\f123\";\n$fa-var-star-half-full: \"\\f123\";\n$fa-var-star-half-o: \"\\f123\";\n$fa-var-star-o: \"\\f006\";\n$fa-var-steam: \"\\f1b6\";\n$fa-var-steam-square: \"\\f1b7\";\n$fa-var-step-backward: \"\\f048\";\n$fa-var-step-forward: \"\\f051\";\n$fa-var-stethoscope: \"\\f0f1\";\n$fa-var-sticky-note: \"\\f249\";\n$fa-var-sticky-note-o: \"\\f24a\";\n$fa-var-stop: \"\\f04d\";\n$fa-var-stop-circle: \"\\f28d\";\n$fa-var-stop-circle-o: \"\\f28e\";\n$fa-var-street-view: \"\\f21d\";\n$fa-var-strikethrough: \"\\f0cc\";\n$fa-var-stumbleupon: \"\\f1a4\";\n$fa-var-stumbleupon-circle: \"\\f1a3\";\n$fa-var-subscript: \"\\f12c\";\n$fa-var-subway: \"\\f239\";\n$fa-var-suitcase: \"\\f0f2\";\n$fa-var-sun-o: \"\\f185\";\n$fa-var-superscript: \"\\f12b\";\n$fa-var-support: \"\\f1cd\";\n$fa-var-table: \"\\f0ce\";\n$fa-var-tablet: \"\\f10a\";\n$fa-var-tachometer: \"\\f0e4\";\n$fa-var-tag: \"\\f02b\";\n$fa-var-tags: \"\\f02c\";\n$fa-var-tasks: \"\\f0ae\";\n$fa-var-taxi: \"\\f1ba\";\n$fa-var-television: \"\\f26c\";\n$fa-var-tencent-weibo: \"\\f1d5\";\n$fa-var-terminal: \"\\f120\";\n$fa-var-text-height: \"\\f034\";\n$fa-var-text-width: \"\\f035\";\n$fa-var-th: \"\\f00a\";\n$fa-var-th-large: \"\\f009\";\n$fa-var-th-list: \"\\f00b\";\n$fa-var-themeisle: \"\\f2b2\";\n$fa-var-thumb-tack: \"\\f08d\";\n$fa-var-thumbs-down: \"\\f165\";\n$fa-var-thumbs-o-down: \"\\f088\";\n$fa-var-thumbs-o-up: \"\\f087\";\n$fa-var-thumbs-up: \"\\f164\";\n$fa-var-ticket: \"\\f145\";\n$fa-var-times: \"\\f00d\";\n$fa-var-times-circle: \"\\f057\";\n$fa-var-times-circle-o: \"\\f05c\";\n$fa-var-tint: \"\\f043\";\n$fa-var-toggle-down: \"\\f150\";\n$fa-var-toggle-left: \"\\f191\";\n$fa-var-toggle-off: \"\\f204\";\n$fa-var-toggle-on: \"\\f205\";\n$fa-var-toggle-right: \"\\f152\";\n$fa-var-toggle-up: \"\\f151\";\n$fa-var-trademark: \"\\f25c\";\n$fa-var-train: \"\\f238\";\n$fa-var-transgender: \"\\f224\";\n$fa-var-transgender-alt: \"\\f225\";\n$fa-var-trash: \"\\f1f8\";\n$fa-var-trash-o: \"\\f014\";\n$fa-var-tree: \"\\f1bb\";\n$fa-var-trello: \"\\f181\";\n$fa-var-tripadvisor: \"\\f262\";\n$fa-var-trophy: \"\\f091\";\n$fa-var-truck: \"\\f0d1\";\n$fa-var-try: \"\\f195\";\n$fa-var-tty: \"\\f1e4\";\n$fa-var-tumblr: \"\\f173\";\n$fa-var-tumblr-square: \"\\f174\";\n$fa-var-turkish-lira: \"\\f195\";\n$fa-var-tv: \"\\f26c\";\n$fa-var-twitch: \"\\f1e8\";\n$fa-var-twitter: \"\\f099\";\n$fa-var-twitter-square: \"\\f081\";\n$fa-var-umbrella: \"\\f0e9\";\n$fa-var-underline: \"\\f0cd\";\n$fa-var-undo: \"\\f0e2\";\n$fa-var-universal-access: \"\\f29a\";\n$fa-var-university: \"\\f19c\";\n$fa-var-unlink: \"\\f127\";\n$fa-var-unlock: \"\\f09c\";\n$fa-var-unlock-alt: \"\\f13e\";\n$fa-var-unsorted: \"\\f0dc\";\n$fa-var-upload: \"\\f093\";\n$fa-var-usb: \"\\f287\";\n$fa-var-usd: \"\\f155\";\n$fa-var-user: \"\\f007\";\n$fa-var-user-md: \"\\f0f0\";\n$fa-var-user-plus: \"\\f234\";\n$fa-var-user-secret: \"\\f21b\";\n$fa-var-user-times: \"\\f235\";\n$fa-var-users: \"\\f0c0\";\n$fa-var-venus: \"\\f221\";\n$fa-var-venus-double: \"\\f226\";\n$fa-var-venus-mars: \"\\f228\";\n$fa-var-viacoin: \"\\f237\";\n$fa-var-viadeo: \"\\f2a9\";\n$fa-var-viadeo-square: \"\\f2aa\";\n$fa-var-video-camera: \"\\f03d\";\n$fa-var-vimeo: \"\\f27d\";\n$fa-var-vimeo-square: \"\\f194\";\n$fa-var-vine: \"\\f1ca\";\n$fa-var-vk: \"\\f189\";\n$fa-var-volume-control-phone: \"\\f2a0\";\n$fa-var-volume-down: \"\\f027\";\n$fa-var-volume-off: \"\\f026\";\n$fa-var-volume-up: \"\\f028\";\n$fa-var-warning: \"\\f071\";\n$fa-var-wechat: \"\\f1d7\";\n$fa-var-weibo: \"\\f18a\";\n$fa-var-weixin: \"\\f1d7\";\n$fa-var-whatsapp: \"\\f232\";\n$fa-var-wheelchair: \"\\f193\";\n$fa-var-wheelchair-alt: \"\\f29b\";\n$fa-var-wifi: \"\\f1eb\";\n$fa-var-wikipedia-w: \"\\f266\";\n$fa-var-windows: \"\\f17a\";\n$fa-var-won: \"\\f159\";\n$fa-var-wordpress: \"\\f19a\";\n$fa-var-wpbeginner: \"\\f297\";\n$fa-var-wpforms: \"\\f298\";\n$fa-var-wrench: \"\\f0ad\";\n$fa-var-xing: \"\\f168\";\n$fa-var-xing-square: \"\\f169\";\n$fa-var-y-combinator: \"\\f23b\";\n$fa-var-y-combinator-square: \"\\f1d4\";\n$fa-var-yahoo: \"\\f19e\";\n$fa-var-yc: \"\\f23b\";\n$fa-var-yc-square: \"\\f1d4\";\n$fa-var-yelp: \"\\f1e9\";\n$fa-var-yen: \"\\f157\";\n$fa-var-yoast: \"\\f2b1\";\n$fa-var-youtube: \"\\f167\";\n$fa-var-youtube-play: \"\\f16a\";\n$fa-var-youtube-square: \"\\f166\";\n\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_variables.scss\n **/","// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n padding: .2em .25em .15em;\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix} {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.#{$fa-css-prefix} {\n &.pull-left { margin-right: .3em; }\n &.pull-right { margin-left: .3em; }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_bordered-pulled.scss\n **/","// Spinning Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_animated.scss\n **/","// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .#{$fa-css-prefix}-rotate-90,\n:root .#{$fa-css-prefix}-rotate-180,\n:root .#{$fa-css-prefix}-rotate-270,\n:root .#{$fa-css-prefix}-flip-horizontal,\n:root .#{$fa-css-prefix}-flip-vertical {\n filter: none;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_rotated-flipped.scss\n **/","// Mixins\n// --------------------------\n\n@mixin fa-icon() {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n -webkit-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_mixins.scss\n **/","// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.#{$fa-css-prefix}-stack-1x { line-height: inherit; }\n.#{$fa-css-prefix}-stack-2x { font-size: 2em; }\n.#{$fa-css-prefix}-inverse { color: $fa-inverse; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_stacked.scss\n **/","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }\n.#{$fa-css-prefix}-music:before { content: $fa-var-music; }\n.#{$fa-css-prefix}-search:before { content: $fa-var-search; }\n.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }\n.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }\n.#{$fa-css-prefix}-star:before { content: $fa-var-star; }\n.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }\n.#{$fa-css-prefix}-user:before { content: $fa-var-user; }\n.#{$fa-css-prefix}-film:before { content: $fa-var-film; }\n.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }\n.#{$fa-css-prefix}-th:before { content: $fa-var-th; }\n.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }\n.#{$fa-css-prefix}-check:before { content: $fa-var-check; }\n.#{$fa-css-prefix}-remove:before,\n.#{$fa-css-prefix}-close:before,\n.#{$fa-css-prefix}-times:before { content: $fa-var-times; }\n.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }\n.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }\n.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }\n.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }\n.#{$fa-css-prefix}-gear:before,\n.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }\n.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }\n.#{$fa-css-prefix}-home:before { content: $fa-var-home; }\n.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }\n.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }\n.#{$fa-css-prefix}-road:before { content: $fa-var-road; }\n.#{$fa-css-prefix}-download:before { content: $fa-var-download; }\n.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }\n.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }\n.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }\n.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }\n.#{$fa-css-prefix}-rotate-right:before,\n.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }\n.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }\n.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }\n.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }\n.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }\n.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }\n.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }\n.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }\n.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }\n.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }\n.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }\n.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }\n.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }\n.#{$fa-css-prefix}-book:before { content: $fa-var-book; }\n.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }\n.#{$fa-css-prefix}-print:before { content: $fa-var-print; }\n.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }\n.#{$fa-css-prefix}-font:before { content: $fa-var-font; }\n.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }\n.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }\n.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }\n.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }\n.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }\n.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }\n.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }\n.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }\n.#{$fa-css-prefix}-list:before { content: $fa-var-list; }\n.#{$fa-css-prefix}-dedent:before,\n.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }\n.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }\n.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }\n.#{$fa-css-prefix}-photo:before,\n.#{$fa-css-prefix}-image:before,\n.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }\n.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }\n.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }\n.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }\n.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }\n.#{$fa-css-prefix}-edit:before,\n.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }\n.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }\n.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }\n.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }\n.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }\n.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }\n.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }\n.#{$fa-css-prefix}-play:before { content: $fa-var-play; }\n.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }\n.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }\n.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }\n.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }\n.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }\n.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }\n.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }\n.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }\n.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }\n.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }\n.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }\n.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }\n.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }\n.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }\n.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }\n.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }\n.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }\n.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }\n.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }\n.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }\n.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }\n.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }\n.#{$fa-css-prefix}-mail-forward:before,\n.#{$fa-css-prefix}-share:before { content: $fa-var-share; }\n.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }\n.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }\n.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }\n.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }\n.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }\n.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }\n.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }\n.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }\n.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }\n.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }\n.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }\n.#{$fa-css-prefix}-warning:before,\n.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }\n.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }\n.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }\n.#{$fa-css-prefix}-random:before { content: $fa-var-random; }\n.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }\n.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }\n.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }\n.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }\n.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }\n.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }\n.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }\n.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }\n.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }\n.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }\n.#{$fa-css-prefix}-bar-chart-o:before,\n.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }\n.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }\n.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }\n.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }\n.#{$fa-css-prefix}-key:before { content: $fa-var-key; }\n.#{$fa-css-prefix}-gears:before,\n.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }\n.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }\n.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }\n.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }\n.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }\n.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }\n.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }\n.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }\n.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }\n.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }\n.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }\n.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }\n.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }\n.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }\n.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }\n.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }\n.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }\n.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }\n.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }\n.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }\n.#{$fa-css-prefix}-facebook-f:before,\n.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }\n.#{$fa-css-prefix}-github:before { content: $fa-var-github; }\n.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }\n.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }\n.#{$fa-css-prefix}-feed:before,\n.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }\n.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }\n.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }\n.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }\n.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }\n.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }\n.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }\n.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }\n.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }\n.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }\n.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }\n.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }\n.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }\n.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }\n.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }\n.#{$fa-css-prefix}-group:before,\n.#{$fa-css-prefix}-users:before { content: $fa-var-users; }\n.#{$fa-css-prefix}-chain:before,\n.#{$fa-css-prefix}-link:before { content: $fa-var-link; }\n.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }\n.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }\n.#{$fa-css-prefix}-cut:before,\n.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }\n.#{$fa-css-prefix}-copy:before,\n.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }\n.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }\n.#{$fa-css-prefix}-save:before,\n.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }\n.#{$fa-css-prefix}-square:before { content: $fa-var-square; }\n.#{$fa-css-prefix}-navicon:before,\n.#{$fa-css-prefix}-reorder:before,\n.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }\n.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }\n.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }\n.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }\n.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }\n.#{$fa-css-prefix}-table:before { content: $fa-var-table; }\n.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }\n.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }\n.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }\n.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }\n.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }\n.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }\n.#{$fa-css-prefix}-money:before { content: $fa-var-money; }\n.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }\n.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }\n.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }\n.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }\n.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }\n.#{$fa-css-prefix}-unsorted:before,\n.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }\n.#{$fa-css-prefix}-sort-down:before,\n.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }\n.#{$fa-css-prefix}-sort-up:before,\n.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }\n.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }\n.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }\n.#{$fa-css-prefix}-rotate-left:before,\n.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }\n.#{$fa-css-prefix}-legal:before,\n.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }\n.#{$fa-css-prefix}-dashboard:before,\n.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }\n.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }\n.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }\n.#{$fa-css-prefix}-flash:before,\n.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }\n.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }\n.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }\n.#{$fa-css-prefix}-paste:before,\n.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }\n.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }\n.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }\n.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }\n.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }\n.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }\n.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }\n.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }\n.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }\n.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }\n.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }\n.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }\n.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }\n.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }\n.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }\n.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }\n.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }\n.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }\n.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }\n.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }\n.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }\n.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }\n.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }\n.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }\n.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }\n.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }\n.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }\n.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }\n.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }\n.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }\n.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }\n.#{$fa-css-prefix}-mobile-phone:before,\n.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }\n.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }\n.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }\n.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }\n.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }\n.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }\n.#{$fa-css-prefix}-mail-reply:before,\n.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }\n.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }\n.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }\n.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }\n.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }\n.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }\n.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }\n.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }\n.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }\n.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }\n.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }\n.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }\n.#{$fa-css-prefix}-code:before { content: $fa-var-code; }\n.#{$fa-css-prefix}-mail-reply-all:before,\n.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }\n.#{$fa-css-prefix}-star-half-empty:before,\n.#{$fa-css-prefix}-star-half-full:before,\n.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }\n.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }\n.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }\n.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }\n.#{$fa-css-prefix}-unlink:before,\n.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }\n.#{$fa-css-prefix}-question:before { content: $fa-var-question; }\n.#{$fa-css-prefix}-info:before { content: $fa-var-info; }\n.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }\n.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }\n.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }\n.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }\n.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }\n.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }\n.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }\n.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }\n.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }\n.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }\n.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }\n.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }\n.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }\n.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }\n.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }\n.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }\n.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }\n.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }\n.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }\n.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }\n.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }\n.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }\n.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }\n.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }\n.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }\n.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }\n.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }\n.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }\n.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }\n.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }\n.#{$fa-css-prefix}-toggle-down:before,\n.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }\n.#{$fa-css-prefix}-toggle-up:before,\n.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }\n.#{$fa-css-prefix}-toggle-right:before,\n.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }\n.#{$fa-css-prefix}-euro:before,\n.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }\n.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }\n.#{$fa-css-prefix}-dollar:before,\n.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }\n.#{$fa-css-prefix}-rupee:before,\n.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }\n.#{$fa-css-prefix}-cny:before,\n.#{$fa-css-prefix}-rmb:before,\n.#{$fa-css-prefix}-yen:before,\n.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }\n.#{$fa-css-prefix}-ruble:before,\n.#{$fa-css-prefix}-rouble:before,\n.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }\n.#{$fa-css-prefix}-won:before,\n.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }\n.#{$fa-css-prefix}-bitcoin:before,\n.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }\n.#{$fa-css-prefix}-file:before { content: $fa-var-file; }\n.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }\n.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }\n.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }\n.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }\n.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }\n.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }\n.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }\n.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }\n.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }\n.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }\n.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }\n.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }\n.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }\n.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }\n.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }\n.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }\n.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }\n.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }\n.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }\n.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }\n.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }\n.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }\n.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }\n.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }\n.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }\n.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }\n.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }\n.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }\n.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }\n.#{$fa-css-prefix}-android:before { content: $fa-var-android; }\n.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }\n.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }\n.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }\n.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }\n.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }\n.#{$fa-css-prefix}-female:before { content: $fa-var-female; }\n.#{$fa-css-prefix}-male:before { content: $fa-var-male; }\n.#{$fa-css-prefix}-gittip:before,\n.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }\n.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }\n.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }\n.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }\n.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }\n.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }\n.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }\n.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }\n.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }\n.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }\n.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }\n.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }\n.#{$fa-css-prefix}-toggle-left:before,\n.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }\n.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }\n.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }\n.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }\n.#{$fa-css-prefix}-turkish-lira:before,\n.#{$fa-css-prefix}-try:before { content: $fa-var-try; }\n.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }\n.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }\n.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }\n.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }\n.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }\n.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }\n.#{$fa-css-prefix}-institution:before,\n.#{$fa-css-prefix}-bank:before,\n.#{$fa-css-prefix}-university:before { content: $fa-var-university; }\n.#{$fa-css-prefix}-mortar-board:before,\n.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }\n.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }\n.#{$fa-css-prefix}-google:before { content: $fa-var-google; }\n.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }\n.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }\n.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }\n.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }\n.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }\n.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }\n.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }\n.#{$fa-css-prefix}-language:before { content: $fa-var-language; }\n.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }\n.#{$fa-css-prefix}-building:before { content: $fa-var-building; }\n.#{$fa-css-prefix}-child:before { content: $fa-var-child; }\n.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }\n.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }\n.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }\n.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }\n.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }\n.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }\n.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }\n.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }\n.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }\n.#{$fa-css-prefix}-automobile:before,\n.#{$fa-css-prefix}-car:before { content: $fa-var-car; }\n.#{$fa-css-prefix}-cab:before,\n.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }\n.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }\n.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }\n.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }\n.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }\n.#{$fa-css-prefix}-database:before { content: $fa-var-database; }\n.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }\n.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }\n.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }\n.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }\n.#{$fa-css-prefix}-file-photo-o:before,\n.#{$fa-css-prefix}-file-picture-o:before,\n.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }\n.#{$fa-css-prefix}-file-zip-o:before,\n.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }\n.#{$fa-css-prefix}-file-sound-o:before,\n.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }\n.#{$fa-css-prefix}-file-movie-o:before,\n.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }\n.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }\n.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }\n.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }\n.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }\n.#{$fa-css-prefix}-life-bouy:before,\n.#{$fa-css-prefix}-life-buoy:before,\n.#{$fa-css-prefix}-life-saver:before,\n.#{$fa-css-prefix}-support:before,\n.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }\n.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }\n.#{$fa-css-prefix}-ra:before,\n.#{$fa-css-prefix}-resistance:before,\n.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }\n.#{$fa-css-prefix}-ge:before,\n.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }\n.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }\n.#{$fa-css-prefix}-git:before { content: $fa-var-git; }\n.#{$fa-css-prefix}-y-combinator-square:before,\n.#{$fa-css-prefix}-yc-square:before,\n.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }\n.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }\n.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }\n.#{$fa-css-prefix}-wechat:before,\n.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }\n.#{$fa-css-prefix}-send:before,\n.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }\n.#{$fa-css-prefix}-send-o:before,\n.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }\n.#{$fa-css-prefix}-history:before { content: $fa-var-history; }\n.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }\n.#{$fa-css-prefix}-header:before { content: $fa-var-header; }\n.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }\n.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }\n.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }\n.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }\n.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }\n.#{$fa-css-prefix}-soccer-ball-o:before,\n.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }\n.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }\n.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }\n.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }\n.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }\n.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }\n.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }\n.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }\n.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }\n.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }\n.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }\n.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }\n.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }\n.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }\n.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }\n.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }\n.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }\n.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }\n.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }\n.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }\n.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }\n.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }\n.#{$fa-css-prefix}-at:before { content: $fa-var-at; }\n.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }\n.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }\n.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }\n.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }\n.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }\n.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }\n.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }\n.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }\n.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }\n.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }\n.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }\n.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }\n.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }\n.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }\n.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }\n.#{$fa-css-prefix}-shekel:before,\n.#{$fa-css-prefix}-sheqel:before,\n.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }\n.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }\n.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }\n.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }\n.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }\n.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }\n.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }\n.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }\n.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }\n.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }\n.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }\n.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }\n.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }\n.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }\n.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }\n.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }\n.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }\n.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }\n.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }\n.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }\n.#{$fa-css-prefix}-intersex:before,\n.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }\n.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }\n.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }\n.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }\n.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }\n.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }\n.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }\n.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }\n.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }\n.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }\n.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }\n.#{$fa-css-prefix}-server:before { content: $fa-var-server; }\n.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }\n.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }\n.#{$fa-css-prefix}-hotel:before,\n.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }\n.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }\n.#{$fa-css-prefix}-train:before { content: $fa-var-train; }\n.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }\n.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }\n.#{$fa-css-prefix}-yc:before,\n.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }\n.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }\n.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }\n.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }\n.#{$fa-css-prefix}-battery-4:before,\n.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }\n.#{$fa-css-prefix}-battery-3:before,\n.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }\n.#{$fa-css-prefix}-battery-2:before,\n.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }\n.#{$fa-css-prefix}-battery-1:before,\n.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }\n.#{$fa-css-prefix}-battery-0:before,\n.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }\n.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }\n.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }\n.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }\n.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }\n.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }\n.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }\n.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }\n.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }\n.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }\n.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }\n.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }\n.#{$fa-css-prefix}-hourglass-1:before,\n.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }\n.#{$fa-css-prefix}-hourglass-2:before,\n.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }\n.#{$fa-css-prefix}-hourglass-3:before,\n.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }\n.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }\n.#{$fa-css-prefix}-hand-grab-o:before,\n.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }\n.#{$fa-css-prefix}-hand-stop-o:before,\n.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }\n.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }\n.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }\n.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }\n.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }\n.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }\n.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }\n.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }\n.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }\n.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }\n.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }\n.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }\n.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }\n.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }\n.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }\n.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }\n.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }\n.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }\n.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }\n.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }\n.#{$fa-css-prefix}-tv:before,\n.#{$fa-css-prefix}-television:before { content: $fa-var-television; }\n.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }\n.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }\n.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }\n.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }\n.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }\n.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }\n.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }\n.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }\n.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }\n.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }\n.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }\n.#{$fa-css-prefix}-map:before { content: $fa-var-map; }\n.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }\n.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }\n.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }\n.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }\n.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }\n.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }\n.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }\n.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }\n.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }\n.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }\n.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }\n.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }\n.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }\n.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }\n.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }\n.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }\n.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }\n.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }\n.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }\n.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }\n.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }\n.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }\n.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }\n.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }\n.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }\n.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }\n.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }\n.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }\n.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }\n.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }\n.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }\n.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }\n.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }\n.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }\n.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }\n.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }\n.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }\n.#{$fa-css-prefix}-asl-interpreting:before,\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }\n.#{$fa-css-prefix}-deafness:before,\n.#{$fa-css-prefix}-hard-of-hearing:before,\n.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }\n.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }\n.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }\n.#{$fa-css-prefix}-signing:before,\n.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }\n.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }\n.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }\n.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }\n.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }\n.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }\n.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }\n.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }\n.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }\n.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }\n.#{$fa-css-prefix}-google-plus-circle:before,\n.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }\n.#{$fa-css-prefix}-fa:before,\n.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_icons.scss\n **/","// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only(); }\n.sr-only-focusable { @include sr-only-focusable(); }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_screen-reader.scss\n **/","\n$turquoise: #08d58f;\n$faint_grey: #EEEEEE;\n$light_grey: #DDDDDD;\n$mid_grey: #AAAAAA;\n$dark_grey: #333333;\n$secondary_grey: #888888;\n$red: #cf2d2d;\n\n@mixin one_line_text {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n@mixin clearfix {\n\t&::after {\n\t\tcontent: '';\n\t\tclear: both;\n\t\tdisplay: block;\n\t}\n}\n\n@mixin animate( $duration: 0.2s, $easing: ease-in-out ){\n\t-webkit-transition: all $duration $easing;\n\t -moz-transition: all $duration $easing;\n\t\t -o-transition: all $duration $easing;\n\t\t transition: all $duration $easing; \n}\n\n@keyframes fill_from_left {\n from {\twidth: 0%; }\n to {\twidth: 100%; }\n}\n\n@mixin animate_timeout( $duration: 0.2s ){\n animation-name: fill_from_left;\n animation-duration: $duration;\n animation-timing-function: linear;\n}\n\n@mixin blur( $size: 10px ) {\n\t-webkit-filter: blur( $size );\n\tfilter: blur( $size );\n}\n\n@mixin responsive( $width ){\n\t@media (max-width: $width){ \n\t\t@content;\n\t}\n}\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_variables.scss\n **/","\n\nbody,\nhtml {\n\tbackground: #F5F5F5;\n\tcolor: #000000;\n\tfont-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n\tfont-size: 14px;\n}\n\nbody {\n\toverflow-y: scroll;\n\toverflow-x: hidden;\n}\n\nmain,\nfooter {\n\tmargin-left: 200px;\n}\n\nmain {\n\tposition: relative;\n\tmin-height: 100vh;\n\n\ta {\n\t\tcolor: inherit;\n\t\ttext-decoration: none;\n\t\tborder-bottom: 1px dotted transparent;\n\n\t\t&:hover {\n\t\t\tborder-color: #000000;\n\t\t}\n\t}\n\n\tsection {\n\t\tpadding: 40px;\n\t}\n\n\th1 {\n\t\tfont-weight: 500;\n\t\tfont-size: 40px;\n\t}\n\n\th2 {\n\t\tfont-weight: 500;\n\t\tfont-size: 30px;\n\t}\n\n\th3 {\n\t\tfont-weight: 100;\n\t\tfont-style: italic;\n\t\tfont-size: 20px;\n\t}\n\n\th4 {\n\t\tfont-size: 14px;\n\t\tmargin-bottom: 14px;\n\t\ttext-transform: uppercase;\n\n\t\t&.underline {\n\t\t\tpadding-bottom: 4px;\n\t\t\tborder-bottom: 1px solid #000000;\n\t\t}\n\n\t\t&:not(:first-child){\n\t\t\tpadding-top: 40px;\n\t\t}\n\t}\n\n\t.no-top-padding {\t\tpadding-top: 0; }\n\t.no-bottom-padding {\tpadding-bottom: 0; }\n\t.no-right-padding {\t\tpadding-right: 0; }\n\t.no-left-padding {\t\tpadding-left: 0; }\n\n\t.top-padding {\t\t\tpadding-top: 20px; }\n\t.bottom-padding {\t\tpadding-bottom: 20px; }\n\t.right-padding {\t\tpadding-right: 40px; }\n\t.left-padding {\t\t\tpadding-left: 40px; }\n}\n\n.col {\n\tmin-height: 1px;\n\tfloat: left;\n\n\t&.w5 {\t\twidth: 5%; }\n\t&.w10 {\t\twidth: 10%; }\n\t&.w15 {\t\twidth: 15%; }\n\t&.w20 {\t\twidth: 20%; }\n\t&.w25 {\t\twidth: 25%; }\n\t&.w30 {\t\twidth: 30%; }\n\t&.w33 {\t\twidth: 33.3334%; }\n\t&.w35 {\t\twidth: 35%; }\n\t&.w40 {\t\twidth: 40%; }\n\t&.w45 {\t\twidth: 45%; }\n\t&.w50 {\t\twidth: 50%; }\n\t&.w55 {\t\twidth: 55%; }\n\t&.w60 {\t\twidth: 60%; }\n\t&.w65 {\t\twidth: 65%; }\n\t&.w66 {\t\twidth: 66.6667%; }\n\t&.w70 {\t\twidth: 70%; }\n\t&.w75 {\t\twidth: 75%; }\n\t&.w80 {\t\twidth: 80%; }\n\t&.w85 {\t\twidth: 85%; }\n\t&.w90 {\t\twidth: 90%; }\n\t&.w95 {\t\twidth: 95%; }\n\t&.w100 {\twidth: 100%; }\n}\n\n.cf{\n\t@include clearfix;\n}\n\n.one-liner{\n\t@include one_line_text;\n}\n\n.grey-text {\n\tcolor: $mid_grey;\n}\n\nfooter {\n\tdisplay: block;\n\tcolor: $light_grey;\n\tpadding-top: 50px;\n\tpadding-bottom: 50px;\n\ttext-align: center;\n}\n\n.details {\n\tlist-style-type: none;\n\tcolor: $mid_grey;\n\ttext-transform: uppercase;\n\n\tli {\n\t\tpadding-bottom: 4px;\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_core.scss\n **/","\n* {\n\tborder: 0;\n\tmargin: 0;\n\tpadding: 0;\n\toutline: 0;\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_reset.scss\n **/","\nbutton,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"date\"] {\n\tpadding: 10px 14px;\n\tbackground: #FFFFFF;\n\tcolor: #000000;\n\tfont-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n\tfont-size: 14px;\n}\n\n.button,\nbutton,\ninput[type=\"button\"],\ninput[type=\"submit\"] {\n\t@include animate();\n\tpadding: 10px 20px;\n\tborder: 0;\n\tcolor: #000000;\n\tbackground: $light_grey;\n\n\t&:hover{\n\t\tcursor: pointer;\n\t\tbackground: darken( $light_grey, 6%);\n\t}\n\n\t&.primary {\n\t\tbackground: $turquoise;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: darken( $turquoise, 6% );\n\t\t}\n\t}\n\n\t&.secondary {\n\t\tbackground: #000000;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: lighten( #000000, 20% );\n\t\t}\n\t}\n\n\t&.confirming,\n\t&.destructive {\n\t\tbackground: $red;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: darken( $red, 6% );\n\t\t}\n\t}\n\n\t&.timing-out {\n\t\tposition: relative;\n\t\t&::before {\n\t\t\t@include animate_timeout(2s);\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tbottom: 0;\n\t\t\twidth: 0;\n\t\t\tbackground: rgba(255,255,255,0.15);\n\t\t}\n\t}\n\n\t&[disabled],\n\t&[disabled=\"disabled\"] {\n\t\tbackground: $light_grey !important;\n\t\tcolor: $mid_grey !important;\n\t\tcursor: not-allowed !important;\n\t}\n}\n\nlabel {\n\tdisplay: block;\n\tpadding-bottom: 8px;\n\t@include clearfix;\n\n\t.label {\n\t\tdisplay: block;\n\t\tpadding-top: 10px;\n\t\twidth: 15%;\n\t\tfloat: left;\n\t}\n\n\t.input {\n\t\twidth: 85%;\n\t\tfloat: left;\n\t\t\n\t\tinput {\n\t\t\twidth: 60%;\n\t\t}\n\t}\n}\n\n.slider {\n\tmargin: 10px 0;\n\theight: 5px;\n\tposition: relative;\n\tbackground: rgba(255,255,255,0.3);\n\tcursor: pointer;\n\n\t.progress {\n\t\tleft: 0;\n\t\ttop: 0;\n\t\theight: 100%;\n\t\tbackground: $turquoise;\n\t\tpointer-events: none;\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_forms.scss\n **/","\r\n.lazy-loader {\r\n\theight: 50px;\r\n\tcolor: $light_grey;\r\n\r\n\t&.loading {\r\n\t\t\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_lazy-load-listener.scss\n **/","\r\n.context-menu {\r\n\tposition: fixed;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 9999;\r\n\tbackground: $dark_grey;\r\n\tcolor: #FFFFFF;\r\n\r\n\ta {\r\n\t\tdisplay: block;\r\n\t\tpadding: 8px 12px;\r\n\t\twidth: 120px;\r\n\r\n\t\t&:not(:first-child){\r\n\t\t\tborder-top: 1px solid lighten($dark_grey, 8%);\r\n\t\t}\r\n\r\n\t\t&:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t\tbackground: lighten($dark_grey, 5%);\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_context-menu.scss\n **/","\r\n\r\n.thumbnail {\r\n\twidth: 100%;\r\n\tmax-width: 300px;\r\n\toverflow: hidden;\r\n\t\r\n\t.image {\r\n\t\twidth: 100%;\r\n\t\tpadding-bottom: 100%;\r\n\t\tposition: relative;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-color: $light_grey;\r\n\t\tbackground-position: 50% 50%;\r\n\t\tbackground-size: cover;\r\n\t}\r\n\r\n\t&.small {\r\n\t\tmax-width: 50px;\r\n\t}\r\n\r\n\t&.circle {\r\n\t\tborder-radius: 50%;\r\n\t}\r\n}\r\n\r\n.parallax {\r\n\theight: 50vh;\r\n\twidth: 100%;\r\n\toverflow: hidden;\r\n\tbackground: $dark_grey;\r\n\r\n\tcanvas {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\topacity: 0;\r\n\t\t@include animate( 0.4s );\r\n\r\n\t\t&.loaded {\r\n\t\t\topacity: 0.5;\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_images.scss\n **/","\n.icon {\n\t&.white{\n\t\t-webkit-filter: invert(1);\n\t\t-moz-filter: invert(1);\n\t\tfilter: invert(1);\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_icon.scss\n **/","\r\naside{\r\n\t\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tbottom: 0;\r\n\tbackground: #111111;\r\n\twidth: 200px;\r\n\toverflow: hidden;\r\n\tbox-shadow: inset -20px 0px 30px -20px rgba(0, 0, 0, 0.5);\r\n\t\r\n\t.thumbnail {\r\n\t\tposition: absolute;\r\n\t\ttop: -30px;\r\n\t\tright: -30px;\r\n\t\tbottom: -30px;\r\n\t\tleft: -30px;\r\n\t\theight: auto;\r\n\t\twidth: auto;\r\n\t\tmax-width: none;\r\n\t\tz-index: -1;\r\n\t\topacity: 0.2;\r\n\r\n\t\t.image {\r\n\t\t\t@include blur();\r\n\t\t\tpadding-bottom: 0;\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t}\r\n\r\n\tnav {\r\n\r\n\t\ta {\r\n\t\t\tfont-size: 16px;\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tdisplay: block;\r\n\t\t\tpadding: 6px 18px 6px 14px;\r\n\t\t\tborder-left: 4px solid transparent;\r\n\r\n\t\t\t.icon {\r\n\t\t\t\theight: 14px;\r\n\t\t\t\tpadding-right: 8px;\r\n\t\t\t\tvertical-align: top;\r\n\t\t\t\tmargin-top: 4px;\r\n\t\t\t}\r\n\r\n\t\t\t&.active {\r\n\t\t\t\tborder-color: $turquoise;\r\n\t\t\t\tbackground: rgba( 0, 0, 0, 0.5 );\r\n\t\t\t}\r\n\r\n\t\t\t&[disabled] {\r\n\t\t\t\topacity: 0.3;\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\r\n\t\t\t&:hover:not([disabled]) {\r\n\t\t\t\tbackground: rgba( 255, 255, 255, 0.1 );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsection {\r\n\t\t\tpadding: 10px 0;\r\n\r\n\t\t\ttitle {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding: 0 18px 2px;\r\n\t\t\t\tfont-size: 11px;\r\n\t\t\t\ttext-transform: uppercase;\r\n\t\t\t\topacity: 0.5;\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.player {\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\tright: 0;\r\n\t\tpadding: 14px;\r\n\r\n\t\t.track-in-focus {\r\n\t\t\tfont-size: 16px;\r\n\t\t\ttext-transform: uppercase;\r\n\t\t\ttext-align: center;\r\n\t\t\tcolor: #FFFFFF;\r\n\r\n\t\t\t.title {\r\n\t\t\t\t@include one_line_text;\r\n\t\t\t}\r\n\r\n\t\t\t.artist-sentence {\r\n\t\t\t\topacity: 0.5;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\t@include one_line_text;\r\n\r\n\t\t\t\t.artist {\r\n\t\t\t\t\tcolor: inherit;\r\n\t\t\t\t\ttext-decoration: none;\r\n\t\t\t\t\tborder-bottom: 1px dotted transparent;\r\n\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\tborder-color: #FFFFFF !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.controls {\r\n\t\t\ttext-align: center;\r\n\r\n\t\t\ta {\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tfont-size: 14px;\r\n\t\t\t\tpadding: 8px;\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\topacity: 0.8;\r\n\r\n\t\t\t\t&.active {\r\n\t\t\t\t\tcolor: $turquoise;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\topacity: 1.0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_sidebar.scss\n **/","\n.list-item {\n\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\tdisplay: block;\n\tposition: relative;\n\tpadding: 9px 10px 9px 40px;\n\tborder-top: 1px solid $faint_grey;\n\tborder-bottom: 1px solid $faint_grey;\n\tmargin-bottom: -1px;\n\t@include clearfix;\n\n\t&.selected {\n\t\tbackground: #FFF39C !important;\n\t}\n\n\t&:not(.header):hover {\n\t\tbackground: $faint_grey;\n\t\tcursor: pointer;\n\t\tborder-color: $faint_grey;\n\t}\n\n\t&.header {\n\t\tfont-size: 10px;\n\t\tcolor: #CCCCCC;\n\t\ttext-transform: uppercase;\n\t\tborder-top: 0;\n\t\tpadding-bottom: 2px;\n\t}\n\n\n\t&.track {\n\n\t\t.col {\n\t\t\t&.name,\n\t\t\t&.artists,\n\t\t\t&.album {\n\t\t\t\twidth: 30%;\n\t\t\t}\n\t\t}\n\n\t\t.select-state {\n\t\t\tposition: absolute;\n\t\t\ttop: 12px;\n\t\t\tleft: 15px;\n\t\t\tfont-size: 10px;\n\t\t}\n\n\t\t&.playing {\n\t\t\tfont-weight: 600;\n\t\t}\n\t}\n\n\n\t&.playlist {\n\n\t\t.col {\n\t\t\t&.name {\n\t\t\t\twidth: 30%;\n\t\t\t}\n\t\t\t&.owner {\n\t\t\t\twidth: 20%;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.artist-list {\n\t.artist {\n\t\tdisplay: block;\n\t\tborder: 0;\n\t\tmargin-bottom: 15px;\n\t\t@include clearfix;\n\n\t\t.thumbnail {\n\t\t\twidth: 50px;\n\t\t\tmargin-right: 20px;\n\t\t\tfloat: left;\n\t\t\tborder: 3px solid transparent;\n\t\t}\n\n\t\t.name {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-top: 15px;\n\t\t}\n\n\t\t&:hover {\n\t\t\t.thumbnail {\n\t\t\t\tborder-color: $turquoise;\n\t\t\t\topacity: 0.8;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_lists.scss\n **/","\n.grid {\n\n\tpadding: 40px 20px;\n\n\t.grid-item {\n\t\twidth: 16%;\n\t\tmargin: 0 2% 3%;\n\t\tdisplay: inline-block;\n\t\tvertical-align: top;\n\t\tborder-bottom: 0;\n\n\t\t.thumbnail {\n\t\t\t@include animate();\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\t.name {\n\t\t\t@include one_line_text;\n\t\t\tpadding-top: 8px;\n\t\t}\n\n\t\t.secondary {\n\t\t\t@include one_line_text;\n\t\t\tpadding-top: 2px;\n\t\t\tcolor: $secondary_grey;\n\t\t}\n\n\t\t&:nth-child(5) {\n\t\t\t@include clearfix;\n\t\t}\n\n\t\t&:hover{\n\t\t\tcursor: pointer;\n\n\t\t\t.thumbnail {\n\t\t\t\topacity: 0.75;\n\t\t\t}\n\t\t}\n\n\t\t@include responsive( 850px ){\n\t\t\twidth: 21%;\n\t\t}\n\n\t\t@include responsive( 650px ){\n\t\t\twidth: 29.3334%;\n\t\t}\n\t}\n\n\t&.category-grid {\n\t\t.grid-item {\n\t\t\tposition: relative;\n\n\t\t\t.name {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 15%;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tcolor: #FFFFFF;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_grid.scss\n **/","\r\nmain {\r\n\theader {\r\n\t\tpadding: 14px 20px;\r\n\t\tbackground: #EEEEEE;\r\n\r\n\t\t.icon {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tpadding-right: 14px;\r\n\t\t\theight: 16px;\r\n\t\t}\r\n\r\n\t\th1 {\r\n\t\t\tfont-size: 22px;\r\n\t\t\tfont-weight: 100;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_header.scss\n **/","\n.artist-view {\n\t.intro {\n\t\tposition: relative;\n\t\tmargin: -100px 0 20px 0;\n\t\t@include clearfix;\n\n\t\t.thumbnail {\n\t\t\tmax-width: 200px;\n\t\t\tmargin: 0 20px 0 40px;\n\t\t\tfloat: left;\n\t\t}\n\n\t\th1 {\n\t\t\tcolor: #FFFFFF;\n\t\t\tpadding-top: 30px;\n\t\t\tpadding-bottom: 45px;\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_artist.scss\n **/","\n.album-view {\n\t.main {\n\t\tpadding-left: 35%;\n\n\t\t.title {\n\t\t\tpadding: 30px 40px;\n\n\t\t\th3 {\n\t\t\t\tcolor: $mid_grey;\n\t\t\t\ta:hover {\n\t\t\t\t\tcolor: darken($mid_grey, 20%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.intro {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\twidth: 35%;\n\t\tbackground: $faint_grey;\n\n\t\t.thumbnail {\n\t\t\tfloat: none;\n\t\t\tmargin: 0 auto;\n\t\t\tmax-width: none;\n\t\t}\n\n\t\t.details {\n\t\t\tpadding: 30px;\n\t\t}\n\n\t\t.artist-grid {\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.grid-item {\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: 50%;\n\t\t\t\tposition: relative;\n\n\t\t\t\t.thumbnail .image {\n\t\t\t\t\tbackground-color: $secondary_grey;\n\t\t\t\t}\n\n\t\t\t\t.name {\n\t\t\t\t\t@include animate();\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 35%;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: #FFFFFF;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\t.name {\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_album.scss\n **/","\n.playlist-view {\n\t.main {\n\t\tpadding-left: 35%;\n\n\t\t.title {\n\t\t\tpadding: 30px 40px;\n\n\t\t\th3 {\n\t\t\t\tcolor: $mid_grey;\n\t\t\t\ta:hover {\n\t\t\t\t\tcolor: darken($mid_grey, 20%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.intro {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\twidth: 35%;\n\t\tbackground: $faint_grey;\n\n\t\t.thumbnail {\n\t\t\tfloat: none;\n\t\t\tmargin: 0 auto;\n\t\t\tmax-width: none;\n\t\t}\n\n\t\t.details {\n\t\t\tpadding: 30px;\n\t\t}\n\n\t\t.artist-grid {\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.grid-item {\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: 50%;\n\t\t\t\tposition: relative;\n\n\t\t\t\t.thumbnail .image {\n\t\t\t\t\tbackground-color: $secondary_grey;\n\t\t\t\t}\n\n\t\t\t\t.name {\n\t\t\t\t\t@include animate();\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 35%;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: #FFFFFF;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\t.name {\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_playlist.scss\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack:///src/scss/app.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_index.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_path.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_core.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_larger.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_fixed-width.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_list.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_variables.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_bordered-pulled.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_animated.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_rotated-flipped.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_mixins.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_stacked.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_icons.scss","webpack:///webpack:///src/scss/src/scss/vendor/font-awesome/_screen-reader.scss","webpack:///webpack:///src/scss/src/scss/global/_variables.scss","webpack:///webpack:///src/scss/src/scss/global/_core.scss","webpack:///webpack:///src/scss/src/scss/global/_reset.scss","webpack:///webpack:///src/scss/src/scss/global/_forms.scss","webpack:///webpack:///src/scss/src/scss/components/_lazy-load-listener.scss","webpack:///webpack:///src/scss/src/scss/components/_context-menu.scss","webpack:///webpack:///src/scss/src/scss/components/_images.scss","webpack:///webpack:///src/scss/src/scss/components/_icon.scss","webpack:///webpack:///src/scss/src/scss/components/_search-form.scss","webpack:///webpack:///src/scss/src/scss/components/_sidebar.scss","webpack:///webpack:///src/scss/src/scss/components/_lists.scss","webpack:///webpack:///src/scss/src/scss/components/_grid.scss","webpack:///webpack:///src/scss/src/scss/components/_header.scss","webpack:///webpack:///src/scss/src/scss/views/_artist.scss","webpack:///webpack:///src/scss/src/scss/views/_album.scss","webpack:///webpack:///src/scss/src/scss/views/_playlist.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACAjB;;;GAGG;ACHH;gCACgC;AAEhC;EACE,2BAA2B;EAC3B,mCAAQ;EACR,2PAI4F;EAE5F,oBAAoB;EACpB,mBAAmB;CFApB;;AGVD;EACE,sBAAsB;EACtB,8CAAoF;EACpF,mBAAmB;EACnB,qBAAqB;EACrB,oCAAoC;EACpC,mCAAmC;CAEpC;;ACRD,8DAA8D;AAC9D;EACE,qBAAe;EACf,oBAAiB;EACjB,qBAAqB;CACtB;;AACD;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;AACrB;EAAE,eAAe;CAAI;;ACVrB;EACE,iBAAY;EACZ,mBAAmB;CACpB;;ACFD;EACE,gBAAgB;EAChB,uBCMyB;EDLzB,sBAAsB;CAEvB;;AALD;EAIS,mBAAmB;CAAI;;AAEhC;EACE,mBAAmB;EACnB,iBCAyB;EDCzB,iBCDyB;EDEzB,eAAS;EACT,mBAAmB;CAIpB;;AATD;EAOI,iBAAO;CACR;;AEdH;EACE,0BAA0B;EAC1B,0BDIwB;ECHxB,oBAAoB;CACrB;;AAED;EAAE,YAAY;CAAI;;AAClB;EAAE,aAAa;CAAI;;AAEnB;EACI,mBAAmB;CAAI;;AAD3B;EAEI,kBAAkB;CAAI;;AAG1B,4BAA4B;AAC5B;EAAc,aAAa;CAAI;;AAC/B;EAAa,YAAY;CAAI;;AAE7B;EACgB,mBAAmB;CAAI;;AADvC;EAEiB,kBAAkB;CAAI;;ACpBvC;EACE,8CAA8C;EACtC,sCAAsC;CAC/C;;AAED;EACE,gDAA4C;EACpC,wCAAoC;CAC7C;;AAED;EACE;IACE,gCAAyB;IACjB,wBAAiB;GT+G1B;ES7GD;IACE,kCAAyB;IACjB,0BAAiB;GT+G1B;CACF;;AS5GD;EACE;IACE,gCAAyB;IACjB,wBAAiB;GT+G1B;ES7GD;IACE,kCAAyB;IACjB,0BAAiB;GT+G1B;CACF;;AU5ID;ECWE,uEAAiF;EACjF,iCAAyB;EACrB,6BAAqB;EACjB,yBAAiB;CDda;;AACxC;ECUE,uEAAiF;EACjF,kCAAyB;EACrB,8BAAqB;EACjB,0BAAiB;CDba;;AACxC;ECSE,uEAAiF;EACjF,kCAAyB;EACrB,8BAAqB;EACjB,0BAAiB;CDZa;;AAExC;ECcE,iFAA2F;EAC3F,gCAAwB;EACpB,4BAAoB;EAChB,wBAAgB;CDjBW;;AACrC;ECaE,iFAA2F;EAC3F,gCAAwB;EACpB,4BAAoB;EAChB,wBAAgB;CDhBW;;AAKrC;;;;;EACE,aAAa;CACd;;AEZD;EACE,mBAAmB;EACnB,sBAAsB;EACtB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,uBAAuB;CACxB;;AACD;EACE,mBAAmB;EACnB,QAAQ;EACR,YAAY;EACZ,mBAAmB;CACpB;;AACD;EAAE,qBAAqB;CAAI;;AAC3B;EAAE,eAAe;CAAI;;AACrB;EAAE,YLTwB;CKSF;;ACnBxB;oEACoE;AAEpE;EAAE,iBNyTa;CMzTa;;AAC5B;EAAE,iBNmca;CMnca;;AAC5B;EAAE,iBN8hBc;CM9hBa;;AAC7B;EAAE,iBN2NkB;CM3Na;;AACjC;EAAE,iBNsVa;CMtVa;;AAC5B;EAAE,iBNolBY;CMplBa;;AAC3B;EAAE,iBNwlBc;CMxlBa;;AAC7B;EAAE,iBN4qBY;CM5qBa;;AAC3B;EAAE,iBNqQY;CMrQa;;AAC3B;EAAE,iBNunBgB;CMvnBa;;AAC/B;EAAE,iBNqnBU;CMrnBa;;AACzB;EAAE,iBNsnBe;CMtnBa;;AAC9B;EAAE,iBNiIa;CMjIa;;AAC5B;;;EAAE,iBN4nBa;CM5nBa;;AAC5B;EAAE,iBNohBmB;CMphBa;;AAClC;EAAE,iBNkhBoB;CMlhBa;;AACnC;EAAE,iBNqeiB;CMrea;;AAChC;EAAE,iBNsiBc;CMtiBa;;AAC7B;;EAAE,iBN2JW;CM3Ja;;AAC1B;EAAE,iBNqoBe;CMroBa;;AAC9B;EAAE,iBN0UY;CM1Ua;;AAC3B;EAAE,iBN4Oc;CM5Oa;;AAC7B;EAAE,iBN2Ie;CM3Ia;;AAC9B;EAAE,iBN2fY;CM3fa;;AAC3B;EAAE,iBN2LgB;CM3La;;AAC/B;EAAE,iBNW2B;CMXa;;AAC1C;EAAE,iBNayB;CMba;;AACxC;EAAE,iBNmVa;CMnVa;;AAC5B;EAAE,iBNmdqB;CMnda;;AACpC;;EAAE,iBN+ec;CM/ea;;AAC7B;EAAE,iBNyee;CMzea;;AAC9B;EAAE,iBNsXgB;CMtXa;;AAC/B;EAAE,iBNyXY;CMzXa;;AAC3B;EAAE,iBNkPY;CMlPa;;AAC3B;EAAE,iBNuTkB;CMvTa;;AACjC;EAAE,iBNmqBkB;CMnqBa;;AACjC;EAAE,iBNiqBmB;CMjqBa;;AAClC;EAAE,iBNkqBiB;CMlqBa;;AAChC;EAAE,iBNodc;CMpda;;AAC7B;EAAE,iBNuBe;CMvBa;;AAC9B;EAAE,iBN8kBW;CM9kBa;;AAC1B;EAAE,iBN8kBY;CM9kBa;;AAC3B;EAAE,iBNqDY;CMrDa;;AAC3B;EAAE,iBNqDgB;CMrDa;;AAC/B;EAAE,iBN0ca;CM1ca;;AAC5B;EAAE,iBNuEc;CMvEa;;AAC7B;EAAE,iBNgPY;CMhPa;;AAC3B;EAAE,iBN6CY;CM7Ca;;AAC3B;EAAE,iBNyUc;CMzUa;;AAC7B;EAAE,iBN4kBmB;CM5kBa;;AAClC;EAAE,iBN4kBkB;CM5kBa;;AACjC;EAAE,iBNpCkB;CMoCa;;AACjC;EAAE,iBNvCoB;CMuCa;;AACnC;EAAE,iBNrCmB;CMqCa;;AAClC;EAAE,iBNxCqB;CMwCa;;AACpC;EAAE,iBN6VY;CM7Va;;AAC3B;;EAAE,iBNwZe;CMxZa;;AAC9B;EAAE,iBNsTc;CMtTa;;AAC7B;EAAE,iBNqoBoB;CMroBa;;AACnC;;;EAAE,iBNyaiB;CMzaa;;AAChC;EAAE,iBNiac;CMjaa;;AAC7B;EAAE,iBNyWkB;CMzWa;;AACjC;EAAE,iBNnDc;CMmDa;;AAC7B;EAAE,iBN6kBY;CM7kBa;;AAC3B;;EAAE,iBN+ZuB;CM/Za;;AACtC;EAAE,iBN0esB;CM1ea;;AACrC;EAAE,iBN+EsB;CM/Ea;;AACrC;EAAE,iBNrBc;CMqBa;;AAC7B;EAAE,iBN6hBqB;CM7hBa;;AACpC;EAAE,iBN+KqB;CM/Ka;;AACpC;EAAE,iBNdgB;CMca;;AAC/B;EAAE,iBNsaY;CMtaa;;AAC3B;EAAE,iBNgZa;CMhZa;;AAC5B;EAAE,iBN6hBY;CM7hBa;;AAC3B;EAAE,iBNyNe;CMzNa;;AAC9B;EAAE,iBN0KoB;CM1Ka;;AACnC;EAAE,iBNshBoB;CMthBa;;AACnC;EAAE,iBN4Ia;CM5Ia;;AAC5B;EAAE,iBNyEoB;CMzEa;;AACnC;EAAE,iBNyEqB;CMzEa;;AACpC;EAAE,iBNkamB;CMlaa;;AAClC;EAAE,iBNuWoB;CMvWa;;AACnC;EAAE,iBNwjBoB;CMxjBa;;AACnC;EAAE,iBN2DoB;CM3Da;;AACnC;EAAE,iBNwauB;CMxaa;;AACtC;EAAE,iBN6RmB;CM7Ra;;AAClC;EAAE,iBN0GkB;CM1Ga;;AACjC;EAAE,iBNojBsB;CMpjBa;;AACrC;EAAE,iBNuDsB;CMvDa;;AACrC;EAAE,iBN/BW;CM+Ba;;AAC1B;EAAE,iBN/CkB;CM+Ca;;AACjC;EAAE,iBN/CmB;CM+Ca;;AAClC;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBNnDkB;CMmDa;;AACjC;;EAAE,iBNyca;CMzca;;AAC5B;EAAE,iBNyIc;CMzIa;;AAC7B;EAAE,iBNuFgB;CMvFa;;AAC/B;EAAE,iBNgZY;CMhZa;;AAC3B;EAAE,iBNqVa;CMrVa;;AAC5B;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBNkI0B;CMlIa;;AACzC;EAAE,iBN4MY;CM5Ma;;AAC3B;EAAE,iBN8RY;CM9Ra;;AAC3B;EAAE,iBNwKY;CMxKa;;AAC3B;EAAE,iBNoIW;CMpIa;;AAC1B;EAAE,iBNoIiB;CMpIa;;AAChC;;EAAE,iBN6H4B;CM7Ha;;AAC3C;EAAE,iBNiYa;CMjYa;;AAC5B;EAAE,iBNEgB;CMFa;;AAC/B;EAAE,iBNoZc;CMpZa;;AAC7B;EAAE,iBNkEe;CMlEa;;AAC9B;EAAE,iBNiTc;CMjTa;;AAC7B;EAAE,iBNyCkB;CMzCa;;AACjC;EAAE,iBNqCoB;CMrCa;;AACnC;EAAE,iBN8Ze;CM9Za;;AAC9B;EAAE,iBNgcqB;CMhca;;AACpC;EAAE,iBNsKc;CMtKa;;AAC7B;EAAE,iBNuKmB;CMvKa;;AAClC;EAAE,iBNrEgB;CMqEa;;AAC/B;EAAE,iBNvEgB;CMuEa;;AAC/B;;EAAE,iBN5DiB;CM4Da;;AAChC;EAAE,iBN6iBsB;CM7iBa;;AACrC;EAAE,iBNyHuB;CMzHa;;AACtC;EAAE,iBNNoB;CMMa;;AACnC;EAAE,iBNiQW;CMjQa;;AAC1B;;EAAE,iBNiDY;CMjDa;;AAC3B;EAAE,iBNsDgB;CMtDa;;AAC/B;EAAE,iBNugBmB;CMvgBa;;AAClC;EAAE,iBNqgBqB;CMrgBa;;AACpC;EAAE,iBNydiB;CMzda;;AAChC;EAAE,iBNyNe;CMzNa;;AAC9B;EAAE,iBNmbgB;CMnba;;AAC/B;EAAE,iBN8QuB;CM9Qa;;AACtC;EAAE,iBN8fkB;CM9fa;;AACjC;EAAE,iBNoGqB;CMpGa;;AACpC;EAAE,iBN6ae;CM7aa;;AAC9B;EAAE,iBNohBc;CMphBa;;AAC7B;EAAE,iBN6KqB;CM7Ka;;AACpC;EAAE,iBNsiBc;CMtiBa;;AAC7B;EAAE,iBN4Pe;CM5Pa;;AAC9B;EAAE,iBNqVa;CMrVa;;AAC5B;EAAE,iBNycgB;CMzca;;AAC/B;EAAE,iBN7CkB;CM6Ca;;AACjC;EAAE,iBNmVoB;CMnVa;;AACnC;EAAE,iBNqhBe;CMrhBa;;AAC9B;;EAAE,iBN+FgB;CM/Fa;;AAC/B;EAAE,iBNkKc;CMlKa;;AAC7B;EAAE,iBN0hBc;CM1hBa;;AAC7B;EAAE,iBNyCmB;CMzCa;;AAClC;;EAAE,iBNkYW;CMlYa;;AAC1B;EAAE,iBNiMa;CMjMa;;AAC5B;EAAE,iBN/CgB;CM+Ca;;AAC/B;EAAE,iBN1EY;CM0Ea;;AAC3B;EAAE,iBNfmB;CMea;;AAClC;EAAE,iBNkLoB;CMlLa;;AACnC;EAAE,iBNgLmB;CMhLa;;AAClC;EAAE,iBNiLiB;CMjLa;;AAChC;EAAE,iBN6KmB;CM7Ka;;AAClC;EAAE,iBN3HyB;CM2Ha;;AACxC;EAAE,iBNvH0B;CMuHa;;AACzC;EAAE,iBNvHuB;CMuHa;;AACtC;EAAE,iBN/HyB;CM+Ha;;AACxC;EAAE,iBN0Ja;CM1Ja;;AAC5B;EAAE,iBNmjBc;CMnjBa;;AAC7B;EAAE,iBNoda;CMpda;;AAC5B;EAAE,iBNyGc;CMzGa;;AAC7B;EAAE,iBNnEiB;CMmEa;;AAChC;EAAE,iBNxHkB;CMwHa;;AACjC;;EAAE,iBNghBa;CMhhBa;;AAC5B;;EAAE,iBNuOY;CMvOa;;AAC3B;EAAE,iBNNa;CMMa;;AAC5B;EAAE,iBN4Ga;CM5Ga;;AAC5B;;EAAE,iBNkXgB;CMlXa;;AAC/B;;EAAE,iBN+Fe;CM/Fa;;AAC9B;EAAE,iBNuSiB;CMvSa;;AAChC;;EAAE,iBN0GgB;CM1Ga;;AAC/B;EAAE,iBNqac;CMraa;;AAC7B;;;EAAE,iBNlHY;CMkHa;;AAC3B;EAAE,iBNqOe;CMrOa;;AAC9B;EAAE,iBNmOe;CMnOa;;AAC9B;EAAE,iBNsbqB;CMtba;;AACpC;EAAE,iBNmfiB;CMnfa;;AAChC;EAAE,iBN6ba;CM7ba;;AAC5B;EAAE,iBNwOa;CMxOa;;AAC5B;EAAE,iBNqea;CMrea;;AAC5B;EAAE,iBNgTiB;CMhTa;;AAChC;EAAE,iBNiTwB;CMjTa;;AACvC;EAAE,iBNsI0B;CMtIa;;AACzC;EAAE,iBNkImB;CMlIa;;AAClC;EAAE,iBNkQa;CMlQa;;AAC5B;EAAE,iBNvEkB;CMuEa;;AACjC;EAAE,iBNjEgB;CMiEa;;AAC/B;EAAE,iBNxEkB;CMwEa;;AACjC;EAAE,iBNxEmB;CMwEa;;AAClC;EAAE,iBNnBe;CMmBa;;AAC9B;;EAAE,iBNkYY;CMlYa;;AAC3B;;EAAE,iBNuYiB;CMvYa;;AAChC;;EAAE,iBNqYgB;CMrYa;;AAC/B;EAAE,iBNuBgB;CMvBa;;AAC/B;EAAE,iBN0MgB;CM1Ma;;AAC/B;;EAAE,iBNieY;CMjea;;AAC3B;;EAAE,iBN+Fa;CM/Fa;;AAC5B;;EAAE,iBN2akB;CM3aa;;AACjC;EAAE,iBN1BiB;CM0Ba;;AAChC;EAAE,iBNvBkB;CMuBa;;AACjC;;EAAE,iBNhHY;CMgHa;;AAC3B;EAAE,iBN4We;CM5Wa;;AAC9B;EAAE,iBNwdgB;CMxda;;AAC/B;;EAAE,iBNhDiB;CMgDa;;AAChC;EAAE,iBN6LmB;CM7La;;AAClC;EAAE,iBNkBgB;CMlBa;;AAC/B;EAAE,iBN9CsB;CM8Ca;;AACrC;EAAE,iBN9CoB;CM8Ca;;AACnC;EAAE,iBN+de;CM/da;;AAC9B;EAAE,iBN6YmB;CM7Ya;;AAClC;EAAE,iBNwZgB;CMxZa;;AAC/B;EAAE,iBNzIc;CMyIa;;AAC7B;EAAE,iBN7Cc;CM6Ca;;AAC7B;EAAE,iBNrBe;CMqBa;;AAC9B;EAAE,iBN6CmB;CM7Ca;;AAClC;EAAE,iBNrHkB;CMqHa;;AACjC;EAAE,iBNkIkB;CMlIa;;AACjC;EAAE,iBN5MiB;CM4Ma;;AAChC;EAAE,iBNmNc;CMnNa;;AAC7B;EAAE,iBNyBmB;CMzBa;;AAClC;EAAE,iBNtJY;CMsJa;;AAC3B;EAAE,iBNoGgB;CMpGa;;AAC/B;EAAE,iBNgRmB;CMhRa;;AAClC;EAAE,iBN5MyB;CM4Ma;;AACxC;EAAE,iBN5M0B;CM4Ma;;AACzC;EAAE,iBN5MuB;CM4Ma;;AACtC;EAAE,iBNhNyB;CMgNa;;AACxC;EAAE,iBN5MkB;CM4Ma;;AACjC;EAAE,iBN5MmB;CM4Ma;;AAClC;EAAE,iBN5MgB;CM4Ma;;AAC/B;EAAE,iBNhNkB;CMgNa;;AACjC;EAAE,iBN/Be;CM+Ba;;AAC9B;EAAE,iBNoJc;CMpJa;;AAC7B;EAAE,iBNsYc;CMtYa;;AAC7B;;EAAE,iBN6Mc;CM7Ma;;AAC7B;EAAE,iBNnFgB;CMmFa;;AAC/B;EAAE,iBN6QkB;CM7Qa;;AACjC;EAAE,iBN6QmB;CM7Qa;;AAClC;EAAE,iBN+Ve;CM/Va;;AAC9B;EAAE,iBNxFc;CMwFa;;AAC7B;;EAAE,iBNwRa;CMxRa;;AAC5B;EAAE,iBN+DkB;CM/Da;;AACjC;EAAE,iBNoCgB;CMpCa;;AAC/B;EAAE,iBNqCqB;CMrCa;;AACpC;EAAE,iBNuUe;CMvUa;;AAC9B;EAAE,iBN2Ce;CM3Ca;;AAC9B;EAAE,iBNwLa;CMxLa;;AAC5B;EAAE,iBN2Ce;CM3Ca;;AAC9B;EAAE,iBNiIkB;CMjIa;;AACjC;EAAE,iBNuBc;CMvBa;;AAC7B;EAAE,iBNqBsB;CMrBa;;AACrC;EAAE,iBN4XgB;CM5Xa;;AAC/B;EAAE,iBNzFY;CMyFa;;AAC3B;;EAAE,iBN4QiB;CM5Qa;;AAChC;;;EAAE,iBN0VmB;CM1Va;;AAClC;EAAE,iBNoJsB;CMpJa;;AACrC;EAAE,iBNtEY;CMsEa;;AAC3B;EAAE,iBN7FiB;CM6Fa;;AAChC;;EAAE,iBN3HoB;CM2Ha;;AACnC;EAAE,iBNmPgB;CMnPa;;AAC/B;EAAE,iBNwGY;CMxGa;;AAC3B;EAAE,iBNrCmB;CMqCa;;AAClC;EAAE,iBNsWmB;CMtWa;;AAClC;EAAE,iBNiWiB;CMjWa;;AAChC;EAAE,iBN5Cc;CM4Ca;;AAC7B;EAAE,iBN0OoB;CM1Oa;;AACnC;EAAE,iBNsKkB;CMtKa;;AACjC;EAAE,iBNsKwB;CMtKa;;AACvC;EAAE,iBN6Rc;CM7Ra;;AAC7B;EAAE,iBNjKkB;CMiKa;;AACjC;EAAE,iBNHyB;CMGa;;AACxC;EAAE,iBN+Pc;CM/Pa;;AAC7B;EAAE,iBN0Jc;CM1Ja;;AAC7B;EAAE,iBNnI2B;CMmIa;;AAC1C;EAAE,iBNnI4B;CMmIa;;AAC3C;EAAE,iBNnIyB;CMmIa;;AACxC;EAAE,iBNvI2B;CMuIa;;AAC1C;EAAE,iBNgFa;CMhFa;;AAC5B;EAAE,iBN1FY;CM0Fa;;AAC3B;EAAE,iBNxQc;CMwQa;;AAC7B;EAAE,iBNiZkB;CMjZa;;AACjC;EAAE,iBNrLgB;CMqLa;;AAC/B;EAAE,iBNrEkB;CMqEa;;AACjC;EAAE,iBNrEkB;CMqEa;;AACjC;EAAE,iBNuPkB;CMvPa;;AACjC;EAAE,iBN4MmB;CM5Ma;;AAClC;EAAE,iBNqWc;CMrWa;;AAC7B;EAAE,iBNqJoB;CMrJa;;AACnC;EAAE,iBNqJsB;CMrJa;;AACrC;EAAE,iBNmGgB;CMnGa;;AAC/B;EAAE,iBNiGkB;CMjGa;;AACjC;EAAE,iBNxJoB;CMwJa;;AACnC;EAAE,iBNqLqB;CMrLa;;AACpC;EAAE,iBN/D4B;CM+Da;;AAC3C;EAAE,iBN+PoB;CM/Pa;;AACnC;EAAE,iBNtHe;CMsHa;;AAC9B;;EAAE,iBNnL2B;CMmLa;;AAC1C;;EAAE,iBNjLyB;CMiLa;;AACxC;;EAAE,iBNnL4B;CMmLa;;AAC3C;;EAAE,iBN9EW;CM8Ea;;AAC1B;EAAE,iBNRW;CMQa;;AAC1B;;EAAE,iBNgYW;CMhYa;;AAC1B;;EAAE,iBNgEW;CMhEa;;AAC1B;;;;EAAE,iBNuEW;CMvEa;;AAC1B;;;EAAE,iBNoOW;CMpOa;;AAC1B;;EAAE,iBNyEW;CMzEa;;AAC1B;;EAAE,iBNnNW;CMmNa;;AAC1B;EAAE,iBN9DY;CM8Da;;AAC3B;EAAE,iBNlDiB;CMkDa;;AAChC;EAAE,iBN4QsB;CM5Qa;;AACrC;EAAE,iBN4QuB;CM5Qa;;AACtC;EAAE,iBN4QuB;CM5Qa;;AACtC;EAAE,iBN4QwB;CM5Qa;;AACvC;EAAE,iBN+QwB;CM/Qa;;AACvC;EAAE,iBN+QyB;CM/Qa;;AACxC;EAAE,iBNuUiB;CMvUa;;AAChC;EAAE,iBNmUmB;CMnUa;;AAClC;EAAE,iBNiasB;CMjaa;;AACrC;EAAE,iBN8Ze;CM9Za;;AAC9B;EAAE,iBNmZY;CMnZa;;AAC3B;EAAE,iBNmZmB;CMnZa;;AAClC;EAAE,iBN4ZoB;CM5Za;;AACnC;EAAE,iBNlHe;CMkHa;;AAC9B;EAAE,iBNgRsB;CMhRa;;AACrC;EAAE,iBN2CiB;CM3Ca;;AAChC;EAAE,iBNlDc;CMkDa;;AAC7B;EAAE,iBN/TW;CM+Ta;;AAC1B;EAAE,iBNvPiB;CMuPa;;AAChC;EAAE,iBNvPwB;CMuPa;;AACvC;EAAE,iBNkVc;CMlVa;;AAC7B;EAAE,iBNkVqB;CMlVa;;AACpC;EAAE,iBN0EuB;CM1Ea;;AACtC;EAAE,iBN4EqB;CM5Ea;;AACpC;EAAE,iBNyEuB;CMzEa;;AACtC;EAAE,iBNyEwB;CMzEa;;AACvC;EAAE,iBNrTa;CMqTa;;AAC5B;EAAE,iBN4Xe;CM5Xa;;AAC9B;EAAE,iBNjUe;CMiUa;;AAC9B;EAAE,iBN4Da;CM5Da;;AAC5B;EAAE,iBNpIgB;CMoIa;;AAC/B;EAAE,iBNmOa;CMnOa;;AAC5B;EAAE,iBNtDkB;CMsDa;;AACjC;EAAE,iBN+Tc;CM/Ta;;AAC7B;EAAE,iBNpGc;CMoGa;;AAC7B;EAAE,iBNuEY;CMvEa;;AAC3B;;EAAE,iBN1BgB;CM0Ba;;AAC/B;EAAE,iBNiRa;CMjRa;;AAC5B;EAAE,iBNgGc;CMhGa;;AAC7B;EAAE,iBNjUe;CMiUa;;AAC9B;EAAE,iBN7PW;CM6Pa;;AAC1B;EAAE,iBNgWU;CMhWa;;AACzB;EAAE,iBNsWa;CMtWa;;AAC5B;EAAE,iBNqKc;CMrKa;;AAC7B;EAAE,iBN2GiB;CM3Ga;;AAChC;EAAE,iBNgPsB;CMhPa;;AACrC;EAAE,iBNlU4B;CMkUa;;AAC3C;EAAE,iBNpU2B;CMoUa;;AAC1C;;EAAE,iBN/O2B;CM+Oa;;AAC1C;EAAE,iBNzJoB;CMyJa;;AACnC;EAAE,iBNiWkB;CMjWa;;AACjC;EAAE,iBNoVoB;CMpVa;;AACnC;;EAAE,iBNgTW;CMhTa;;AAC1B;EAAE,iBNqIqB;CMrIa;;AACpC;EAAE,iBNiOqB;CMjOa;;AACpC;EAAE,iBN4Ma;CM5Ma;;AAC5B;EAAE,iBNnJuB;CMmJa;;AACtC;EAAE,iBNgWiB;CMhWa;;AAChC;EAAE,iBNyFc;CMzFa;;AAC7B;;;EAAE,iBNsTkB;CMtTa;;AACjC;;EAAE,iBNnDsB;CMmDa;;AACrC;EAAE,iBNoWa;CMpWa;;AAC5B;EAAE,iBN3Dc;CM2Da;;AAC7B;EAAE,iBN2Ic;CM3Ia;;AAC7B;EAAE,iBN4IqB;CM5Ia;;AACpC;EAAE,iBNiP0B;CMjPa;;AACzC;EAAE,iBN+OmB;CM/Oa;;AAClC;EAAE,iBNjLiB;CMiLa;;AAChC;EAAE,iBN9KY;CM8Ka;;AAC3B;EAAE,iBNyGqB;CMzGa;;AACpC;EAAE,iBNuGsB;CMvGa;;AACrC;EAAE,iBN3Kc;CM2Ka;;AAC7B;EAAE,iBNRc;CMQa;;AAC7B;EAAE,iBNHgB;CMGa;;AAC/B;EAAE,iBN9IW;CM8Ia;;AAC1B;EAAE,iBN/RgB;CM+Ra;;AAC/B;EAAE,iBN5Oa;CM4Oa;;AAC5B;EAAE,iBNoFW;CMpFa;;AAC1B;EAAE,iBN2Ma;CM3Ma;;AAC5B;EAAE,iBNvMY;CMuMa;;AAC3B;EAAE,iBNvMa;CMuMa;;AAC5B;EAAE,iBN/Te;CM+Ta;;AAC9B;EAAE,iBN/TsB;CM+Ta;;AACrC;EAAE,iBNkNa;CMlNa;;AAC5B;EAAE,iBNkNoB;CMlNa;;AACnC;EAAE,iBNoHe;CMpHa;;AAC9B;;EAAE,iBN1RW;CM0Ra;;AAC1B;;EAAE,iBNwOY;CMxOa;;AAC3B;EAAE,iBNuQY;CMvQa;;AAC3B;EAAE,iBNiMe;CMjMa;;AAC9B;EAAE,iBNtMkB;CMsMa;;AACjC;EAAE,iBN2LkB;CM3La;;AACjC;EAAE,iBN9MgB;CM8Ma;;AAC/B;EAAE,iBNrJkB;CMqJa;;AACjC;EAAE,iBN9ImB;CM8Ia;;AAClC;EAAE,iBN3JoB;CM2Ja;;AACnC;EAAE,iBNrJyB;CMqJa;;AACxC;;;EAAE,iBN5JoB;CM4Ja;;AACnC;;EAAE,iBNjKsB;CMiKa;;AACrC;;EAAE,iBNjKoB;CMiKa;;AACnC;;EAAE,iBNrJoB;CMqJa;;AACnC;EAAE,iBNlKmB;CMkKa;;AAClC;EAAE,iBNkSY;CMlSa;;AAC3B;EAAE,iBNvPe;CMuPa;;AAC9B;EAAE,iBNtCgB;CMsCa;;AAC/B;;;;;EAAE,iBNvBiB;CMuBa;;AAChC;EAAE,iBNtQsB;CMsQa;;AACrC;;;EAAE,iBN6Fa;CM7Fa;;AAC5B;;EAAE,iBN1Mc;CM0Ma;;AAC7B;EAAE,iBNpHkB;CMoHa;;AACjC;EAAE,iBNtHW;CMsHa;;AAC1B;;;EAAE,iBNlGmB;CMkGa;;AAClC;EAAE,iBNiNqB;CMjNa;;AACpC;EAAE,iBN8EU;CM9Ea;;AACzB;;EAAE,iBN+Rc;CM/Ra;;AAC7B;;EAAE,iBNsCmB;CMtCa;;AAClC;;EAAE,iBNsCqB;CMtCa;;AACpC;EAAE,iBNlFe;CMkFa;;AAC9B;EAAE,iBNjRmB;CMiRa;;AAClC;EAAE,iBNzFc;CMyFa;;AAC7B;EAAE,iBNoCiB;CMpCa;;AAChC;EAAE,iBN2Ie;CM3Ia;;AAC9B;EAAE,iBNoHiB;CMpHa;;AAChC;EAAE,iBNoHwB;CMpHa;;AACvC;EAAE,iBNxVY;CMwVa;;AAC3B;;EAAE,iBNjJgB;CMiJa;;AAC/B;EAAE,iBNuOW;CMvOa;;AAC1B;EAAE,iBNtWkB;CMsWa;;AACjC;EAAE,iBNsDY;CMtDa;;AAC3B;EAAE,iBNoIkB;CMpIa;;AACjC;EAAE,iBNwOc;CMxOa;;AAC7B;EAAE,iBNiSY;CMjSa;;AAC3B;EAAE,iBNSmB;CMTa;;AAClC;EAAE,iBNgRY;CMhRa;;AAC3B;EAAE,iBNnVkB;CMmVa;;AACjC;EAAE,iBN2Bc;CM3Ba;;AAC7B;EAAE,iBNhIqB;CMgIa;;AACpC;EAAE,iBN1Te;CM0Ta;;AAC9B;EAAE,iBN9TqB;CM8Ta;;AACpC;EAAE,iBNjUmB;CMiUa;;AAClC;EAAE,iBNpUe;CMoUa;;AAC9B;EAAE,iBNhUiB;CMgUa;;AAChC;EAAE,iBNhUiB;CMgUa;;AAChC;EAAE,iBNzXkB;CMyXa;;AACjC;EAAE,iBNzXoB;CMyXa;;AACnC;EAAE,iBN4Ma;CM5Ma;;AAC5B;EAAE,iBNjRiB;CMiRa;;AAChC;EAAE,iBNxZU;CMwZa;;AACzB;EAAE,iBNhOkB;CMgOa;;AACjC;EAAE,iBNGmB;CMHa;;AAClC;EAAE,iBN5XqB;CM4Xa;;AACpC;EAAE,iBNhbkB;CMgba;;AACjC;EAAE,iBNmBiB;CMnBa;;AAChC;EAAE,iBNpEkB;CMoEa;;AACjC;EAAE,iBNlFc;CMkFa;;AAC7B;EAAE,iBNlFqB;CMkFa;;AACpC;EAAE,iBNyLkB;CMzLa;;AACjC;EAAE,iBNyLiB;CMzLa;;AAChC;EAAE,iBNtYe;CMsYa;;AAC9B;EAAE,iBN/WW;CM+Wa;;AAC1B;EAAE,iBNlGe;CMkGa;;AAC9B;EAAE,iBNrciB;CMqca;;AAChC;EAAE,iBN3VU;CM2Va;;AACzB;;;EAAE,iBNjHW;CMiHa;;AAC1B;EAAE,iBN9CgB;CM8Ca;;AAC/B;EAAE,iBNpXkB;CMoXa;;AACjC;EAAE,iBNxSsB;CMwSa;;AACrC;EAAE,iBN1RgB;CM0Ra;;AAC/B;EAAE,iBNhMgB;CMgMa;;AAC/B;EAAE,iBN9Fe;CM8Fa;;AAC9B;EAAE,iBN+Dc;CM/Da;;AAC7B;EAAE,iBN2EoB;CM3Ea;;AACnC;EAAE,iBNmFmB;CMnFa;;AAClC;EAAE,iBNoFgB;CMpFa;;AAC/B;EAAE,iBNxWiB;CMwWa;;AAChC;EAAE,iBN1WuB;CM0Wa;;AACtC;EAAE,iBN3Re;CM2Ra;;AAC9B;EAAE,iBNoEY;CMpEa;;AAC3B;EAAE,iBN0MmB;CM1Ma;;AAClC;EAAE,iBN3CkB;CM2Ca;;AACjC;EAAE,iBN2HmB;CM3Ha;;AAClC;EAAE,iBNnJiB;CMmJa;;AAChC;EAAE,iBNyMa;CMzMa;;AAC5B;EAAE,iBNvEY;CMuEa;;AAC3B;EAAE,iBN9De;CM8Da;;AAC9B;;EAAE,iBNkKmB;CMlKa;;AAClC;EAAE,iBNkKuB;CMlKa;;AACtC;EAAE,iBNqMoB;CMrMa;;AACnC;EAAE,iBN3EmB;CM2Ea;;AAClC;EAAE,iBNoMkB;CMpMa;;AACjC;EAAE,iBN5EmB;CM4Ea;;AAClC;EAAE,iBN3EqB;CM2Ea;;AACpC;EAAE,iBN7EqB;CM6Ea;;AACpC;EAAE,iBNrDc;CMqDa;;AAC7B;EAAE,iBN/MkB;CM+Ma;;AACjC;EAAE,iBN3QyB;CM2Qa;;AACxC;EAAE,iBNpBmB;CMoBa;;AAClC;EAAE,iBN6MgB;CM7Ma;;AAC/B;EAAE,iBNsCc;CMtCa;;AAC7B;EAAE,iBNoLiB;CMpLa;;AAChC;EAAE,iBNqLkB;CMrLa;;AACjC;;EAAE,iBNzbW;CMyba;;AAC1B;EAAE,iBNwLe;CMxLa;;AAC9B;EAAE,iBN+Ia;CM/Ia;;AAC5B;EAAE,iBNwGc;CMxGa;;AAC7B;EAAE,iBNtFc;CMsFa;;AAC7B;;EAAE,iBNiNoB;CMjNa;;AACnC;EAAE,iBN1DqB;CM0Da;;AACpC;EAAE,iBN9DgB;CM8Da;;AAC/B;EAAE,iBNlSoB;CMkSa;;AACnC;;EAAE,iBNtcoB;CMsca;;AACnC;;EAAE,iBNpc8B;CMoca;;AAC7C;;EAAE,iBNvcoB;CMuca;;AACnC;;EAAE,iBNvcuB;CMuca;;AACtC;;EAAE,iBN3cqB;CM2ca;;AACpC;EAAE,iBN9EqB;CM8Ea;;AACpC;EAAE,iBNvKgB;CMuKa;;AAC/B;EAAE,iBN3EoB;CM2Ea;;AACnC;EAAE,iBN3EsB;CM2Ea;;AACrC;EAAE,iBN+EmB;CM/Ea;;AAClC;EAAE,iBN+EqB;CM/Ea;;AACpC;EAAE,iBNlZc;CMkZa;;AAC7B;EAAE,iBNrZsB;CMqZa;;AACrC;EAAE,iBNvXa;CMuXa;;AAC5B;EAAE,iBNjeqB;CMiea;;AACpC;EAAE,iBNpLmB;CMoLa;;AAClC;;EAAE,iBNpLuB;CMoLa;;AACtC;;EAAE,iBNvLsB;CMuLa;;AACrC;;EAAE,iBNzLqB;CMyLa;;AACpC;EAAE,iBN9LiB;CM8La;;AAChC;;EAAE,iBN/MmB;CM+Ma;;AAClC;;EAAE,iBNnNoB;CMmNa;;AACnC;EAAE,iBNhNuB;CMgNa;;AACtC;EAAE,iBN1NqB;CM0Na;;AACpC;EAAE,iBNjNoB;CMiNa;;AACnC;EAAE,iBNrNsB;CMqNa;;AACrC;EAAE,iBNvNoB;CMuNa;;AACnC;EAAE,iBN4GiB;CM5Ga;;AAChC;EAAE,iBNhCkB;CMgCa;;AACjC;EAAE,iBN7WwB;CM6Wa;;AACvC;EAAE,iBN3PU;CM2Pa;;AACzB;EAAE,iBN3PiB;CM2Pa;;AAChC;EAAE,iBN+GmB;CM/Ga;;AAClC;EAAE,iBNnGqB;CMmGa;;AACpC;EAAE,iBNnG4B;CMmGa;;AAC3C;EAAE,iBNjQkB;CMiQa;;AACjC;EAAE,iBNgKmB;CMhKa;;AAClC;EAAE,iBNrBc;CMqBa;;AAC7B;EAAE,iBNvZc;CMuZa;;AAC7B;EAAE,iBNlSe;CMkSa;;AAC9B;EAAE,iBNtGa;CMsGa;;AAC5B;EAAE,iBN/LyB;CM+La;;AACxC;;EAAE,iBNoEkB;CMpEa;;AACjC;EAAE,iBN9Xc;CM8Xa;;AAC7B;EAAE,iBN9iBa;CM8iBa;;AAC5B;EAAE,iBNxiBc;CMwiBa;;AAC7B;EAAE,iBNxcuB;CMwca;;AACtC;EAAE,iBN3cwB;CM2ca;;AACvC;EAAE,iBNzcwB;CMyca;;AACvC;EAAE,iBN9cwB;CM8ca;;AACvC;EAAE,iBN9MgB;CM8Ma;;AAC/B;EAAE,iBNvJe;CMuJa;;AAC9B;EAAE,iBNvJiB;CMuJa;;AAChC;EAAE,iBN1Ja;CM0Ja;;AAC5B;EAAE,iBN7JW;CM6Ja;;AAC1B;EAAE,iBNjZkB;CMiZa;;AACjC;EAAE,iBNjZoB;CMiZa;;AACnC;EAAE,iBN5Na;CM4Na;;AAC5B;EAAE,iBN0Ha;CM1Ha;;AAC5B;EAAE,iBN/eiB;CM+ea;;AAChC;EAAE,iBNxSiB;CMwSa;;AAChC;EAAE,iBNpEoB;CMoEa;;AACnC;EAAE,iBNnXY;CMmXa;;AAC3B;EAAE,iBN7YuB;CM6Ya;;AACtC;EAAE,iBNjagB;CMiaa;;AAC/B;EAAE,iBN/IY;CM+Ia;;AAC3B;EAAE,iBN7SoB;CM6Sa;;AACnC;EAAE,iBNkGW;CMlGa;;AAC1B;EAAE,iBNzFoB;CMyFa;;AACnC;EAAE,iBNtJgB;CMsJa;;AAC/B;EAAE,iBNnDc;CMmDa;;AAC7B;EAAE,iBN1HoB;CM0Ha;;AACnC;EAAE,iBN1HsB;CM0Ha;;AACrC;EAAE,iBNkBmB;CMlBa;;AAClC;EAAE,iBNkBqB;CMlBa;;AACpC;EAAE,iBNtCoB;CMsCa;;AACnC;EAAE,iBNtCuB;CMsCa;;AACtC;EAAE,iBNnQe;CMmQa;;AAC9B;EAAE,iBNhgBiB;CMggBa;;AAChC;EAAE,iBNhgBmB;CMggBa;;AAClC;EAAE,iBN5He;CM4Ha;;AAC9B;EAAE,iBNtSc;CMsSa;;AAC7B;EAAE,iBNsHkB;CMtHa;;AACjC;EAAE,iBNsHe;CMtHa;;AAC9B;EAAE,iBNhYc;CMgYa;;AAC7B;EAAE,iBNyEwB;CMzEa;;AACvC;EAAE,iBN4GsB;CM5Ga;;AACrC;EAAE,iBNtGyB;CMsGa;;AACxC;EAAE,iBN3gBa;CM2gBa;;AAC5B;EAAE,iBN/iByB;CM+iBa;;AACxC;EAAE,iBN8F4B;CM9Fa;;AAC3C;EAAE,iBNrgBe;CMqgBa;;AAC9B;EAAE,iBNrjBmC;CMqjBa;;AAClD;;EAAE,iBNtlB2C;CMslBa;;AAC1D;;;EAAE,iBNjaY;CMiaa;;AAC3B;EAAE,iBNjTa;CMiTa;;AAC5B;EAAE,iBNjTe;CMiTa;;AAC9B;;EAAE,iBNxDqB;CMwDa;;AACpC;EAAE,iBNhNkB;CMgNa;;AACjC;EAAE,iBN8Ec;CM9Ea;;AAC7B;EAAE,iBN8EqB;CM9Ea;;AACpC;EAAE,iBNhDgB;CMgDa;;AAC/B;EAAE,iBNhDsB;CMgDa;;AACrC;EAAE,iBNhDuB;CMgDa;;AACtC;EAAE,iBN9IkB;CM8Ia;;AACjC;EAAE,iBNnWmB;CMmWa;;AAClC;EAAE,iBN0Ga;CM1Ga;;AAC5B;EAAE,iBNWiB;CMXa;;AAChC;;EAAE,iBNxT4B;CMwTa;;AAC3C;;EAAE,iBN1VoB;CM0Va;;ACznBnC;EH8BE,mBAAmB;EACnB,WAAW;EACX,YAAY;EACZ,WAAW;EACX,aAAa;EACb,iBAAiB;EACjB,uBAAU;EACV,UAAU;CGrCqB;;AACjC;EHgDI,iBAAiB;EACjB,YAAY;EACZ,aAAa;EACb,UAAU;EACV,kBAAkB;EAClB,WAAW;CACZ;;AI5BH;EACI;IAAO,UAAU;Gf0xFlB;EezxFC;IAAK,YAAY;Gf4xFlB;CACF;;AgB3zFD;;EAEC,oBAAoB;EACpB,eAAe;EACf,4DAA4D;EAC5D,gBAAgB;CAChB;;AAED;EACC,mBAAmB;EACnB,mBAAmB;CACnB;;AAED;;EAEC,mBAAmB;CACnB;;AAED;EACC,mBAAmB;EACnB,kBAAkB;CAwDlB;;AA1DD;EAKE,eAAe;EACf,sBAAsB;EACtB,sCAAsC;CAKtC;;AAZF;EAUG,sBAAsB;CACtB;;AAXH;EAeE,cAAc;CACd;;AAhBF;EAmBE,iBAAiB;EACjB,gBAAgB;CAChB;;AArBF;EAwBE,iBAAiB;EACjB,gBAAgB;CAChB;;AA1BF;EA6BE,iBAAiB;EACjB,mBAAmB;EACnB,gBAAgB;CAChB;;AAhCF;EAmCE,gBAAgB;EAChB,oBAAoB;EACpB,0BAA0B;CAU1B;;AA/CF;EAwCG,oBAAoB;EACpB,iCAAiC;CACjC;;AA1CH;EA6CG,kBAAkB;CAClB;;AA9CH;EAiDoB,eAAe;CAAI;;AAjDvC;EAkDsB,kBAAkB;CAAI;;AAlD5C;EAmDsB,iBAAiB;CAAI;;AAnD3C;EAoDqB,gBAAgB;CAAI;;AApDzC;EAsDkB,kBAAkB;CAAI;;AAtDxC;EAuDoB,qBAAqB;CAAI;;AAvD7C;EAwDmB,oBAAoB;CAAI;;AAxD3C;EAyDmB,mBAAmB;CAAI;;AAG1C;EACC,gBAAgB;EAChB,YAAY;CAwBZ;;AA1BD;EAIS,UAAU;CAAI;;AAJvB;EAKU,WAAW;CAAI;;AALzB;EAMU,WAAW;CAAI;;AANzB;EAOU,WAAW;CAAI;;AAPzB;EAQU,WAAW;CAAI;;AARzB;EASU,WAAW;CAAI;;AATzB;EAUU,gBAAgB;CAAI;;AAV9B;EAWU,WAAW;CAAI;;AAXzB;EAYU,WAAW;CAAI;;AAZzB;EAaU,WAAW;CAAI;;AAbzB;EAcU,WAAW;CAAI;;AAdzB;EAeU,WAAW;CAAI;;AAfzB;EAgBU,WAAW;CAAI;;AAhBzB;EAiBU,WAAW;CAAI;;AAjBzB;EAkBU,gBAAgB;CAAI;;AAlB9B;EAmBU,WAAW;CAAI;;AAnBzB;EAoBU,WAAW;CAAI;;AApBzB;EAqBU,WAAW;CAAI;;AArBzB;EAsBU,WAAW;CAAI;;AAtBzB;EAuBU,WAAW;CAAI;;AAvBzB;EAwBU,WAAW;CAAI;;AAxBzB;EAyBU,YAAY;CAAI;;AAG1B;ED3FE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AC4FF;EDtGC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CCsGxB;;AAED;EACC,eDjHiB;CCkHjB;;AAED;EACC,eAAe;EACf,eDvHmB;ECwHnB,kBAAkB;EAClB,qBAAqB;EACrB,mBAAmB;CACnB;;AAED;EACC,sBAAsB;EACtB,eD9HiB;EC+HjB,0BAA0B;CAK1B;;AARD;EAME,oBAAoB;CACpB;;ACtIF;EACC,UAAU;EACV,UAAU;EACV,WAAW;EACX,WAAW;CACX;;ACLD;;;;;;;EAOC,mBAAmB;EACnB,oBAAoB;EACpB,eAAe;EACf,4DAA4D;EAC5D,gBAAgB;CAChB;;AAED;;;;EHSC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;EGHpD,mBAAmB;EACnB,UAAU;EACV,eAAe;EACf,oBHpBmB;CGwEnB;;AA5DD;;;;EAWE,gBAAgB;EAChB,oBAAkB;CAClB;;AAbF;;;;EAgBE,oBH9BiB;EG+BjB,eAAe;CAIf;;AArBF;;;;EAmBG,oBAAkB;CAClB;;AApBH;;;;EAwBE,oBAAoB;EACpB,eAAe;CAIf;;AA7BF;;;;EA2BG,oBAAmB;CACnB;;AA5BH;;;;;;;EAiCE,oBHzCW;EG0CX,eAAe;CAIf;;AAtCF;;;;;;;EAoCG,oBAAkB;CAClB;;AArCH;;;;EAyCE,mBAAmB;CAWnB;;AApDF;;;;EHqBI,+BAA+B;EAC/B,uBGqB0B;EHpB1B,kCAAkC;EGqBnC,YAAY;EACZ,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,SAAS;EACT,sCAAgB;CAChB;;AAnDH;;;;;;;EAwDE,+BAAkC;EAClC,0BAA2B;EAC3B,+BAA+B;CAC/B;;AAGF;EACC,eAAe;EACf,oBAAoB;CAkBpB;;AApBD;EH5DE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AGyDF;EAME,eAAe;EACf,kBAAkB;EAClB,WAAW;EACX,YAAY;CACZ;;AAVF;EAaE,WAAW;EACX,YAAY;CAKZ;;AAnBF;EAiBG,WAAW;CACX;;AAIH;EACC,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,qCAAgB;EAChB,gBAAgB;CAShB;;AAdD;EAQE,QAAQ;EACR,OAAO;EACP,aAAa;EACb,oBH7GiB;EG8GjB,qBAAqB;CACrB;;AC/GF;EACC,aAAa;EACb,eJAmB;CIKnB;;ACPD;EACC,gBAAgB;EAChB,QAAQ;EACR,OAAO;EACP,cAAc;EACd,oBLDkB;EKElB,eAAe;CAgBf;;AAtBD;EASE,eAAe;EACf,kBAAkB;EAClB,aAAa;CAUb;;AArBF;EAcG,8BAA6B;CAC7B;;AAfH;EAkBG,gBAAgB;EAChB,oBAAmB;CACnB;;ACnBH;EACC,YAAY;EACZ,iBAAiB;EACjB,iBAAiB;CAmBjB;;AAtBD;EAME,YAAY;EACZ,qBAAqB;EACrB,mBAAmB;EACnB,6BAA6B;EAC7B,0BNTkB;EMUlB,6BAA6B;EAC7B,uBAAuB;CACvB;;AAbF;EAgBE,gBAAgB;CAChB;;AAjBF;EAoBE,mBAAmB;CACnB;;AAGF;EACC,aAAa;EACb,YAAY;EACZ,iBAAiB;EACjB,oBNzBkB;CMqClB;;AAhBD;EAOE,YAAY;EACZ,aAAa;EACb,WAAW;ENXZ,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;CMkBnD;;AAfF;EAaG,aAAa;CACb;;ACvCH;EAEE,0BAAsB;EACtB,uBAAmB;EACnB,kBAAc;CACd;;ACLF;EAGE,wBAAwB;EACxB,iCAAiC;EACjC,oBAAoB;EACpB,YAAY;EACZ,eAAe;CAMf;;AAbF;EAWG,sBRXgB;CQYhB;;AAZH;EAgBE,0BAA0B;CAC1B;;ACjBF;EAEC,gBAAgB;EAChB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,oBAAoB;EACpB,aAAa;EACb,iBAAiB;EACjB,0DAA2C;CA4H3C;;AArID;EAYE,mBAAmB;EACnB,WAAW;EACX,aAAa;EACb,cAAc;EACd,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,aAAa;CAOb;;AA5BF;ETyCC,2BAAoB;EACpB,mBAAY;ESjBV,kBAAkB;EAClB,aAAa;CACb;;AA3BH;EA+BE,kBAAkB;CA6ClB;;AA5EF;EAkCG,gBAAgB;EAChB,eAAe;EACf,sBAAsB;EACtB,eAAe;EACf,2BAA2B;EAC3B,mCAAmC;CAsBnC;;AA7DH;EA0CI,aAAa;EACb,mBAAmB;EACnB,oBAAoB;EACpB,gBAAgB;CAChB;;AA9CJ;EAiDI,sBTjDe;ESkDf,+BAAgB;CAChB;;AAnDJ;EAsDI,aAAa;EACb,oBAAoB;CACpB;;AAxDJ;EA2DI,qCAAgB;CAChB;;AA5DJ;EAgEG,gBAAgB;CAUhB;;AA1EH;EAmEI,eAAe;EACf,oBAAoB;EACpB,gBAAgB;EAChB,0BAA0B;EAC1B,aAAa;EACb,eAAe;CACf;;AAzEJ;EA+EE,mBAAmB;EACnB,UAAU;EACV,QAAQ;EACR,SAAS;EACT,cAAc;CAiDd;;AApIF;EAsFG,gBAAgB;EAChB,0BAA0B;EAC1B,mBAAmB;EACnB,eAAe;CAqBf;;AA9GH;ETSC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CSkFrB;;AA7FJ;EAgGI,aAAa;EACb,eAAe;ETxFlB,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;CSkGrB;;AA7GJ;EAqGK,eAAe;EACf,sBAAsB;EACtB,sCAAsC;CAKtC;;AA5GL;EA0GM,iCAAiC;CACjC;;AA3GN;EAiHG,mBAAmB;CAkBnB;;AAnIH;EAoHI,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,sBAAsB;EACtB,aAAa;CASb;;AAlIJ;EA4HK,eT5Hc;CS6Hd;;AA7HL;EAgIK,aAAa;CACb;;ACjIL;EAEC,4BAA4B;EAC5B,0BAA0B;EAC1B,yBAAyB;EACzB,uBAAuB;EACvB,sBAAsB;EACtB,kBAAkB;EAElB,eAAe;EACf,mBAAmB;EACnB,2BAA2B;EAC3B,8BVXmB;EUYnB,iCVZmB;EUanB,oBAAoB;CAwDpB;;AAtED;EVgBE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AUnBF;EAkBE,+BAA+B;CAC/B;;AAnBF;EAsBE,oBVrBkB;EUsBlB,gBAAgB;EAChB,sBVvBkB;CUwBlB;;AAzBF;EA4BE,gBAAgB;EAChB,eAAe;EACf,0BAA0B;EAC1B,cAAc;EACd,oBAAoB;CACpB;;AAjCF;EA0CI,WAAW;CACX;;AA3CJ;EA+CG,mBAAmB;EACnB,UAAU;EACV,WAAW;EACX,gBAAgB;CAChB;;AAnDH;EAsDG,iBAAiB;CACjB;;AAvDH;EA+DI,WAAW;CACX;;AAhEJ;EAkEI,WAAW;CACX;;AAKJ;EAEE,eAAe;EACf,UAAU;EACV,oBAAoB;CAqBpB;;AAzBF;EVxDE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AUqDF;EAQG,YAAY;EACZ,mBAAmB;EACnB,YAAY;EACZ,8BAA8B;CAC9B;;AAZH;EAeG,sBAAsB;EACtB,kBAAkB;CAClB;;AAjBH;EAqBI,sBV7Fe;EU8Ff,aAAa;CACb;;ACxFJ;EAEC,mBAAmB;CAiGnB;;AAnGD;EANC,WAAW;EAYV,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACpB,iBAAiB;CAyBjB;;AAlCF;EXSE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AWZF;EXgBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;EWFlD,gBAAgB;CAChB;;AAdH;EXEC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;EWctB,iBAAiB;CACjB;;AAnBH;EXEC,oBAAoB;EACpB,iBAAiB;EACjB,wBAAwB;EWmBtB,iBAAiB;EACjB,eX1BqB;CW2BrB;;AAzBH;EA4BG,gBAAgB;CAKhB;;AAjCH;EA+BI,cAAc;CACd;;AAhCJ;EAsCG,mBAAmB;CAYnB;;AAlDH;EAyCI,mBAAmB;EACnB,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;CACf;;AXVH;EWvCD;IANC,iBAAW;GA+DR;EAzDJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;EWZF;IANC,iBAAW;GAoER;EA9DJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;CfglHD;;AerjHA;EWvCD;IANC,WAAW;GA4ER;EAtEJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;EWZF;IANC,WAAW;GAiFR;EA3EJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;CfmmHD;;AexkHA;EWvCD;IANC,WAAW;GAyFR;EAnFJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;EWZF;IANC,WAAW;GA8FR;EAxFJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;CfsnHD;;Ae3lHA;EWvCD;IANC,iBAAW;GAsGR;EAhGJ;IXSE,YAAY;IACZ,YAAY;IACZ,eAAe;GACf;CfioHD;;A2BppHD;EAEE,mBAAmB;EACnB,oBAAoB;CAapB;;AAhBF;EAMG,sBAAsB;EACtB,oBAAoB;EACpB,aAAa;CACb;;AATH;EAYG,gBAAgB;EAChB,iBAAiB;EACjB,sBAAsB;CACtB;;ACfH;EAEE,mBAAmB;EACnB,wBAAwB;CAcxB;;AAjBF;EbgBE,YAAY;EACZ,YAAY;EACZ,eAAe;CACf;;AanBF;EAOG,iBAAiB;EACjB,sBAAsB;EACtB,YAAY;CACZ;;AAVH;EAaG,eAAe;EACf,kBAAkB;EAClB,qBAAqB;CACrB;;AChBH;EAEE,kBAAkB;CAYlB;;AAdF;EAKG,mBAAmB;CAQnB;;AAbH;EAQI,edLc;CcSd;;AAZJ;EAUK,eAAa;CACb;;AAXL;EAiBE,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACX,oBdrBkB;CckElB;;AAnEF;EAyBG,YAAY;EACZ,eAAe;EACf,gBAAgB;CAChB;;AA5BH;EA+BG,cAAc;CACd;;AAhCH;EAmCG,WAAW;EACX,UAAU;CA8BV;;AAlEH;EAuCI,UAAU;EACV,WAAW;EACX,mBAAmB;CAwBnB;;AAjEJ;EA4CK,0BdvCmB;CcwCnB;;AA7CL;EduBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;Ec2BhD,mBAAmB;EACnB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,WAAW;EACX,kBAAkB;CAClB;;AA1DL;EA8DM,WAAW;CACX;;AC/DN;EAEE,kBAAkB;CAYlB;;AAdF;EAKG,mBAAmB;CAQnB;;AAbH;EAQI,efLc;CeSd;;AAZJ;EAUK,eAAa;CACb;;AAXL;EAiBE,mBAAmB;EACnB,OAAO;EACP,QAAQ;EACR,UAAU;EACV,WAAW;EACX,oBfrBkB;CekElB;;AAnEF;EAyBG,YAAY;EACZ,eAAe;EACf,gBAAgB;CAChB;;AA5BH;EA+BG,cAAc;CACd;;AAhCH;EAmCG,WAAW;EACX,UAAU;CA8BV;;AAlEH;EAuCI,UAAU;EACV,WAAW;EACX,mBAAmB;CAwBnB;;AAjEJ;EA4CK,0BfvCmB;CewCnB;;AA7CL;EfuBC,yCADoD;EAEjD,sCAFiD;EAGlD,oCAHkD;EAI/C,iCAJ+C;Ee2BhD,mBAAmB;EACnB,SAAS;EACT,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,eAAe;EACf,WAAW;EACX,WAAW;EACX,kBAAkB;CAClB;;AA1DL;EA8DM,WAAW;CACX","file":"app.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(\"../assets/fonts/fontawesome-webfont.eot?v=4.6.3\");\n src: url(\"../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.6.3\") format(\"embedded-opentype\"), url(\"../assets/fonts/fontawesome-webfont.woff2?v=4.6.3\") format(\"woff2\"), url(\"../assets/fonts/fontawesome-webfont.woff?v=4.6.3\") format(\"woff\"), url(\"../assets/fonts/fontawesome-webfont.ttf?v=4.6.3\") format(\"truetype\"), url(\"../assets/fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular\") format(\"svg\");\n font-weight: normal;\n font-style: normal;\n}\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%;\n}\n\n.fa-2x {\n font-size: 2em;\n}\n\n.fa-3x {\n font-size: 3em;\n}\n\n.fa-4x {\n font-size: 4em;\n}\n\n.fa-5x {\n font-size: 5em;\n}\n\n.fa-fw {\n width: 1.28571em;\n text-align: center;\n}\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none;\n}\n\n.fa-ul > li {\n position: relative;\n}\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center;\n}\n\n.fa-li.fa-lg {\n left: -1.85714em;\n}\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em;\n}\n\n.fa-pull-left {\n float: left;\n}\n\n.fa-pull-right {\n float: right;\n}\n\n.fa.fa-pull-left {\n margin-right: .3em;\n}\n\n.fa.fa-pull-right {\n margin-left: .3em;\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right;\n}\n\n.pull-left {\n float: left;\n}\n\n.fa.pull-left {\n margin-right: .3em;\n}\n\n.fa.pull-right {\n margin-left: .3em;\n}\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none;\n}\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n\n.fa-stack-1x {\n line-height: inherit;\n}\n\n.fa-stack-2x {\n font-size: 2em;\n}\n\n.fa-inverse {\n color: #fff;\n}\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\";\n}\n\n.fa-music:before {\n content: \"\";\n}\n\n.fa-search:before {\n content: \"\";\n}\n\n.fa-envelope-o:before {\n content: \"\";\n}\n\n.fa-heart:before {\n content: \"\";\n}\n\n.fa-star:before {\n content: \"\";\n}\n\n.fa-star-o:before {\n content: \"\";\n}\n\n.fa-user:before {\n content: \"\";\n}\n\n.fa-film:before {\n content: \"\";\n}\n\n.fa-th-large:before {\n content: \"\";\n}\n\n.fa-th:before {\n content: \"\";\n}\n\n.fa-th-list:before {\n content: \"\";\n}\n\n.fa-check:before {\n content: \"\";\n}\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\";\n}\n\n.fa-search-plus:before {\n content: \"\";\n}\n\n.fa-search-minus:before {\n content: \"\";\n}\n\n.fa-power-off:before {\n content: \"\";\n}\n\n.fa-signal:before {\n content: \"\";\n}\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\";\n}\n\n.fa-trash-o:before {\n content: \"\";\n}\n\n.fa-home:before {\n content: \"\";\n}\n\n.fa-file-o:before {\n content: \"\";\n}\n\n.fa-clock-o:before {\n content: \"\";\n}\n\n.fa-road:before {\n content: \"\";\n}\n\n.fa-download:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-down:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-up:before {\n content: \"\";\n}\n\n.fa-inbox:before {\n content: \"\";\n}\n\n.fa-play-circle-o:before {\n content: \"\";\n}\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\";\n}\n\n.fa-refresh:before {\n content: \"\";\n}\n\n.fa-list-alt:before {\n content: \"\";\n}\n\n.fa-lock:before {\n content: \"\";\n}\n\n.fa-flag:before {\n content: \"\";\n}\n\n.fa-headphones:before {\n content: \"\";\n}\n\n.fa-volume-off:before {\n content: \"\";\n}\n\n.fa-volume-down:before {\n content: \"\";\n}\n\n.fa-volume-up:before {\n content: \"\";\n}\n\n.fa-qrcode:before {\n content: \"\";\n}\n\n.fa-barcode:before {\n content: \"\";\n}\n\n.fa-tag:before {\n content: \"\";\n}\n\n.fa-tags:before {\n content: \"\";\n}\n\n.fa-book:before {\n content: \"\";\n}\n\n.fa-bookmark:before {\n content: \"\";\n}\n\n.fa-print:before {\n content: \"\";\n}\n\n.fa-camera:before {\n content: \"\";\n}\n\n.fa-font:before {\n content: \"\";\n}\n\n.fa-bold:before {\n content: \"\";\n}\n\n.fa-italic:before {\n content: \"\";\n}\n\n.fa-text-height:before {\n content: \"\";\n}\n\n.fa-text-width:before {\n content: \"\";\n}\n\n.fa-align-left:before {\n content: \"\";\n}\n\n.fa-align-center:before {\n content: \"\";\n}\n\n.fa-align-right:before {\n content: \"\";\n}\n\n.fa-align-justify:before {\n content: \"\";\n}\n\n.fa-list:before {\n content: \"\";\n}\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\";\n}\n\n.fa-indent:before {\n content: \"\";\n}\n\n.fa-video-camera:before {\n content: \"\";\n}\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\";\n}\n\n.fa-pencil:before {\n content: \"\";\n}\n\n.fa-map-marker:before {\n content: \"\";\n}\n\n.fa-adjust:before {\n content: \"\";\n}\n\n.fa-tint:before {\n content: \"\";\n}\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\";\n}\n\n.fa-share-square-o:before {\n content: \"\";\n}\n\n.fa-check-square-o:before {\n content: \"\";\n}\n\n.fa-arrows:before {\n content: \"\";\n}\n\n.fa-step-backward:before {\n content: \"\";\n}\n\n.fa-fast-backward:before {\n content: \"\";\n}\n\n.fa-backward:before {\n content: \"\";\n}\n\n.fa-play:before {\n content: \"\";\n}\n\n.fa-pause:before {\n content: \"\";\n}\n\n.fa-stop:before {\n content: \"\";\n}\n\n.fa-forward:before {\n content: \"\";\n}\n\n.fa-fast-forward:before {\n content: \"\";\n}\n\n.fa-step-forward:before {\n content: \"\";\n}\n\n.fa-eject:before {\n content: \"\";\n}\n\n.fa-chevron-left:before {\n content: \"\";\n}\n\n.fa-chevron-right:before {\n content: \"\";\n}\n\n.fa-plus-circle:before {\n content: \"\";\n}\n\n.fa-minus-circle:before {\n content: \"\";\n}\n\n.fa-times-circle:before {\n content: \"\";\n}\n\n.fa-check-circle:before {\n content: \"\";\n}\n\n.fa-question-circle:before {\n content: \"\";\n}\n\n.fa-info-circle:before {\n content: \"\";\n}\n\n.fa-crosshairs:before {\n content: \"\";\n}\n\n.fa-times-circle-o:before {\n content: \"\";\n}\n\n.fa-check-circle-o:before {\n content: \"\";\n}\n\n.fa-ban:before {\n content: \"\";\n}\n\n.fa-arrow-left:before {\n content: \"\";\n}\n\n.fa-arrow-right:before {\n content: \"\";\n}\n\n.fa-arrow-up:before {\n content: \"\";\n}\n\n.fa-arrow-down:before {\n content: \"\";\n}\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\";\n}\n\n.fa-expand:before {\n content: \"\";\n}\n\n.fa-compress:before {\n content: \"\";\n}\n\n.fa-plus:before {\n content: \"\";\n}\n\n.fa-minus:before {\n content: \"\";\n}\n\n.fa-asterisk:before {\n content: \"\";\n}\n\n.fa-exclamation-circle:before {\n content: \"\";\n}\n\n.fa-gift:before {\n content: \"\";\n}\n\n.fa-leaf:before {\n content: \"\";\n}\n\n.fa-fire:before {\n content: \"\";\n}\n\n.fa-eye:before {\n content: \"\";\n}\n\n.fa-eye-slash:before {\n content: \"\";\n}\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\";\n}\n\n.fa-plane:before {\n content: \"\";\n}\n\n.fa-calendar:before {\n content: \"\";\n}\n\n.fa-random:before {\n content: \"\";\n}\n\n.fa-comment:before {\n content: \"\";\n}\n\n.fa-magnet:before {\n content: \"\";\n}\n\n.fa-chevron-up:before {\n content: \"\";\n}\n\n.fa-chevron-down:before {\n content: \"\";\n}\n\n.fa-retweet:before {\n content: \"\";\n}\n\n.fa-shopping-cart:before {\n content: \"\";\n}\n\n.fa-folder:before {\n content: \"\";\n}\n\n.fa-folder-open:before {\n content: \"\";\n}\n\n.fa-arrows-v:before {\n content: \"\";\n}\n\n.fa-arrows-h:before {\n content: \"\";\n}\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\";\n}\n\n.fa-twitter-square:before {\n content: \"\";\n}\n\n.fa-facebook-square:before {\n content: \"\";\n}\n\n.fa-camera-retro:before {\n content: \"\";\n}\n\n.fa-key:before {\n content: \"\";\n}\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\";\n}\n\n.fa-comments:before {\n content: \"\";\n}\n\n.fa-thumbs-o-up:before {\n content: \"\";\n}\n\n.fa-thumbs-o-down:before {\n content: \"\";\n}\n\n.fa-star-half:before {\n content: \"\";\n}\n\n.fa-heart-o:before {\n content: \"\";\n}\n\n.fa-sign-out:before {\n content: \"\";\n}\n\n.fa-linkedin-square:before {\n content: \"\";\n}\n\n.fa-thumb-tack:before {\n content: \"\";\n}\n\n.fa-external-link:before {\n content: \"\";\n}\n\n.fa-sign-in:before {\n content: \"\";\n}\n\n.fa-trophy:before {\n content: \"\";\n}\n\n.fa-github-square:before {\n content: \"\";\n}\n\n.fa-upload:before {\n content: \"\";\n}\n\n.fa-lemon-o:before {\n content: \"\";\n}\n\n.fa-phone:before {\n content: \"\";\n}\n\n.fa-square-o:before {\n content: \"\";\n}\n\n.fa-bookmark-o:before {\n content: \"\";\n}\n\n.fa-phone-square:before {\n content: \"\";\n}\n\n.fa-twitter:before {\n content: \"\";\n}\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\";\n}\n\n.fa-github:before {\n content: \"\";\n}\n\n.fa-unlock:before {\n content: \"\";\n}\n\n.fa-credit-card:before {\n content: \"\";\n}\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\";\n}\n\n.fa-hdd-o:before {\n content: \"\";\n}\n\n.fa-bullhorn:before {\n content: \"\";\n}\n\n.fa-bell:before {\n content: \"\";\n}\n\n.fa-certificate:before {\n content: \"\";\n}\n\n.fa-hand-o-right:before {\n content: \"\";\n}\n\n.fa-hand-o-left:before {\n content: \"\";\n}\n\n.fa-hand-o-up:before {\n content: \"\";\n}\n\n.fa-hand-o-down:before {\n content: \"\";\n}\n\n.fa-arrow-circle-left:before {\n content: \"\";\n}\n\n.fa-arrow-circle-right:before {\n content: \"\";\n}\n\n.fa-arrow-circle-up:before {\n content: \"\";\n}\n\n.fa-arrow-circle-down:before {\n content: \"\";\n}\n\n.fa-globe:before {\n content: \"\";\n}\n\n.fa-wrench:before {\n content: \"\";\n}\n\n.fa-tasks:before {\n content: \"\";\n}\n\n.fa-filter:before {\n content: \"\";\n}\n\n.fa-briefcase:before {\n content: \"\";\n}\n\n.fa-arrows-alt:before {\n content: \"\";\n}\n\n.fa-group:before,\n.fa-users:before {\n content: \"\";\n}\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\";\n}\n\n.fa-cloud:before {\n content: \"\";\n}\n\n.fa-flask:before {\n content: \"\";\n}\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\";\n}\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\";\n}\n\n.fa-paperclip:before {\n content: \"\";\n}\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\";\n}\n\n.fa-square:before {\n content: \"\";\n}\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\";\n}\n\n.fa-list-ul:before {\n content: \"\";\n}\n\n.fa-list-ol:before {\n content: \"\";\n}\n\n.fa-strikethrough:before {\n content: \"\";\n}\n\n.fa-underline:before {\n content: \"\";\n}\n\n.fa-table:before {\n content: \"\";\n}\n\n.fa-magic:before {\n content: \"\";\n}\n\n.fa-truck:before {\n content: \"\";\n}\n\n.fa-pinterest:before {\n content: \"\";\n}\n\n.fa-pinterest-square:before {\n content: \"\";\n}\n\n.fa-google-plus-square:before {\n content: \"\";\n}\n\n.fa-google-plus:before {\n content: \"\";\n}\n\n.fa-money:before {\n content: \"\";\n}\n\n.fa-caret-down:before {\n content: \"\";\n}\n\n.fa-caret-up:before {\n content: \"\";\n}\n\n.fa-caret-left:before {\n content: \"\";\n}\n\n.fa-caret-right:before {\n content: \"\";\n}\n\n.fa-columns:before {\n content: \"\";\n}\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\";\n}\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\";\n}\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\";\n}\n\n.fa-envelope:before {\n content: \"\";\n}\n\n.fa-linkedin:before {\n content: \"\";\n}\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\";\n}\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\";\n}\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\";\n}\n\n.fa-comment-o:before {\n content: \"\";\n}\n\n.fa-comments-o:before {\n content: \"\";\n}\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\";\n}\n\n.fa-sitemap:before {\n content: \"\";\n}\n\n.fa-umbrella:before {\n content: \"\";\n}\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\";\n}\n\n.fa-lightbulb-o:before {\n content: \"\";\n}\n\n.fa-exchange:before {\n content: \"\";\n}\n\n.fa-cloud-download:before {\n content: \"\";\n}\n\n.fa-cloud-upload:before {\n content: \"\";\n}\n\n.fa-user-md:before {\n content: \"\";\n}\n\n.fa-stethoscope:before {\n content: \"\";\n}\n\n.fa-suitcase:before {\n content: \"\";\n}\n\n.fa-bell-o:before {\n content: \"\";\n}\n\n.fa-coffee:before {\n content: \"\";\n}\n\n.fa-cutlery:before {\n content: \"\";\n}\n\n.fa-file-text-o:before {\n content: \"\";\n}\n\n.fa-building-o:before {\n content: \"\";\n}\n\n.fa-hospital-o:before {\n content: \"\";\n}\n\n.fa-ambulance:before {\n content: \"\";\n}\n\n.fa-medkit:before {\n content: \"\";\n}\n\n.fa-fighter-jet:before {\n content: \"\";\n}\n\n.fa-beer:before {\n content: \"\";\n}\n\n.fa-h-square:before {\n content: \"\";\n}\n\n.fa-plus-square:before {\n content: \"\";\n}\n\n.fa-angle-double-left:before {\n content: \"\";\n}\n\n.fa-angle-double-right:before {\n content: \"\";\n}\n\n.fa-angle-double-up:before {\n content: \"\";\n}\n\n.fa-angle-double-down:before {\n content: \"\";\n}\n\n.fa-angle-left:before {\n content: \"\";\n}\n\n.fa-angle-right:before {\n content: \"\";\n}\n\n.fa-angle-up:before {\n content: \"\";\n}\n\n.fa-angle-down:before {\n content: \"\";\n}\n\n.fa-desktop:before {\n content: \"\";\n}\n\n.fa-laptop:before {\n content: \"\";\n}\n\n.fa-tablet:before {\n content: \"\";\n}\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\";\n}\n\n.fa-circle-o:before {\n content: \"\";\n}\n\n.fa-quote-left:before {\n content: \"\";\n}\n\n.fa-quote-right:before {\n content: \"\";\n}\n\n.fa-spinner:before {\n content: \"\";\n}\n\n.fa-circle:before {\n content: \"\";\n}\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\";\n}\n\n.fa-github-alt:before {\n content: \"\";\n}\n\n.fa-folder-o:before {\n content: \"\";\n}\n\n.fa-folder-open-o:before {\n content: \"\";\n}\n\n.fa-smile-o:before {\n content: \"\";\n}\n\n.fa-frown-o:before {\n content: \"\";\n}\n\n.fa-meh-o:before {\n content: \"\";\n}\n\n.fa-gamepad:before {\n content: \"\";\n}\n\n.fa-keyboard-o:before {\n content: \"\";\n}\n\n.fa-flag-o:before {\n content: \"\";\n}\n\n.fa-flag-checkered:before {\n content: \"\";\n}\n\n.fa-terminal:before {\n content: \"\";\n}\n\n.fa-code:before {\n content: \"\";\n}\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\";\n}\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\";\n}\n\n.fa-location-arrow:before {\n content: \"\";\n}\n\n.fa-crop:before {\n content: \"\";\n}\n\n.fa-code-fork:before {\n content: \"\";\n}\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\";\n}\n\n.fa-question:before {\n content: \"\";\n}\n\n.fa-info:before {\n content: \"\";\n}\n\n.fa-exclamation:before {\n content: \"\";\n}\n\n.fa-superscript:before {\n content: \"\";\n}\n\n.fa-subscript:before {\n content: \"\";\n}\n\n.fa-eraser:before {\n content: \"\";\n}\n\n.fa-puzzle-piece:before {\n content: \"\";\n}\n\n.fa-microphone:before {\n content: \"\";\n}\n\n.fa-microphone-slash:before {\n content: \"\";\n}\n\n.fa-shield:before {\n content: \"\";\n}\n\n.fa-calendar-o:before {\n content: \"\";\n}\n\n.fa-fire-extinguisher:before {\n content: \"\";\n}\n\n.fa-rocket:before {\n content: \"\";\n}\n\n.fa-maxcdn:before {\n content: \"\";\n}\n\n.fa-chevron-circle-left:before {\n content: \"\";\n}\n\n.fa-chevron-circle-right:before {\n content: \"\";\n}\n\n.fa-chevron-circle-up:before {\n content: \"\";\n}\n\n.fa-chevron-circle-down:before {\n content: \"\";\n}\n\n.fa-html5:before {\n content: \"\";\n}\n\n.fa-css3:before {\n content: \"\";\n}\n\n.fa-anchor:before {\n content: \"\";\n}\n\n.fa-unlock-alt:before {\n content: \"\";\n}\n\n.fa-bullseye:before {\n content: \"\";\n}\n\n.fa-ellipsis-h:before {\n content: \"\";\n}\n\n.fa-ellipsis-v:before {\n content: \"\";\n}\n\n.fa-rss-square:before {\n content: \"\";\n}\n\n.fa-play-circle:before {\n content: \"\";\n}\n\n.fa-ticket:before {\n content: \"\";\n}\n\n.fa-minus-square:before {\n content: \"\";\n}\n\n.fa-minus-square-o:before {\n content: \"\";\n}\n\n.fa-level-up:before {\n content: \"\";\n}\n\n.fa-level-down:before {\n content: \"\";\n}\n\n.fa-check-square:before {\n content: \"\";\n}\n\n.fa-pencil-square:before {\n content: \"\";\n}\n\n.fa-external-link-square:before {\n content: \"\";\n}\n\n.fa-share-square:before {\n content: \"\";\n}\n\n.fa-compass:before {\n content: \"\";\n}\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\";\n}\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\";\n}\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\";\n}\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\";\n}\n\n.fa-gbp:before {\n content: \"\";\n}\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\";\n}\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\";\n}\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\";\n}\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\";\n}\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\";\n}\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\";\n}\n\n.fa-file:before {\n content: \"\";\n}\n\n.fa-file-text:before {\n content: \"\";\n}\n\n.fa-sort-alpha-asc:before {\n content: \"\";\n}\n\n.fa-sort-alpha-desc:before {\n content: \"\";\n}\n\n.fa-sort-amount-asc:before {\n content: \"\";\n}\n\n.fa-sort-amount-desc:before {\n content: \"\";\n}\n\n.fa-sort-numeric-asc:before {\n content: \"\";\n}\n\n.fa-sort-numeric-desc:before {\n content: \"\";\n}\n\n.fa-thumbs-up:before {\n content: \"\";\n}\n\n.fa-thumbs-down:before {\n content: \"\";\n}\n\n.fa-youtube-square:before {\n content: \"\";\n}\n\n.fa-youtube:before {\n content: \"\";\n}\n\n.fa-xing:before {\n content: \"\";\n}\n\n.fa-xing-square:before {\n content: \"\";\n}\n\n.fa-youtube-play:before {\n content: \"\";\n}\n\n.fa-dropbox:before {\n content: \"\";\n}\n\n.fa-stack-overflow:before {\n content: \"\";\n}\n\n.fa-instagram:before {\n content: \"\";\n}\n\n.fa-flickr:before {\n content: \"\";\n}\n\n.fa-adn:before {\n content: \"\";\n}\n\n.fa-bitbucket:before {\n content: \"\";\n}\n\n.fa-bitbucket-square:before {\n content: \"\";\n}\n\n.fa-tumblr:before {\n content: \"\";\n}\n\n.fa-tumblr-square:before {\n content: \"\";\n}\n\n.fa-long-arrow-down:before {\n content: \"\";\n}\n\n.fa-long-arrow-up:before {\n content: \"\";\n}\n\n.fa-long-arrow-left:before {\n content: \"\";\n}\n\n.fa-long-arrow-right:before {\n content: \"\";\n}\n\n.fa-apple:before {\n content: \"\";\n}\n\n.fa-windows:before {\n content: \"\";\n}\n\n.fa-android:before {\n content: \"\";\n}\n\n.fa-linux:before {\n content: \"\";\n}\n\n.fa-dribbble:before {\n content: \"\";\n}\n\n.fa-skype:before {\n content: \"\";\n}\n\n.fa-foursquare:before {\n content: \"\";\n}\n\n.fa-trello:before {\n content: \"\";\n}\n\n.fa-female:before {\n content: \"\";\n}\n\n.fa-male:before {\n content: \"\";\n}\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\";\n}\n\n.fa-sun-o:before {\n content: \"\";\n}\n\n.fa-moon-o:before {\n content: \"\";\n}\n\n.fa-archive:before {\n content: \"\";\n}\n\n.fa-bug:before {\n content: \"\";\n}\n\n.fa-vk:before {\n content: \"\";\n}\n\n.fa-weibo:before {\n content: \"\";\n}\n\n.fa-renren:before {\n content: \"\";\n}\n\n.fa-pagelines:before {\n content: \"\";\n}\n\n.fa-stack-exchange:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-right:before {\n content: \"\";\n}\n\n.fa-arrow-circle-o-left:before {\n content: \"\";\n}\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\";\n}\n\n.fa-dot-circle-o:before {\n content: \"\";\n}\n\n.fa-wheelchair:before {\n content: \"\";\n}\n\n.fa-vimeo-square:before {\n content: \"\";\n}\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\";\n}\n\n.fa-plus-square-o:before {\n content: \"\";\n}\n\n.fa-space-shuttle:before {\n content: \"\";\n}\n\n.fa-slack:before {\n content: \"\";\n}\n\n.fa-envelope-square:before {\n content: \"\";\n}\n\n.fa-wordpress:before {\n content: \"\";\n}\n\n.fa-openid:before {\n content: \"\";\n}\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\";\n}\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\";\n}\n\n.fa-yahoo:before {\n content: \"\";\n}\n\n.fa-google:before {\n content: \"\";\n}\n\n.fa-reddit:before {\n content: \"\";\n}\n\n.fa-reddit-square:before {\n content: \"\";\n}\n\n.fa-stumbleupon-circle:before {\n content: \"\";\n}\n\n.fa-stumbleupon:before {\n content: \"\";\n}\n\n.fa-delicious:before {\n content: \"\";\n}\n\n.fa-digg:before {\n content: \"\";\n}\n\n.fa-pied-piper-pp:before {\n content: \"\";\n}\n\n.fa-pied-piper-alt:before {\n content: \"\";\n}\n\n.fa-drupal:before {\n content: \"\";\n}\n\n.fa-joomla:before {\n content: \"\";\n}\n\n.fa-language:before {\n content: \"\";\n}\n\n.fa-fax:before {\n content: \"\";\n}\n\n.fa-building:before {\n content: \"\";\n}\n\n.fa-child:before {\n content: \"\";\n}\n\n.fa-paw:before {\n content: \"\";\n}\n\n.fa-spoon:before {\n content: \"\";\n}\n\n.fa-cube:before {\n content: \"\";\n}\n\n.fa-cubes:before {\n content: \"\";\n}\n\n.fa-behance:before {\n content: \"\";\n}\n\n.fa-behance-square:before {\n content: \"\";\n}\n\n.fa-steam:before {\n content: \"\";\n}\n\n.fa-steam-square:before {\n content: \"\";\n}\n\n.fa-recycle:before {\n content: \"\";\n}\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\";\n}\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\";\n}\n\n.fa-tree:before {\n content: \"\";\n}\n\n.fa-spotify:before {\n content: \"\";\n}\n\n.fa-deviantart:before {\n content: \"\";\n}\n\n.fa-soundcloud:before {\n content: \"\";\n}\n\n.fa-database:before {\n content: \"\";\n}\n\n.fa-file-pdf-o:before {\n content: \"\";\n}\n\n.fa-file-word-o:before {\n content: \"\";\n}\n\n.fa-file-excel-o:before {\n content: \"\";\n}\n\n.fa-file-powerpoint-o:before {\n content: \"\";\n}\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\";\n}\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\";\n}\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\";\n}\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\";\n}\n\n.fa-file-code-o:before {\n content: \"\";\n}\n\n.fa-vine:before {\n content: \"\";\n}\n\n.fa-codepen:before {\n content: \"\";\n}\n\n.fa-jsfiddle:before {\n content: \"\";\n}\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\";\n}\n\n.fa-circle-o-notch:before {\n content: \"\";\n}\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\";\n}\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\";\n}\n\n.fa-git-square:before {\n content: \"\";\n}\n\n.fa-git:before {\n content: \"\";\n}\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\";\n}\n\n.fa-tencent-weibo:before {\n content: \"\";\n}\n\n.fa-qq:before {\n content: \"\";\n}\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\";\n}\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\";\n}\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\";\n}\n\n.fa-history:before {\n content: \"\";\n}\n\n.fa-circle-thin:before {\n content: \"\";\n}\n\n.fa-header:before {\n content: \"\";\n}\n\n.fa-paragraph:before {\n content: \"\";\n}\n\n.fa-sliders:before {\n content: \"\";\n}\n\n.fa-share-alt:before {\n content: \"\";\n}\n\n.fa-share-alt-square:before {\n content: \"\";\n}\n\n.fa-bomb:before {\n content: \"\";\n}\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\";\n}\n\n.fa-tty:before {\n content: \"\";\n}\n\n.fa-binoculars:before {\n content: \"\";\n}\n\n.fa-plug:before {\n content: \"\";\n}\n\n.fa-slideshare:before {\n content: \"\";\n}\n\n.fa-twitch:before {\n content: \"\";\n}\n\n.fa-yelp:before {\n content: \"\";\n}\n\n.fa-newspaper-o:before {\n content: \"\";\n}\n\n.fa-wifi:before {\n content: \"\";\n}\n\n.fa-calculator:before {\n content: \"\";\n}\n\n.fa-paypal:before {\n content: \"\";\n}\n\n.fa-google-wallet:before {\n content: \"\";\n}\n\n.fa-cc-visa:before {\n content: \"\";\n}\n\n.fa-cc-mastercard:before {\n content: \"\";\n}\n\n.fa-cc-discover:before {\n content: \"\";\n}\n\n.fa-cc-amex:before {\n content: \"\";\n}\n\n.fa-cc-paypal:before {\n content: \"\";\n}\n\n.fa-cc-stripe:before {\n content: \"\";\n}\n\n.fa-bell-slash:before {\n content: \"\";\n}\n\n.fa-bell-slash-o:before {\n content: \"\";\n}\n\n.fa-trash:before {\n content: \"\";\n}\n\n.fa-copyright:before {\n content: \"\";\n}\n\n.fa-at:before {\n content: \"\";\n}\n\n.fa-eyedropper:before {\n content: \"\";\n}\n\n.fa-paint-brush:before {\n content: \"\";\n}\n\n.fa-birthday-cake:before {\n content: \"\";\n}\n\n.fa-area-chart:before {\n content: \"\";\n}\n\n.fa-pie-chart:before {\n content: \"\";\n}\n\n.fa-line-chart:before {\n content: \"\";\n}\n\n.fa-lastfm:before {\n content: \"\";\n}\n\n.fa-lastfm-square:before {\n content: \"\";\n}\n\n.fa-toggle-off:before {\n content: \"\";\n}\n\n.fa-toggle-on:before {\n content: \"\";\n}\n\n.fa-bicycle:before {\n content: \"\";\n}\n\n.fa-bus:before {\n content: \"\";\n}\n\n.fa-ioxhost:before {\n content: \"\";\n}\n\n.fa-angellist:before {\n content: \"\";\n}\n\n.fa-cc:before {\n content: \"\";\n}\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\";\n}\n\n.fa-meanpath:before {\n content: \"\";\n}\n\n.fa-buysellads:before {\n content: \"\";\n}\n\n.fa-connectdevelop:before {\n content: \"\";\n}\n\n.fa-dashcube:before {\n content: \"\";\n}\n\n.fa-forumbee:before {\n content: \"\";\n}\n\n.fa-leanpub:before {\n content: \"\";\n}\n\n.fa-sellsy:before {\n content: \"\";\n}\n\n.fa-shirtsinbulk:before {\n content: \"\";\n}\n\n.fa-simplybuilt:before {\n content: \"\";\n}\n\n.fa-skyatlas:before {\n content: \"\";\n}\n\n.fa-cart-plus:before {\n content: \"\";\n}\n\n.fa-cart-arrow-down:before {\n content: \"\";\n}\n\n.fa-diamond:before {\n content: \"\";\n}\n\n.fa-ship:before {\n content: \"\";\n}\n\n.fa-user-secret:before {\n content: \"\";\n}\n\n.fa-motorcycle:before {\n content: \"\";\n}\n\n.fa-street-view:before {\n content: \"\";\n}\n\n.fa-heartbeat:before {\n content: \"\";\n}\n\n.fa-venus:before {\n content: \"\";\n}\n\n.fa-mars:before {\n content: \"\";\n}\n\n.fa-mercury:before {\n content: \"\";\n}\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\";\n}\n\n.fa-transgender-alt:before {\n content: \"\";\n}\n\n.fa-venus-double:before {\n content: \"\";\n}\n\n.fa-mars-double:before {\n content: \"\";\n}\n\n.fa-venus-mars:before {\n content: \"\";\n}\n\n.fa-mars-stroke:before {\n content: \"\";\n}\n\n.fa-mars-stroke-v:before {\n content: \"\";\n}\n\n.fa-mars-stroke-h:before {\n content: \"\";\n}\n\n.fa-neuter:before {\n content: \"\";\n}\n\n.fa-genderless:before {\n content: \"\";\n}\n\n.fa-facebook-official:before {\n content: \"\";\n}\n\n.fa-pinterest-p:before {\n content: \"\";\n}\n\n.fa-whatsapp:before {\n content: \"\";\n}\n\n.fa-server:before {\n content: \"\";\n}\n\n.fa-user-plus:before {\n content: \"\";\n}\n\n.fa-user-times:before {\n content: \"\";\n}\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\";\n}\n\n.fa-viacoin:before {\n content: \"\";\n}\n\n.fa-train:before {\n content: \"\";\n}\n\n.fa-subway:before {\n content: \"\";\n}\n\n.fa-medium:before {\n content: \"\";\n}\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\";\n}\n\n.fa-optin-monster:before {\n content: \"\";\n}\n\n.fa-opencart:before {\n content: \"\";\n}\n\n.fa-expeditedssl:before {\n content: \"\";\n}\n\n.fa-battery-4:before,\n.fa-battery-full:before {\n content: \"\";\n}\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\";\n}\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\";\n}\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\";\n}\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\";\n}\n\n.fa-mouse-pointer:before {\n content: \"\";\n}\n\n.fa-i-cursor:before {\n content: \"\";\n}\n\n.fa-object-group:before {\n content: \"\";\n}\n\n.fa-object-ungroup:before {\n content: \"\";\n}\n\n.fa-sticky-note:before {\n content: \"\";\n}\n\n.fa-sticky-note-o:before {\n content: \"\";\n}\n\n.fa-cc-jcb:before {\n content: \"\";\n}\n\n.fa-cc-diners-club:before {\n content: \"\";\n}\n\n.fa-clone:before {\n content: \"\";\n}\n\n.fa-balance-scale:before {\n content: \"\";\n}\n\n.fa-hourglass-o:before {\n content: \"\";\n}\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\";\n}\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\";\n}\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\";\n}\n\n.fa-hourglass:before {\n content: \"\";\n}\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\";\n}\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\";\n}\n\n.fa-hand-scissors-o:before {\n content: \"\";\n}\n\n.fa-hand-lizard-o:before {\n content: \"\";\n}\n\n.fa-hand-spock-o:before {\n content: \"\";\n}\n\n.fa-hand-pointer-o:before {\n content: \"\";\n}\n\n.fa-hand-peace-o:before {\n content: \"\";\n}\n\n.fa-trademark:before {\n content: \"\";\n}\n\n.fa-registered:before {\n content: \"\";\n}\n\n.fa-creative-commons:before {\n content: \"\";\n}\n\n.fa-gg:before {\n content: \"\";\n}\n\n.fa-gg-circle:before {\n content: \"\";\n}\n\n.fa-tripadvisor:before {\n content: \"\";\n}\n\n.fa-odnoklassniki:before {\n content: \"\";\n}\n\n.fa-odnoklassniki-square:before {\n content: \"\";\n}\n\n.fa-get-pocket:before {\n content: \"\";\n}\n\n.fa-wikipedia-w:before {\n content: \"\";\n}\n\n.fa-safari:before {\n content: \"\";\n}\n\n.fa-chrome:before {\n content: \"\";\n}\n\n.fa-firefox:before {\n content: \"\";\n}\n\n.fa-opera:before {\n content: \"\";\n}\n\n.fa-internet-explorer:before {\n content: \"\";\n}\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\";\n}\n\n.fa-contao:before {\n content: \"\";\n}\n\n.fa-500px:before {\n content: \"\";\n}\n\n.fa-amazon:before {\n content: \"\";\n}\n\n.fa-calendar-plus-o:before {\n content: \"\";\n}\n\n.fa-calendar-minus-o:before {\n content: \"\";\n}\n\n.fa-calendar-times-o:before {\n content: \"\";\n}\n\n.fa-calendar-check-o:before {\n content: \"\";\n}\n\n.fa-industry:before {\n content: \"\";\n}\n\n.fa-map-pin:before {\n content: \"\";\n}\n\n.fa-map-signs:before {\n content: \"\";\n}\n\n.fa-map-o:before {\n content: \"\";\n}\n\n.fa-map:before {\n content: \"\";\n}\n\n.fa-commenting:before {\n content: \"\";\n}\n\n.fa-commenting-o:before {\n content: \"\";\n}\n\n.fa-houzz:before {\n content: \"\";\n}\n\n.fa-vimeo:before {\n content: \"\";\n}\n\n.fa-black-tie:before {\n content: \"\";\n}\n\n.fa-fonticons:before {\n content: \"\";\n}\n\n.fa-reddit-alien:before {\n content: \"\";\n}\n\n.fa-edge:before {\n content: \"\";\n}\n\n.fa-credit-card-alt:before {\n content: \"\";\n}\n\n.fa-codiepie:before {\n content: \"\";\n}\n\n.fa-modx:before {\n content: \"\";\n}\n\n.fa-fort-awesome:before {\n content: \"\";\n}\n\n.fa-usb:before {\n content: \"\";\n}\n\n.fa-product-hunt:before {\n content: \"\";\n}\n\n.fa-mixcloud:before {\n content: \"\";\n}\n\n.fa-scribd:before {\n content: \"\";\n}\n\n.fa-pause-circle:before {\n content: \"\";\n}\n\n.fa-pause-circle-o:before {\n content: \"\";\n}\n\n.fa-stop-circle:before {\n content: \"\";\n}\n\n.fa-stop-circle-o:before {\n content: \"\";\n}\n\n.fa-shopping-bag:before {\n content: \"\";\n}\n\n.fa-shopping-basket:before {\n content: \"\";\n}\n\n.fa-hashtag:before {\n content: \"\";\n}\n\n.fa-bluetooth:before {\n content: \"\";\n}\n\n.fa-bluetooth-b:before {\n content: \"\";\n}\n\n.fa-percent:before {\n content: \"\";\n}\n\n.fa-gitlab:before {\n content: \"\";\n}\n\n.fa-wpbeginner:before {\n content: \"\";\n}\n\n.fa-wpforms:before {\n content: \"\";\n}\n\n.fa-envira:before {\n content: \"\";\n}\n\n.fa-universal-access:before {\n content: \"\";\n}\n\n.fa-wheelchair-alt:before {\n content: \"\";\n}\n\n.fa-question-circle-o:before {\n content: \"\";\n}\n\n.fa-blind:before {\n content: \"\";\n}\n\n.fa-audio-description:before {\n content: \"\";\n}\n\n.fa-volume-control-phone:before {\n content: \"\";\n}\n\n.fa-braille:before {\n content: \"\";\n}\n\n.fa-assistive-listening-systems:before {\n content: \"\";\n}\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\";\n}\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\";\n}\n\n.fa-glide:before {\n content: \"\";\n}\n\n.fa-glide-g:before {\n content: \"\";\n}\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\";\n}\n\n.fa-low-vision:before {\n content: \"\";\n}\n\n.fa-viadeo:before {\n content: \"\";\n}\n\n.fa-viadeo-square:before {\n content: \"\";\n}\n\n.fa-snapchat:before {\n content: \"\";\n}\n\n.fa-snapchat-ghost:before {\n content: \"\";\n}\n\n.fa-snapchat-square:before {\n content: \"\";\n}\n\n.fa-pied-piper:before {\n content: \"\";\n}\n\n.fa-first-order:before {\n content: \"\";\n}\n\n.fa-yoast:before {\n content: \"\";\n}\n\n.fa-themeisle:before {\n content: \"\";\n}\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\";\n}\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\";\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n\n@keyframes fill_from_left {\n from {\n width: 0%;\n }\n to {\n width: 100%;\n }\n}\n\nbody,\nhtml {\n background: #F5F5F5;\n color: #000000;\n font-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n}\n\nbody {\n overflow-y: scroll;\n overflow-x: hidden;\n}\n\nmain,\nfooter {\n margin-left: 200px;\n}\n\nmain {\n position: relative;\n min-height: 100vh;\n}\n\nmain a {\n color: inherit;\n text-decoration: none;\n border-bottom: 1px dotted transparent;\n}\n\nmain a:hover {\n border-color: #000000;\n}\n\nmain section {\n padding: 40px;\n}\n\nmain h1 {\n font-weight: 500;\n font-size: 40px;\n}\n\nmain h2 {\n font-weight: 500;\n font-size: 30px;\n}\n\nmain h3 {\n font-weight: 100;\n font-style: italic;\n font-size: 20px;\n}\n\nmain h4 {\n font-size: 14px;\n margin-bottom: 14px;\n text-transform: uppercase;\n}\n\nmain h4.underline {\n padding-bottom: 4px;\n border-bottom: 1px solid #000000;\n}\n\nmain h4:not(:first-child) {\n padding-top: 40px;\n}\n\nmain .no-top-padding {\n padding-top: 0;\n}\n\nmain .no-bottom-padding {\n padding-bottom: 0;\n}\n\nmain .no-right-padding {\n padding-right: 0;\n}\n\nmain .no-left-padding {\n padding-left: 0;\n}\n\nmain .top-padding {\n padding-top: 20px;\n}\n\nmain .bottom-padding {\n padding-bottom: 20px;\n}\n\nmain .right-padding {\n padding-right: 40px;\n}\n\nmain .left-padding {\n padding-left: 40px;\n}\n\n.col {\n min-height: 1px;\n float: left;\n}\n\n.col.w5 {\n width: 5%;\n}\n\n.col.w10 {\n width: 10%;\n}\n\n.col.w15 {\n width: 15%;\n}\n\n.col.w20 {\n width: 20%;\n}\n\n.col.w25 {\n width: 25%;\n}\n\n.col.w30 {\n width: 30%;\n}\n\n.col.w33 {\n width: 33.3334%;\n}\n\n.col.w35 {\n width: 35%;\n}\n\n.col.w40 {\n width: 40%;\n}\n\n.col.w45 {\n width: 45%;\n}\n\n.col.w50 {\n width: 50%;\n}\n\n.col.w55 {\n width: 55%;\n}\n\n.col.w60 {\n width: 60%;\n}\n\n.col.w65 {\n width: 65%;\n}\n\n.col.w66 {\n width: 66.6667%;\n}\n\n.col.w70 {\n width: 70%;\n}\n\n.col.w75 {\n width: 75%;\n}\n\n.col.w80 {\n width: 80%;\n}\n\n.col.w85 {\n width: 85%;\n}\n\n.col.w90 {\n width: 90%;\n}\n\n.col.w95 {\n width: 95%;\n}\n\n.col.w100 {\n width: 100%;\n}\n\n.cf::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.one-liner {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.grey-text {\n color: #AAAAAA;\n}\n\nfooter {\n display: block;\n color: #DDDDDD;\n padding-top: 50px;\n padding-bottom: 50px;\n text-align: center;\n}\n\n.details {\n list-style-type: none;\n color: #AAAAAA;\n text-transform: uppercase;\n}\n\n.details li {\n padding-bottom: 4px;\n}\n\n* {\n border: 0;\n margin: 0;\n padding: 0;\n outline: 0;\n}\n\nbutton,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"date\"] {\n padding: 10px 14px;\n background: #FFFFFF;\n color: #000000;\n font-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n}\n\n.button,\nbutton,\ninput[type=\"button\"],\ninput[type=\"submit\"] {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n padding: 10px 20px;\n border: 0;\n color: #000000;\n background: #DDDDDD;\n}\n\n.button:hover,\nbutton:hover,\ninput[type=\"button\"]:hover,\ninput[type=\"submit\"]:hover {\n cursor: pointer;\n background: #cecece;\n}\n\n.button.primary,\nbutton.primary,\ninput[type=\"button\"].primary,\ninput[type=\"submit\"].primary {\n background: #08d58f;\n color: #FFFFFF;\n}\n\n.button.primary:hover,\nbutton.primary:hover,\ninput[type=\"button\"].primary:hover,\ninput[type=\"submit\"].primary:hover {\n background: #07b87b;\n}\n\n.button.secondary,\nbutton.secondary,\ninput[type=\"button\"].secondary,\ninput[type=\"submit\"].secondary {\n background: #000000;\n color: #FFFFFF;\n}\n\n.button.secondary:hover,\nbutton.secondary:hover,\ninput[type=\"button\"].secondary:hover,\ninput[type=\"submit\"].secondary:hover {\n background: #333333;\n}\n\n.button.confirming, .button.destructive,\nbutton.confirming,\nbutton.destructive,\ninput[type=\"button\"].confirming,\ninput[type=\"button\"].destructive,\ninput[type=\"submit\"].confirming,\ninput[type=\"submit\"].destructive {\n background: #cf2d2d;\n color: #FFFFFF;\n}\n\n.button.confirming:hover, .button.destructive:hover,\nbutton.confirming:hover,\nbutton.destructive:hover,\ninput[type=\"button\"].confirming:hover,\ninput[type=\"button\"].destructive:hover,\ninput[type=\"submit\"].confirming:hover,\ninput[type=\"submit\"].destructive:hover {\n background: #b62828;\n}\n\n.button.timing-out,\nbutton.timing-out,\ninput[type=\"button\"].timing-out,\ninput[type=\"submit\"].timing-out {\n position: relative;\n}\n\n.button.timing-out::before,\nbutton.timing-out::before,\ninput[type=\"button\"].timing-out::before,\ninput[type=\"submit\"].timing-out::before {\n animation-name: fill_from_left;\n animation-duration: 2s;\n animation-timing-function: linear;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 0;\n background: rgba(255, 255, 255, 0.15);\n}\n\n.button[disabled], .button[disabled=\"disabled\"],\nbutton[disabled],\nbutton[disabled=\"disabled\"],\ninput[type=\"button\"][disabled],\ninput[type=\"button\"][disabled=\"disabled\"],\ninput[type=\"submit\"][disabled],\ninput[type=\"submit\"][disabled=\"disabled\"] {\n background: #DDDDDD !important;\n color: #AAAAAA !important;\n cursor: not-allowed !important;\n}\n\nlabel {\n display: block;\n padding-bottom: 8px;\n}\n\nlabel::after {\n content: '';\n clear: both;\n display: block;\n}\n\nlabel .label {\n display: block;\n padding-top: 10px;\n width: 15%;\n float: left;\n}\n\nlabel .input {\n width: 85%;\n float: left;\n}\n\nlabel .input input {\n width: 60%;\n}\n\n.slider {\n margin: 10px 0;\n height: 5px;\n position: relative;\n background: rgba(255, 255, 255, 0.3);\n cursor: pointer;\n}\n\n.slider .progress {\n left: 0;\n top: 0;\n height: 100%;\n background: #08d58f;\n pointer-events: none;\n}\n\n.lazy-loader {\n height: 50px;\n color: #DDDDDD;\n}\n\n.context-menu {\n position: fixed;\n left: 0;\n top: 0;\n z-index: 9999;\n background: #333333;\n color: #FFFFFF;\n}\n\n.context-menu a {\n display: block;\n padding: 8px 12px;\n width: 120px;\n}\n\n.context-menu a:not(:first-child) {\n border-top: 1px solid #474747;\n}\n\n.context-menu a:hover {\n cursor: pointer;\n background: #404040;\n}\n\n.thumbnail {\n width: 100%;\n max-width: 300px;\n overflow: hidden;\n}\n\n.thumbnail .image {\n width: 100%;\n padding-bottom: 100%;\n position: relative;\n background-repeat: no-repeat;\n background-color: #DDDDDD;\n background-position: 50% 50%;\n background-size: cover;\n}\n\n.thumbnail.small {\n max-width: 50px;\n}\n\n.thumbnail.circle {\n border-radius: 50%;\n}\n\n.parallax {\n height: 50vh;\n width: 100%;\n overflow: hidden;\n background: #333333;\n}\n\n.parallax canvas {\n width: 100%;\n height: 100%;\n opacity: 0;\n -webkit-transition: all 0.4s ease-in-out;\n -moz-transition: all 0.4s ease-in-out;\n -o-transition: all 0.4s ease-in-out;\n transition: all 0.4s ease-in-out;\n}\n\n.parallax canvas.loaded {\n opacity: 0.5;\n}\n\n.icon.white {\n -webkit-filter: invert(1);\n -moz-filter: invert(1);\n filter: invert(1);\n}\n\n.search-form input {\n background: transparent;\n border-bottom: 1px solid #FFFFFF;\n padding: 16px 0 8px;\n width: 100%;\n color: #FFFFFF;\n}\n\n.search-form input:focus, .search-form input:active {\n border-color: #08d58f;\n}\n\n.search-form.sidebar {\n padding: 10px 15px 0 15px;\n}\n\naside {\n position: fixed;\n top: 0;\n left: 0;\n bottom: 0;\n background: #111111;\n width: 200px;\n overflow: hidden;\n box-shadow: inset -20px 0px 30px -20px rgba(0, 0, 0, 0.5);\n}\n\naside .thumbnail {\n position: absolute;\n top: -30px;\n right: -30px;\n bottom: -30px;\n left: -30px;\n height: auto;\n width: auto;\n max-width: none;\n z-index: -1;\n opacity: 0.2;\n}\n\naside .thumbnail .image {\n -webkit-filter: blur(10px);\n filter: blur(10px);\n padding-bottom: 0;\n height: 100%;\n}\n\naside nav {\n padding-top: 20px;\n}\n\naside nav a {\n font-size: 16px;\n color: #FFFFFF;\n text-decoration: none;\n display: block;\n padding: 6px 18px 6px 14px;\n border-left: 4px solid transparent;\n}\n\naside nav a .icon {\n height: 14px;\n padding-right: 8px;\n vertical-align: top;\n margin-top: 4px;\n}\n\naside nav a.active {\n border-color: #08d58f;\n background: rgba(0, 0, 0, 0.5);\n}\n\naside nav a[disabled] {\n opacity: 0.3;\n cursor: not-allowed;\n}\n\naside nav a:hover:not([disabled]) {\n background: rgba(255, 255, 255, 0.1);\n}\n\naside nav section {\n padding: 10px 0;\n}\n\naside nav section title {\n display: block;\n padding: 0 18px 2px;\n font-size: 11px;\n text-transform: uppercase;\n opacity: 0.5;\n color: #FFFFFF;\n}\n\naside .player {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n padding: 14px;\n}\n\naside .player .track-in-focus {\n font-size: 16px;\n text-transform: uppercase;\n text-align: center;\n color: #FFFFFF;\n}\n\naside .player .track-in-focus .title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\naside .player .track-in-focus .artist-sentence {\n opacity: 0.5;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\naside .player .track-in-focus .artist-sentence .artist {\n color: inherit;\n text-decoration: none;\n border-bottom: 1px dotted transparent;\n}\n\naside .player .track-in-focus .artist-sentence .artist:hover {\n border-color: #FFFFFF !important;\n}\n\naside .player .controls {\n text-align: center;\n}\n\naside .player .controls a {\n color: #FFFFFF;\n cursor: pointer;\n font-size: 14px;\n padding: 8px;\n display: inline-block;\n opacity: 0.8;\n}\n\naside .player .controls a.active {\n color: #08d58f;\n}\n\naside .player .controls a:hover {\n opacity: 1.0;\n}\n\n.list-item {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n display: block;\n position: relative;\n padding: 9px 10px 9px 40px;\n border-top: 1px solid #EEEEEE;\n border-bottom: 1px solid #EEEEEE;\n margin-bottom: -1px;\n}\n\n.list-item::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.list-item.selected {\n background: #FFF39C !important;\n}\n\n.list-item:not(.header):hover {\n background: #EEEEEE;\n cursor: pointer;\n border-color: #EEEEEE;\n}\n\n.list-item.header {\n font-size: 10px;\n color: #CCCCCC;\n text-transform: uppercase;\n border-top: 0;\n padding-bottom: 2px;\n}\n\n.list-item.track .col.name, .list-item.track .col.artists, .list-item.track .col.album {\n width: 30%;\n}\n\n.list-item.track .select-state {\n position: absolute;\n top: 12px;\n left: 15px;\n font-size: 10px;\n}\n\n.list-item.track.playing {\n font-weight: 600;\n}\n\n.list-item.playlist .col.name {\n width: 30%;\n}\n\n.list-item.playlist .col.owner {\n width: 20%;\n}\n\n.artist-list .artist {\n display: block;\n border: 0;\n margin-bottom: 15px;\n}\n\n.artist-list .artist::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.artist-list .artist .thumbnail {\n width: 50px;\n margin-right: 20px;\n float: left;\n border: 3px solid transparent;\n}\n\n.artist-list .artist .name {\n display: inline-block;\n padding-top: 15px;\n}\n\n.artist-list .artist:hover .thumbnail {\n border-color: #08d58f;\n opacity: 0.8;\n}\n\n.grid {\n padding: 40px 20px;\n}\n\n.grid .grid-item {\n width: 16%;\n margin: 0 2% 3%;\n display: inline-block;\n vertical-align: top;\n border-bottom: 0;\n}\n\n.grid .grid-item:nth-child(5)::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.grid .grid-item .thumbnail {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n max-width: 100%;\n}\n\n.grid .grid-item .name {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 8px;\n}\n\n.grid .grid-item .secondary {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n color: #888888;\n}\n\n.grid .grid-item:hover {\n cursor: pointer;\n}\n\n.grid .grid-item:hover .thumbnail {\n opacity: 0.75;\n}\n\n.grid.category-grid .grid-item {\n position: relative;\n}\n\n.grid.category-grid .grid-item .name {\n position: absolute;\n bottom: 15%;\n left: 0;\n right: 0;\n text-align: center;\n font-size: 14px;\n font-weight: 600;\n color: #FFFFFF;\n}\n\n@media (max-width: 2400px) {\n .grid.mini .grid-item {\n width: 29.33333%;\n }\n .grid.mini .grid-item:nth-child(3)::after {\n content: '';\n clear: both;\n display: block;\n }\n .grid:not(.mini) .grid-item {\n width: 12.66667%;\n }\n .grid:not(.mini) .grid-item:nth-child(6)::after {\n content: '';\n clear: both;\n display: block;\n }\n}\n\n@media (max-width: 1200px) {\n .grid.mini .grid-item {\n width: 46%;\n }\n .grid.mini .grid-item:nth-child(2)::after {\n content: '';\n clear: both;\n display: block;\n }\n .grid:not(.mini) .grid-item {\n width: 16%;\n }\n .grid:not(.mini) .grid-item:nth-child(5)::after {\n content: '';\n clear: both;\n display: block;\n }\n}\n\n@media (max-width: 850px) {\n .grid.mini .grid-item {\n width: 46%;\n }\n .grid.mini .grid-item:nth-child(2)::after {\n content: '';\n clear: both;\n display: block;\n }\n .grid:not(.mini) .grid-item {\n width: 21%;\n }\n .grid:not(.mini) .grid-item:nth-child(4)::after {\n content: '';\n clear: both;\n display: block;\n }\n}\n\n@media (max-width: 650px) {\n .grid:not(.mini) .grid-item {\n width: 29.33333%;\n }\n .grid:not(.mini) .grid-item:nth-child(3)::after {\n content: '';\n clear: both;\n display: block;\n }\n}\n\nmain header {\n padding: 14px 20px;\n background: #EEEEEE;\n}\n\nmain header .icon {\n display: inline-block;\n padding-right: 14px;\n height: 16px;\n}\n\nmain header h1 {\n font-size: 22px;\n font-weight: 100;\n display: inline-block;\n}\n\n.artist-view .intro {\n position: relative;\n margin: -100px 0 20px 0;\n}\n\n.artist-view .intro::after {\n content: '';\n clear: both;\n display: block;\n}\n\n.artist-view .intro .thumbnail {\n max-width: 200px;\n margin: 0 20px 0 40px;\n float: left;\n}\n\n.artist-view .intro h1 {\n color: #FFFFFF;\n padding-top: 30px;\n padding-bottom: 45px;\n}\n\n.album-view .main {\n padding-left: 35%;\n}\n\n.album-view .main .title {\n padding: 30px 40px;\n}\n\n.album-view .main .title h3 {\n color: #AAAAAA;\n}\n\n.album-view .main .title h3 a:hover {\n color: #777777;\n}\n\n.album-view .intro {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 35%;\n background: #EEEEEE;\n}\n\n.album-view .intro .thumbnail {\n float: none;\n margin: 0 auto;\n max-width: none;\n}\n\n.album-view .intro .details {\n padding: 30px;\n}\n\n.album-view .intro .artist-grid {\n padding: 0;\n margin: 0;\n}\n\n.album-view .intro .artist-grid .grid-item {\n margin: 0;\n width: 50%;\n position: relative;\n}\n\n.album-view .intro .artist-grid .grid-item .thumbnail .image {\n background-color: #888888;\n}\n\n.album-view .intro .artist-grid .grid-item .name {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n position: absolute;\n top: 35%;\n left: 0;\n right: 0;\n text-align: center;\n color: #FFFFFF;\n opacity: 0;\n z-index: 2;\n font-weight: bold;\n}\n\n.album-view .intro .artist-grid .grid-item:hover .name {\n opacity: 1;\n}\n\n.playlist-view .main {\n padding-left: 35%;\n}\n\n.playlist-view .main .title {\n padding: 30px 40px;\n}\n\n.playlist-view .main .title h3 {\n color: #AAAAAA;\n}\n\n.playlist-view .main .title h3 a:hover {\n color: #777777;\n}\n\n.playlist-view .intro {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 35%;\n background: #EEEEEE;\n}\n\n.playlist-view .intro .thumbnail {\n float: none;\n margin: 0 auto;\n max-width: none;\n}\n\n.playlist-view .intro .details {\n padding: 30px;\n}\n\n.playlist-view .intro .artist-grid {\n padding: 0;\n margin: 0;\n}\n\n.playlist-view .intro .artist-grid .grid-item {\n margin: 0;\n width: 50%;\n position: relative;\n}\n\n.playlist-view .intro .artist-grid .grid-item .thumbnail .image {\n background-color: #888888;\n}\n\n.playlist-view .intro .artist-grid .grid-item .name {\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n position: absolute;\n top: 35%;\n left: 0;\n right: 0;\n text-align: center;\n color: #FFFFFF;\n opacity: 0;\n z-index: 2;\n font-weight: bold;\n}\n\n.playlist-view .intro .artist-grid .grid-item:hover .name {\n opacity: 1;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/app.scss\n **/","/*!\n * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n@import \"variables\";\n@import \"mixins\";\n@import \"path\";\n@import \"core\";\n@import \"larger\";\n@import \"fixed-width\";\n@import \"list\";\n@import \"bordered-pulled\";\n@import \"animated\";\n@import \"rotated-flipped\";\n@import \"stacked\";\n@import \"icons\";\n@import \"screen-reader\";\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_index.scss\n **/","/* FONT PATH\n * -------------------------- */\n\n@font-face {\n font-family: 'FontAwesome';\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}');\n src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'),\n url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'),\n url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'),\n url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'),\n url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg');\n// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts\n font-weight: normal;\n font-style: normal;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_path.scss\n **/","// Base Class Definition\n// -------------------------\n\n.#{$fa-css-prefix} {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_core.scss\n **/","// Icon Sizes\n// -------------------------\n\n/* makes the font 33% larger relative to the icon container */\n.#{$fa-css-prefix}-lg {\n font-size: (4em / 3);\n line-height: (3em / 4);\n vertical-align: -15%;\n}\n.#{$fa-css-prefix}-2x { font-size: 2em; }\n.#{$fa-css-prefix}-3x { font-size: 3em; }\n.#{$fa-css-prefix}-4x { font-size: 4em; }\n.#{$fa-css-prefix}-5x { font-size: 5em; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_larger.scss\n **/","// Fixed Width Icons\n// -------------------------\n.#{$fa-css-prefix}-fw {\n width: (18em / 14);\n text-align: center;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_fixed-width.scss\n **/","// List Icons\n// -------------------------\n\n.#{$fa-css-prefix}-ul {\n padding-left: 0;\n margin-left: $fa-li-width;\n list-style-type: none;\n > li { position: relative; }\n}\n.#{$fa-css-prefix}-li {\n position: absolute;\n left: -$fa-li-width;\n width: $fa-li-width;\n top: (2em / 14);\n text-align: center;\n &.#{$fa-css-prefix}-lg {\n left: -$fa-li-width + (4em / 14);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_list.scss\n **/","// Variables\n// --------------------------\n\n$fa-font-path: \"../assets/fonts\" !default;\n$fa-font-size-base: 14px !default;\n$fa-line-height-base: 1 !default;\n//$fa-font-path: \"//netdna.bootstrapcdn.com/font-awesome/4.6.3/fonts\" !default; // for referencing Bootstrap CDN font files directly\n$fa-css-prefix: fa !default;\n$fa-version: \"4.6.3\" !default;\n$fa-border-color: #eee !default;\n$fa-inverse: #fff !default;\n$fa-li-width: (30em / 14) !default;\n\n$fa-var-500px: \"\\f26e\";\n$fa-var-adjust: \"\\f042\";\n$fa-var-adn: \"\\f170\";\n$fa-var-align-center: \"\\f037\";\n$fa-var-align-justify: \"\\f039\";\n$fa-var-align-left: \"\\f036\";\n$fa-var-align-right: \"\\f038\";\n$fa-var-amazon: \"\\f270\";\n$fa-var-ambulance: \"\\f0f9\";\n$fa-var-american-sign-language-interpreting: \"\\f2a3\";\n$fa-var-anchor: \"\\f13d\";\n$fa-var-android: \"\\f17b\";\n$fa-var-angellist: \"\\f209\";\n$fa-var-angle-double-down: \"\\f103\";\n$fa-var-angle-double-left: \"\\f100\";\n$fa-var-angle-double-right: \"\\f101\";\n$fa-var-angle-double-up: \"\\f102\";\n$fa-var-angle-down: \"\\f107\";\n$fa-var-angle-left: \"\\f104\";\n$fa-var-angle-right: \"\\f105\";\n$fa-var-angle-up: \"\\f106\";\n$fa-var-apple: \"\\f179\";\n$fa-var-archive: \"\\f187\";\n$fa-var-area-chart: \"\\f1fe\";\n$fa-var-arrow-circle-down: \"\\f0ab\";\n$fa-var-arrow-circle-left: \"\\f0a8\";\n$fa-var-arrow-circle-o-down: \"\\f01a\";\n$fa-var-arrow-circle-o-left: \"\\f190\";\n$fa-var-arrow-circle-o-right: \"\\f18e\";\n$fa-var-arrow-circle-o-up: \"\\f01b\";\n$fa-var-arrow-circle-right: \"\\f0a9\";\n$fa-var-arrow-circle-up: \"\\f0aa\";\n$fa-var-arrow-down: \"\\f063\";\n$fa-var-arrow-left: \"\\f060\";\n$fa-var-arrow-right: \"\\f061\";\n$fa-var-arrow-up: \"\\f062\";\n$fa-var-arrows: \"\\f047\";\n$fa-var-arrows-alt: \"\\f0b2\";\n$fa-var-arrows-h: \"\\f07e\";\n$fa-var-arrows-v: \"\\f07d\";\n$fa-var-asl-interpreting: \"\\f2a3\";\n$fa-var-assistive-listening-systems: \"\\f2a2\";\n$fa-var-asterisk: \"\\f069\";\n$fa-var-at: \"\\f1fa\";\n$fa-var-audio-description: \"\\f29e\";\n$fa-var-automobile: \"\\f1b9\";\n$fa-var-backward: \"\\f04a\";\n$fa-var-balance-scale: \"\\f24e\";\n$fa-var-ban: \"\\f05e\";\n$fa-var-bank: \"\\f19c\";\n$fa-var-bar-chart: \"\\f080\";\n$fa-var-bar-chart-o: \"\\f080\";\n$fa-var-barcode: \"\\f02a\";\n$fa-var-bars: \"\\f0c9\";\n$fa-var-battery-0: \"\\f244\";\n$fa-var-battery-1: \"\\f243\";\n$fa-var-battery-2: \"\\f242\";\n$fa-var-battery-3: \"\\f241\";\n$fa-var-battery-4: \"\\f240\";\n$fa-var-battery-empty: \"\\f244\";\n$fa-var-battery-full: \"\\f240\";\n$fa-var-battery-half: \"\\f242\";\n$fa-var-battery-quarter: \"\\f243\";\n$fa-var-battery-three-quarters: \"\\f241\";\n$fa-var-bed: \"\\f236\";\n$fa-var-beer: \"\\f0fc\";\n$fa-var-behance: \"\\f1b4\";\n$fa-var-behance-square: \"\\f1b5\";\n$fa-var-bell: \"\\f0f3\";\n$fa-var-bell-o: \"\\f0a2\";\n$fa-var-bell-slash: \"\\f1f6\";\n$fa-var-bell-slash-o: \"\\f1f7\";\n$fa-var-bicycle: \"\\f206\";\n$fa-var-binoculars: \"\\f1e5\";\n$fa-var-birthday-cake: \"\\f1fd\";\n$fa-var-bitbucket: \"\\f171\";\n$fa-var-bitbucket-square: \"\\f172\";\n$fa-var-bitcoin: \"\\f15a\";\n$fa-var-black-tie: \"\\f27e\";\n$fa-var-blind: \"\\f29d\";\n$fa-var-bluetooth: \"\\f293\";\n$fa-var-bluetooth-b: \"\\f294\";\n$fa-var-bold: \"\\f032\";\n$fa-var-bolt: \"\\f0e7\";\n$fa-var-bomb: \"\\f1e2\";\n$fa-var-book: \"\\f02d\";\n$fa-var-bookmark: \"\\f02e\";\n$fa-var-bookmark-o: \"\\f097\";\n$fa-var-braille: \"\\f2a1\";\n$fa-var-briefcase: \"\\f0b1\";\n$fa-var-btc: \"\\f15a\";\n$fa-var-bug: \"\\f188\";\n$fa-var-building: \"\\f1ad\";\n$fa-var-building-o: \"\\f0f7\";\n$fa-var-bullhorn: \"\\f0a1\";\n$fa-var-bullseye: \"\\f140\";\n$fa-var-bus: \"\\f207\";\n$fa-var-buysellads: \"\\f20d\";\n$fa-var-cab: \"\\f1ba\";\n$fa-var-calculator: \"\\f1ec\";\n$fa-var-calendar: \"\\f073\";\n$fa-var-calendar-check-o: \"\\f274\";\n$fa-var-calendar-minus-o: \"\\f272\";\n$fa-var-calendar-o: \"\\f133\";\n$fa-var-calendar-plus-o: \"\\f271\";\n$fa-var-calendar-times-o: \"\\f273\";\n$fa-var-camera: \"\\f030\";\n$fa-var-camera-retro: \"\\f083\";\n$fa-var-car: \"\\f1b9\";\n$fa-var-caret-down: \"\\f0d7\";\n$fa-var-caret-left: \"\\f0d9\";\n$fa-var-caret-right: \"\\f0da\";\n$fa-var-caret-square-o-down: \"\\f150\";\n$fa-var-caret-square-o-left: \"\\f191\";\n$fa-var-caret-square-o-right: \"\\f152\";\n$fa-var-caret-square-o-up: \"\\f151\";\n$fa-var-caret-up: \"\\f0d8\";\n$fa-var-cart-arrow-down: \"\\f218\";\n$fa-var-cart-plus: \"\\f217\";\n$fa-var-cc: \"\\f20a\";\n$fa-var-cc-amex: \"\\f1f3\";\n$fa-var-cc-diners-club: \"\\f24c\";\n$fa-var-cc-discover: \"\\f1f2\";\n$fa-var-cc-jcb: \"\\f24b\";\n$fa-var-cc-mastercard: \"\\f1f1\";\n$fa-var-cc-paypal: \"\\f1f4\";\n$fa-var-cc-stripe: \"\\f1f5\";\n$fa-var-cc-visa: \"\\f1f0\";\n$fa-var-certificate: \"\\f0a3\";\n$fa-var-chain: \"\\f0c1\";\n$fa-var-chain-broken: \"\\f127\";\n$fa-var-check: \"\\f00c\";\n$fa-var-check-circle: \"\\f058\";\n$fa-var-check-circle-o: \"\\f05d\";\n$fa-var-check-square: \"\\f14a\";\n$fa-var-check-square-o: \"\\f046\";\n$fa-var-chevron-circle-down: \"\\f13a\";\n$fa-var-chevron-circle-left: \"\\f137\";\n$fa-var-chevron-circle-right: \"\\f138\";\n$fa-var-chevron-circle-up: \"\\f139\";\n$fa-var-chevron-down: \"\\f078\";\n$fa-var-chevron-left: \"\\f053\";\n$fa-var-chevron-right: \"\\f054\";\n$fa-var-chevron-up: \"\\f077\";\n$fa-var-child: \"\\f1ae\";\n$fa-var-chrome: \"\\f268\";\n$fa-var-circle: \"\\f111\";\n$fa-var-circle-o: \"\\f10c\";\n$fa-var-circle-o-notch: \"\\f1ce\";\n$fa-var-circle-thin: \"\\f1db\";\n$fa-var-clipboard: \"\\f0ea\";\n$fa-var-clock-o: \"\\f017\";\n$fa-var-clone: \"\\f24d\";\n$fa-var-close: \"\\f00d\";\n$fa-var-cloud: \"\\f0c2\";\n$fa-var-cloud-download: \"\\f0ed\";\n$fa-var-cloud-upload: \"\\f0ee\";\n$fa-var-cny: \"\\f157\";\n$fa-var-code: \"\\f121\";\n$fa-var-code-fork: \"\\f126\";\n$fa-var-codepen: \"\\f1cb\";\n$fa-var-codiepie: \"\\f284\";\n$fa-var-coffee: \"\\f0f4\";\n$fa-var-cog: \"\\f013\";\n$fa-var-cogs: \"\\f085\";\n$fa-var-columns: \"\\f0db\";\n$fa-var-comment: \"\\f075\";\n$fa-var-comment-o: \"\\f0e5\";\n$fa-var-commenting: \"\\f27a\";\n$fa-var-commenting-o: \"\\f27b\";\n$fa-var-comments: \"\\f086\";\n$fa-var-comments-o: \"\\f0e6\";\n$fa-var-compass: \"\\f14e\";\n$fa-var-compress: \"\\f066\";\n$fa-var-connectdevelop: \"\\f20e\";\n$fa-var-contao: \"\\f26d\";\n$fa-var-copy: \"\\f0c5\";\n$fa-var-copyright: \"\\f1f9\";\n$fa-var-creative-commons: \"\\f25e\";\n$fa-var-credit-card: \"\\f09d\";\n$fa-var-credit-card-alt: \"\\f283\";\n$fa-var-crop: \"\\f125\";\n$fa-var-crosshairs: \"\\f05b\";\n$fa-var-css3: \"\\f13c\";\n$fa-var-cube: \"\\f1b2\";\n$fa-var-cubes: \"\\f1b3\";\n$fa-var-cut: \"\\f0c4\";\n$fa-var-cutlery: \"\\f0f5\";\n$fa-var-dashboard: \"\\f0e4\";\n$fa-var-dashcube: \"\\f210\";\n$fa-var-database: \"\\f1c0\";\n$fa-var-deaf: \"\\f2a4\";\n$fa-var-deafness: \"\\f2a4\";\n$fa-var-dedent: \"\\f03b\";\n$fa-var-delicious: \"\\f1a5\";\n$fa-var-desktop: \"\\f108\";\n$fa-var-deviantart: \"\\f1bd\";\n$fa-var-diamond: \"\\f219\";\n$fa-var-digg: \"\\f1a6\";\n$fa-var-dollar: \"\\f155\";\n$fa-var-dot-circle-o: \"\\f192\";\n$fa-var-download: \"\\f019\";\n$fa-var-dribbble: \"\\f17d\";\n$fa-var-dropbox: \"\\f16b\";\n$fa-var-drupal: \"\\f1a9\";\n$fa-var-edge: \"\\f282\";\n$fa-var-edit: \"\\f044\";\n$fa-var-eject: \"\\f052\";\n$fa-var-ellipsis-h: \"\\f141\";\n$fa-var-ellipsis-v: \"\\f142\";\n$fa-var-empire: \"\\f1d1\";\n$fa-var-envelope: \"\\f0e0\";\n$fa-var-envelope-o: \"\\f003\";\n$fa-var-envelope-square: \"\\f199\";\n$fa-var-envira: \"\\f299\";\n$fa-var-eraser: \"\\f12d\";\n$fa-var-eur: \"\\f153\";\n$fa-var-euro: \"\\f153\";\n$fa-var-exchange: \"\\f0ec\";\n$fa-var-exclamation: \"\\f12a\";\n$fa-var-exclamation-circle: \"\\f06a\";\n$fa-var-exclamation-triangle: \"\\f071\";\n$fa-var-expand: \"\\f065\";\n$fa-var-expeditedssl: \"\\f23e\";\n$fa-var-external-link: \"\\f08e\";\n$fa-var-external-link-square: \"\\f14c\";\n$fa-var-eye: \"\\f06e\";\n$fa-var-eye-slash: \"\\f070\";\n$fa-var-eyedropper: \"\\f1fb\";\n$fa-var-fa: \"\\f2b4\";\n$fa-var-facebook: \"\\f09a\";\n$fa-var-facebook-f: \"\\f09a\";\n$fa-var-facebook-official: \"\\f230\";\n$fa-var-facebook-square: \"\\f082\";\n$fa-var-fast-backward: \"\\f049\";\n$fa-var-fast-forward: \"\\f050\";\n$fa-var-fax: \"\\f1ac\";\n$fa-var-feed: \"\\f09e\";\n$fa-var-female: \"\\f182\";\n$fa-var-fighter-jet: \"\\f0fb\";\n$fa-var-file: \"\\f15b\";\n$fa-var-file-archive-o: \"\\f1c6\";\n$fa-var-file-audio-o: \"\\f1c7\";\n$fa-var-file-code-o: \"\\f1c9\";\n$fa-var-file-excel-o: \"\\f1c3\";\n$fa-var-file-image-o: \"\\f1c5\";\n$fa-var-file-movie-o: \"\\f1c8\";\n$fa-var-file-o: \"\\f016\";\n$fa-var-file-pdf-o: \"\\f1c1\";\n$fa-var-file-photo-o: \"\\f1c5\";\n$fa-var-file-picture-o: \"\\f1c5\";\n$fa-var-file-powerpoint-o: \"\\f1c4\";\n$fa-var-file-sound-o: \"\\f1c7\";\n$fa-var-file-text: \"\\f15c\";\n$fa-var-file-text-o: \"\\f0f6\";\n$fa-var-file-video-o: \"\\f1c8\";\n$fa-var-file-word-o: \"\\f1c2\";\n$fa-var-file-zip-o: \"\\f1c6\";\n$fa-var-files-o: \"\\f0c5\";\n$fa-var-film: \"\\f008\";\n$fa-var-filter: \"\\f0b0\";\n$fa-var-fire: \"\\f06d\";\n$fa-var-fire-extinguisher: \"\\f134\";\n$fa-var-firefox: \"\\f269\";\n$fa-var-first-order: \"\\f2b0\";\n$fa-var-flag: \"\\f024\";\n$fa-var-flag-checkered: \"\\f11e\";\n$fa-var-flag-o: \"\\f11d\";\n$fa-var-flash: \"\\f0e7\";\n$fa-var-flask: \"\\f0c3\";\n$fa-var-flickr: \"\\f16e\";\n$fa-var-floppy-o: \"\\f0c7\";\n$fa-var-folder: \"\\f07b\";\n$fa-var-folder-o: \"\\f114\";\n$fa-var-folder-open: \"\\f07c\";\n$fa-var-folder-open-o: \"\\f115\";\n$fa-var-font: \"\\f031\";\n$fa-var-font-awesome: \"\\f2b4\";\n$fa-var-fonticons: \"\\f280\";\n$fa-var-fort-awesome: \"\\f286\";\n$fa-var-forumbee: \"\\f211\";\n$fa-var-forward: \"\\f04e\";\n$fa-var-foursquare: \"\\f180\";\n$fa-var-frown-o: \"\\f119\";\n$fa-var-futbol-o: \"\\f1e3\";\n$fa-var-gamepad: \"\\f11b\";\n$fa-var-gavel: \"\\f0e3\";\n$fa-var-gbp: \"\\f154\";\n$fa-var-ge: \"\\f1d1\";\n$fa-var-gear: \"\\f013\";\n$fa-var-gears: \"\\f085\";\n$fa-var-genderless: \"\\f22d\";\n$fa-var-get-pocket: \"\\f265\";\n$fa-var-gg: \"\\f260\";\n$fa-var-gg-circle: \"\\f261\";\n$fa-var-gift: \"\\f06b\";\n$fa-var-git: \"\\f1d3\";\n$fa-var-git-square: \"\\f1d2\";\n$fa-var-github: \"\\f09b\";\n$fa-var-github-alt: \"\\f113\";\n$fa-var-github-square: \"\\f092\";\n$fa-var-gitlab: \"\\f296\";\n$fa-var-gittip: \"\\f184\";\n$fa-var-glass: \"\\f000\";\n$fa-var-glide: \"\\f2a5\";\n$fa-var-glide-g: \"\\f2a6\";\n$fa-var-globe: \"\\f0ac\";\n$fa-var-google: \"\\f1a0\";\n$fa-var-google-plus: \"\\f0d5\";\n$fa-var-google-plus-circle: \"\\f2b3\";\n$fa-var-google-plus-official: \"\\f2b3\";\n$fa-var-google-plus-square: \"\\f0d4\";\n$fa-var-google-wallet: \"\\f1ee\";\n$fa-var-graduation-cap: \"\\f19d\";\n$fa-var-gratipay: \"\\f184\";\n$fa-var-group: \"\\f0c0\";\n$fa-var-h-square: \"\\f0fd\";\n$fa-var-hacker-news: \"\\f1d4\";\n$fa-var-hand-grab-o: \"\\f255\";\n$fa-var-hand-lizard-o: \"\\f258\";\n$fa-var-hand-o-down: \"\\f0a7\";\n$fa-var-hand-o-left: \"\\f0a5\";\n$fa-var-hand-o-right: \"\\f0a4\";\n$fa-var-hand-o-up: \"\\f0a6\";\n$fa-var-hand-paper-o: \"\\f256\";\n$fa-var-hand-peace-o: \"\\f25b\";\n$fa-var-hand-pointer-o: \"\\f25a\";\n$fa-var-hand-rock-o: \"\\f255\";\n$fa-var-hand-scissors-o: \"\\f257\";\n$fa-var-hand-spock-o: \"\\f259\";\n$fa-var-hand-stop-o: \"\\f256\";\n$fa-var-hard-of-hearing: \"\\f2a4\";\n$fa-var-hashtag: \"\\f292\";\n$fa-var-hdd-o: \"\\f0a0\";\n$fa-var-header: \"\\f1dc\";\n$fa-var-headphones: \"\\f025\";\n$fa-var-heart: \"\\f004\";\n$fa-var-heart-o: \"\\f08a\";\n$fa-var-heartbeat: \"\\f21e\";\n$fa-var-history: \"\\f1da\";\n$fa-var-home: \"\\f015\";\n$fa-var-hospital-o: \"\\f0f8\";\n$fa-var-hotel: \"\\f236\";\n$fa-var-hourglass: \"\\f254\";\n$fa-var-hourglass-1: \"\\f251\";\n$fa-var-hourglass-2: \"\\f252\";\n$fa-var-hourglass-3: \"\\f253\";\n$fa-var-hourglass-end: \"\\f253\";\n$fa-var-hourglass-half: \"\\f252\";\n$fa-var-hourglass-o: \"\\f250\";\n$fa-var-hourglass-start: \"\\f251\";\n$fa-var-houzz: \"\\f27c\";\n$fa-var-html5: \"\\f13b\";\n$fa-var-i-cursor: \"\\f246\";\n$fa-var-ils: \"\\f20b\";\n$fa-var-image: \"\\f03e\";\n$fa-var-inbox: \"\\f01c\";\n$fa-var-indent: \"\\f03c\";\n$fa-var-industry: \"\\f275\";\n$fa-var-info: \"\\f129\";\n$fa-var-info-circle: \"\\f05a\";\n$fa-var-inr: \"\\f156\";\n$fa-var-instagram: \"\\f16d\";\n$fa-var-institution: \"\\f19c\";\n$fa-var-internet-explorer: \"\\f26b\";\n$fa-var-intersex: \"\\f224\";\n$fa-var-ioxhost: \"\\f208\";\n$fa-var-italic: \"\\f033\";\n$fa-var-joomla: \"\\f1aa\";\n$fa-var-jpy: \"\\f157\";\n$fa-var-jsfiddle: \"\\f1cc\";\n$fa-var-key: \"\\f084\";\n$fa-var-keyboard-o: \"\\f11c\";\n$fa-var-krw: \"\\f159\";\n$fa-var-language: \"\\f1ab\";\n$fa-var-laptop: \"\\f109\";\n$fa-var-lastfm: \"\\f202\";\n$fa-var-lastfm-square: \"\\f203\";\n$fa-var-leaf: \"\\f06c\";\n$fa-var-leanpub: \"\\f212\";\n$fa-var-legal: \"\\f0e3\";\n$fa-var-lemon-o: \"\\f094\";\n$fa-var-level-down: \"\\f149\";\n$fa-var-level-up: \"\\f148\";\n$fa-var-life-bouy: \"\\f1cd\";\n$fa-var-life-buoy: \"\\f1cd\";\n$fa-var-life-ring: \"\\f1cd\";\n$fa-var-life-saver: \"\\f1cd\";\n$fa-var-lightbulb-o: \"\\f0eb\";\n$fa-var-line-chart: \"\\f201\";\n$fa-var-link: \"\\f0c1\";\n$fa-var-linkedin: \"\\f0e1\";\n$fa-var-linkedin-square: \"\\f08c\";\n$fa-var-linux: \"\\f17c\";\n$fa-var-list: \"\\f03a\";\n$fa-var-list-alt: \"\\f022\";\n$fa-var-list-ol: \"\\f0cb\";\n$fa-var-list-ul: \"\\f0ca\";\n$fa-var-location-arrow: \"\\f124\";\n$fa-var-lock: \"\\f023\";\n$fa-var-long-arrow-down: \"\\f175\";\n$fa-var-long-arrow-left: \"\\f177\";\n$fa-var-long-arrow-right: \"\\f178\";\n$fa-var-long-arrow-up: \"\\f176\";\n$fa-var-low-vision: \"\\f2a8\";\n$fa-var-magic: \"\\f0d0\";\n$fa-var-magnet: \"\\f076\";\n$fa-var-mail-forward: \"\\f064\";\n$fa-var-mail-reply: \"\\f112\";\n$fa-var-mail-reply-all: \"\\f122\";\n$fa-var-male: \"\\f183\";\n$fa-var-map: \"\\f279\";\n$fa-var-map-marker: \"\\f041\";\n$fa-var-map-o: \"\\f278\";\n$fa-var-map-pin: \"\\f276\";\n$fa-var-map-signs: \"\\f277\";\n$fa-var-mars: \"\\f222\";\n$fa-var-mars-double: \"\\f227\";\n$fa-var-mars-stroke: \"\\f229\";\n$fa-var-mars-stroke-h: \"\\f22b\";\n$fa-var-mars-stroke-v: \"\\f22a\";\n$fa-var-maxcdn: \"\\f136\";\n$fa-var-meanpath: \"\\f20c\";\n$fa-var-medium: \"\\f23a\";\n$fa-var-medkit: \"\\f0fa\";\n$fa-var-meh-o: \"\\f11a\";\n$fa-var-mercury: \"\\f223\";\n$fa-var-microphone: \"\\f130\";\n$fa-var-microphone-slash: \"\\f131\";\n$fa-var-minus: \"\\f068\";\n$fa-var-minus-circle: \"\\f056\";\n$fa-var-minus-square: \"\\f146\";\n$fa-var-minus-square-o: \"\\f147\";\n$fa-var-mixcloud: \"\\f289\";\n$fa-var-mobile: \"\\f10b\";\n$fa-var-mobile-phone: \"\\f10b\";\n$fa-var-modx: \"\\f285\";\n$fa-var-money: \"\\f0d6\";\n$fa-var-moon-o: \"\\f186\";\n$fa-var-mortar-board: \"\\f19d\";\n$fa-var-motorcycle: \"\\f21c\";\n$fa-var-mouse-pointer: \"\\f245\";\n$fa-var-music: \"\\f001\";\n$fa-var-navicon: \"\\f0c9\";\n$fa-var-neuter: \"\\f22c\";\n$fa-var-newspaper-o: \"\\f1ea\";\n$fa-var-object-group: \"\\f247\";\n$fa-var-object-ungroup: \"\\f248\";\n$fa-var-odnoklassniki: \"\\f263\";\n$fa-var-odnoklassniki-square: \"\\f264\";\n$fa-var-opencart: \"\\f23d\";\n$fa-var-openid: \"\\f19b\";\n$fa-var-opera: \"\\f26a\";\n$fa-var-optin-monster: \"\\f23c\";\n$fa-var-outdent: \"\\f03b\";\n$fa-var-pagelines: \"\\f18c\";\n$fa-var-paint-brush: \"\\f1fc\";\n$fa-var-paper-plane: \"\\f1d8\";\n$fa-var-paper-plane-o: \"\\f1d9\";\n$fa-var-paperclip: \"\\f0c6\";\n$fa-var-paragraph: \"\\f1dd\";\n$fa-var-paste: \"\\f0ea\";\n$fa-var-pause: \"\\f04c\";\n$fa-var-pause-circle: \"\\f28b\";\n$fa-var-pause-circle-o: \"\\f28c\";\n$fa-var-paw: \"\\f1b0\";\n$fa-var-paypal: \"\\f1ed\";\n$fa-var-pencil: \"\\f040\";\n$fa-var-pencil-square: \"\\f14b\";\n$fa-var-pencil-square-o: \"\\f044\";\n$fa-var-percent: \"\\f295\";\n$fa-var-phone: \"\\f095\";\n$fa-var-phone-square: \"\\f098\";\n$fa-var-photo: \"\\f03e\";\n$fa-var-picture-o: \"\\f03e\";\n$fa-var-pie-chart: \"\\f200\";\n$fa-var-pied-piper: \"\\f2ae\";\n$fa-var-pied-piper-alt: \"\\f1a8\";\n$fa-var-pied-piper-pp: \"\\f1a7\";\n$fa-var-pinterest: \"\\f0d2\";\n$fa-var-pinterest-p: \"\\f231\";\n$fa-var-pinterest-square: \"\\f0d3\";\n$fa-var-plane: \"\\f072\";\n$fa-var-play: \"\\f04b\";\n$fa-var-play-circle: \"\\f144\";\n$fa-var-play-circle-o: \"\\f01d\";\n$fa-var-plug: \"\\f1e6\";\n$fa-var-plus: \"\\f067\";\n$fa-var-plus-circle: \"\\f055\";\n$fa-var-plus-square: \"\\f0fe\";\n$fa-var-plus-square-o: \"\\f196\";\n$fa-var-power-off: \"\\f011\";\n$fa-var-print: \"\\f02f\";\n$fa-var-product-hunt: \"\\f288\";\n$fa-var-puzzle-piece: \"\\f12e\";\n$fa-var-qq: \"\\f1d6\";\n$fa-var-qrcode: \"\\f029\";\n$fa-var-question: \"\\f128\";\n$fa-var-question-circle: \"\\f059\";\n$fa-var-question-circle-o: \"\\f29c\";\n$fa-var-quote-left: \"\\f10d\";\n$fa-var-quote-right: \"\\f10e\";\n$fa-var-ra: \"\\f1d0\";\n$fa-var-random: \"\\f074\";\n$fa-var-rebel: \"\\f1d0\";\n$fa-var-recycle: \"\\f1b8\";\n$fa-var-reddit: \"\\f1a1\";\n$fa-var-reddit-alien: \"\\f281\";\n$fa-var-reddit-square: \"\\f1a2\";\n$fa-var-refresh: \"\\f021\";\n$fa-var-registered: \"\\f25d\";\n$fa-var-remove: \"\\f00d\";\n$fa-var-renren: \"\\f18b\";\n$fa-var-reorder: \"\\f0c9\";\n$fa-var-repeat: \"\\f01e\";\n$fa-var-reply: \"\\f112\";\n$fa-var-reply-all: \"\\f122\";\n$fa-var-resistance: \"\\f1d0\";\n$fa-var-retweet: \"\\f079\";\n$fa-var-rmb: \"\\f157\";\n$fa-var-road: \"\\f018\";\n$fa-var-rocket: \"\\f135\";\n$fa-var-rotate-left: \"\\f0e2\";\n$fa-var-rotate-right: \"\\f01e\";\n$fa-var-rouble: \"\\f158\";\n$fa-var-rss: \"\\f09e\";\n$fa-var-rss-square: \"\\f143\";\n$fa-var-rub: \"\\f158\";\n$fa-var-ruble: \"\\f158\";\n$fa-var-rupee: \"\\f156\";\n$fa-var-safari: \"\\f267\";\n$fa-var-save: \"\\f0c7\";\n$fa-var-scissors: \"\\f0c4\";\n$fa-var-scribd: \"\\f28a\";\n$fa-var-search: \"\\f002\";\n$fa-var-search-minus: \"\\f010\";\n$fa-var-search-plus: \"\\f00e\";\n$fa-var-sellsy: \"\\f213\";\n$fa-var-send: \"\\f1d8\";\n$fa-var-send-o: \"\\f1d9\";\n$fa-var-server: \"\\f233\";\n$fa-var-share: \"\\f064\";\n$fa-var-share-alt: \"\\f1e0\";\n$fa-var-share-alt-square: \"\\f1e1\";\n$fa-var-share-square: \"\\f14d\";\n$fa-var-share-square-o: \"\\f045\";\n$fa-var-shekel: \"\\f20b\";\n$fa-var-sheqel: \"\\f20b\";\n$fa-var-shield: \"\\f132\";\n$fa-var-ship: \"\\f21a\";\n$fa-var-shirtsinbulk: \"\\f214\";\n$fa-var-shopping-bag: \"\\f290\";\n$fa-var-shopping-basket: \"\\f291\";\n$fa-var-shopping-cart: \"\\f07a\";\n$fa-var-sign-in: \"\\f090\";\n$fa-var-sign-language: \"\\f2a7\";\n$fa-var-sign-out: \"\\f08b\";\n$fa-var-signal: \"\\f012\";\n$fa-var-signing: \"\\f2a7\";\n$fa-var-simplybuilt: \"\\f215\";\n$fa-var-sitemap: \"\\f0e8\";\n$fa-var-skyatlas: \"\\f216\";\n$fa-var-skype: \"\\f17e\";\n$fa-var-slack: \"\\f198\";\n$fa-var-sliders: \"\\f1de\";\n$fa-var-slideshare: \"\\f1e7\";\n$fa-var-smile-o: \"\\f118\";\n$fa-var-snapchat: \"\\f2ab\";\n$fa-var-snapchat-ghost: \"\\f2ac\";\n$fa-var-snapchat-square: \"\\f2ad\";\n$fa-var-soccer-ball-o: \"\\f1e3\";\n$fa-var-sort: \"\\f0dc\";\n$fa-var-sort-alpha-asc: \"\\f15d\";\n$fa-var-sort-alpha-desc: \"\\f15e\";\n$fa-var-sort-amount-asc: \"\\f160\";\n$fa-var-sort-amount-desc: \"\\f161\";\n$fa-var-sort-asc: \"\\f0de\";\n$fa-var-sort-desc: \"\\f0dd\";\n$fa-var-sort-down: \"\\f0dd\";\n$fa-var-sort-numeric-asc: \"\\f162\";\n$fa-var-sort-numeric-desc: \"\\f163\";\n$fa-var-sort-up: \"\\f0de\";\n$fa-var-soundcloud: \"\\f1be\";\n$fa-var-space-shuttle: \"\\f197\";\n$fa-var-spinner: \"\\f110\";\n$fa-var-spoon: \"\\f1b1\";\n$fa-var-spotify: \"\\f1bc\";\n$fa-var-square: \"\\f0c8\";\n$fa-var-square-o: \"\\f096\";\n$fa-var-stack-exchange: \"\\f18d\";\n$fa-var-stack-overflow: \"\\f16c\";\n$fa-var-star: \"\\f005\";\n$fa-var-star-half: \"\\f089\";\n$fa-var-star-half-empty: \"\\f123\";\n$fa-var-star-half-full: \"\\f123\";\n$fa-var-star-half-o: \"\\f123\";\n$fa-var-star-o: \"\\f006\";\n$fa-var-steam: \"\\f1b6\";\n$fa-var-steam-square: \"\\f1b7\";\n$fa-var-step-backward: \"\\f048\";\n$fa-var-step-forward: \"\\f051\";\n$fa-var-stethoscope: \"\\f0f1\";\n$fa-var-sticky-note: \"\\f249\";\n$fa-var-sticky-note-o: \"\\f24a\";\n$fa-var-stop: \"\\f04d\";\n$fa-var-stop-circle: \"\\f28d\";\n$fa-var-stop-circle-o: \"\\f28e\";\n$fa-var-street-view: \"\\f21d\";\n$fa-var-strikethrough: \"\\f0cc\";\n$fa-var-stumbleupon: \"\\f1a4\";\n$fa-var-stumbleupon-circle: \"\\f1a3\";\n$fa-var-subscript: \"\\f12c\";\n$fa-var-subway: \"\\f239\";\n$fa-var-suitcase: \"\\f0f2\";\n$fa-var-sun-o: \"\\f185\";\n$fa-var-superscript: \"\\f12b\";\n$fa-var-support: \"\\f1cd\";\n$fa-var-table: \"\\f0ce\";\n$fa-var-tablet: \"\\f10a\";\n$fa-var-tachometer: \"\\f0e4\";\n$fa-var-tag: \"\\f02b\";\n$fa-var-tags: \"\\f02c\";\n$fa-var-tasks: \"\\f0ae\";\n$fa-var-taxi: \"\\f1ba\";\n$fa-var-television: \"\\f26c\";\n$fa-var-tencent-weibo: \"\\f1d5\";\n$fa-var-terminal: \"\\f120\";\n$fa-var-text-height: \"\\f034\";\n$fa-var-text-width: \"\\f035\";\n$fa-var-th: \"\\f00a\";\n$fa-var-th-large: \"\\f009\";\n$fa-var-th-list: \"\\f00b\";\n$fa-var-themeisle: \"\\f2b2\";\n$fa-var-thumb-tack: \"\\f08d\";\n$fa-var-thumbs-down: \"\\f165\";\n$fa-var-thumbs-o-down: \"\\f088\";\n$fa-var-thumbs-o-up: \"\\f087\";\n$fa-var-thumbs-up: \"\\f164\";\n$fa-var-ticket: \"\\f145\";\n$fa-var-times: \"\\f00d\";\n$fa-var-times-circle: \"\\f057\";\n$fa-var-times-circle-o: \"\\f05c\";\n$fa-var-tint: \"\\f043\";\n$fa-var-toggle-down: \"\\f150\";\n$fa-var-toggle-left: \"\\f191\";\n$fa-var-toggle-off: \"\\f204\";\n$fa-var-toggle-on: \"\\f205\";\n$fa-var-toggle-right: \"\\f152\";\n$fa-var-toggle-up: \"\\f151\";\n$fa-var-trademark: \"\\f25c\";\n$fa-var-train: \"\\f238\";\n$fa-var-transgender: \"\\f224\";\n$fa-var-transgender-alt: \"\\f225\";\n$fa-var-trash: \"\\f1f8\";\n$fa-var-trash-o: \"\\f014\";\n$fa-var-tree: \"\\f1bb\";\n$fa-var-trello: \"\\f181\";\n$fa-var-tripadvisor: \"\\f262\";\n$fa-var-trophy: \"\\f091\";\n$fa-var-truck: \"\\f0d1\";\n$fa-var-try: \"\\f195\";\n$fa-var-tty: \"\\f1e4\";\n$fa-var-tumblr: \"\\f173\";\n$fa-var-tumblr-square: \"\\f174\";\n$fa-var-turkish-lira: \"\\f195\";\n$fa-var-tv: \"\\f26c\";\n$fa-var-twitch: \"\\f1e8\";\n$fa-var-twitter: \"\\f099\";\n$fa-var-twitter-square: \"\\f081\";\n$fa-var-umbrella: \"\\f0e9\";\n$fa-var-underline: \"\\f0cd\";\n$fa-var-undo: \"\\f0e2\";\n$fa-var-universal-access: \"\\f29a\";\n$fa-var-university: \"\\f19c\";\n$fa-var-unlink: \"\\f127\";\n$fa-var-unlock: \"\\f09c\";\n$fa-var-unlock-alt: \"\\f13e\";\n$fa-var-unsorted: \"\\f0dc\";\n$fa-var-upload: \"\\f093\";\n$fa-var-usb: \"\\f287\";\n$fa-var-usd: \"\\f155\";\n$fa-var-user: \"\\f007\";\n$fa-var-user-md: \"\\f0f0\";\n$fa-var-user-plus: \"\\f234\";\n$fa-var-user-secret: \"\\f21b\";\n$fa-var-user-times: \"\\f235\";\n$fa-var-users: \"\\f0c0\";\n$fa-var-venus: \"\\f221\";\n$fa-var-venus-double: \"\\f226\";\n$fa-var-venus-mars: \"\\f228\";\n$fa-var-viacoin: \"\\f237\";\n$fa-var-viadeo: \"\\f2a9\";\n$fa-var-viadeo-square: \"\\f2aa\";\n$fa-var-video-camera: \"\\f03d\";\n$fa-var-vimeo: \"\\f27d\";\n$fa-var-vimeo-square: \"\\f194\";\n$fa-var-vine: \"\\f1ca\";\n$fa-var-vk: \"\\f189\";\n$fa-var-volume-control-phone: \"\\f2a0\";\n$fa-var-volume-down: \"\\f027\";\n$fa-var-volume-off: \"\\f026\";\n$fa-var-volume-up: \"\\f028\";\n$fa-var-warning: \"\\f071\";\n$fa-var-wechat: \"\\f1d7\";\n$fa-var-weibo: \"\\f18a\";\n$fa-var-weixin: \"\\f1d7\";\n$fa-var-whatsapp: \"\\f232\";\n$fa-var-wheelchair: \"\\f193\";\n$fa-var-wheelchair-alt: \"\\f29b\";\n$fa-var-wifi: \"\\f1eb\";\n$fa-var-wikipedia-w: \"\\f266\";\n$fa-var-windows: \"\\f17a\";\n$fa-var-won: \"\\f159\";\n$fa-var-wordpress: \"\\f19a\";\n$fa-var-wpbeginner: \"\\f297\";\n$fa-var-wpforms: \"\\f298\";\n$fa-var-wrench: \"\\f0ad\";\n$fa-var-xing: \"\\f168\";\n$fa-var-xing-square: \"\\f169\";\n$fa-var-y-combinator: \"\\f23b\";\n$fa-var-y-combinator-square: \"\\f1d4\";\n$fa-var-yahoo: \"\\f19e\";\n$fa-var-yc: \"\\f23b\";\n$fa-var-yc-square: \"\\f1d4\";\n$fa-var-yelp: \"\\f1e9\";\n$fa-var-yen: \"\\f157\";\n$fa-var-yoast: \"\\f2b1\";\n$fa-var-youtube: \"\\f167\";\n$fa-var-youtube-play: \"\\f16a\";\n$fa-var-youtube-square: \"\\f166\";\n\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_variables.scss\n **/","// Bordered & Pulled\n// -------------------------\n\n.#{$fa-css-prefix}-border {\n padding: .2em .25em .15em;\n border: solid .08em $fa-border-color;\n border-radius: .1em;\n}\n\n.#{$fa-css-prefix}-pull-left { float: left; }\n.#{$fa-css-prefix}-pull-right { float: right; }\n\n.#{$fa-css-prefix} {\n &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }\n &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }\n}\n\n/* Deprecated as of 4.4.0 */\n.pull-right { float: right; }\n.pull-left { float: left; }\n\n.#{$fa-css-prefix} {\n &.pull-left { margin-right: .3em; }\n &.pull-right { margin-left: .3em; }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_bordered-pulled.scss\n **/","// Spinning Icons\n// --------------------------\n\n.#{$fa-css-prefix}-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear;\n}\n\n.#{$fa-css-prefix}-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_animated.scss\n **/","// Rotated & Flipped Icons\n// -------------------------\n\n.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); }\n.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }\n.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }\n\n.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }\n.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); }\n\n// Hook for IE8-9\n// -------------------------\n\n:root .#{$fa-css-prefix}-rotate-90,\n:root .#{$fa-css-prefix}-rotate-180,\n:root .#{$fa-css-prefix}-rotate-270,\n:root .#{$fa-css-prefix}-flip-horizontal,\n:root .#{$fa-css-prefix}-flip-vertical {\n filter: none;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_rotated-flipped.scss\n **/","// Mixins\n// --------------------------\n\n@mixin fa-icon() {\n display: inline-block;\n font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration\n font-size: inherit; // can't have font-size inherit on line above, so need to override\n text-rendering: auto; // optimizelegibility throws things off #1094\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n}\n\n@mixin fa-icon-rotate($degrees, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})\";\n -webkit-transform: rotate($degrees);\n -ms-transform: rotate($degrees);\n transform: rotate($degrees);\n}\n\n@mixin fa-icon-flip($horiz, $vert, $rotation) {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)\";\n -webkit-transform: scale($horiz, $vert);\n -ms-transform: scale($horiz, $vert);\n transform: scale($horiz, $vert);\n}\n\n\n// Only display content to screen readers. A la Bootstrap 4.\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n@mixin sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n//\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n//\n// Credit: HTML5 Boilerplate\n\n@mixin sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_mixins.scss\n **/","// Stacked Icons\n// -------------------------\n\n.#{$fa-css-prefix}-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle;\n}\n.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n}\n.#{$fa-css-prefix}-stack-1x { line-height: inherit; }\n.#{$fa-css-prefix}-stack-2x { font-size: 2em; }\n.#{$fa-css-prefix}-inverse { color: $fa-inverse; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_stacked.scss\n **/","/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n\n.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; }\n.#{$fa-css-prefix}-music:before { content: $fa-var-music; }\n.#{$fa-css-prefix}-search:before { content: $fa-var-search; }\n.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; }\n.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; }\n.#{$fa-css-prefix}-star:before { content: $fa-var-star; }\n.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; }\n.#{$fa-css-prefix}-user:before { content: $fa-var-user; }\n.#{$fa-css-prefix}-film:before { content: $fa-var-film; }\n.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; }\n.#{$fa-css-prefix}-th:before { content: $fa-var-th; }\n.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; }\n.#{$fa-css-prefix}-check:before { content: $fa-var-check; }\n.#{$fa-css-prefix}-remove:before,\n.#{$fa-css-prefix}-close:before,\n.#{$fa-css-prefix}-times:before { content: $fa-var-times; }\n.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; }\n.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; }\n.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; }\n.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; }\n.#{$fa-css-prefix}-gear:before,\n.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; }\n.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; }\n.#{$fa-css-prefix}-home:before { content: $fa-var-home; }\n.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; }\n.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; }\n.#{$fa-css-prefix}-road:before { content: $fa-var-road; }\n.#{$fa-css-prefix}-download:before { content: $fa-var-download; }\n.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; }\n.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; }\n.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; }\n.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; }\n.#{$fa-css-prefix}-rotate-right:before,\n.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; }\n.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; }\n.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; }\n.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; }\n.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; }\n.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; }\n.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; }\n.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; }\n.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; }\n.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; }\n.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; }\n.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; }\n.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; }\n.#{$fa-css-prefix}-book:before { content: $fa-var-book; }\n.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; }\n.#{$fa-css-prefix}-print:before { content: $fa-var-print; }\n.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; }\n.#{$fa-css-prefix}-font:before { content: $fa-var-font; }\n.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; }\n.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; }\n.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; }\n.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; }\n.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; }\n.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; }\n.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; }\n.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; }\n.#{$fa-css-prefix}-list:before { content: $fa-var-list; }\n.#{$fa-css-prefix}-dedent:before,\n.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; }\n.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; }\n.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; }\n.#{$fa-css-prefix}-photo:before,\n.#{$fa-css-prefix}-image:before,\n.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; }\n.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; }\n.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; }\n.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; }\n.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; }\n.#{$fa-css-prefix}-edit:before,\n.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; }\n.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; }\n.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; }\n.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; }\n.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; }\n.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; }\n.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; }\n.#{$fa-css-prefix}-play:before { content: $fa-var-play; }\n.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; }\n.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; }\n.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; }\n.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; }\n.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; }\n.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; }\n.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; }\n.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; }\n.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; }\n.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; }\n.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; }\n.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; }\n.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; }\n.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; }\n.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; }\n.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; }\n.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; }\n.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; }\n.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; }\n.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; }\n.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; }\n.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; }\n.#{$fa-css-prefix}-mail-forward:before,\n.#{$fa-css-prefix}-share:before { content: $fa-var-share; }\n.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; }\n.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; }\n.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; }\n.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; }\n.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; }\n.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; }\n.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; }\n.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; }\n.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; }\n.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; }\n.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; }\n.#{$fa-css-prefix}-warning:before,\n.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; }\n.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; }\n.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; }\n.#{$fa-css-prefix}-random:before { content: $fa-var-random; }\n.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; }\n.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; }\n.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; }\n.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; }\n.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; }\n.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; }\n.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; }\n.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; }\n.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; }\n.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; }\n.#{$fa-css-prefix}-bar-chart-o:before,\n.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; }\n.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; }\n.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; }\n.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; }\n.#{$fa-css-prefix}-key:before { content: $fa-var-key; }\n.#{$fa-css-prefix}-gears:before,\n.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; }\n.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; }\n.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; }\n.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; }\n.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; }\n.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; }\n.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; }\n.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; }\n.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; }\n.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; }\n.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; }\n.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; }\n.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; }\n.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; }\n.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; }\n.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; }\n.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; }\n.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; }\n.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; }\n.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; }\n.#{$fa-css-prefix}-facebook-f:before,\n.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; }\n.#{$fa-css-prefix}-github:before { content: $fa-var-github; }\n.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }\n.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }\n.#{$fa-css-prefix}-feed:before,\n.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }\n.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }\n.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }\n.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; }\n.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; }\n.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; }\n.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; }\n.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; }\n.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; }\n.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; }\n.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; }\n.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; }\n.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; }\n.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; }\n.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; }\n.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; }\n.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; }\n.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; }\n.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; }\n.#{$fa-css-prefix}-group:before,\n.#{$fa-css-prefix}-users:before { content: $fa-var-users; }\n.#{$fa-css-prefix}-chain:before,\n.#{$fa-css-prefix}-link:before { content: $fa-var-link; }\n.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; }\n.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; }\n.#{$fa-css-prefix}-cut:before,\n.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; }\n.#{$fa-css-prefix}-copy:before,\n.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; }\n.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; }\n.#{$fa-css-prefix}-save:before,\n.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; }\n.#{$fa-css-prefix}-square:before { content: $fa-var-square; }\n.#{$fa-css-prefix}-navicon:before,\n.#{$fa-css-prefix}-reorder:before,\n.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; }\n.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; }\n.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; }\n.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; }\n.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; }\n.#{$fa-css-prefix}-table:before { content: $fa-var-table; }\n.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; }\n.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; }\n.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; }\n.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; }\n.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; }\n.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; }\n.#{$fa-css-prefix}-money:before { content: $fa-var-money; }\n.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; }\n.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; }\n.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; }\n.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; }\n.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; }\n.#{$fa-css-prefix}-unsorted:before,\n.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; }\n.#{$fa-css-prefix}-sort-down:before,\n.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; }\n.#{$fa-css-prefix}-sort-up:before,\n.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; }\n.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; }\n.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; }\n.#{$fa-css-prefix}-rotate-left:before,\n.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; }\n.#{$fa-css-prefix}-legal:before,\n.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; }\n.#{$fa-css-prefix}-dashboard:before,\n.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; }\n.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; }\n.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; }\n.#{$fa-css-prefix}-flash:before,\n.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; }\n.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; }\n.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; }\n.#{$fa-css-prefix}-paste:before,\n.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; }\n.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; }\n.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; }\n.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; }\n.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; }\n.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; }\n.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; }\n.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; }\n.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; }\n.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; }\n.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; }\n.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; }\n.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; }\n.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; }\n.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; }\n.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; }\n.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; }\n.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; }\n.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; }\n.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; }\n.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; }\n.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; }\n.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; }\n.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; }\n.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; }\n.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; }\n.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; }\n.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; }\n.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; }\n.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; }\n.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; }\n.#{$fa-css-prefix}-mobile-phone:before,\n.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; }\n.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; }\n.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; }\n.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; }\n.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; }\n.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; }\n.#{$fa-css-prefix}-mail-reply:before,\n.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; }\n.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; }\n.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; }\n.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; }\n.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; }\n.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; }\n.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; }\n.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; }\n.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; }\n.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; }\n.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; }\n.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; }\n.#{$fa-css-prefix}-code:before { content: $fa-var-code; }\n.#{$fa-css-prefix}-mail-reply-all:before,\n.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; }\n.#{$fa-css-prefix}-star-half-empty:before,\n.#{$fa-css-prefix}-star-half-full:before,\n.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; }\n.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; }\n.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; }\n.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; }\n.#{$fa-css-prefix}-unlink:before,\n.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; }\n.#{$fa-css-prefix}-question:before { content: $fa-var-question; }\n.#{$fa-css-prefix}-info:before { content: $fa-var-info; }\n.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; }\n.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; }\n.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; }\n.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; }\n.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; }\n.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; }\n.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; }\n.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; }\n.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; }\n.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; }\n.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; }\n.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; }\n.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; }\n.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; }\n.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; }\n.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; }\n.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; }\n.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; }\n.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; }\n.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; }\n.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; }\n.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; }\n.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; }\n.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; }\n.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; }\n.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; }\n.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; }\n.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; }\n.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; }\n.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; }\n.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; }\n.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; }\n.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; }\n.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; }\n.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; }\n.#{$fa-css-prefix}-toggle-down:before,\n.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; }\n.#{$fa-css-prefix}-toggle-up:before,\n.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; }\n.#{$fa-css-prefix}-toggle-right:before,\n.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; }\n.#{$fa-css-prefix}-euro:before,\n.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; }\n.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; }\n.#{$fa-css-prefix}-dollar:before,\n.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; }\n.#{$fa-css-prefix}-rupee:before,\n.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; }\n.#{$fa-css-prefix}-cny:before,\n.#{$fa-css-prefix}-rmb:before,\n.#{$fa-css-prefix}-yen:before,\n.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; }\n.#{$fa-css-prefix}-ruble:before,\n.#{$fa-css-prefix}-rouble:before,\n.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; }\n.#{$fa-css-prefix}-won:before,\n.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; }\n.#{$fa-css-prefix}-bitcoin:before,\n.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; }\n.#{$fa-css-prefix}-file:before { content: $fa-var-file; }\n.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; }\n.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; }\n.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; }\n.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; }\n.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; }\n.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; }\n.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; }\n.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; }\n.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; }\n.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; }\n.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; }\n.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; }\n.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; }\n.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; }\n.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; }\n.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; }\n.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; }\n.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; }\n.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; }\n.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; }\n.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; }\n.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; }\n.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; }\n.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; }\n.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; }\n.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; }\n.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; }\n.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; }\n.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; }\n.#{$fa-css-prefix}-android:before { content: $fa-var-android; }\n.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; }\n.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; }\n.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; }\n.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; }\n.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; }\n.#{$fa-css-prefix}-female:before { content: $fa-var-female; }\n.#{$fa-css-prefix}-male:before { content: $fa-var-male; }\n.#{$fa-css-prefix}-gittip:before,\n.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; }\n.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; }\n.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; }\n.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; }\n.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; }\n.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; }\n.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; }\n.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; }\n.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; }\n.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; }\n.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; }\n.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; }\n.#{$fa-css-prefix}-toggle-left:before,\n.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; }\n.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; }\n.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; }\n.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; }\n.#{$fa-css-prefix}-turkish-lira:before,\n.#{$fa-css-prefix}-try:before { content: $fa-var-try; }\n.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; }\n.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; }\n.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; }\n.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; }\n.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; }\n.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; }\n.#{$fa-css-prefix}-institution:before,\n.#{$fa-css-prefix}-bank:before,\n.#{$fa-css-prefix}-university:before { content: $fa-var-university; }\n.#{$fa-css-prefix}-mortar-board:before,\n.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; }\n.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; }\n.#{$fa-css-prefix}-google:before { content: $fa-var-google; }\n.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; }\n.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; }\n.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; }\n.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }\n.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }\n.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }\n.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }\n.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }\n.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }\n.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }\n.#{$fa-css-prefix}-language:before { content: $fa-var-language; }\n.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; }\n.#{$fa-css-prefix}-building:before { content: $fa-var-building; }\n.#{$fa-css-prefix}-child:before { content: $fa-var-child; }\n.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; }\n.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; }\n.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; }\n.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; }\n.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; }\n.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; }\n.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; }\n.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; }\n.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; }\n.#{$fa-css-prefix}-automobile:before,\n.#{$fa-css-prefix}-car:before { content: $fa-var-car; }\n.#{$fa-css-prefix}-cab:before,\n.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; }\n.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; }\n.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; }\n.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; }\n.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; }\n.#{$fa-css-prefix}-database:before { content: $fa-var-database; }\n.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; }\n.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; }\n.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; }\n.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; }\n.#{$fa-css-prefix}-file-photo-o:before,\n.#{$fa-css-prefix}-file-picture-o:before,\n.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; }\n.#{$fa-css-prefix}-file-zip-o:before,\n.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; }\n.#{$fa-css-prefix}-file-sound-o:before,\n.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; }\n.#{$fa-css-prefix}-file-movie-o:before,\n.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; }\n.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; }\n.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; }\n.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; }\n.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; }\n.#{$fa-css-prefix}-life-bouy:before,\n.#{$fa-css-prefix}-life-buoy:before,\n.#{$fa-css-prefix}-life-saver:before,\n.#{$fa-css-prefix}-support:before,\n.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }\n.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }\n.#{$fa-css-prefix}-ra:before,\n.#{$fa-css-prefix}-resistance:before,\n.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }\n.#{$fa-css-prefix}-ge:before,\n.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }\n.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }\n.#{$fa-css-prefix}-git:before { content: $fa-var-git; }\n.#{$fa-css-prefix}-y-combinator-square:before,\n.#{$fa-css-prefix}-yc-square:before,\n.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }\n.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }\n.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }\n.#{$fa-css-prefix}-wechat:before,\n.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; }\n.#{$fa-css-prefix}-send:before,\n.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; }\n.#{$fa-css-prefix}-send-o:before,\n.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }\n.#{$fa-css-prefix}-history:before { content: $fa-var-history; }\n.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }\n.#{$fa-css-prefix}-header:before { content: $fa-var-header; }\n.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }\n.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; }\n.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; }\n.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; }\n.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; }\n.#{$fa-css-prefix}-soccer-ball-o:before,\n.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; }\n.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; }\n.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; }\n.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; }\n.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; }\n.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; }\n.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; }\n.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; }\n.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; }\n.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; }\n.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; }\n.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; }\n.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; }\n.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; }\n.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; }\n.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; }\n.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; }\n.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; }\n.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; }\n.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; }\n.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; }\n.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; }\n.#{$fa-css-prefix}-at:before { content: $fa-var-at; }\n.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; }\n.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; }\n.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; }\n.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; }\n.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; }\n.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; }\n.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; }\n.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; }\n.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; }\n.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; }\n.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; }\n.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; }\n.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; }\n.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; }\n.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; }\n.#{$fa-css-prefix}-shekel:before,\n.#{$fa-css-prefix}-sheqel:before,\n.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; }\n.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; }\n.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; }\n.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; }\n.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; }\n.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; }\n.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; }\n.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; }\n.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; }\n.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; }\n.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; }\n.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; }\n.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; }\n.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; }\n.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; }\n.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; }\n.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; }\n.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; }\n.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; }\n.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }\n.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }\n.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }\n.#{$fa-css-prefix}-intersex:before,\n.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }\n.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }\n.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }\n.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; }\n.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; }\n.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; }\n.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }\n.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }\n.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }\n.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }\n.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }\n.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }\n.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }\n.#{$fa-css-prefix}-server:before { content: $fa-var-server; }\n.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; }\n.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; }\n.#{$fa-css-prefix}-hotel:before,\n.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; }\n.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; }\n.#{$fa-css-prefix}-train:before { content: $fa-var-train; }\n.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }\n.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }\n.#{$fa-css-prefix}-yc:before,\n.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }\n.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }\n.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }\n.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }\n.#{$fa-css-prefix}-battery-4:before,\n.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }\n.#{$fa-css-prefix}-battery-3:before,\n.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }\n.#{$fa-css-prefix}-battery-2:before,\n.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }\n.#{$fa-css-prefix}-battery-1:before,\n.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }\n.#{$fa-css-prefix}-battery-0:before,\n.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }\n.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }\n.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }\n.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }\n.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }\n.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }\n.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }\n.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }\n.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }\n.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }\n.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }\n.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }\n.#{$fa-css-prefix}-hourglass-1:before,\n.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }\n.#{$fa-css-prefix}-hourglass-2:before,\n.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }\n.#{$fa-css-prefix}-hourglass-3:before,\n.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }\n.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }\n.#{$fa-css-prefix}-hand-grab-o:before,\n.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }\n.#{$fa-css-prefix}-hand-stop-o:before,\n.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }\n.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }\n.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }\n.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }\n.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }\n.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }\n.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }\n.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }\n.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }\n.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }\n.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }\n.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }\n.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }\n.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }\n.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }\n.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }\n.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }\n.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }\n.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }\n.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }\n.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }\n.#{$fa-css-prefix}-tv:before,\n.#{$fa-css-prefix}-television:before { content: $fa-var-television; }\n.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }\n.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }\n.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }\n.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }\n.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }\n.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }\n.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }\n.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }\n.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }\n.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }\n.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }\n.#{$fa-css-prefix}-map:before { content: $fa-var-map; }\n.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }\n.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }\n.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }\n.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }\n.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }\n.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }\n.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }\n.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }\n.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }\n.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }\n.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }\n.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }\n.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }\n.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }\n.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }\n.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }\n.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }\n.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }\n.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }\n.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }\n.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }\n.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }\n.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }\n.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }\n.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }\n.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }\n.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }\n.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }\n.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }\n.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }\n.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }\n.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }\n.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }\n.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }\n.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }\n.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }\n.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }\n.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }\n.#{$fa-css-prefix}-asl-interpreting:before,\n.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }\n.#{$fa-css-prefix}-deafness:before,\n.#{$fa-css-prefix}-hard-of-hearing:before,\n.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }\n.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }\n.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }\n.#{$fa-css-prefix}-signing:before,\n.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }\n.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }\n.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }\n.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }\n.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }\n.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }\n.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }\n.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }\n.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }\n.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }\n.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }\n.#{$fa-css-prefix}-google-plus-circle:before,\n.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }\n.#{$fa-css-prefix}-fa:before,\n.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_icons.scss\n **/","// Screen Readers\n// -------------------------\n\n.sr-only { @include sr-only(); }\n.sr-only-focusable { @include sr-only-focusable(); }\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/vendor/font-awesome/_screen-reader.scss\n **/","\n$turquoise: #08d58f;\n$faint_grey: #EEEEEE;\n$light_grey: #DDDDDD;\n$mid_grey: #AAAAAA;\n$dark_grey: #333333;\n$secondary_grey: #888888;\n$red: #cf2d2d;\n\n@mixin one_line_text {\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n@mixin clearfix {\n\t&::after {\n\t\tcontent: '';\n\t\tclear: both;\n\t\tdisplay: block;\n\t}\n}\n\n@mixin animate( $duration: 0.2s, $easing: ease-in-out ){\n\t-webkit-transition: all $duration $easing;\n\t -moz-transition: all $duration $easing;\n\t\t -o-transition: all $duration $easing;\n\t\t transition: all $duration $easing; \n}\n\n@keyframes fill_from_left {\n from {\twidth: 0%; }\n to {\twidth: 100%; }\n}\n\n@mixin animate_timeout( $duration: 0.2s ){\n animation-name: fill_from_left;\n animation-duration: $duration;\n animation-timing-function: linear;\n}\n\n@mixin blur( $size: 10px ) {\n\t-webkit-filter: blur( $size );\n\tfilter: blur( $size );\n}\n\n@mixin responsive( $width ){\n\t@media (max-width: $width){ \n\t\t@content;\n\t}\n}\n\n\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_variables.scss\n **/","\n\nbody,\nhtml {\n\tbackground: #F5F5F5;\n\tcolor: #000000;\n\tfont-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n\tfont-size: 14px;\n}\n\nbody {\n\toverflow-y: scroll;\n\toverflow-x: hidden;\n}\n\nmain,\nfooter {\n\tmargin-left: 200px;\n}\n\nmain {\n\tposition: relative;\n\tmin-height: 100vh;\n\n\ta {\n\t\tcolor: inherit;\n\t\ttext-decoration: none;\n\t\tborder-bottom: 1px dotted transparent;\n\n\t\t&:hover {\n\t\t\tborder-color: #000000;\n\t\t}\n\t}\n\n\tsection {\n\t\tpadding: 40px;\n\t}\n\n\th1 {\n\t\tfont-weight: 500;\n\t\tfont-size: 40px;\n\t}\n\n\th2 {\n\t\tfont-weight: 500;\n\t\tfont-size: 30px;\n\t}\n\n\th3 {\n\t\tfont-weight: 100;\n\t\tfont-style: italic;\n\t\tfont-size: 20px;\n\t}\n\n\th4 {\n\t\tfont-size: 14px;\n\t\tmargin-bottom: 14px;\n\t\ttext-transform: uppercase;\n\n\t\t&.underline {\n\t\t\tpadding-bottom: 4px;\n\t\t\tborder-bottom: 1px solid #000000;\n\t\t}\n\n\t\t&:not(:first-child){\n\t\t\tpadding-top: 40px;\n\t\t}\n\t}\n\n\t.no-top-padding {\t\tpadding-top: 0; }\n\t.no-bottom-padding {\tpadding-bottom: 0; }\n\t.no-right-padding {\t\tpadding-right: 0; }\n\t.no-left-padding {\t\tpadding-left: 0; }\n\n\t.top-padding {\t\t\tpadding-top: 20px; }\n\t.bottom-padding {\t\tpadding-bottom: 20px; }\n\t.right-padding {\t\tpadding-right: 40px; }\n\t.left-padding {\t\t\tpadding-left: 40px; }\n}\n\n.col {\n\tmin-height: 1px;\n\tfloat: left;\n\n\t&.w5 {\t\twidth: 5%; }\n\t&.w10 {\t\twidth: 10%; }\n\t&.w15 {\t\twidth: 15%; }\n\t&.w20 {\t\twidth: 20%; }\n\t&.w25 {\t\twidth: 25%; }\n\t&.w30 {\t\twidth: 30%; }\n\t&.w33 {\t\twidth: 33.3334%; }\n\t&.w35 {\t\twidth: 35%; }\n\t&.w40 {\t\twidth: 40%; }\n\t&.w45 {\t\twidth: 45%; }\n\t&.w50 {\t\twidth: 50%; }\n\t&.w55 {\t\twidth: 55%; }\n\t&.w60 {\t\twidth: 60%; }\n\t&.w65 {\t\twidth: 65%; }\n\t&.w66 {\t\twidth: 66.6667%; }\n\t&.w70 {\t\twidth: 70%; }\n\t&.w75 {\t\twidth: 75%; }\n\t&.w80 {\t\twidth: 80%; }\n\t&.w85 {\t\twidth: 85%; }\n\t&.w90 {\t\twidth: 90%; }\n\t&.w95 {\t\twidth: 95%; }\n\t&.w100 {\twidth: 100%; }\n}\n\n.cf{\n\t@include clearfix;\n}\n\n.one-liner{\n\t@include one_line_text;\n}\n\n.grey-text {\n\tcolor: $mid_grey;\n}\n\nfooter {\n\tdisplay: block;\n\tcolor: $light_grey;\n\tpadding-top: 50px;\n\tpadding-bottom: 50px;\n\ttext-align: center;\n}\n\n.details {\n\tlist-style-type: none;\n\tcolor: $mid_grey;\n\ttext-transform: uppercase;\n\n\tli {\n\t\tpadding-bottom: 4px;\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_core.scss\n **/","\n* {\n\tborder: 0;\n\tmargin: 0;\n\tpadding: 0;\n\toutline: 0;\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_reset.scss\n **/","\nbutton,\ntextarea,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"number\"],\ninput[type=\"email\"],\ninput[type=\"date\"] {\n\tpadding: 10px 14px;\n\tbackground: #FFFFFF;\n\tcolor: #000000;\n\tfont-family: \"Archivo Narrow\", Helvetica, Arial, sans-serif;\n\tfont-size: 14px;\n}\n\n.button,\nbutton,\ninput[type=\"button\"],\ninput[type=\"submit\"] {\n\t@include animate();\n\tpadding: 10px 20px;\n\tborder: 0;\n\tcolor: #000000;\n\tbackground: $light_grey;\n\n\t&:hover{\n\t\tcursor: pointer;\n\t\tbackground: darken( $light_grey, 6%);\n\t}\n\n\t&.primary {\n\t\tbackground: $turquoise;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: darken( $turquoise, 6% );\n\t\t}\n\t}\n\n\t&.secondary {\n\t\tbackground: #000000;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: lighten( #000000, 20% );\n\t\t}\n\t}\n\n\t&.confirming,\n\t&.destructive {\n\t\tbackground: $red;\n\t\tcolor: #FFFFFF;\n\t\t&:hover {\n\t\t\tbackground: darken( $red, 6% );\n\t\t}\n\t}\n\n\t&.timing-out {\n\t\tposition: relative;\n\t\t&::before {\n\t\t\t@include animate_timeout(2s);\n\t\t\tcontent: '';\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\tbottom: 0;\n\t\t\twidth: 0;\n\t\t\tbackground: rgba(255,255,255,0.15);\n\t\t}\n\t}\n\n\t&[disabled],\n\t&[disabled=\"disabled\"] {\n\t\tbackground: $light_grey !important;\n\t\tcolor: $mid_grey !important;\n\t\tcursor: not-allowed !important;\n\t}\n}\n\nlabel {\n\tdisplay: block;\n\tpadding-bottom: 8px;\n\t@include clearfix;\n\n\t.label {\n\t\tdisplay: block;\n\t\tpadding-top: 10px;\n\t\twidth: 15%;\n\t\tfloat: left;\n\t}\n\n\t.input {\n\t\twidth: 85%;\n\t\tfloat: left;\n\t\t\n\t\tinput {\n\t\t\twidth: 60%;\n\t\t}\n\t}\n}\n\n.slider {\n\tmargin: 10px 0;\n\theight: 5px;\n\tposition: relative;\n\tbackground: rgba(255,255,255,0.3);\n\tcursor: pointer;\n\n\t.progress {\n\t\tleft: 0;\n\t\ttop: 0;\n\t\theight: 100%;\n\t\tbackground: $turquoise;\n\t\tpointer-events: none;\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/global/_forms.scss\n **/","\r\n.lazy-loader {\r\n\theight: 50px;\r\n\tcolor: $light_grey;\r\n\r\n\t&.loading {\r\n\t\t\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_lazy-load-listener.scss\n **/","\r\n.context-menu {\r\n\tposition: fixed;\r\n\tleft: 0;\r\n\ttop: 0;\r\n\tz-index: 9999;\r\n\tbackground: $dark_grey;\r\n\tcolor: #FFFFFF;\r\n\r\n\ta {\r\n\t\tdisplay: block;\r\n\t\tpadding: 8px 12px;\r\n\t\twidth: 120px;\r\n\r\n\t\t&:not(:first-child){\r\n\t\t\tborder-top: 1px solid lighten($dark_grey, 8%);\r\n\t\t}\r\n\r\n\t\t&:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t\tbackground: lighten($dark_grey, 5%);\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_context-menu.scss\n **/","\r\n\r\n.thumbnail {\r\n\twidth: 100%;\r\n\tmax-width: 300px;\r\n\toverflow: hidden;\r\n\t\r\n\t.image {\r\n\t\twidth: 100%;\r\n\t\tpadding-bottom: 100%;\r\n\t\tposition: relative;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-color: $light_grey;\r\n\t\tbackground-position: 50% 50%;\r\n\t\tbackground-size: cover;\r\n\t}\r\n\r\n\t&.small {\r\n\t\tmax-width: 50px;\r\n\t}\r\n\r\n\t&.circle {\r\n\t\tborder-radius: 50%;\r\n\t}\r\n}\r\n\r\n.parallax {\r\n\theight: 50vh;\r\n\twidth: 100%;\r\n\toverflow: hidden;\r\n\tbackground: $dark_grey;\r\n\r\n\tcanvas {\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\topacity: 0;\r\n\t\t@include animate( 0.4s );\r\n\r\n\t\t&.loaded {\r\n\t\t\topacity: 0.5;\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_images.scss\n **/","\n.icon {\n\t&.white{\n\t\t-webkit-filter: invert(1);\n\t\t-moz-filter: invert(1);\n\t\tfilter: invert(1);\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_icon.scss\n **/","\r\n.search-form {\r\n\r\n\tinput {\r\n\t\tbackground: transparent;\r\n\t\tborder-bottom: 1px solid #FFFFFF;\r\n\t\tpadding: 16px 0 8px;\r\n\t\twidth: 100%;\r\n\t\tcolor: #FFFFFF;\r\n\r\n\t\t&:focus,\r\n\t\t&:active {\r\n\t\t\tborder-color: $turquoise;\r\n\t\t}\r\n\t}\r\n\r\n\t&.sidebar {\r\n\t\tpadding: 10px 15px 0 15px;\r\n\t}\r\n\r\n}\r\n\r\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_search-form.scss\n **/","\r\naside{\r\n\t\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tbottom: 0;\r\n\tbackground: #111111;\r\n\twidth: 200px;\r\n\toverflow: hidden;\r\n\tbox-shadow: inset -20px 0px 30px -20px rgba(0, 0, 0, 0.5);\r\n\t\r\n\t.thumbnail {\r\n\t\tposition: absolute;\r\n\t\ttop: -30px;\r\n\t\tright: -30px;\r\n\t\tbottom: -30px;\r\n\t\tleft: -30px;\r\n\t\theight: auto;\r\n\t\twidth: auto;\r\n\t\tmax-width: none;\r\n\t\tz-index: -1;\r\n\t\topacity: 0.2;\r\n\r\n\t\t.image {\r\n\t\t\t@include blur();\r\n\t\t\tpadding-bottom: 0;\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t}\r\n\r\n\tnav {\r\n\t\tpadding-top: 20px;\r\n\r\n\t\ta {\r\n\t\t\tfont-size: 16px;\r\n\t\t\tcolor: #FFFFFF;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tdisplay: block;\r\n\t\t\tpadding: 6px 18px 6px 14px;\r\n\t\t\tborder-left: 4px solid transparent;\r\n\r\n\t\t\t.icon {\r\n\t\t\t\theight: 14px;\r\n\t\t\t\tpadding-right: 8px;\r\n\t\t\t\tvertical-align: top;\r\n\t\t\t\tmargin-top: 4px;\r\n\t\t\t}\r\n\r\n\t\t\t&.active {\r\n\t\t\t\tborder-color: $turquoise;\r\n\t\t\t\tbackground: rgba( 0, 0, 0, 0.5 );\r\n\t\t\t}\r\n\r\n\t\t\t&[disabled] {\r\n\t\t\t\topacity: 0.3;\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\r\n\t\t\t&:hover:not([disabled]) {\r\n\t\t\t\tbackground: rgba( 255, 255, 255, 0.1 );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsection {\r\n\t\t\tpadding: 10px 0;\r\n\r\n\t\t\ttitle {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\tpadding: 0 18px 2px;\r\n\t\t\t\tfont-size: 11px;\r\n\t\t\t\ttext-transform: uppercase;\r\n\t\t\t\topacity: 0.5;\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.player {\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\tright: 0;\r\n\t\tpadding: 14px;\r\n\r\n\t\t.track-in-focus {\r\n\t\t\tfont-size: 16px;\r\n\t\t\ttext-transform: uppercase;\r\n\t\t\ttext-align: center;\r\n\t\t\tcolor: #FFFFFF;\r\n\r\n\t\t\t.title {\r\n\t\t\t\t@include one_line_text;\r\n\t\t\t}\r\n\r\n\t\t\t.artist-sentence {\r\n\t\t\t\topacity: 0.5;\r\n\t\t\t\tdisplay: block;\r\n\t\t\t\t@include one_line_text;\r\n\r\n\t\t\t\t.artist {\r\n\t\t\t\t\tcolor: inherit;\r\n\t\t\t\t\ttext-decoration: none;\r\n\t\t\t\t\tborder-bottom: 1px dotted transparent;\r\n\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\tborder-color: #FFFFFF !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.controls {\r\n\t\t\ttext-align: center;\r\n\r\n\t\t\ta {\r\n\t\t\t\tcolor: #FFFFFF;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tfont-size: 14px;\r\n\t\t\t\tpadding: 8px;\r\n\t\t\t\tdisplay: inline-block;\r\n\t\t\t\topacity: 0.8;\r\n\r\n\t\t\t\t&.active {\r\n\t\t\t\t\tcolor: $turquoise;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\topacity: 1.0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_sidebar.scss\n **/","\n.list-item {\n\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n\n\tdisplay: block;\n\tposition: relative;\n\tpadding: 9px 10px 9px 40px;\n\tborder-top: 1px solid $faint_grey;\n\tborder-bottom: 1px solid $faint_grey;\n\tmargin-bottom: -1px;\n\t@include clearfix;\n\n\t&.selected {\n\t\tbackground: #FFF39C !important;\n\t}\n\n\t&:not(.header):hover {\n\t\tbackground: $faint_grey;\n\t\tcursor: pointer;\n\t\tborder-color: $faint_grey;\n\t}\n\n\t&.header {\n\t\tfont-size: 10px;\n\t\tcolor: #CCCCCC;\n\t\ttext-transform: uppercase;\n\t\tborder-top: 0;\n\t\tpadding-bottom: 2px;\n\t}\n\n\n\t&.track {\n\n\t\t.col {\n\t\t\t&.name,\n\t\t\t&.artists,\n\t\t\t&.album {\n\t\t\t\twidth: 30%;\n\t\t\t}\n\t\t}\n\n\t\t.select-state {\n\t\t\tposition: absolute;\n\t\t\ttop: 12px;\n\t\t\tleft: 15px;\n\t\t\tfont-size: 10px;\n\t\t}\n\n\t\t&.playing {\n\t\t\tfont-weight: 600;\n\t\t}\n\t}\n\n\n\t&.playlist {\n\n\t\t.col {\n\t\t\t&.name {\n\t\t\t\twidth: 30%;\n\t\t\t}\n\t\t\t&.owner {\n\t\t\t\twidth: 20%;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.artist-list {\n\t.artist {\n\t\tdisplay: block;\n\t\tborder: 0;\n\t\tmargin-bottom: 15px;\n\t\t@include clearfix;\n\n\t\t.thumbnail {\n\t\t\twidth: 50px;\n\t\t\tmargin-right: 20px;\n\t\t\tfloat: left;\n\t\t\tborder: 3px solid transparent;\n\t\t}\n\n\t\t.name {\n\t\t\tdisplay: inline-block;\n\t\t\tpadding-top: 15px;\n\t\t}\n\n\t\t&:hover {\n\t\t\t.thumbnail {\n\t\t\t\tborder-color: $turquoise;\n\t\t\t\topacity: 0.8;\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_lists.scss\n **/","\n@mixin grid_item( $cols ){\n\twidth: ( 0% + (( 100 / $cols ) - 4 ));\n\t&:nth-child(#{$cols}) {\n\t\t@include clearfix;\n\t}\n}\n\n.grid {\n\n\tpadding: 40px 20px;\n\n\t.grid-item {\n\t\t@include grid_item( 5 )\n\t\tmargin: 0 2% 3%;\n\t\tdisplay: inline-block;\n\t\tvertical-align: top;\n\t\tborder-bottom: 0;\n\n\t\t.thumbnail {\n\t\t\t@include animate();\n\t\t\tmax-width: 100%;\n\t\t}\n\n\t\t.name {\n\t\t\t@include one_line_text;\n\t\t\tpadding-top: 8px;\n\t\t}\n\n\t\t.secondary {\n\t\t\t@include one_line_text;\n\t\t\tpadding-top: 2px;\n\t\t\tcolor: $secondary_grey;\n\t\t}\n\n\t\t&:hover{\n\t\t\tcursor: pointer;\n\n\t\t\t.thumbnail {\n\t\t\t\topacity: 0.75;\n\t\t\t}\n\t\t}\n\t}\n\n\t&.category-grid {\n\t\t.grid-item {\n\t\t\tposition: relative;\n\n\t\t\t.name {\n\t\t\t\tposition: absolute;\n\t\t\t\tbottom: 15%;\n\t\t\t\tleft: 0;\n\t\t\t\tright: 0;\n\t\t\t\ttext-align: center;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tcolor: #FFFFFF;\n\t\t\t}\n\t\t}\n\t}\n\n\t@include responsive( 2400px ){\n\t\t&.mini {\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 3 )\n\t\t\t}\t\t\t\n\t\t}\n\t\t&:not(.mini){\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 6 )\n\t\t\t}\t\n\t\t}\n\t}\n\n\t@include responsive( 1200px ){\n\t\t&.mini {\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 2 )\n\t\t\t}\t\t\t\n\t\t}\n\t\t&:not(.mini){\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 5 )\n\t\t\t}\t\n\t\t}\n\t}\n\n\t@include responsive( 850px ){\n\t\t&.mini {\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 2 )\n\t\t\t}\t\t\t\n\t\t}\n\t\t&:not(.mini){\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 4 )\n\t\t\t}\t\n\t\t}\n\t}\n\n\t@include responsive( 650px ){\n\t\t&:not(.mini){\n\t\t\t.grid-item {\n\t\t\t\t@include grid_item( 3 )\n\t\t\t}\t\n\t\t}\n\t}\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_grid.scss\n **/","\r\nmain {\r\n\theader {\r\n\t\tpadding: 14px 20px;\r\n\t\tbackground: #EEEEEE;\r\n\r\n\t\t.icon {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tpadding-right: 14px;\r\n\t\t\theight: 16px;\r\n\t\t}\r\n\r\n\t\th1 {\r\n\t\t\tfont-size: 22px;\r\n\t\t\tfont-weight: 100;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t}\r\n}\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/components/_header.scss\n **/","\n.artist-view {\n\t.intro {\n\t\tposition: relative;\n\t\tmargin: -100px 0 20px 0;\n\t\t@include clearfix;\n\n\t\t.thumbnail {\n\t\t\tmax-width: 200px;\n\t\t\tmargin: 0 20px 0 40px;\n\t\t\tfloat: left;\n\t\t}\n\n\t\th1 {\n\t\t\tcolor: #FFFFFF;\n\t\t\tpadding-top: 30px;\n\t\t\tpadding-bottom: 45px;\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_artist.scss\n **/","\n.album-view {\n\t.main {\n\t\tpadding-left: 35%;\n\n\t\t.title {\n\t\t\tpadding: 30px 40px;\n\n\t\t\th3 {\n\t\t\t\tcolor: $mid_grey;\n\t\t\t\ta:hover {\n\t\t\t\t\tcolor: darken($mid_grey, 20%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.intro {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\twidth: 35%;\n\t\tbackground: $faint_grey;\n\n\t\t.thumbnail {\n\t\t\tfloat: none;\n\t\t\tmargin: 0 auto;\n\t\t\tmax-width: none;\n\t\t}\n\n\t\t.details {\n\t\t\tpadding: 30px;\n\t\t}\n\n\t\t.artist-grid {\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.grid-item {\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: 50%;\n\t\t\t\tposition: relative;\n\n\t\t\t\t.thumbnail .image {\n\t\t\t\t\tbackground-color: $secondary_grey;\n\t\t\t\t}\n\n\t\t\t\t.name {\n\t\t\t\t\t@include animate();\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 35%;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: #FFFFFF;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\t.name {\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_album.scss\n **/","\n.playlist-view {\n\t.main {\n\t\tpadding-left: 35%;\n\n\t\t.title {\n\t\t\tpadding: 30px 40px;\n\n\t\t\th3 {\n\t\t\t\tcolor: $mid_grey;\n\t\t\t\ta:hover {\n\t\t\t\t\tcolor: darken($mid_grey, 20%);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.intro {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tbottom: 0;\n\t\twidth: 35%;\n\t\tbackground: $faint_grey;\n\n\t\t.thumbnail {\n\t\t\tfloat: none;\n\t\t\tmargin: 0 auto;\n\t\t\tmax-width: none;\n\t\t}\n\n\t\t.details {\n\t\t\tpadding: 30px;\n\t\t}\n\n\t\t.artist-grid {\n\t\t\tpadding: 0;\n\t\t\tmargin: 0;\n\n\t\t\t.grid-item {\n\t\t\t\tmargin: 0;\n\t\t\t\twidth: 50%;\n\t\t\t\tposition: relative;\n\n\t\t\t\t.thumbnail .image {\n\t\t\t\t\tbackground-color: $secondary_grey;\n\t\t\t\t}\n\n\t\t\t\t.name {\n\t\t\t\t\t@include animate();\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\ttop: 35%;\n\t\t\t\t\tleft: 0;\n\t\t\t\t\tright: 0;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: #FFFFFF;\n\t\t\t\t\topacity: 0;\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\tfont-weight: bold;\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\t.name {\n\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n/** WEBPACK FOOTER **\n ** webpack:///src/scss/src/scss/views/_playlist.scss\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/mopidy_iris/static/app.js b/mopidy_iris/static/app.js index bb8407e5..a3b9a488 100644 --- a/mopidy_iris/static/app.js +++ b/mopidy_iris/static/app.js @@ -73,7 +73,7 @@ var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(109); + var _reactDom = __webpack_require__(112); var _reactDom2 = _interopRequireDefault(_reactDom); @@ -81,29 +81,29 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _bootstrap = __webpack_require__(157); + var _bootstrap = __webpack_require__(158); var _bootstrap2 = _interopRequireDefault(_bootstrap); - var _App = __webpack_require__(179); + var _App = __webpack_require__(178); var _App2 = _interopRequireDefault(_App); - var _Album = __webpack_require__(178); + var _Album = __webpack_require__(177); var _Album2 = _interopRequireDefault(_Album); - var _Artist = __webpack_require__(180); + var _Artist = __webpack_require__(179); var _Artist2 = _interopRequireDefault(_Artist); - var _Playlist = __webpack_require__(181); + var _Playlist = __webpack_require__(180); var _Playlist2 = _interopRequireDefault(_Playlist); - var _Queue = __webpack_require__(182); + var _Queue = __webpack_require__(181); var _Queue2 = _interopRequireDefault(_Queue); @@ -111,6 +111,10 @@ var _Settings2 = _interopRequireDefault(_Settings); + var _Search = __webpack_require__(182); + + var _Search2 = _interopRequireDefault(_Search); + var _Discover = __webpack_require__(184); var _Discover2 = _interopRequireDefault(_Discover); @@ -169,7 +173,7 @@ * Base-level application wrapper **/ - __webpack_require__(198); + __webpack_require__(374); _reactDom2.default.render(_react2.default.createElement( _reactRedux.Provider, @@ -182,6 +186,7 @@ { path: '/', component: _App2.default }, _react2.default.createElement(_reactRouter.IndexRoute, { component: _Queue2.default }), _react2.default.createElement(_reactRouter.Route, { path: 'queue', component: _Queue2.default }), + _react2.default.createElement(_reactRouter.Route, { path: 'search/:query', component: _Search2.default }), _react2.default.createElement(_reactRouter.Route, { path: 'discover', component: _Discover2.default }), _react2.default.createElement(_reactRouter.Route, { path: 'discover/featured', component: _DiscoverFeatured2.default }), _react2.default.createElement(_reactRouter.Route, { path: 'discover/categories', component: _DiscoverCategories2.default }), @@ -395,7 +400,7 @@ 'use strict'; - module.exports = __webpack_require__(268); + module.exports = __webpack_require__(248); /***/ }, @@ -578,27 +583,27 @@ exports.__esModule = true; exports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = undefined; - var _createStore = __webpack_require__(154); + var _createStore = __webpack_require__(152); var _createStore2 = _interopRequireDefault(_createStore); - var _combineReducers = __webpack_require__(345); + var _combineReducers = __webpack_require__(325); var _combineReducers2 = _interopRequireDefault(_combineReducers); - var _bindActionCreators = __webpack_require__(344); + var _bindActionCreators = __webpack_require__(324); var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators); - var _applyMiddleware = __webpack_require__(343); + var _applyMiddleware = __webpack_require__(323); var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware); - var _compose = __webpack_require__(153); + var _compose = __webpack_require__(151); var _compose2 = _interopRequireDefault(_compose); - var _warning = __webpack_require__(155); + var _warning = __webpack_require__(153); var _warning2 = _interopRequireDefault(_warning); @@ -630,11 +635,11 @@ exports.__esModule = true; exports.connect = exports.Provider = undefined; - var _Provider = __webpack_require__(217); + var _Provider = __webpack_require__(210); var _Provider2 = _interopRequireDefault(_Provider); - var _connect = __webpack_require__(218); + var _connect = __webpack_require__(211); var _connect2 = _interopRequireDefault(_connect); @@ -765,8 +770,9 @@ exports.getCategoryPlaylists = getCategoryPlaylists; exports.getNewReleases = getNewReleases; exports.getURL = getURL; + exports.getSearchResults = getSearchResults; - var helpers = __webpack_require__(32); + var helpers = __webpack_require__(33); /** * Send an ajax request to the Spotify API @@ -1231,171 +1237,34 @@ }); }; } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68))) + + function getSearchResults(query) { + var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'album,artist,playlist,track'; + var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50; + var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + + return function (dispatch, getState) { + + dispatch({ type: 'SPOTIFY_SEARCH_RESULTS_LOADED', data: false }); + + var url = 'search?q=' + query; + url += '&type=' + type; + url += '&country=' + getState().spotify.country; + url += '&limit=' + limit; + url += '&offset=' + offset; + + sendRequest(dispatch, getState, url).then(function (response) { + dispatch({ + type: 'SPOTIFY_SEARCH_RESULTS_LOADED', + data: response + }); + }); + }; + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(69))) /***/ }, /* 10 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - exports.createMemoryHistory = exports.hashHistory = exports.browserHistory = exports.applyRouterMiddleware = exports.formatPattern = exports.useRouterHistory = exports.match = exports.routerShape = exports.locationShape = exports.PropTypes = exports.RoutingContext = exports.RouterContext = exports.createRoutes = exports.useRoutes = exports.RouteContext = exports.Lifecycle = exports.History = exports.Route = exports.Redirect = exports.IndexRoute = exports.IndexRedirect = exports.withRouter = exports.IndexLink = exports.Link = exports.Router = undefined; - - var _RouteUtils = __webpack_require__(29); - - Object.defineProperty(exports, 'createRoutes', { - enumerable: true, - get: function get() { - return _RouteUtils.createRoutes; - } - }); - - var _PropTypes2 = __webpack_require__(71); - - Object.defineProperty(exports, 'locationShape', { - enumerable: true, - get: function get() { - return _PropTypes2.locationShape; - } - }); - Object.defineProperty(exports, 'routerShape', { - enumerable: true, - get: function get() { - return _PropTypes2.routerShape; - } - }); - - var _PatternUtils = __webpack_require__(37); - - Object.defineProperty(exports, 'formatPattern', { - enumerable: true, - get: function get() { - return _PatternUtils.formatPattern; - } - }); - - var _Router2 = __webpack_require__(234); - - var _Router3 = _interopRequireDefault(_Router2); - - var _Link2 = __webpack_require__(112); - - var _Link3 = _interopRequireDefault(_Link2); - - var _IndexLink2 = __webpack_require__(228); - - var _IndexLink3 = _interopRequireDefault(_IndexLink2); - - var _withRouter2 = __webpack_require__(247); - - var _withRouter3 = _interopRequireDefault(_withRouter2); - - var _IndexRedirect2 = __webpack_require__(229); - - var _IndexRedirect3 = _interopRequireDefault(_IndexRedirect2); - - var _IndexRoute2 = __webpack_require__(230); - - var _IndexRoute3 = _interopRequireDefault(_IndexRoute2); - - var _Redirect2 = __webpack_require__(113); - - var _Redirect3 = _interopRequireDefault(_Redirect2); - - var _Route2 = __webpack_require__(232); - - var _Route3 = _interopRequireDefault(_Route2); - - var _History2 = __webpack_require__(227); - - var _History3 = _interopRequireDefault(_History2); - - var _Lifecycle2 = __webpack_require__(231); - - var _Lifecycle3 = _interopRequireDefault(_Lifecycle2); - - var _RouteContext2 = __webpack_require__(233); - - var _RouteContext3 = _interopRequireDefault(_RouteContext2); - - var _useRoutes2 = __webpack_require__(246); - - var _useRoutes3 = _interopRequireDefault(_useRoutes2); - - var _RouterContext2 = __webpack_require__(52); - - var _RouterContext3 = _interopRequireDefault(_RouterContext2); - - var _RoutingContext2 = __webpack_require__(235); - - var _RoutingContext3 = _interopRequireDefault(_RoutingContext2); - - var _PropTypes3 = _interopRequireDefault(_PropTypes2); - - var _match2 = __webpack_require__(244); - - var _match3 = _interopRequireDefault(_match2); - - var _useRouterHistory2 = __webpack_require__(118); - - var _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2); - - var _applyRouterMiddleware2 = __webpack_require__(237); - - var _applyRouterMiddleware3 = _interopRequireDefault(_applyRouterMiddleware2); - - var _browserHistory2 = __webpack_require__(238); - - var _browserHistory3 = _interopRequireDefault(_browserHistory2); - - var _hashHistory2 = __webpack_require__(242); - - var _hashHistory3 = _interopRequireDefault(_hashHistory2); - - var _createMemoryHistory2 = __webpack_require__(115); - - var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - exports.Router = _Router3.default; /* components */ - - exports.Link = _Link3.default; - exports.IndexLink = _IndexLink3.default; - exports.withRouter = _withRouter3.default; - - /* components (configuration) */ - - exports.IndexRedirect = _IndexRedirect3.default; - exports.IndexRoute = _IndexRoute3.default; - exports.Redirect = _Redirect3.default; - exports.Route = _Route3.default; - - /* mixins */ - - exports.History = _History3.default; - exports.Lifecycle = _Lifecycle3.default; - exports.RouteContext = _RouteContext3.default; - - /* utils */ - - exports.useRoutes = _useRoutes3.default; - exports.RouterContext = _RouterContext3.default; - exports.RoutingContext = _RoutingContext3.default; - exports.PropTypes = _PropTypes3.default; - exports.match = _match3.default; - exports.useRouterHistory = _useRouterHistory3.default; - exports.applyRouterMiddleware = _applyRouterMiddleware3.default; - - /* histories */ - - exports.browserHistory = _browserHistory3.default; - exports.hashHistory = _hashHistory3.default; - exports.createMemoryHistory = _createMemoryHistory3.default; - -/***/ }, -/* 11 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1413,8 +1282,8 @@ var _prodInvariant = __webpack_require__(5); - var DOMProperty = __webpack_require__(35); - var ReactDOMComponentFlags = __webpack_require__(129); + var DOMProperty = __webpack_require__(36); + var ReactDOMComponentFlags = __webpack_require__(127); var invariant = __webpack_require__(3); @@ -1589,7 +1458,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 12 */ +/* 11 */ /***/ function(module, exports) { 'use strict'; @@ -1755,6 +1624,167 @@ }; } +/***/ }, +/* 12 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + exports.createMemoryHistory = exports.hashHistory = exports.browserHistory = exports.applyRouterMiddleware = exports.formatPattern = exports.useRouterHistory = exports.match = exports.routerShape = exports.locationShape = exports.PropTypes = exports.RoutingContext = exports.RouterContext = exports.createRoutes = exports.useRoutes = exports.RouteContext = exports.Lifecycle = exports.History = exports.Route = exports.Redirect = exports.IndexRoute = exports.IndexRedirect = exports.withRouter = exports.IndexLink = exports.Link = exports.Router = undefined; + + var _RouteUtils = __webpack_require__(29); + + Object.defineProperty(exports, 'createRoutes', { + enumerable: true, + get: function get() { + return _RouteUtils.createRoutes; + } + }); + + var _PropTypes2 = __webpack_require__(74); + + Object.defineProperty(exports, 'locationShape', { + enumerable: true, + get: function get() { + return _PropTypes2.locationShape; + } + }); + Object.defineProperty(exports, 'routerShape', { + enumerable: true, + get: function get() { + return _PropTypes2.routerShape; + } + }); + + var _PatternUtils = __webpack_require__(39); + + Object.defineProperty(exports, 'formatPattern', { + enumerable: true, + get: function get() { + return _PatternUtils.formatPattern; + } + }); + + var _Router2 = __webpack_require__(225); + + var _Router3 = _interopRequireDefault(_Router2); + + var _Link2 = __webpack_require__(115); + + var _Link3 = _interopRequireDefault(_Link2); + + var _IndexLink2 = __webpack_require__(219); + + var _IndexLink3 = _interopRequireDefault(_IndexLink2); + + var _withRouter2 = __webpack_require__(238); + + var _withRouter3 = _interopRequireDefault(_withRouter2); + + var _IndexRedirect2 = __webpack_require__(220); + + var _IndexRedirect3 = _interopRequireDefault(_IndexRedirect2); + + var _IndexRoute2 = __webpack_require__(221); + + var _IndexRoute3 = _interopRequireDefault(_IndexRoute2); + + var _Redirect2 = __webpack_require__(116); + + var _Redirect3 = _interopRequireDefault(_Redirect2); + + var _Route2 = __webpack_require__(223); + + var _Route3 = _interopRequireDefault(_Route2); + + var _History2 = __webpack_require__(218); + + var _History3 = _interopRequireDefault(_History2); + + var _Lifecycle2 = __webpack_require__(222); + + var _Lifecycle3 = _interopRequireDefault(_Lifecycle2); + + var _RouteContext2 = __webpack_require__(224); + + var _RouteContext3 = _interopRequireDefault(_RouteContext2); + + var _useRoutes2 = __webpack_require__(237); + + var _useRoutes3 = _interopRequireDefault(_useRoutes2); + + var _RouterContext2 = __webpack_require__(56); + + var _RouterContext3 = _interopRequireDefault(_RouterContext2); + + var _RoutingContext2 = __webpack_require__(226); + + var _RoutingContext3 = _interopRequireDefault(_RoutingContext2); + + var _PropTypes3 = _interopRequireDefault(_PropTypes2); + + var _match2 = __webpack_require__(235); + + var _match3 = _interopRequireDefault(_match2); + + var _useRouterHistory2 = __webpack_require__(121); + + var _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2); + + var _applyRouterMiddleware2 = __webpack_require__(228); + + var _applyRouterMiddleware3 = _interopRequireDefault(_applyRouterMiddleware2); + + var _browserHistory2 = __webpack_require__(229); + + var _browserHistory3 = _interopRequireDefault(_browserHistory2); + + var _hashHistory2 = __webpack_require__(233); + + var _hashHistory3 = _interopRequireDefault(_hashHistory2); + + var _createMemoryHistory2 = __webpack_require__(118); + + var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + exports.Router = _Router3.default; /* components */ + + exports.Link = _Link3.default; + exports.IndexLink = _IndexLink3.default; + exports.withRouter = _withRouter3.default; + + /* components (configuration) */ + + exports.IndexRedirect = _IndexRedirect3.default; + exports.IndexRoute = _IndexRoute3.default; + exports.Redirect = _Redirect3.default; + exports.Route = _Route3.default; + + /* mixins */ + + exports.History = _History3.default; + exports.Lifecycle = _Lifecycle3.default; + exports.RouteContext = _RouteContext3.default; + + /* utils */ + + exports.useRoutes = _useRoutes3.default; + exports.RouterContext = _RouterContext3.default; + exports.RoutingContext = _RoutingContext3.default; + exports.PropTypes = _PropTypes3.default; + exports.match = _match3.default; + exports.useRouterHistory = _useRouterHistory3.default; + exports.applyRouterMiddleware = _applyRouterMiddleware3.default; + + /* histories */ + + exports.browserHistory = _browserHistory3.default; + exports.hashHistory = _hashHistory3.default; + exports.createMemoryHistory = _createMemoryHistory3.default; + /***/ }, /* 13 */ /***/ function(module, exports) { @@ -1768,87 +1798,6 @@ 'use strict'; - exports.__esModule = true; - exports.default = routerWarning; - exports._resetWarned = _resetWarned; - - var _warning = __webpack_require__(258); - - var _warning2 = _interopRequireDefault(_warning); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - var warned = {}; - - function routerWarning(falseToWarn, message) { - // Only issue deprecation warnings once. - if (message.indexOf('deprecated') !== -1) { - if (warned[message]) { - return; - } - - warned[message] = true; - } - - message = '[react-router] ' + message; - - for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - _warning2.default.apply(undefined, [falseToWarn, message].concat(args)); - } - - function _resetWarned() { - warned = {}; - } - -/***/ }, -/* 15 */ -/***/ function(module, exports) { - - /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - - 'use strict'; - - var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - - /** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. - */ - var ExecutionEnvironment = { - - canUseDOM: canUseDOM, - - canUseWorkers: typeof Worker !== 'undefined', - - canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), - - canUseViewport: canUseDOM && !!window.screen, - - isInWorker: !canUseDOM // For now, this is true - might change in the future. - - }; - - module.exports = ExecutionEnvironment; - -/***/ }, -/* 16 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - Object.defineProperty(exports, "__esModule", { value: true }); @@ -1901,8 +1850,147 @@ exports.default = Header; +/***/ }, +/* 15 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + exports.default = routerWarning; + exports._resetWarned = _resetWarned; + + var _warning = __webpack_require__(355); + + var _warning2 = _interopRequireDefault(_warning); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var warned = {}; + + function routerWarning(falseToWarn, message) { + // Only issue deprecation warnings once. + if (message.indexOf('deprecated') !== -1) { + if (warned[message]) { + return; + } + + warned[message] = true; + } + + message = '[react-router] ' + message; + + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + _warning2.default.apply(undefined, [falseToWarn, message].concat(args)); + } + + function _resetWarned() { + warned = {}; + } + +/***/ }, +/* 16 */ +/***/ function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + + /** + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. + */ + var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen, + + isInWorker: !canUseDOM // For now, this is true - might change in the future. + + }; + + module.exports = ExecutionEnvironment; + /***/ }, /* 17 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + + 'use strict'; + + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + + var invariant = function(condition, format, a, b, c, d, e, f) { + if (process.env.NODE_ENV !== 'production') { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + format.replace(/%s/g, function() { return args[argIndex++]; }) + ); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } + }; + + module.exports = invariant; + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 18 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -2014,64 +2102,6 @@ }); module.exports = exports['default']; -/***/ }, -/* 18 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-2015, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - - 'use strict'; - - /** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - - var invariant = function(condition, format, a, b, c, d, e, f) { - if (process.env.NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } - }; - - module.exports = invariant; - - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - /***/ }, /* 19 */ /***/ function(module, exports, __webpack_require__) { @@ -2092,7 +2122,7 @@ var debugTool = null; if (process.env.NODE_ENV !== 'production') { - var ReactDebugTool = __webpack_require__(289); + var ReactDebugTool = __webpack_require__(269); debugTool = ReactDebugTool; } @@ -2931,11 +2961,11 @@ var _prodInvariant = __webpack_require__(5), _assign = __webpack_require__(8); - var CallbackQueue = __webpack_require__(125); + var CallbackQueue = __webpack_require__(123); var PooledClass = __webpack_require__(30); - var ReactFeatureFlags = __webpack_require__(133); - var ReactReconciler = __webpack_require__(40); - var Transaction = __webpack_require__(49); + var ReactFeatureFlags = __webpack_require__(131); + var ReactReconciler = __webpack_require__(41); + var Transaction = __webpack_require__(50); var invariant = __webpack_require__(3); @@ -3185,7 +3215,7 @@ 'use strict'; - var keyMirror = __webpack_require__(63); + var keyMirror = __webpack_require__(65); var PropagationPhases = keyMirror({ bubbled: null, captured: null }); @@ -3596,7 +3626,7 @@ var _react2 = _interopRequireDefault(_react); - var _helpers = __webpack_require__(32); + var _helpers = __webpack_require__(33); var helpers = _interopRequireWildcard(_helpers); @@ -3646,10 +3676,10 @@ if (images.length <= 0) { state = { - small: __webpack_require__(64), - medium: __webpack_require__(64), - large: __webpack_require__(64), - huge: __webpack_require__(64) + small: __webpack_require__(66), + medium: __webpack_require__(66), + large: __webpack_require__(66), + huge: __webpack_require__(66) }; } else { state = helpers.sizedImages(images); @@ -3945,434 +3975,6 @@ /***/ }, /* 32 */ -/***/ function(module, exports) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - var sizedImages = exports.sizedImages = function sizedImages(images) { - - var sizes = { - small: false, - medium: false, - large: false, - huge: false - }; - - if (images.length <= 0) return sizes; - - for (var i = 0; i < images.length; i++) { - - // spotify-styled images - if (typeof images[i].height !== 'undefined') { - if (images[i].height > 800) { - sizes.huge = images[i].url; - } else if (images[i].height > 600) { - sizes.large = images[i].url; - } else if (images[i].height > 280) { - sizes.medium = images[i].url; - } else { - sizes.small = images[i].url; - } - - // Mopidy-Images styled images - } else if (typeof images[i] == 'string') { - sizes.small = images[i]; - } - } - - if (!sizes.medium) sizes.medium = sizes.small; - if (!sizes.large) sizes.large = sizes.medium; - if (!sizes.huge) sizes.huge = sizes.large; - - return sizes; - }; - - var generateGuid = exports.generateGuid = function generateGuid() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, - v = c == 'x' ? r : r & 0x3 | 0x8; - return v.toString(16); - }); - }; - - var getCurrentPusherConnection = exports.getCurrentPusherConnection = function getCurrentPusherConnection(connections, connectionid) { - function isCurrentConnection(connection) { - return connection.connectionid == newProps.pusher.connectionid; - } - - var currentConnection = newProps.pusher.connections.find(isCurrentConnection); - if (!currentConnection) return false; - - return currentConnection; - }; - - /** - * Figure out a URI's source namespace - * @param uri = string - **/ - var uriSource = exports.uriSource = function uriSource(uri) { - var exploded = uri.split(':'); - return exploded[0]; - }; - - /** - * Get an element from a URI - * @param element = string, the element we wish to extract - * @param uri = string - **/ - var getFromUri = exports.getFromUri = function getFromUri(element, uri) { - var exploded = uri.split(':'); - - if (exploded[0] == 'spotify') { - - if (element == 'userid' && exploded[1] == 'user') return exploded[2]; - if (element == 'playlistid' && exploded[3] == 'playlist') return exploded[4]; - if (element == 'artistid' && exploded[1] == 'artist') return exploded[2]; - if (element == 'albumid' && exploded[1] == 'album') return exploded[2]; - if (element == 'trackid' && exploded[1] == 'track') return exploded[2]; - return null; - } - - return null; - }; - - /** - * Identify what kind of asset a URI is (playlist, album, etc) - * @param uri = string - * @return string - **/ - var uriType = exports.uriType = function uriType(uri) { - var exploded = uri.split(':'); - - if (exploded[0] == 'spotify') { - switch (exploded[1]) { - case 'track': - return 'track'; - break; - case 'artist': - return 'artist'; - break; - case 'album': - return 'album'; - break; - case 'user': - if (exploded[3] == 'playlist') return 'playlist'; - if (exploded.length == 3) return 'user'; - return null; - break; - } - } - - return null; - }; - -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - exports.routes = exports.route = exports.components = exports.component = exports.history = undefined; - exports.falsy = falsy; - - var _react = __webpack_require__(2); - - var func = _react.PropTypes.func; - var object = _react.PropTypes.object; - var arrayOf = _react.PropTypes.arrayOf; - var oneOfType = _react.PropTypes.oneOfType; - var element = _react.PropTypes.element; - var shape = _react.PropTypes.shape; - var string = _react.PropTypes.string; - function falsy(props, propName, componentName) { - if (props[propName]) return new Error('<' + componentName + '> should not have a "' + propName + '" prop'); - } - - var history = exports.history = shape({ - listen: func.isRequired, - push: func.isRequired, - replace: func.isRequired, - go: func.isRequired, - goBack: func.isRequired, - goForward: func.isRequired - }); - - var component = exports.component = oneOfType([func, string]); - var components = exports.components = oneOfType([component, object]); - var route = exports.route = oneOfType([object, element]); - var routes = exports.routes = oneOfType([route, arrayOf(route)]); - -/***/ }, -/* 34 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - exports.extractPath = extractPath; - exports.parsePath = parsePath; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _warning = __webpack_require__(23); - - var _warning2 = _interopRequireDefault(_warning); - - function extractPath(string) { - var match = string.match(/^https?:\/\/[^\/]*/); - - if (match == null) return string; - - return string.substring(match[0].length); - } - - function parsePath(path) { - var pathname = extractPath(path); - var search = ''; - var hash = ''; - - process.env.NODE_ENV !== 'production' ? _warning2['default'](path === pathname, 'A path must be pathname + search + hash only, not a fully qualified URL like "%s"', path) : undefined; - - var hashIndex = pathname.indexOf('#'); - if (hashIndex !== -1) { - hash = pathname.substring(hashIndex); - pathname = pathname.substring(0, hashIndex); - } - - var searchIndex = pathname.indexOf('?'); - if (searchIndex !== -1) { - search = pathname.substring(searchIndex); - pathname = pathname.substring(0, searchIndex); - } - - if (pathname === '') pathname = '/'; - - return { - pathname: pathname, - search: search, - hash: hash - }; - } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 35 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule DOMProperty - */ - - 'use strict'; - - var _prodInvariant = __webpack_require__(5); - - var invariant = __webpack_require__(3); - - function checkMask(value, bitmask) { - return (value & bitmask) === bitmask; - } - - var DOMPropertyInjection = { - /** - * Mapping from normalized, camelcased property names to a configuration that - * specifies how the associated DOM property should be accessed or rendered. - */ - MUST_USE_PROPERTY: 0x1, - HAS_BOOLEAN_VALUE: 0x4, - HAS_NUMERIC_VALUE: 0x8, - HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, - HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, - - /** - * Inject some specialized knowledge about the DOM. This takes a config object - * with the following properties: - * - * isCustomAttribute: function that given an attribute name will return true - * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* - * attributes where it's impossible to enumerate all of the possible - * attribute names, - * - * Properties: object mapping DOM property name to one of the - * DOMPropertyInjection constants or null. If your attribute isn't in here, - * it won't get written to the DOM. - * - * DOMAttributeNames: object mapping React attribute name to the DOM - * attribute name. Attribute names not specified use the **lowercase** - * normalized name. - * - * DOMAttributeNamespaces: object mapping React attribute name to the DOM - * attribute namespace URL. (Attribute names not specified use no namespace.) - * - * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. - * Property names not specified use the normalized name. - * - * DOMMutationMethods: Properties that require special mutation methods. If - * `value` is undefined, the mutation method should unset the property. - * - * @param {object} domPropertyConfig the config as described above. - */ - injectDOMPropertyConfig: function (domPropertyConfig) { - var Injection = DOMPropertyInjection; - var Properties = domPropertyConfig.Properties || {}; - var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; - var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; - var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; - var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; - - if (domPropertyConfig.isCustomAttribute) { - DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); - } - - for (var propName in Properties) { - !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0; - - var lowerCased = propName.toLowerCase(); - var propConfig = Properties[propName]; - - var propertyInfo = { - attributeName: lowerCased, - attributeNamespace: null, - propertyName: propName, - mutationMethod: null, - - mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), - hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), - hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), - hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), - hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) - }; - !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; - - if (process.env.NODE_ENV !== 'production') { - DOMProperty.getPossibleStandardName[lowerCased] = propName; - } - - if (DOMAttributeNames.hasOwnProperty(propName)) { - var attributeName = DOMAttributeNames[propName]; - propertyInfo.attributeName = attributeName; - if (process.env.NODE_ENV !== 'production') { - DOMProperty.getPossibleStandardName[attributeName] = propName; - } - } - - if (DOMAttributeNamespaces.hasOwnProperty(propName)) { - propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; - } - - if (DOMPropertyNames.hasOwnProperty(propName)) { - propertyInfo.propertyName = DOMPropertyNames[propName]; - } - - if (DOMMutationMethods.hasOwnProperty(propName)) { - propertyInfo.mutationMethod = DOMMutationMethods[propName]; - } - - DOMProperty.properties[propName] = propertyInfo; - } - } - }; - - /* eslint-disable max-len */ - var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; - /* eslint-enable max-len */ - - /** - * DOMProperty exports lookup objects that can be used like functions: - * - * > DOMProperty.isValid['id'] - * true - * > DOMProperty.isValid['foobar'] - * undefined - * - * Although this may be confusing, it performs better in general. - * - * @see http://jsperf.com/key-exists - * @see http://jsperf.com/key-missing - */ - var DOMProperty = { - - ID_ATTRIBUTE_NAME: 'data-reactid', - ROOT_ATTRIBUTE_NAME: 'data-reactroot', - - ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, - ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', - - /** - * Map from property "standard name" to an object with info about how to set - * the property in the DOM. Each object contains: - * - * attributeName: - * Used when rendering markup or with `*Attribute()`. - * attributeNamespace - * propertyName: - * Used on DOM node instances. (This includes properties that mutate due to - * external factors.) - * mutationMethod: - * If non-null, used instead of the property or `setAttribute()` after - * initial render. - * mustUseProperty: - * Whether the property must be accessed and mutated as an object property. - * hasBooleanValue: - * Whether the property should be removed when set to a falsey value. - * hasNumericValue: - * Whether the property must be numeric or parse as a numeric and should be - * removed when set to a falsey value. - * hasPositiveNumericValue: - * Whether the property must be positive numeric or parse as a positive - * numeric and should be removed when set to a falsey value. - * hasOverloadedBooleanValue: - * Whether the property can be used as a flag as well as with a value. - * Removed when strictly equal to false; present without a value when - * strictly equal to true; present with a value otherwise. - */ - properties: {}, - - /** - * Mapping from lowercase property names to the properly cased version, used - * to warn in the case of missing properties. Available only in __DEV__. - * @type {Object} - */ - getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, - - /** - * All of the isCustomAttribute() functions that have been injected. - */ - _isCustomAttributeFunctions: [], - - /** - * Checks whether a property name is a custom attribute. - * @method - */ - isCustomAttribute: function (attributeName) { - for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { - var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; - if (isCustomAttributeFn(attributeName)) { - return true; - } - } - return false; - }, - - injection: DOMPropertyInjection - }; - - module.exports = DOMProperty; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 36 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -4391,11 +3993,11 @@ var _redux = __webpack_require__(6); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(51); + var _actions2 = __webpack_require__(37); var uiActions = _interopRequireWildcard(_actions2); @@ -4641,8 +4243,510 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(TrackList); +/***/ }, +/* 33 */ +/***/ function(module, exports) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + var sizedImages = exports.sizedImages = function sizedImages(images) { + + var sizes = { + small: false, + medium: false, + large: false, + huge: false + }; + + if (images.length <= 0) return sizes; + + for (var i = 0; i < images.length; i++) { + + // spotify-styled images + if (typeof images[i].height !== 'undefined') { + if (images[i].height > 800) { + sizes.huge = images[i].url; + } else if (images[i].height > 600) { + sizes.large = images[i].url; + } else if (images[i].height > 280) { + sizes.medium = images[i].url; + } else { + sizes.small = images[i].url; + } + + // Mopidy-Images styled images + } else if (typeof images[i] == 'string') { + sizes.small = images[i]; + } + } + + if (!sizes.medium) sizes.medium = sizes.small; + if (!sizes.large) sizes.large = sizes.medium; + if (!sizes.huge) sizes.huge = sizes.large; + + return sizes; + }; + + var generateGuid = exports.generateGuid = function generateGuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, + v = c == 'x' ? r : r & 0x3 | 0x8; + return v.toString(16); + }); + }; + + var getCurrentPusherConnection = exports.getCurrentPusherConnection = function getCurrentPusherConnection(connections, connectionid) { + function isCurrentConnection(connection) { + return connection.connectionid == newProps.pusher.connectionid; + } + + var currentConnection = newProps.pusher.connections.find(isCurrentConnection); + if (!currentConnection) return false; + + return currentConnection; + }; + + /** + * Figure out a URI's source namespace + * @param uri = string + **/ + var uriSource = exports.uriSource = function uriSource(uri) { + var exploded = uri.split(':'); + return exploded[0]; + }; + + /** + * Get an element from a URI + * @param element = string, the element we wish to extract + * @param uri = string + **/ + var getFromUri = exports.getFromUri = function getFromUri(element, uri) { + var exploded = uri.split(':'); + + if (exploded[0] == 'spotify') { + + if (element == 'userid' && exploded[1] == 'user') return exploded[2]; + if (element == 'playlistid' && exploded[3] == 'playlist') return exploded[4]; + if (element == 'artistid' && exploded[1] == 'artist') return exploded[2]; + if (element == 'albumid' && exploded[1] == 'album') return exploded[2]; + if (element == 'trackid' && exploded[1] == 'track') return exploded[2]; + return null; + } + + return null; + }; + + /** + * Identify what kind of asset a URI is (playlist, album, etc) + * @param uri = string + * @return string + **/ + var uriType = exports.uriType = function uriType(uri) { + var exploded = uri.split(':'); + + if (exploded[0] == 'spotify') { + switch (exploded[1]) { + case 'track': + return 'track'; + break; + case 'artist': + return 'artist'; + break; + case 'album': + return 'album'; + break; + case 'user': + if (exploded[3] == 'playlist') return 'playlist'; + if (exploded.length == 3) return 'user'; + return null; + break; + } + } + + return null; + }; + +/***/ }, +/* 34 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + exports.extractPath = extractPath; + exports.parsePath = parsePath; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _warning = __webpack_require__(23); + + var _warning2 = _interopRequireDefault(_warning); + + function extractPath(string) { + var match = string.match(/^https?:\/\/[^\/]*/); + + if (match == null) return string; + + return string.substring(match[0].length); + } + + function parsePath(path) { + var pathname = extractPath(path); + var search = ''; + var hash = ''; + + process.env.NODE_ENV !== 'production' ? _warning2['default'](path === pathname, 'A path must be pathname + search + hash only, not a fully qualified URL like "%s"', path) : undefined; + + var hashIndex = pathname.indexOf('#'); + if (hashIndex !== -1) { + hash = pathname.substring(hashIndex); + pathname = pathname.substring(0, hashIndex); + } + + var searchIndex = pathname.indexOf('?'); + if (searchIndex !== -1) { + search = pathname.substring(searchIndex); + pathname = pathname.substring(0, searchIndex); + } + + if (pathname === '') pathname = '/'; + + return { + pathname: pathname, + search: search, + hash: hash + }; + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 35 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + exports.routes = exports.route = exports.components = exports.component = exports.history = undefined; + exports.falsy = falsy; + + var _react = __webpack_require__(2); + + var func = _react.PropTypes.func; + var object = _react.PropTypes.object; + var arrayOf = _react.PropTypes.arrayOf; + var oneOfType = _react.PropTypes.oneOfType; + var element = _react.PropTypes.element; + var shape = _react.PropTypes.shape; + var string = _react.PropTypes.string; + function falsy(props, propName, componentName) { + if (props[propName]) return new Error('<' + componentName + '> should not have a "' + propName + '" prop'); + } + + var history = exports.history = shape({ + listen: func.isRequired, + push: func.isRequired, + replace: func.isRequired, + go: func.isRequired, + goBack: func.isRequired, + goForward: func.isRequired + }); + + var component = exports.component = oneOfType([func, string]); + var components = exports.components = oneOfType([component, object]); + var route = exports.route = oneOfType([object, element]); + var routes = exports.routes = oneOfType([route, arrayOf(route)]); + +/***/ }, +/* 36 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule DOMProperty + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(5); + + var invariant = __webpack_require__(3); + + function checkMask(value, bitmask) { + return (value & bitmask) === bitmask; + } + + var DOMPropertyInjection = { + /** + * Mapping from normalized, camelcased property names to a configuration that + * specifies how the associated DOM property should be accessed or rendered. + */ + MUST_USE_PROPERTY: 0x1, + HAS_BOOLEAN_VALUE: 0x4, + HAS_NUMERIC_VALUE: 0x8, + HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, + HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, + + /** + * Inject some specialized knowledge about the DOM. This takes a config object + * with the following properties: + * + * isCustomAttribute: function that given an attribute name will return true + * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* + * attributes where it's impossible to enumerate all of the possible + * attribute names, + * + * Properties: object mapping DOM property name to one of the + * DOMPropertyInjection constants or null. If your attribute isn't in here, + * it won't get written to the DOM. + * + * DOMAttributeNames: object mapping React attribute name to the DOM + * attribute name. Attribute names not specified use the **lowercase** + * normalized name. + * + * DOMAttributeNamespaces: object mapping React attribute name to the DOM + * attribute namespace URL. (Attribute names not specified use no namespace.) + * + * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. + * Property names not specified use the normalized name. + * + * DOMMutationMethods: Properties that require special mutation methods. If + * `value` is undefined, the mutation method should unset the property. + * + * @param {object} domPropertyConfig the config as described above. + */ + injectDOMPropertyConfig: function (domPropertyConfig) { + var Injection = DOMPropertyInjection; + var Properties = domPropertyConfig.Properties || {}; + var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; + var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; + var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; + var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; + + if (domPropertyConfig.isCustomAttribute) { + DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); + } + + for (var propName in Properties) { + !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0; + + var lowerCased = propName.toLowerCase(); + var propConfig = Properties[propName]; + + var propertyInfo = { + attributeName: lowerCased, + attributeNamespace: null, + propertyName: propName, + mutationMethod: null, + + mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), + hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), + hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), + hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), + hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) + }; + !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; + + if (process.env.NODE_ENV !== 'production') { + DOMProperty.getPossibleStandardName[lowerCased] = propName; + } + + if (DOMAttributeNames.hasOwnProperty(propName)) { + var attributeName = DOMAttributeNames[propName]; + propertyInfo.attributeName = attributeName; + if (process.env.NODE_ENV !== 'production') { + DOMProperty.getPossibleStandardName[attributeName] = propName; + } + } + + if (DOMAttributeNamespaces.hasOwnProperty(propName)) { + propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; + } + + if (DOMPropertyNames.hasOwnProperty(propName)) { + propertyInfo.propertyName = DOMPropertyNames[propName]; + } + + if (DOMMutationMethods.hasOwnProperty(propName)) { + propertyInfo.mutationMethod = DOMMutationMethods[propName]; + } + + DOMProperty.properties[propName] = propertyInfo; + } + } + }; + + /* eslint-disable max-len */ + var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; + /* eslint-enable max-len */ + + /** + * DOMProperty exports lookup objects that can be used like functions: + * + * > DOMProperty.isValid['id'] + * true + * > DOMProperty.isValid['foobar'] + * undefined + * + * Although this may be confusing, it performs better in general. + * + * @see http://jsperf.com/key-exists + * @see http://jsperf.com/key-missing + */ + var DOMProperty = { + + ID_ATTRIBUTE_NAME: 'data-reactid', + ROOT_ATTRIBUTE_NAME: 'data-reactroot', + + ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, + ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', + + /** + * Map from property "standard name" to an object with info about how to set + * the property in the DOM. Each object contains: + * + * attributeName: + * Used when rendering markup or with `*Attribute()`. + * attributeNamespace + * propertyName: + * Used on DOM node instances. (This includes properties that mutate due to + * external factors.) + * mutationMethod: + * If non-null, used instead of the property or `setAttribute()` after + * initial render. + * mustUseProperty: + * Whether the property must be accessed and mutated as an object property. + * hasBooleanValue: + * Whether the property should be removed when set to a falsey value. + * hasNumericValue: + * Whether the property must be numeric or parse as a numeric and should be + * removed when set to a falsey value. + * hasPositiveNumericValue: + * Whether the property must be positive numeric or parse as a positive + * numeric and should be removed when set to a falsey value. + * hasOverloadedBooleanValue: + * Whether the property can be used as a flag as well as with a value. + * Removed when strictly equal to false; present without a value when + * strictly equal to true; present with a value otherwise. + */ + properties: {}, + + /** + * Mapping from lowercase property names to the properly cased version, used + * to warn in the case of missing properties. Available only in __DEV__. + * @type {Object} + */ + getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, + + /** + * All of the isCustomAttribute() functions that have been injected. + */ + _isCustomAttributeFunctions: [], + + /** + * Checks whether a property name is a custom attribute. + * @method + */ + isCustomAttribute: function (attributeName) { + for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { + var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; + if (isCustomAttributeFn(attributeName)) { + return true; + } + } + return false; + }, + + injection: DOMPropertyInjection + }; + + module.exports = DOMProperty; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + /***/ }, /* 37 */ +/***/ function(module, exports) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.showContextMenu = showContextMenu; + exports.hideContextMenu = hideContextMenu; + exports.lazyLoading = lazyLoading; + function showContextMenu(e) { + var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var data = arguments[2]; + + return { + type: 'UI_SHOW_CONTEXT_MENU', + position_x: e.clientX, + position_y: e.clientY, + context: context, + data: data + }; + } + + function hideContextMenu() { + return { + type: 'UI_HIDE_CONTEXT_MENU' + }; + } + + function lazyLoading(start) { + return { + type: 'UI_LAZY_LOADING', + start: start + }; + } + +/***/ }, +/* 38 */ +/***/ function(module, exports) { + + /** + * Indicates that navigation was caused by a call to history.push. + */ + 'use strict'; + + exports.__esModule = true; + var PUSH = 'PUSH'; + + exports.PUSH = PUSH; + /** + * Indicates that navigation was caused by a call to history.replace. + */ + var REPLACE = 'REPLACE'; + + exports.REPLACE = REPLACE; + /** + * Indicates that navigation was caused by some other action such + * as using a browser's back/forward buttons and/or manually manipulating + * the URL in a browser's location bar. This is the default. + * + * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate + * for more information. + */ + var POP = 'POP'; + + exports.POP = POP; + exports['default'] = { + PUSH: PUSH, + REPLACE: REPLACE, + POP: POP + }; + +/***/ }, +/* 39 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -4654,7 +4758,7 @@ exports.getParams = getParams; exports.formatPattern = formatPattern; - var _invariant = __webpack_require__(18); + var _invariant = __webpack_require__(17); var _invariant2 = _interopRequireDefault(_invariant); @@ -4860,43 +4964,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 38 */ -/***/ function(module, exports) { - - /** - * Indicates that navigation was caused by a call to history.push. - */ - 'use strict'; - - exports.__esModule = true; - var PUSH = 'PUSH'; - - exports.PUSH = PUSH; - /** - * Indicates that navigation was caused by a call to history.replace. - */ - var REPLACE = 'REPLACE'; - - exports.REPLACE = REPLACE; - /** - * Indicates that navigation was caused by some other action such - * as using a browser's back/forward buttons and/or manually manipulating - * the URL in a browser's location bar. This is the default. - * - * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate - * for more information. - */ - var POP = 'POP'; - - exports.POP = POP; - exports['default'] = { - PUSH: PUSH, - REPLACE: REPLACE, - POP: POP - }; - -/***/ }, -/* 39 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { /** @@ -4913,10 +4981,10 @@ 'use strict'; var DOMNamespaces = __webpack_require__(77); - var setInnerHTML = __webpack_require__(62); + var setInnerHTML = __webpack_require__(64); var createMicrosoftUnsafeLocalFunction = __webpack_require__(89); - var setTextContent = __webpack_require__(149); + var setTextContent = __webpack_require__(147); var ELEMENT_NODE_TYPE = 1; var DOCUMENT_FRAGMENT_NODE_TYPE = 11; @@ -5019,7 +5087,7 @@ module.exports = DOMLazyTree; /***/ }, -/* 40 */ +/* 41 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5035,7 +5103,7 @@ 'use strict'; - var ReactRef = __webpack_require__(302); + var ReactRef = __webpack_require__(282); var ReactInstrumentation = __webpack_require__(19); var warning = __webpack_require__(4); @@ -5193,7 +5261,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 41 */ +/* 42 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -5208,11 +5276,11 @@ var _react2 = _interopRequireDefault(_react); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -5268,7 +5336,7 @@ exports.default = ArtistSentence; /***/ }, -/* 42 */ +/* 43 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -5283,13 +5351,13 @@ var _react2 = _interopRequireDefault(_react); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _Thumbnail = __webpack_require__(28); var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - var _ArtistSentence = __webpack_require__(41); + var _ArtistSentence = __webpack_require__(42); var _ArtistSentence2 = _interopRequireDefault(_ArtistSentence); @@ -5349,7 +5417,8 @@ 'div', { className: 'secondary' }, item.artists ? _react2.default.createElement(_ArtistSentence2.default, { artists: item.artists }) : null, - item.type == 'playlist' ? item.tracks.total + ' tracks' : null + item.type == 'playlist' ? item.tracks.total + ' tracks' : null, + item.followers ? item.followers.total.toLocaleString() + ' followers' : null ) ); } @@ -5361,7 +5430,7 @@ exports.default = GridItem; /***/ }, -/* 43 */ +/* 44 */ /***/ function(module, exports, __webpack_require__) { "use strict"; @@ -5444,7 +5513,7 @@ exports.default = LazyLoadListener; /***/ }, -/* 44 */ +/* 45 */ /***/ function(module, exports) { 'use strict'; @@ -5515,7 +5584,7 @@ } /***/ }, -/* 45 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5533,12 +5602,12 @@ var _prodInvariant = __webpack_require__(5); - var EventPluginRegistry = __webpack_require__(57); + var EventPluginRegistry = __webpack_require__(59); var EventPluginUtils = __webpack_require__(78); var ReactErrorUtils = __webpack_require__(83); - var accumulateInto = __webpack_require__(142); - var forEachAccumulated = __webpack_require__(144); + var accumulateInto = __webpack_require__(140); + var forEachAccumulated = __webpack_require__(142); var invariant = __webpack_require__(3); /** @@ -5772,7 +5841,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 46 */ +/* 47 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -5789,11 +5858,11 @@ 'use strict'; var EventConstants = __webpack_require__(25); - var EventPluginHub = __webpack_require__(45); + var EventPluginHub = __webpack_require__(46); var EventPluginUtils = __webpack_require__(78); - var accumulateInto = __webpack_require__(142); - var forEachAccumulated = __webpack_require__(144); + var accumulateInto = __webpack_require__(140); + var forEachAccumulated = __webpack_require__(142); var warning = __webpack_require__(4); var PropagationPhases = EventConstants.PropagationPhases; @@ -5915,7 +5984,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 47 */ +/* 48 */ /***/ function(module, exports) { /** @@ -5968,7 +6037,7 @@ module.exports = ReactInstanceMap; /***/ }, -/* 48 */ +/* 49 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6032,7 +6101,7 @@ module.exports = SyntheticUIEvent; /***/ }, -/* 49 */ +/* 50 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6271,7 +6340,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 50 */ +/* 51 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6296,285 +6365,159 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 51 */ -/***/ function(module, exports) { +/* 52 */ +/***/ function(module, exports, __webpack_require__) { 'use strict'; Object.defineProperty(exports, "__esModule", { - value: true + value: true }); - exports.showContextMenu = showContextMenu; - exports.hideContextMenu = hideContextMenu; - exports.lazyLoading = lazyLoading; - function showContextMenu(e) { - var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var data = arguments[2]; - return { - type: 'UI_SHOW_CONTEXT_MENU', - position_x: e.clientX, - position_y: e.clientY, - context: context, - data: data - }; - } - - function hideContextMenu() { - return { - type: 'UI_HIDE_CONTEXT_MENU' - }; - } - - function lazyLoading(start) { - return { - type: 'UI_LAZY_LOADING', - start: start - }; - } - -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _invariant = __webpack_require__(18); - - var _invariant2 = _interopRequireDefault(_invariant); + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = __webpack_require__(2); var _react2 = _interopRequireDefault(_react); - var _deprecateObjectProperties = __webpack_require__(53); + var _GridItem = __webpack_require__(43); - var _deprecateObjectProperties2 = _interopRequireDefault(_deprecateObjectProperties); - - var _getRouteParams = __webpack_require__(241); - - var _getRouteParams2 = _interopRequireDefault(_getRouteParams); - - var _RouteUtils = __webpack_require__(29); - - var _routerWarning = __webpack_require__(14); - - var _routerWarning2 = _interopRequireDefault(_routerWarning); + var _GridItem2 = _interopRequireDefault(_GridItem); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var _React$PropTypes = _react2.default.PropTypes; - var array = _React$PropTypes.array; - var func = _React$PropTypes.func; - var object = _React$PropTypes.object; + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - /** - * A renders the component tree for a given router state - * and sets the history object and the current location in context. - */ + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - var RouterContext = _react2.default.createClass({ - displayName: 'RouterContext', + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + var AlbumGrid = function (_React$Component) { + _inherits(AlbumGrid, _React$Component); - propTypes: { - history: object, - router: object.isRequired, - location: object.isRequired, - routes: array.isRequired, - params: object.isRequired, - components: array.isRequired, - createElement: func.isRequired - }, + function AlbumGrid(props) { + _classCallCheck(this, AlbumGrid); - getDefaultProps: function getDefaultProps() { - return { - createElement: _react2.default.createElement - }; - }, + return _possibleConstructorReturn(this, (AlbumGrid.__proto__ || Object.getPrototypeOf(AlbumGrid)).call(this, props)); + } + _createClass(AlbumGrid, [{ + key: 'render', + value: function render() { + if (this.props.albums) { + var className = "grid album-grid"; + if (this.props.className) className += ' ' + this.props.className; + return _react2.default.createElement( + 'div', + { className: className }, + this.props.albums.map(function (album, index) { - childContextTypes: { - history: object, - location: object.isRequired, - router: object.isRequired - }, + // handle nested album objects (as in Album Library) + if (album.album) { + var flatAlbum = album.album; + flatAlbum.added_at = album.added_at; + album = flatAlbum; + } - getChildContext: function getChildContext() { - var _props = this.props; - var router = _props.router; - var history = _props.history; - var location = _props.location; + return _react2.default.createElement(_GridItem2.default, { item: album, key: index, link: '/album/' + album.uri }); + }) + ); + } + return null; + } + }]); - if (!router) { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, '`` expects a `router` rather than a `history`') : void 0; + return AlbumGrid; + }(_react2.default.Component); - router = _extends({}, history, { - setRouteLeaveHook: history.listenBeforeLeavingRoute - }); - delete router.listenBeforeLeavingRoute; - } - - if (process.env.NODE_ENV !== 'production') { - location = (0, _deprecateObjectProperties2.default)(location, '`context.location` is deprecated, please use a route component\'s `props.location` instead. http://tiny.cc/router-accessinglocation'); - } - - return { history: history, location: location, router: router }; - }, - createElement: function createElement(component, props) { - return component == null ? null : this.props.createElement(component, props); - }, - render: function render() { - var _this = this; - - var _props2 = this.props; - var history = _props2.history; - var location = _props2.location; - var routes = _props2.routes; - var params = _props2.params; - var components = _props2.components; - - var element = null; - - if (components) { - element = components.reduceRight(function (element, components, index) { - if (components == null) return element; // Don't create new children; use the grandchildren. - - var route = routes[index]; - var routeParams = (0, _getRouteParams2.default)(route, params); - var props = { - history: history, - location: location, - params: params, - route: route, - routeParams: routeParams, - routes: routes - }; - - if ((0, _RouteUtils.isReactChildren)(element)) { - props.children = element; - } else if (element) { - for (var prop in element) { - if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop]; - } - } - - if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object') { - var elements = {}; - - for (var key in components) { - if (Object.prototype.hasOwnProperty.call(components, key)) { - // Pass through the key as a prop to createElement to allow - // custom createElement functions to know which named component - // they're rendering, for e.g. matching up to fetched data. - elements[key] = _this.createElement(components[key], _extends({ - key: key }, props)); - } - } - - return elements; - } - - return _this.createElement(components, props); - }, element); - } - - !(element === null || element === false || _react2.default.isValidElement(element)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'The root route must render a single element') : (0, _invariant2.default)(false) : void 0; - - return element; - } - }); - - exports.default = RouterContext; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + exports.default = AlbumGrid; /***/ }, /* 53 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + 'use strict'; - exports.__esModule = true; - exports.canUseMembrane = undefined; + Object.defineProperty(exports, "__esModule", { + value: true + }); - var _routerWarning = __webpack_require__(14); + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - var _routerWarning2 = _interopRequireDefault(_routerWarning); + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _reactRouter = __webpack_require__(12); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var canUseMembrane = exports.canUseMembrane = false; + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - // No-op by default. - var deprecateObjectProperties = function deprecateObjectProperties(object) { - return object; - }; + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - if (process.env.NODE_ENV !== 'production') { - try { - if (Object.defineProperty({}, 'x', { - get: function get() { - return true; - } - }).x) { - exports.canUseMembrane = canUseMembrane = true; - } - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - if (canUseMembrane) { - deprecateObjectProperties = function deprecateObjectProperties(object, message) { - // Wrap the deprecated object in a membrane to warn on property access. - var membrane = {}; + var List = function (_React$Component) { + _inherits(List, _React$Component); - var _loop = function _loop(prop) { - if (!Object.prototype.hasOwnProperty.call(object, prop)) { - return 'continue'; - } + function List(props) { + _classCallCheck(this, List); - if (typeof object[prop] === 'function') { - // Can't use fat arrow here because of use of arguments below. - membrane[prop] = function () { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, message) : void 0; - return object[prop].apply(object, arguments); - }; - return 'continue'; - } + return _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, props)); + } - // These properties are non-enumerable to prevent React dev tools from - // seeing them and causing spurious warnings when accessing them. In - // principle this could be done with a proxy, but support for the - // ownKeys trap on proxies is not universal, even among browsers that - // otherwise support proxies. - Object.defineProperty(membrane, prop, { - get: function get() { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, message) : void 0; - return object[prop]; - } - }); - }; + _createClass(List, [{ + key: 'renderHeader', + value: function renderHeader() { + if (!this.props.columns) return null; - for (var prop in object) { - var _ret = _loop(prop); + return _react2.default.createElement( + 'div', + { className: 'list-item header cf' }, + this.props.columns.map(function (col, col_index) { + return _react2.default.createElement( + 'div', + { className: 'col w' + col.width, key: col_index }, + col.name + ); + }) + ); + } + }, { + key: 'render', + value: function render() { + var _this2 = this; - if (_ret === 'continue') continue; - } + return _react2.default.createElement( + 'div', + { className: 'list' }, + this.renderHeader(), + this.props.rows.map(function (row, row_index) { + return _react2.default.createElement( + _reactRouter.Link, + { to: _this2.props.link_prefix + encodeURIComponent(row.uri), className: 'list-item cf', key: row_index }, + _this2.props.columns.map(function (col, col_index) { + return _react2.default.createElement( + 'div', + { className: 'col w' + col.width, key: col_index }, + row[col.name] ? row[col.name] : _react2.default.createElement( + 'span', + null, + '-' + ) + ); + }) + ); + }) + ); + } + }]); - return membrane; - }; - } - } + return List; + }(_react2.default.Component); - exports.default = deprecateObjectProperties; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + exports.default = List; /***/ }, /* 54 */ @@ -6602,15 +6545,15 @@ var _warning2 = _interopRequireDefault(_warning); - var _queryString = __webpack_require__(255); + var _queryString = __webpack_require__(206); - var _runTransitionHook = __webpack_require__(75); + var _runTransitionHook = __webpack_require__(72); var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); var _PathUtils = __webpack_require__(34); - var _deprecate = __webpack_require__(74); + var _deprecate = __webpack_require__(71); var _deprecate2 = _interopRequireDefault(_deprecate); @@ -6770,6 +6713,249 @@ /***/ }, /* 56 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + var _invariant = __webpack_require__(17); + + var _invariant2 = _interopRequireDefault(_invariant); + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _deprecateObjectProperties = __webpack_require__(57); + + var _deprecateObjectProperties2 = _interopRequireDefault(_deprecateObjectProperties); + + var _getRouteParams = __webpack_require__(232); + + var _getRouteParams2 = _interopRequireDefault(_getRouteParams); + + var _RouteUtils = __webpack_require__(29); + + var _routerWarning = __webpack_require__(15); + + var _routerWarning2 = _interopRequireDefault(_routerWarning); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _React$PropTypes = _react2.default.PropTypes; + var array = _React$PropTypes.array; + var func = _React$PropTypes.func; + var object = _React$PropTypes.object; + + /** + * A renders the component tree for a given router state + * and sets the history object and the current location in context. + */ + + var RouterContext = _react2.default.createClass({ + displayName: 'RouterContext', + + + propTypes: { + history: object, + router: object.isRequired, + location: object.isRequired, + routes: array.isRequired, + params: object.isRequired, + components: array.isRequired, + createElement: func.isRequired + }, + + getDefaultProps: function getDefaultProps() { + return { + createElement: _react2.default.createElement + }; + }, + + + childContextTypes: { + history: object, + location: object.isRequired, + router: object.isRequired + }, + + getChildContext: function getChildContext() { + var _props = this.props; + var router = _props.router; + var history = _props.history; + var location = _props.location; + + if (!router) { + process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, '`` expects a `router` rather than a `history`') : void 0; + + router = _extends({}, history, { + setRouteLeaveHook: history.listenBeforeLeavingRoute + }); + delete router.listenBeforeLeavingRoute; + } + + if (process.env.NODE_ENV !== 'production') { + location = (0, _deprecateObjectProperties2.default)(location, '`context.location` is deprecated, please use a route component\'s `props.location` instead. http://tiny.cc/router-accessinglocation'); + } + + return { history: history, location: location, router: router }; + }, + createElement: function createElement(component, props) { + return component == null ? null : this.props.createElement(component, props); + }, + render: function render() { + var _this = this; + + var _props2 = this.props; + var history = _props2.history; + var location = _props2.location; + var routes = _props2.routes; + var params = _props2.params; + var components = _props2.components; + + var element = null; + + if (components) { + element = components.reduceRight(function (element, components, index) { + if (components == null) return element; // Don't create new children; use the grandchildren. + + var route = routes[index]; + var routeParams = (0, _getRouteParams2.default)(route, params); + var props = { + history: history, + location: location, + params: params, + route: route, + routeParams: routeParams, + routes: routes + }; + + if ((0, _RouteUtils.isReactChildren)(element)) { + props.children = element; + } else if (element) { + for (var prop in element) { + if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop]; + } + } + + if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object') { + var elements = {}; + + for (var key in components) { + if (Object.prototype.hasOwnProperty.call(components, key)) { + // Pass through the key as a prop to createElement to allow + // custom createElement functions to know which named component + // they're rendering, for e.g. matching up to fetched data. + elements[key] = _this.createElement(components[key], _extends({ + key: key }, props)); + } + } + + return elements; + } + + return _this.createElement(components, props); + }, element); + } + + !(element === null || element === false || _react2.default.isValidElement(element)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'The root route must render a single element') : (0, _invariant2.default)(false) : void 0; + + return element; + } + }); + + exports.default = RouterContext; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 57 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + exports.canUseMembrane = undefined; + + var _routerWarning = __webpack_require__(15); + + var _routerWarning2 = _interopRequireDefault(_routerWarning); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var canUseMembrane = exports.canUseMembrane = false; + + // No-op by default. + var deprecateObjectProperties = function deprecateObjectProperties(object) { + return object; + }; + + if (process.env.NODE_ENV !== 'production') { + try { + if (Object.defineProperty({}, 'x', { + get: function get() { + return true; + } + }).x) { + exports.canUseMembrane = canUseMembrane = true; + } + /* eslint-disable no-empty */ + } catch (e) {} + /* eslint-enable no-empty */ + + if (canUseMembrane) { + deprecateObjectProperties = function deprecateObjectProperties(object, message) { + // Wrap the deprecated object in a membrane to warn on property access. + var membrane = {}; + + var _loop = function _loop(prop) { + if (!Object.prototype.hasOwnProperty.call(object, prop)) { + return 'continue'; + } + + if (typeof object[prop] === 'function') { + // Can't use fat arrow here because of use of arguments below. + membrane[prop] = function () { + process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, message) : void 0; + return object[prop].apply(object, arguments); + }; + return 'continue'; + } + + // These properties are non-enumerable to prevent React dev tools from + // seeing them and causing spurious warnings when accessing them. In + // principle this could be done with a proxy, but support for the + // ownKeys trap on proxies is not universal, even among browsers that + // otherwise support proxies. + Object.defineProperty(membrane, prop, { + get: function get() { + process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, message) : void 0; + return object[prop]; + } + }); + }; + + for (var prop in object) { + var _ret = _loop(prop); + + if (_ret === 'continue') continue; + } + + return membrane; + }; + } + } + + exports.default = deprecateObjectProperties; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 58 */ /***/ function(module, exports) { /** @@ -6824,7 +7010,7 @@ module.exports = DisabledInputUtils; /***/ }, -/* 57 */ +/* 59 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7077,7 +7263,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 58 */ +/* 60 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7096,11 +7282,11 @@ var _assign = __webpack_require__(8); var EventConstants = __webpack_require__(25); - var EventPluginRegistry = __webpack_require__(57); - var ReactEventEmitterMixin = __webpack_require__(292); - var ViewportMetrics = __webpack_require__(141); + var EventPluginRegistry = __webpack_require__(59); + var ReactEventEmitterMixin = __webpack_require__(272); + var ViewportMetrics = __webpack_require__(139); - var getVendorPrefixedEventName = __webpack_require__(324); + var getVendorPrefixedEventName = __webpack_require__(304); var isEventSupported = __webpack_require__(94); /** @@ -7412,7 +7598,7 @@ module.exports = ReactBrowserEventEmitter; /***/ }, -/* 59 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7428,7 +7614,7 @@ 'use strict'; - var keyMirror = __webpack_require__(63); + var keyMirror = __webpack_require__(65); var ReactPropTypeLocations = keyMirror({ prop: null, @@ -7439,7 +7625,7 @@ module.exports = ReactPropTypeLocations; /***/ }, -/* 60 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7455,8 +7641,8 @@ 'use strict'; - var SyntheticUIEvent = __webpack_require__(48); - var ViewportMetrics = __webpack_require__(141); + var SyntheticUIEvent = __webpack_require__(49); + var ViewportMetrics = __webpack_require__(139); var getEventModifierState = __webpack_require__(91); @@ -7516,7 +7702,7 @@ module.exports = SyntheticMouseEvent; /***/ }, -/* 61 */ +/* 63 */ /***/ function(module, exports) { /** @@ -7644,7 +7830,7 @@ module.exports = escapeTextContentForBrowser; /***/ }, -/* 62 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { /** @@ -7660,7 +7846,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(16); var DOMNamespaces = __webpack_require__(77); var WHITESPACE_TEST = /^[ \r\n\t\f]/; @@ -7747,7 +7933,7 @@ module.exports = setInnerHTML; /***/ }, -/* 63 */ +/* 65 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7800,13 +7986,13 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 64 */ +/* 66 */ /***/ function(module, exports) { module.exports = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMzJweCIgaGVpZ2h0PSIzMnB4IiB2aWV3Qm94PSIwIDAgMzIgMzIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDMyIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0NDQ0NDQyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iNC4xNjciIHgyPSIyNy44MzMiIHkyPSIyNy44MzMiLz4NCjxsaW5lIGZpbGw9Im5vbmUiIHN0cm9rZT0iI0NDQ0NDQyIgc3Ryb2tlLXdpZHRoPSIwLjE0MTciIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgeDE9IjQuMTY3IiB5MT0iMjcuODMzIiB4Mj0iMjcuODMzIiB5Mj0iNC4xNjciLz4NCjwvc3ZnPg0K" /***/ }, -/* 65 */ +/* 67 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -7821,7 +8007,7 @@ var _react2 = _interopRequireDefault(_react); - var _GridItem = __webpack_require__(42); + var _GridItem = __webpack_require__(43); var _GridItem2 = _interopRequireDefault(_GridItem); @@ -7833,34 +8019,26 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var AlbumGrid = function (_React$Component) { - _inherits(AlbumGrid, _React$Component); + var ArtistGrid = function (_React$Component) { + _inherits(ArtistGrid, _React$Component); - function AlbumGrid(props) { - _classCallCheck(this, AlbumGrid); + function ArtistGrid(props) { + _classCallCheck(this, ArtistGrid); - return _possibleConstructorReturn(this, (AlbumGrid.__proto__ || Object.getPrototypeOf(AlbumGrid)).call(this, props)); + return _possibleConstructorReturn(this, (ArtistGrid.__proto__ || Object.getPrototypeOf(ArtistGrid)).call(this, props)); } - _createClass(AlbumGrid, [{ + _createClass(ArtistGrid, [{ key: 'render', value: function render() { - if (this.props.albums) { - var className = "grid album-grid"; + if (this.props.artists) { + var className = "grid artist-grid"; if (this.props.className) className += ' ' + this.props.className; return _react2.default.createElement( 'div', { className: className }, - this.props.albums.map(function (album, index) { - - // handle nested album objects (as in Album Library) - if (album.album) { - var flatAlbum = album.album; - flatAlbum.added_at = album.added_at; - album = flatAlbum; - } - - return _react2.default.createElement(_GridItem2.default, { item: album, key: index, link: '/album/' + album.uri }); + this.props.artists.map(function (artist, index) { + return _react2.default.createElement(_GridItem2.default, { item: artist, key: index, link: '/artist/' + artist.uri }); }) ); } @@ -7868,13 +8046,13 @@ } }]); - return AlbumGrid; + return ArtistGrid; }(_react2.default.Component); - exports.default = AlbumGrid; + exports.default = ArtistGrid; /***/ }, -/* 66 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -7928,6 +8106,7 @@ // get left-over number of minutes minutes = total_minutes - total_hours * 60; if (minutes <= 9 && total_hours) minutes = '0' + minutes; + if (minutes == 0) minutes = '0'; if (total_hours) string += total_hours + ':'; if (minutes) string += minutes + ':'; @@ -7986,182 +8165,150 @@ exports.default = Dater; -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _reactRouter = __webpack_require__(10); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var List = function (_React$Component) { - _inherits(List, _React$Component); - - function List(props) { - _classCallCheck(this, List); - - return _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, props)); - } - - _createClass(List, [{ - key: 'renderHeader', - value: function renderHeader() { - if (!this.props.columns) return null; - - return _react2.default.createElement( - 'div', - { className: 'list-item header cf' }, - this.props.columns.map(function (col, col_index) { - return _react2.default.createElement( - 'div', - { className: 'col w' + col.width, key: col_index }, - col.name - ); - }) - ); - } - }, { - key: 'render', - value: function render() { - var _this2 = this; - - return _react2.default.createElement( - 'div', - { className: 'list' }, - this.renderHeader(), - this.props.rows.map(function (row, row_index) { - return _react2.default.createElement( - _reactRouter.Link, - { to: _this2.props.link_prefix + encodeURIComponent(row.uri), className: 'list-item cf', key: row_index }, - _this2.props.columns.map(function (col, col_index) { - return _react2.default.createElement( - 'div', - { className: 'col w' + col.width, key: col_index }, - row[col.name] ? row[col.name] : _react2.default.createElement( - 'span', - null, - '-' - ) - ); - }) - ); - }) - ); - } - }]); - - return List; - }(_react2.default.Component); - - exports.default = List; - -/***/ }, -/* 68 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["jQuery"] = __webpack_require__(197); - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) - /***/ }, /* 69 */ /***/ function(module, exports, __webpack_require__) { - var __WEBPACK_AMD_DEFINE_RESULT__;var require;/* WEBPACK VAR INJECTION */(function(process) {/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - /*global process,document,setTimeout,clearTimeout,MutationObserver,WebKitMutationObserver*/ - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { - /*jshint maxcomplexity:6*/ - - // Sniff "best" async scheduling option - // Prefer process.nextTick or MutationObserver, then check for - // setTimeout, and finally vertx, since its the only env that doesn't - // have setTimeout - - var MutationObs; - var capturedSetTimeout = typeof setTimeout !== 'undefined' && setTimeout; - - // Default env - var setTimer = function(f, ms) { return setTimeout(f, ms); }; - var clearTimer = function(t) { return clearTimeout(t); }; - var asap = function (f) { return capturedSetTimeout(f, 0); }; - - // Detect specific env - if (isNode()) { // Node - asap = function (f) { return process.nextTick(f); }; - - } else if (MutationObs = hasMutationObserver()) { // Modern browser - asap = initMutationObserver(MutationObs); - - } else if (!capturedSetTimeout) { // vert.x - var vertxRequire = require; - var vertx = __webpack_require__(376); - setTimer = function (f, ms) { return vertx.setTimer(ms, f); }; - clearTimer = vertx.cancelTimer; - asap = vertx.runOnLoop || vertx.runOnContext; - } - - return { - setTimer: setTimer, - clearTimer: clearTimer, - asap: asap - }; - - function isNode () { - return typeof process !== 'undefined' && - Object.prototype.toString.call(process) === '[object process]'; - } - - function hasMutationObserver () { - return (typeof MutationObserver === 'function' && MutationObserver) || - (typeof WebKitMutationObserver === 'function' && WebKitMutationObserver); - } - - function initMutationObserver(MutationObserver) { - var scheduled; - var node = document.createTextNode(''); - var o = new MutationObserver(run); - o.observe(node, { characterData: true }); - - function run() { - var f = scheduled; - scheduled = void 0; - f(); - } - - var i = 0; - return function (f) { - scheduled = f; - node.data = (i ^= 1); - }; - } - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["jQuery"] = __webpack_require__(201); + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) /***/ }, /* 70 */ +/***/ function(module, exports) { + + 'use strict'; + + exports.__esModule = true; + exports.addEventListener = addEventListener; + exports.removeEventListener = removeEventListener; + exports.getHashPath = getHashPath; + exports.replaceHashPath = replaceHashPath; + exports.getWindowPath = getWindowPath; + exports.go = go; + exports.getUserConfirmation = getUserConfirmation; + exports.supportsHistory = supportsHistory; + exports.supportsGoWithoutReloadUsingHash = supportsGoWithoutReloadUsingHash; + + function addEventListener(node, event, listener) { + if (node.addEventListener) { + node.addEventListener(event, listener, false); + } else { + node.attachEvent('on' + event, listener); + } + } + + function removeEventListener(node, event, listener) { + if (node.removeEventListener) { + node.removeEventListener(event, listener, false); + } else { + node.detachEvent('on' + event, listener); + } + } + + function getHashPath() { + // We can't use window.location.hash here because it's not + // consistent across browsers - Firefox will pre-decode it! + return window.location.href.split('#')[1] || ''; + } + + function replaceHashPath(path) { + window.location.replace(window.location.pathname + window.location.search + '#' + path); + } + + function getWindowPath() { + return window.location.pathname + window.location.search + window.location.hash; + } + + function go(n) { + if (n) window.history.go(n); + } + + function getUserConfirmation(message, callback) { + callback(window.confirm(message)); + } + + /** + * Returns true if the HTML5 history API is supported. Taken from Modernizr. + * + * https://github.com/Modernizr/Modernizr/blob/master/LICENSE + * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js + * changed to avoid false negatives for Windows Phones: https://github.com/rackt/react-router/issues/586 + */ + + function supportsHistory() { + var ua = navigator.userAgent; + if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) { + return false; + } + return window.history && 'pushState' in window.history; + } + + /** + * Returns false if using go(n) with hash history causes a full page reload. + */ + + function supportsGoWithoutReloadUsingHash() { + var ua = navigator.userAgent; + return ua.indexOf('Firefox') === -1; + } + +/***/ }, +/* 71 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _warning = __webpack_require__(23); + + var _warning2 = _interopRequireDefault(_warning); + + function deprecate(fn, message) { + return function () { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] ' + message) : undefined; + return fn.apply(this, arguments); + }; + } + + exports['default'] = deprecate; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 72 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _warning = __webpack_require__(23); + + var _warning2 = _interopRequireDefault(_warning); + + function runTransitionHook(hook, location, callback) { + var result = hook(location, callback); + + if (hook.length < 2) { + // Assume the hook runs synchronously and automatically + // call the callback with the return value. + callback(result); + } else { + process.env.NODE_ENV !== 'production' ? _warning2['default'](result === undefined, 'You should not "return" in a transition hook with a callback argument; call the callback instead') : undefined; + } + } + + exports['default'] = runTransitionHook; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 73 */ /***/ function(module, exports) { "use strict"; @@ -8254,7 +8401,7 @@ } /***/ }, -/* 71 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -8264,15 +8411,15 @@ var _react = __webpack_require__(2); - var _deprecateObjectProperties = __webpack_require__(53); + var _deprecateObjectProperties = __webpack_require__(57); var _deprecateObjectProperties2 = _interopRequireDefault(_deprecateObjectProperties); - var _InternalPropTypes = __webpack_require__(33); + var _InternalPropTypes = __webpack_require__(35); var InternalPropTypes = _interopRequireWildcard(_InternalPropTypes); - var _routerWarning = __webpack_require__(14); + var _routerWarning = __webpack_require__(15); var _routerWarning2 = _interopRequireDefault(_routerWarning); @@ -8361,7 +8508,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 72 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -8372,25 +8519,25 @@ exports.default = createTransitionManager; - var _routerWarning = __webpack_require__(14); + var _routerWarning = __webpack_require__(15); var _routerWarning2 = _interopRequireDefault(_routerWarning); - var _computeChangedRoutes2 = __webpack_require__(239); + var _computeChangedRoutes2 = __webpack_require__(230); var _computeChangedRoutes3 = _interopRequireDefault(_computeChangedRoutes2); - var _TransitionUtils = __webpack_require__(236); + var _TransitionUtils = __webpack_require__(227); - var _isActive2 = __webpack_require__(243); + var _isActive2 = __webpack_require__(234); var _isActive3 = _interopRequireDefault(_isActive2); - var _getComponents = __webpack_require__(240); + var _getComponents = __webpack_require__(231); var _getComponents2 = _interopRequireDefault(_getComponents); - var _matchRoutes = __webpack_require__(245); + var _matchRoutes = __webpack_require__(236); var _matchRoutes2 = _interopRequireDefault(_matchRoutes); @@ -8668,141 +8815,6 @@ module.exports = exports['default']; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) -/***/ }, -/* 73 */ -/***/ function(module, exports) { - - 'use strict'; - - exports.__esModule = true; - exports.addEventListener = addEventListener; - exports.removeEventListener = removeEventListener; - exports.getHashPath = getHashPath; - exports.replaceHashPath = replaceHashPath; - exports.getWindowPath = getWindowPath; - exports.go = go; - exports.getUserConfirmation = getUserConfirmation; - exports.supportsHistory = supportsHistory; - exports.supportsGoWithoutReloadUsingHash = supportsGoWithoutReloadUsingHash; - - function addEventListener(node, event, listener) { - if (node.addEventListener) { - node.addEventListener(event, listener, false); - } else { - node.attachEvent('on' + event, listener); - } - } - - function removeEventListener(node, event, listener) { - if (node.removeEventListener) { - node.removeEventListener(event, listener, false); - } else { - node.detachEvent('on' + event, listener); - } - } - - function getHashPath() { - // We can't use window.location.hash here because it's not - // consistent across browsers - Firefox will pre-decode it! - return window.location.href.split('#')[1] || ''; - } - - function replaceHashPath(path) { - window.location.replace(window.location.pathname + window.location.search + '#' + path); - } - - function getWindowPath() { - return window.location.pathname + window.location.search + window.location.hash; - } - - function go(n) { - if (n) window.history.go(n); - } - - function getUserConfirmation(message, callback) { - callback(window.confirm(message)); - } - - /** - * Returns true if the HTML5 history API is supported. Taken from Modernizr. - * - * https://github.com/Modernizr/Modernizr/blob/master/LICENSE - * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js - * changed to avoid false negatives for Windows Phones: https://github.com/rackt/react-router/issues/586 - */ - - function supportsHistory() { - var ua = navigator.userAgent; - if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) { - return false; - } - return window.history && 'pushState' in window.history; - } - - /** - * Returns false if using go(n) with hash history causes a full page reload. - */ - - function supportsGoWithoutReloadUsingHash() { - var ua = navigator.userAgent; - return ua.indexOf('Firefox') === -1; - } - -/***/ }, -/* 74 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _warning = __webpack_require__(23); - - var _warning2 = _interopRequireDefault(_warning); - - function deprecate(fn, message) { - return function () { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, '[history] ' + message) : undefined; - return fn.apply(this, arguments); - }; - } - - exports['default'] = deprecate; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _warning = __webpack_require__(23); - - var _warning2 = _interopRequireDefault(_warning); - - function runTransitionHook(hook, location, callback) { - var result = hook(location, callback); - - if (hook.length < 2) { - // Assume the hook runs synchronously and automatically - // call the callback with the return value. - callback(result); - } else { - process.env.NODE_ENV !== 'production' ? _warning2['default'](result === undefined, 'You should not "return" in a transition hook with a callback argument; call the callback instead') : undefined; - } - } - - exports['default'] = runTransitionHook; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - /***/ }, /* 76 */ /***/ function(module, exports, __webpack_require__) { @@ -8820,15 +8832,15 @@ 'use strict'; - var DOMLazyTree = __webpack_require__(39); - var Danger = __webpack_require__(263); - var ReactMultiChildUpdateTypes = __webpack_require__(137); - var ReactDOMComponentTree = __webpack_require__(11); + var DOMLazyTree = __webpack_require__(40); + var Danger = __webpack_require__(243); + var ReactMultiChildUpdateTypes = __webpack_require__(135); + var ReactDOMComponentTree = __webpack_require__(10); var ReactInstrumentation = __webpack_require__(19); var createMicrosoftUnsafeLocalFunction = __webpack_require__(89); - var setInnerHTML = __webpack_require__(62); - var setTextContent = __webpack_require__(149); + var setInnerHTML = __webpack_require__(64); + var setTextContent = __webpack_require__(147); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments @@ -9346,8 +9358,8 @@ var _prodInvariant = __webpack_require__(5); - var ReactPropTypes = __webpack_require__(139); - var ReactPropTypeLocations = __webpack_require__(59); + var ReactPropTypes = __webpack_require__(137); + var ReactPropTypeLocations = __webpack_require__(61); var ReactPropTypesSecret = __webpack_require__(86); var invariant = __webpack_require__(3); @@ -9491,7 +9503,7 @@ var ReactNoopUpdateQueue = __webpack_require__(84); var canDefineProperty = __webpack_require__(88); - var emptyObject = __webpack_require__(50); + var emptyObject = __webpack_require__(51); var invariant = __webpack_require__(3); var warning = __webpack_require__(4); @@ -9899,7 +9911,7 @@ var _prodInvariant = __webpack_require__(5); var ReactCurrentOwner = __webpack_require__(26); - var ReactInstanceMap = __webpack_require__(47); + var ReactInstanceMap = __webpack_require__(48); var ReactInstrumentation = __webpack_require__(19); var ReactUpdates = __webpack_require__(24); @@ -10384,7 +10396,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(16); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { @@ -11114,6 +11126,86 @@ /***/ }, /* 99 */ +/***/ function(module, exports, __webpack_require__) { + + var require;var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(process) {/** @license MIT License (c) copyright 2010-2014 original author or authors */ + /** @author Brian Cavalier */ + /** @author John Hann */ + + /*global process,document,setTimeout,clearTimeout,MutationObserver,WebKitMutationObserver*/ + (function(define) { 'use strict'; + !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { + /*jshint maxcomplexity:6*/ + + // Sniff "best" async scheduling option + // Prefer process.nextTick or MutationObserver, then check for + // setTimeout, and finally vertx, since its the only env that doesn't + // have setTimeout + + var MutationObs; + var capturedSetTimeout = typeof setTimeout !== 'undefined' && setTimeout; + + // Default env + var setTimer = function(f, ms) { return setTimeout(f, ms); }; + var clearTimer = function(t) { return clearTimeout(t); }; + var asap = function (f) { return capturedSetTimeout(f, 0); }; + + // Detect specific env + if (isNode()) { // Node + asap = function (f) { return process.nextTick(f); }; + + } else if (MutationObs = hasMutationObserver()) { // Modern browser + asap = initMutationObserver(MutationObs); + + } else if (!capturedSetTimeout) { // vert.x + var vertxRequire = require; + var vertx = __webpack_require__(373); + setTimer = function (f, ms) { return vertx.setTimer(ms, f); }; + clearTimer = vertx.cancelTimer; + asap = vertx.runOnLoop || vertx.runOnContext; + } + + return { + setTimer: setTimer, + clearTimer: clearTimer, + asap: asap + }; + + function isNode () { + return typeof process !== 'undefined' && + Object.prototype.toString.call(process) === '[object process]'; + } + + function hasMutationObserver () { + return (typeof MutationObserver === 'function' && MutationObserver) || + (typeof WebKitMutationObserver === 'function' && WebKitMutationObserver); + } + + function initMutationObserver(MutationObserver) { + var scheduled; + var node = document.createTextNode(''); + var o = new MutationObserver(run); + o.observe(node, { characterData: true }); + + function run() { + var f = scheduled; + scheduled = void 0; + f(); + } + + var i = 0; + return function (f) { + scheduled = f; + node.data = (i ^= 1); + }; + } + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }(__webpack_require__(13))); + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 100 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -11128,11 +11220,11 @@ var _react2 = _interopRequireDefault(_react); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -11168,66 +11260,6 @@ exports.default = AlbumLink; -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - Object.defineProperty(exports, "__esModule", { - value: true - }); - - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _GridItem = __webpack_require__(42); - - var _GridItem2 = _interopRequireDefault(_GridItem); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - - function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - var ArtistGrid = function (_React$Component) { - _inherits(ArtistGrid, _React$Component); - - function ArtistGrid(props) { - _classCallCheck(this, ArtistGrid); - - return _possibleConstructorReturn(this, (ArtistGrid.__proto__ || Object.getPrototypeOf(ArtistGrid)).call(this, props)); - } - - _createClass(ArtistGrid, [{ - key: 'render', - value: function render() { - if (this.props.artists) { - var className = "grid artist-grid"; - if (this.props.className) className += ' ' + this.props.className; - return _react2.default.createElement( - 'div', - { className: className }, - this.props.artists.map(function (artist, index) { - return _react2.default.createElement(_GridItem2.default, { item: artist, key: index, link: '/artist/' + artist.uri }); - }) - ); - } - return null; - } - }]); - - return ArtistGrid; - }(_react2.default.Component); - - exports.default = ArtistGrid; - /***/ }, /* 101 */ /***/ function(module, exports, __webpack_require__) { @@ -11244,7 +11276,7 @@ var _react2 = _interopRequireDefault(_react); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -11268,7 +11300,7 @@ value: function render() { var className = 'icon'; if (this.props.className) className += ' ' + this.props.className; - var src = __webpack_require__(375)("./" + this.props.name + '.svg'); + var src = __webpack_require__(372)("./" + this.props.name + '.svg'); return _react2.default.createElement('img', { className: className, src: src }); } }]); @@ -11294,7 +11326,7 @@ var _react2 = _interopRequireDefault(_react); - var _helpers = __webpack_require__(32); + var _helpers = __webpack_require__(33); var helpers = _interopRequireWildcard(_helpers); @@ -11476,7 +11508,7 @@ }(_react2.default.Component); exports.default = Parallax; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(69))) /***/ }, /* 103 */ @@ -11498,15 +11530,15 @@ var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _VolumeSlider = __webpack_require__(169); + var _VolumeSlider = __webpack_require__(168); var _VolumeSlider2 = _interopRequireDefault(_VolumeSlider); - var _ArtistSentence = __webpack_require__(41); + var _ArtistSentence = __webpack_require__(42); var _ArtistSentence2 = _interopRequireDefault(_ArtistSentence); @@ -11514,7 +11546,7 @@ var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -11731,7 +11763,7 @@ var _react2 = _interopRequireDefault(_react); - var _GridItem = __webpack_require__(42); + var _GridItem = __webpack_require__(43); var _GridItem2 = _interopRequireDefault(_GridItem); @@ -11791,19 +11823,19 @@ var _react2 = _interopRequireDefault(_react); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _ArtistSentence = __webpack_require__(41); + var _ArtistSentence = __webpack_require__(42); var _ArtistSentence2 = _interopRequireDefault(_ArtistSentence); - var _AlbumLink = __webpack_require__(99); + var _AlbumLink = __webpack_require__(100); var _AlbumLink2 = _interopRequireDefault(_AlbumLink); - var _Dater = __webpack_require__(66); + var _Dater = __webpack_require__(68); var _Dater2 = _interopRequireDefault(_Dater); @@ -11902,670 +11934,10 @@ }(_react2.default.Component); exports.default = Track; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(68))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(69))) /***/ }, /* 106 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - /** - * Custom error type for promises rejected by promise.timeout - * @param {string} message - * @constructor - */ - function TimeoutError (message) { - Error.call(this); - this.message = message; - this.name = TimeoutError.name; - if (typeof Error.captureStackTrace === 'function') { - Error.captureStackTrace(this, TimeoutError); - } - } - - TimeoutError.prototype = Object.create(Error.prototype); - TimeoutError.prototype.constructor = TimeoutError; - - return TimeoutError; - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - -/***/ }, -/* 107 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - makeApply.tryCatchResolve = tryCatchResolve; - - return makeApply; - - function makeApply(Promise, call) { - if(arguments.length < 2) { - call = tryCatchResolve; - } - - return apply; - - function apply(f, thisArg, args) { - var p = Promise._defer(); - var l = args.length; - var params = new Array(l); - callAndResolve({ f:f, thisArg:thisArg, args:args, params:params, i:l-1, call:call }, p._handler); - - return p; - } - - function callAndResolve(c, h) { - if(c.i < 0) { - return call(c.f, c.thisArg, c.params, h); - } - - var handler = Promise._handler(c.args[c.i]); - handler.fold(callAndResolveNext, c, void 0, h); - } - - function callAndResolveNext(c, x, h) { - c.params[c.i] = x; - c.i -= 1; - callAndResolve(c, h); - } - } - - function tryCatchResolve(f, thisArg, args, resolver) { - try { - resolver.resolve(f.apply(thisArg, args)); - } catch(e) { - resolver.reject(e); - } - } - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - - - -/***/ }, -/* 108 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return { - pending: toPendingState, - fulfilled: toFulfilledState, - rejected: toRejectedState, - inspect: inspect - }; - - function toPendingState() { - return { state: 'pending' }; - } - - function toRejectedState(e) { - return { state: 'rejected', reason: e }; - } - - function toFulfilledState(x) { - return { state: 'fulfilled', value: x }; - } - - function inspect(handler) { - var state = handler.state(); - return state === 0 ? toPendingState() - : state > 0 ? toFulfilledState(handler.value) - : toRejectedState(handler.value); - } - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 109 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - module.exports = __webpack_require__(273); - - -/***/ }, -/* 110 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - - var _react = __webpack_require__(2); - - exports["default"] = _react.PropTypes.shape({ - subscribe: _react.PropTypes.func.isRequired, - dispatch: _react.PropTypes.func.isRequired, - getState: _react.PropTypes.func.isRequired - }); - -/***/ }, -/* 111 */ -/***/ function(module, exports) { - - 'use strict'; - - exports.__esModule = true; - exports["default"] = warning; - /** - * Prints a warning in the console if it exists. - * - * @param {String} message The warning message. - * @returns {void} - */ - function warning(message) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error(message); - } - /* eslint-enable no-console */ - try { - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ - } - -/***/ }, -/* 112 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _routerWarning = __webpack_require__(14); - - var _routerWarning2 = _interopRequireDefault(_routerWarning); - - var _invariant = __webpack_require__(18); - - var _invariant2 = _interopRequireDefault(_invariant); - - var _PropTypes = __webpack_require__(71); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - - var _React$PropTypes = _react2.default.PropTypes; - var bool = _React$PropTypes.bool; - var object = _React$PropTypes.object; - var string = _React$PropTypes.string; - var func = _React$PropTypes.func; - var oneOfType = _React$PropTypes.oneOfType; - - - function isLeftClickEvent(event) { - return event.button === 0; - } - - function isModifiedEvent(event) { - return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); - } - - // TODO: De-duplicate against hasAnyProperties in createTransitionManager. - function isEmptyObject(object) { - for (var p in object) { - if (Object.prototype.hasOwnProperty.call(object, p)) return false; - }return true; - } - - function createLocationDescriptor(to, _ref) { - var query = _ref.query; - var hash = _ref.hash; - var state = _ref.state; - - if (query || hash || state) { - return { pathname: to, query: query, hash: hash, state: state }; - } - - return to; - } - - /** - * A is used to create an element that links to a route. - * When that route is active, the link gets the value of its - * activeClassName prop. - * - * For example, assuming you have the following route: - * - * - * - * You could use the following component to link to that route: - * - * - * - * Links may pass along location state and/or query string parameters - * in the state/query props, respectively. - * - * - */ - var Link = _react2.default.createClass({ - displayName: 'Link', - - - contextTypes: { - router: _PropTypes.routerShape - }, - - propTypes: { - to: oneOfType([string, object]), - query: object, - hash: string, - state: object, - activeStyle: object, - activeClassName: string, - onlyActiveOnIndex: bool.isRequired, - onClick: func, - target: string - }, - - getDefaultProps: function getDefaultProps() { - return { - onlyActiveOnIndex: false, - style: {} - }; - }, - handleClick: function handleClick(event) { - if (this.props.onClick) this.props.onClick(event); - - if (event.defaultPrevented) return; - - !this.context.router ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 's rendered outside of a router context cannot navigate.') : (0, _invariant2.default)(false) : void 0; - - if (isModifiedEvent(event) || !isLeftClickEvent(event)) return; - - // If target prop is set (e.g. to "_blank"), let browser handle link. - /* istanbul ignore if: untestable with Karma */ - if (this.props.target) return; - - event.preventDefault(); - - var _props = this.props; - var to = _props.to; - var query = _props.query; - var hash = _props.hash; - var state = _props.state; - - var location = createLocationDescriptor(to, { query: query, hash: hash, state: state }); - - this.context.router.push(location); - }, - render: function render() { - var _props2 = this.props; - var to = _props2.to; - var query = _props2.query; - var hash = _props2.hash; - var state = _props2.state; - var activeClassName = _props2.activeClassName; - var activeStyle = _props2.activeStyle; - var onlyActiveOnIndex = _props2.onlyActiveOnIndex; - - var props = _objectWithoutProperties(_props2, ['to', 'query', 'hash', 'state', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex']); - - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(!(query || hash || state), 'the `query`, `hash`, and `state` props on `` are deprecated, use `. http://tiny.cc/router-isActivedeprecated') : void 0; - - // Ignore if rendered outside the context of router, simplifies unit testing. - var router = this.context.router; - - - if (router) { - // If user does not specify a `to` prop, return an empty anchor tag. - if (to == null) { - return _react2.default.createElement('a', props); - } - - var location = createLocationDescriptor(to, { query: query, hash: hash, state: state }); - props.href = router.createHref(location); - - if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) { - if (router.isActive(location, onlyActiveOnIndex)) { - if (activeClassName) { - if (props.className) { - props.className += ' ' + activeClassName; - } else { - props.className = activeClassName; - } - } - - if (activeStyle) props.style = _extends({}, props.style, activeStyle); - } - } - } - - return _react2.default.createElement('a', _extends({}, props, { onClick: this.handleClick })); - } - }); - - exports.default = Link; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 113 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _react = __webpack_require__(2); - - var _react2 = _interopRequireDefault(_react); - - var _invariant = __webpack_require__(18); - - var _invariant2 = _interopRequireDefault(_invariant); - - var _RouteUtils = __webpack_require__(29); - - var _PatternUtils = __webpack_require__(37); - - var _InternalPropTypes = __webpack_require__(33); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - var _React$PropTypes = _react2.default.PropTypes; - var string = _React$PropTypes.string; - var object = _React$PropTypes.object; - - /** - * A is used to declare another URL path a client should - * be sent to when they request a given URL. - * - * Redirects are placed alongside routes in the route configuration - * and are traversed in the same manner. - */ - - var Redirect = _react2.default.createClass({ - displayName: 'Redirect', - - - statics: { - createRouteFromReactElement: function createRouteFromReactElement(element) { - var route = (0, _RouteUtils.createRouteFromReactElement)(element); - - if (route.from) route.path = route.from; - - route.onEnter = function (nextState, replace) { - var location = nextState.location; - var params = nextState.params; - - - var pathname = void 0; - if (route.to.charAt(0) === '/') { - pathname = (0, _PatternUtils.formatPattern)(route.to, params); - } else if (!route.to) { - pathname = location.pathname; - } else { - var routeIndex = nextState.routes.indexOf(route); - var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1); - var pattern = parentPattern.replace(/\/*$/, '/') + route.to; - pathname = (0, _PatternUtils.formatPattern)(pattern, params); - } - - replace({ - pathname: pathname, - query: route.query || location.query, - state: route.state || location.state - }); - }; - - return route; - }, - getRoutePattern: function getRoutePattern(routes, routeIndex) { - var parentPattern = ''; - - for (var i = routeIndex; i >= 0; i--) { - var route = routes[i]; - var pattern = route.path || ''; - - parentPattern = pattern.replace(/\/*$/, '/') + parentPattern; - - if (pattern.indexOf('/') === 0) break; - } - - return '/' + parentPattern; - } - }, - - propTypes: { - path: string, - from: string, // Alias for path - to: string.isRequired, - query: object, - state: object, - onEnter: _InternalPropTypes.falsy, - children: _InternalPropTypes.falsy - }, - - /* istanbul ignore next: sanity check */ - render: function render() { - true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, ' elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; - } - }); - - exports.default = Redirect; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 114 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - exports.createRouterObject = createRouterObject; - exports.createRoutingHistory = createRoutingHistory; - - var _deprecateObjectProperties = __webpack_require__(53); - - var _deprecateObjectProperties2 = _interopRequireDefault(_deprecateObjectProperties); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function createRouterObject(history, transitionManager) { - return _extends({}, history, { - setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute, - isActive: transitionManager.isActive - }); - } - - // deprecated - function createRoutingHistory(history, transitionManager) { - history = _extends({}, history, transitionManager); - - if (process.env.NODE_ENV !== 'production') { - history = (0, _deprecateObjectProperties2.default)(history, '`props.history` and `context.history` are deprecated. Please use `context.router`. http://tiny.cc/router-contextchanges'); - } - - return history; - } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 115 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - exports.default = createMemoryHistory; - - var _useQueries = __webpack_require__(55); - - var _useQueries2 = _interopRequireDefault(_useQueries); - - var _useBasename = __webpack_require__(123); - - var _useBasename2 = _interopRequireDefault(_useBasename); - - var _createMemoryHistory = __webpack_require__(251); - - var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function createMemoryHistory(options) { - // signatures and type checking differ between `useRoutes` and - // `createMemoryHistory`, have to create `memoryHistory` first because - // `useQueries` doesn't understand the signature - var memoryHistory = (0, _createMemoryHistory2.default)(options); - var createHistory = function createHistory() { - return memoryHistory; - }; - var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); - history.__v2_compatible__ = true; - return history; - } - module.exports = exports['default']; - -/***/ }, -/* 116 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - - exports.default = function (createHistory) { - var history = void 0; - if (canUseDOM) history = (0, _useRouterHistory2.default)(createHistory)(); - return history; - }; - - var _useRouterHistory = __webpack_require__(118); - - var _useRouterHistory2 = _interopRequireDefault(_useRouterHistory); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - - module.exports = exports['default']; - -/***/ }, -/* 117 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - exports.default = makeStateWithLocation; - - var _deprecateObjectProperties = __webpack_require__(53); - - var _routerWarning = __webpack_require__(14); - - var _routerWarning2 = _interopRequireDefault(_routerWarning); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function makeStateWithLocation(state, location) { - if (process.env.NODE_ENV !== 'production' && _deprecateObjectProperties.canUseMembrane) { - var stateWithLocation = _extends({}, state); - - // I don't use deprecateObjectProperties here because I want to keep the - // same code path between development and production, in that we just - // assign extra properties to the copy of the state object in both cases. - - var _loop = function _loop(prop) { - if (!Object.prototype.hasOwnProperty.call(location, prop)) { - return 'continue'; - } - - Object.defineProperty(stateWithLocation, prop, { - get: function get() { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'Accessing location properties directly from the first argument to `getComponent`, `getComponents`, `getChildRoutes`, and `getIndexRoute` is deprecated. That argument is now the router state (`nextState` or `partialNextState`) rather than the location. To access the location, use `nextState.location` or `partialNextState.location`.') : void 0; - return location[prop]; - } - }); - }; - - for (var prop in location) { - var _ret = _loop(prop); - - if (_ret === 'continue') continue; - } - - return stateWithLocation; - } - - return _extends({}, state, location); - } - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 118 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - exports.__esModule = true; - exports.default = useRouterHistory; - - var _useQueries = __webpack_require__(55); - - var _useQueries2 = _interopRequireDefault(_useQueries); - - var _useBasename = __webpack_require__(123); - - var _useBasename2 = _interopRequireDefault(_useBasename); - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - - function useRouterHistory(createHistory) { - return function (options) { - var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); - history.__v2_compatible__ = true; - return history; - }; - } - module.exports = exports['default']; - -/***/ }, -/* 119 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/*eslint-disable no-empty */ @@ -12644,7 +12016,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 120 */ +/* 107 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -12655,15 +12027,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _invariant = __webpack_require__(18); + var _invariant = __webpack_require__(17); var _invariant2 = _interopRequireDefault(_invariant); var _ExecutionEnvironment = __webpack_require__(54); - var _DOMUtils = __webpack_require__(73); + var _DOMUtils = __webpack_require__(70); - var _createHistory = __webpack_require__(122); + var _createHistory = __webpack_require__(109); var _createHistory2 = _interopRequireDefault(_createHistory); @@ -12690,7 +12062,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 121 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -12705,7 +12077,7 @@ var _warning2 = _interopRequireDefault(_warning); - var _invariant = __webpack_require__(18); + var _invariant = __webpack_require__(17); var _invariant2 = _interopRequireDefault(_invariant); @@ -12715,11 +12087,11 @@ var _ExecutionEnvironment = __webpack_require__(54); - var _DOMUtils = __webpack_require__(73); + var _DOMUtils = __webpack_require__(70); - var _DOMStateStorage = __webpack_require__(119); + var _DOMStateStorage = __webpack_require__(106); - var _createDOMHistory = __webpack_require__(120); + var _createDOMHistory = __webpack_require__(107); var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); @@ -12942,7 +12314,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 122 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -12957,25 +12329,25 @@ var _warning2 = _interopRequireDefault(_warning); - var _deepEqual = __webpack_require__(252); + var _deepEqual = __webpack_require__(198); var _deepEqual2 = _interopRequireDefault(_deepEqual); var _PathUtils = __webpack_require__(34); - var _AsyncUtils = __webpack_require__(248); + var _AsyncUtils = __webpack_require__(202); var _Actions = __webpack_require__(38); - var _createLocation2 = __webpack_require__(250); + var _createLocation2 = __webpack_require__(204); var _createLocation3 = _interopRequireDefault(_createLocation2); - var _runTransitionHook = __webpack_require__(75); + var _runTransitionHook = __webpack_require__(72); var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - var _deprecate = __webpack_require__(74); + var _deprecate = __webpack_require__(71); var _deprecate2 = _interopRequireDefault(_deprecate); @@ -13236,7 +12608,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 123 */ +/* 110 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -13255,11 +12627,11 @@ var _PathUtils = __webpack_require__(34); - var _runTransitionHook = __webpack_require__(75); + var _runTransitionHook = __webpack_require__(72); var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - var _deprecate = __webpack_require__(74); + var _deprecate = __webpack_require__(71); var _deprecate2 = _interopRequireDefault(_deprecate); @@ -13400,7 +12772,589 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 124 */ +/* 111 */ +/***/ function(module, exports) { + + /** + * Copyright 2015, Yahoo! Inc. + * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ + 'use strict'; + + var REACT_STATICS = { + childContextTypes: true, + contextTypes: true, + defaultProps: true, + displayName: true, + getDefaultProps: true, + mixins: true, + propTypes: true, + type: true + }; + + var KNOWN_STATICS = { + name: true, + length: true, + prototype: true, + caller: true, + arguments: true, + arity: true + }; + + var isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function'; + + module.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) { + if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components + var keys = Object.getOwnPropertyNames(sourceComponent); + + /* istanbul ignore else */ + if (isGetOwnPropertySymbolsAvailable) { + keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent)); + } + + for (var i = 0; i < keys.length; ++i) { + if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) { + try { + targetComponent[keys[i]] = sourceComponent[keys[i]]; + } catch (error) { + + } + } + } + } + + return targetComponent; + }; + + +/***/ }, +/* 112 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + module.exports = __webpack_require__(253); + + +/***/ }, +/* 113 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + + var _react = __webpack_require__(2); + + exports["default"] = _react.PropTypes.shape({ + subscribe: _react.PropTypes.func.isRequired, + dispatch: _react.PropTypes.func.isRequired, + getState: _react.PropTypes.func.isRequired + }); + +/***/ }, +/* 114 */ +/***/ function(module, exports) { + + 'use strict'; + + exports.__esModule = true; + exports["default"] = warning; + /** + * Prints a warning in the console if it exists. + * + * @param {String} message The warning message. + * @returns {void} + */ + function warning(message) { + /* eslint-disable no-console */ + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(message); + } + /* eslint-enable no-console */ + try { + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + /* eslint-disable no-empty */ + } catch (e) {} + /* eslint-enable no-empty */ + } + +/***/ }, +/* 115 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _routerWarning = __webpack_require__(15); + + var _routerWarning2 = _interopRequireDefault(_routerWarning); + + var _invariant = __webpack_require__(17); + + var _invariant2 = _interopRequireDefault(_invariant); + + var _PropTypes = __webpack_require__(74); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } + + var _React$PropTypes = _react2.default.PropTypes; + var bool = _React$PropTypes.bool; + var object = _React$PropTypes.object; + var string = _React$PropTypes.string; + var func = _React$PropTypes.func; + var oneOfType = _React$PropTypes.oneOfType; + + + function isLeftClickEvent(event) { + return event.button === 0; + } + + function isModifiedEvent(event) { + return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); + } + + // TODO: De-duplicate against hasAnyProperties in createTransitionManager. + function isEmptyObject(object) { + for (var p in object) { + if (Object.prototype.hasOwnProperty.call(object, p)) return false; + }return true; + } + + function createLocationDescriptor(to, _ref) { + var query = _ref.query; + var hash = _ref.hash; + var state = _ref.state; + + if (query || hash || state) { + return { pathname: to, query: query, hash: hash, state: state }; + } + + return to; + } + + /** + * A is used to create an element that links to a route. + * When that route is active, the link gets the value of its + * activeClassName prop. + * + * For example, assuming you have the following route: + * + * + * + * You could use the following component to link to that route: + * + * + * + * Links may pass along location state and/or query string parameters + * in the state/query props, respectively. + * + * + */ + var Link = _react2.default.createClass({ + displayName: 'Link', + + + contextTypes: { + router: _PropTypes.routerShape + }, + + propTypes: { + to: oneOfType([string, object]), + query: object, + hash: string, + state: object, + activeStyle: object, + activeClassName: string, + onlyActiveOnIndex: bool.isRequired, + onClick: func, + target: string + }, + + getDefaultProps: function getDefaultProps() { + return { + onlyActiveOnIndex: false, + style: {} + }; + }, + handleClick: function handleClick(event) { + if (this.props.onClick) this.props.onClick(event); + + if (event.defaultPrevented) return; + + !this.context.router ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 's rendered outside of a router context cannot navigate.') : (0, _invariant2.default)(false) : void 0; + + if (isModifiedEvent(event) || !isLeftClickEvent(event)) return; + + // If target prop is set (e.g. to "_blank"), let browser handle link. + /* istanbul ignore if: untestable with Karma */ + if (this.props.target) return; + + event.preventDefault(); + + var _props = this.props; + var to = _props.to; + var query = _props.query; + var hash = _props.hash; + var state = _props.state; + + var location = createLocationDescriptor(to, { query: query, hash: hash, state: state }); + + this.context.router.push(location); + }, + render: function render() { + var _props2 = this.props; + var to = _props2.to; + var query = _props2.query; + var hash = _props2.hash; + var state = _props2.state; + var activeClassName = _props2.activeClassName; + var activeStyle = _props2.activeStyle; + var onlyActiveOnIndex = _props2.onlyActiveOnIndex; + + var props = _objectWithoutProperties(_props2, ['to', 'query', 'hash', 'state', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex']); + + process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(!(query || hash || state), 'the `query`, `hash`, and `state` props on `` are deprecated, use `. http://tiny.cc/router-isActivedeprecated') : void 0; + + // Ignore if rendered outside the context of router, simplifies unit testing. + var router = this.context.router; + + + if (router) { + // If user does not specify a `to` prop, return an empty anchor tag. + if (to == null) { + return _react2.default.createElement('a', props); + } + + var location = createLocationDescriptor(to, { query: query, hash: hash, state: state }); + props.href = router.createHref(location); + + if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) { + if (router.isActive(location, onlyActiveOnIndex)) { + if (activeClassName) { + if (props.className) { + props.className += ' ' + activeClassName; + } else { + props.className = activeClassName; + } + } + + if (activeStyle) props.style = _extends({}, props.style, activeStyle); + } + } + } + + return _react2.default.createElement('a', _extends({}, props, { onClick: this.handleClick })); + } + }); + + exports.default = Link; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 116 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _invariant = __webpack_require__(17); + + var _invariant2 = _interopRequireDefault(_invariant); + + var _RouteUtils = __webpack_require__(29); + + var _PatternUtils = __webpack_require__(39); + + var _InternalPropTypes = __webpack_require__(35); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _React$PropTypes = _react2.default.PropTypes; + var string = _React$PropTypes.string; + var object = _React$PropTypes.object; + + /** + * A is used to declare another URL path a client should + * be sent to when they request a given URL. + * + * Redirects are placed alongside routes in the route configuration + * and are traversed in the same manner. + */ + + var Redirect = _react2.default.createClass({ + displayName: 'Redirect', + + + statics: { + createRouteFromReactElement: function createRouteFromReactElement(element) { + var route = (0, _RouteUtils.createRouteFromReactElement)(element); + + if (route.from) route.path = route.from; + + route.onEnter = function (nextState, replace) { + var location = nextState.location; + var params = nextState.params; + + + var pathname = void 0; + if (route.to.charAt(0) === '/') { + pathname = (0, _PatternUtils.formatPattern)(route.to, params); + } else if (!route.to) { + pathname = location.pathname; + } else { + var routeIndex = nextState.routes.indexOf(route); + var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1); + var pattern = parentPattern.replace(/\/*$/, '/') + route.to; + pathname = (0, _PatternUtils.formatPattern)(pattern, params); + } + + replace({ + pathname: pathname, + query: route.query || location.query, + state: route.state || location.state + }); + }; + + return route; + }, + getRoutePattern: function getRoutePattern(routes, routeIndex) { + var parentPattern = ''; + + for (var i = routeIndex; i >= 0; i--) { + var route = routes[i]; + var pattern = route.path || ''; + + parentPattern = pattern.replace(/\/*$/, '/') + parentPattern; + + if (pattern.indexOf('/') === 0) break; + } + + return '/' + parentPattern; + } + }, + + propTypes: { + path: string, + from: string, // Alias for path + to: string.isRequired, + query: object, + state: object, + onEnter: _InternalPropTypes.falsy, + children: _InternalPropTypes.falsy + }, + + /* istanbul ignore next: sanity check */ + render: function render() { + true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, ' elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; + } + }); + + exports.default = Redirect; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 117 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + exports.createRouterObject = createRouterObject; + exports.createRoutingHistory = createRoutingHistory; + + var _deprecateObjectProperties = __webpack_require__(57); + + var _deprecateObjectProperties2 = _interopRequireDefault(_deprecateObjectProperties); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function createRouterObject(history, transitionManager) { + return _extends({}, history, { + setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute, + isActive: transitionManager.isActive + }); + } + + // deprecated + function createRoutingHistory(history, transitionManager) { + history = _extends({}, history, transitionManager); + + if (process.env.NODE_ENV !== 'production') { + history = (0, _deprecateObjectProperties2.default)(history, '`props.history` and `context.history` are deprecated. Please use `context.router`. http://tiny.cc/router-contextchanges'); + } + + return history; + } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 118 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + exports.default = createMemoryHistory; + + var _useQueries = __webpack_require__(55); + + var _useQueries2 = _interopRequireDefault(_useQueries); + + var _useBasename = __webpack_require__(110); + + var _useBasename2 = _interopRequireDefault(_useBasename); + + var _createMemoryHistory = __webpack_require__(205); + + var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function createMemoryHistory(options) { + // signatures and type checking differ between `useRoutes` and + // `createMemoryHistory`, have to create `memoryHistory` first because + // `useQueries` doesn't understand the signature + var memoryHistory = (0, _createMemoryHistory2.default)(options); + var createHistory = function createHistory() { + return memoryHistory; + }; + var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); + history.__v2_compatible__ = true; + return history; + } + module.exports = exports['default']; + +/***/ }, +/* 119 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + + exports.default = function (createHistory) { + var history = void 0; + if (canUseDOM) history = (0, _useRouterHistory2.default)(createHistory)(); + return history; + }; + + var _useRouterHistory = __webpack_require__(121); + + var _useRouterHistory2 = _interopRequireDefault(_useRouterHistory); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + + module.exports = exports['default']; + +/***/ }, +/* 120 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + exports.default = makeStateWithLocation; + + var _deprecateObjectProperties = __webpack_require__(57); + + var _routerWarning = __webpack_require__(15); + + var _routerWarning2 = _interopRequireDefault(_routerWarning); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function makeStateWithLocation(state, location) { + if (process.env.NODE_ENV !== 'production' && _deprecateObjectProperties.canUseMembrane) { + var stateWithLocation = _extends({}, state); + + // I don't use deprecateObjectProperties here because I want to keep the + // same code path between development and production, in that we just + // assign extra properties to the copy of the state object in both cases. + + var _loop = function _loop(prop) { + if (!Object.prototype.hasOwnProperty.call(location, prop)) { + return 'continue'; + } + + Object.defineProperty(stateWithLocation, prop, { + get: function get() { + process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'Accessing location properties directly from the first argument to `getComponent`, `getComponents`, `getChildRoutes`, and `getIndexRoute` is deprecated. That argument is now the router state (`nextState` or `partialNextState`) rather than the location. To access the location, use `nextState.location` or `partialNextState.location`.') : void 0; + return location[prop]; + } + }); + }; + + for (var prop in location) { + var _ret = _loop(prop); + + if (_ret === 'continue') continue; + } + + return stateWithLocation; + } + + return _extends({}, state, location); + } + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 121 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + exports.__esModule = true; + exports.default = useRouterHistory; + + var _useQueries = __webpack_require__(55); + + var _useQueries2 = _interopRequireDefault(_useQueries); + + var _useBasename = __webpack_require__(110); + + var _useBasename2 = _interopRequireDefault(_useBasename); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function useRouterHistory(createHistory) { + return function (options) { + var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); + history.__v2_compatible__ = true; + return history; + }; + } + module.exports = exports['default']; + +/***/ }, +/* 122 */ /***/ function(module, exports) { /** @@ -13553,7 +13507,7 @@ module.exports = CSSProperty; /***/ }, -/* 125 */ +/* 123 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13665,7 +13619,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 126 */ +/* 124 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -13681,11 +13635,11 @@ 'use strict'; - var DOMProperty = __webpack_require__(35); - var ReactDOMComponentTree = __webpack_require__(11); + var DOMProperty = __webpack_require__(36); + var ReactDOMComponentTree = __webpack_require__(10); var ReactInstrumentation = __webpack_require__(19); - var quoteAttributeValueForBrowser = __webpack_require__(326); + var quoteAttributeValueForBrowser = __webpack_require__(306); var warning = __webpack_require__(4); var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'); @@ -13892,7 +13846,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 127 */ +/* 125 */ /***/ function(module, exports, __webpack_require__) { /** @@ -14088,7 +14042,7 @@ module.exports = ReactChildren; /***/ }, -/* 128 */ +/* 126 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -14109,13 +14063,13 @@ var ReactComponent = __webpack_require__(81); var ReactElement = __webpack_require__(21); - var ReactPropTypeLocations = __webpack_require__(59); + var ReactPropTypeLocations = __webpack_require__(61); var ReactPropTypeLocationNames = __webpack_require__(85); var ReactNoopUpdateQueue = __webpack_require__(84); - var emptyObject = __webpack_require__(50); + var emptyObject = __webpack_require__(51); var invariant = __webpack_require__(3); - var keyMirror = __webpack_require__(63); + var keyMirror = __webpack_require__(65); var keyOf = __webpack_require__(31); var warning = __webpack_require__(4); @@ -14826,7 +14780,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 129 */ +/* 127 */ /***/ function(module, exports) { /** @@ -14849,7 +14803,7 @@ module.exports = ReactDOMComponentFlags; /***/ }, -/* 130 */ +/* 128 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -14867,9 +14821,9 @@ var _assign = __webpack_require__(8); - var DisabledInputUtils = __webpack_require__(56); + var DisabledInputUtils = __webpack_require__(58); var LinkedValueUtils = __webpack_require__(80); - var ReactDOMComponentTree = __webpack_require__(11); + var ReactDOMComponentTree = __webpack_require__(10); var ReactUpdates = __webpack_require__(24); var warning = __webpack_require__(4); @@ -15056,7 +15010,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 131 */ +/* 129 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15082,9 +15036,9 @@ var ReactCurrentOwner = __webpack_require__(26); var ReactComponentTreeHook = __webpack_require__(20); var ReactElement = __webpack_require__(21); - var ReactPropTypeLocations = __webpack_require__(59); + var ReactPropTypeLocations = __webpack_require__(61); - var checkReactTypeSpec = __webpack_require__(143); + var checkReactTypeSpec = __webpack_require__(141); var canDefineProperty = __webpack_require__(88); var getIteratorFn = __webpack_require__(93); @@ -15290,7 +15244,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 132 */ +/* 130 */ /***/ function(module, exports) { /** @@ -15325,7 +15279,7 @@ module.exports = ReactEmptyComponent; /***/ }, -/* 133 */ +/* 131 */ /***/ function(module, exports) { /** @@ -15352,7 +15306,7 @@ module.exports = ReactFeatureFlags; /***/ }, -/* 134 */ +/* 132 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15434,7 +15388,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 135 */ +/* 133 */ /***/ function(module, exports, __webpack_require__) { /** @@ -15450,11 +15404,11 @@ 'use strict'; - var ReactDOMSelection = __webpack_require__(284); + var ReactDOMSelection = __webpack_require__(264); - var containsNode = __webpack_require__(330); - var focusNode = __webpack_require__(151); - var getActiveElement = __webpack_require__(152); + var containsNode = __webpack_require__(310); + var focusNode = __webpack_require__(149); + var getActiveElement = __webpack_require__(150); function isInDocument(node) { return containsNode(document.documentElement, node); @@ -15563,7 +15517,7 @@ module.exports = ReactInputSelection; /***/ }, -/* 136 */ +/* 134 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -15581,26 +15535,26 @@ var _prodInvariant = __webpack_require__(5); - var DOMLazyTree = __webpack_require__(39); - var DOMProperty = __webpack_require__(35); - var ReactBrowserEventEmitter = __webpack_require__(58); + var DOMLazyTree = __webpack_require__(40); + var DOMProperty = __webpack_require__(36); + var ReactBrowserEventEmitter = __webpack_require__(60); var ReactCurrentOwner = __webpack_require__(26); - var ReactDOMComponentTree = __webpack_require__(11); - var ReactDOMContainerInfo = __webpack_require__(276); - var ReactDOMFeatureFlags = __webpack_require__(279); + var ReactDOMComponentTree = __webpack_require__(10); + var ReactDOMContainerInfo = __webpack_require__(256); + var ReactDOMFeatureFlags = __webpack_require__(259); var ReactElement = __webpack_require__(21); - var ReactFeatureFlags = __webpack_require__(133); - var ReactInstanceMap = __webpack_require__(47); + var ReactFeatureFlags = __webpack_require__(131); + var ReactInstanceMap = __webpack_require__(48); var ReactInstrumentation = __webpack_require__(19); - var ReactMarkupChecksum = __webpack_require__(297); - var ReactReconciler = __webpack_require__(40); + var ReactMarkupChecksum = __webpack_require__(277); + var ReactReconciler = __webpack_require__(41); var ReactUpdateQueue = __webpack_require__(87); var ReactUpdates = __webpack_require__(24); - var emptyObject = __webpack_require__(50); - var instantiateReactComponent = __webpack_require__(147); + var emptyObject = __webpack_require__(51); + var instantiateReactComponent = __webpack_require__(145); var invariant = __webpack_require__(3); - var setInnerHTML = __webpack_require__(62); + var setInnerHTML = __webpack_require__(64); var shouldUpdateReactComponent = __webpack_require__(95); var warning = __webpack_require__(4); @@ -16103,7 +16057,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 137 */ +/* 135 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16119,7 +16073,7 @@ 'use strict'; - var keyMirror = __webpack_require__(63); + var keyMirror = __webpack_require__(65); /** * When a component's children are updated, a series of update configuration @@ -16140,7 +16094,7 @@ module.exports = ReactMultiChildUpdateTypes; /***/ }, -/* 138 */ +/* 136 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16186,7 +16140,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 139 */ +/* 137 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16623,7 +16577,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 140 */ +/* 138 */ /***/ function(module, exports) { /** @@ -16642,7 +16596,7 @@ module.exports = '15.3.2'; /***/ }, -/* 141 */ +/* 139 */ /***/ function(module, exports) { /** @@ -16674,7 +16628,7 @@ module.exports = ViewportMetrics; /***/ }, -/* 142 */ +/* 140 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16738,7 +16692,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 143 */ +/* 141 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16831,7 +16785,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 144 */ +/* 142 */ /***/ function(module, exports) { /** @@ -16867,7 +16821,7 @@ module.exports = forEachAccumulated; /***/ }, -/* 145 */ +/* 143 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16883,7 +16837,7 @@ 'use strict'; - var ReactNodeTypes = __webpack_require__(138); + var ReactNodeTypes = __webpack_require__(136); function getHostComponentFromComposite(inst) { var type; @@ -16902,7 +16856,7 @@ module.exports = getHostComponentFromComposite; /***/ }, -/* 146 */ +/* 144 */ /***/ function(module, exports, __webpack_require__) { /** @@ -16918,7 +16872,7 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(16); var contentKey = null; @@ -16940,7 +16894,7 @@ module.exports = getTextContentAccessor; /***/ }, -/* 147 */ +/* 145 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -16959,9 +16913,9 @@ var _prodInvariant = __webpack_require__(5), _assign = __webpack_require__(8); - var ReactCompositeComponent = __webpack_require__(272); - var ReactEmptyComponent = __webpack_require__(132); - var ReactHostComponent = __webpack_require__(134); + var ReactCompositeComponent = __webpack_require__(252); + var ReactEmptyComponent = __webpack_require__(130); + var ReactHostComponent = __webpack_require__(132); var invariant = __webpack_require__(3); var warning = __webpack_require__(4); @@ -17065,7 +17019,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 148 */ +/* 146 */ /***/ function(module, exports) { /** @@ -17121,7 +17075,7 @@ module.exports = isTextInputElement; /***/ }, -/* 149 */ +/* 147 */ /***/ function(module, exports, __webpack_require__) { /** @@ -17137,9 +17091,9 @@ 'use strict'; - var ExecutionEnvironment = __webpack_require__(15); - var escapeTextContentForBrowser = __webpack_require__(61); - var setInnerHTML = __webpack_require__(62); + var ExecutionEnvironment = __webpack_require__(16); + var escapeTextContentForBrowser = __webpack_require__(63); + var setInnerHTML = __webpack_require__(64); /** * Set the textContent property of a node, ensuring that whitespace is preserved @@ -17174,7 +17128,7 @@ module.exports = setTextContent; /***/ }, -/* 150 */ +/* 148 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; @@ -17263,7 +17217,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 151 */ +/* 149 */ /***/ function(module, exports) { /** @@ -17294,7 +17248,7 @@ module.exports = focusNode; /***/ }, -/* 152 */ +/* 150 */ /***/ function(module, exports) { 'use strict'; @@ -17333,7 +17287,7 @@ module.exports = getActiveElement; /***/ }, -/* 153 */ +/* 151 */ /***/ function(module, exports) { "use strict"; @@ -17376,7 +17330,7 @@ } /***/ }, -/* 154 */ +/* 152 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17385,11 +17339,11 @@ exports.ActionTypes = undefined; exports['default'] = createStore; - var _isPlainObject = __webpack_require__(156); + var _isPlainObject = __webpack_require__(154); var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - var _symbolObservable = __webpack_require__(349); + var _symbolObservable = __webpack_require__(330); var _symbolObservable2 = _interopRequireDefault(_symbolObservable); @@ -17642,7 +17596,7 @@ } /***/ }, -/* 155 */ +/* 153 */ /***/ function(module, exports) { 'use strict'; @@ -17671,10 +17625,144 @@ /* eslint-enable no-empty */ } +/***/ }, +/* 154 */ +[376, 326, 328], +/* 155 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ + /** @author Brian Cavalier */ + /** @author John Hann */ + + (function(define) { 'use strict'; + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + + /** + * Custom error type for promises rejected by promise.timeout + * @param {string} message + * @constructor + */ + function TimeoutError (message) { + Error.call(this); + this.message = message; + this.name = TimeoutError.name; + if (typeof Error.captureStackTrace === 'function') { + Error.captureStackTrace(this, TimeoutError); + } + } + + TimeoutError.prototype = Object.create(Error.prototype); + TimeoutError.prototype.constructor = TimeoutError; + + return TimeoutError; + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }(__webpack_require__(13))); + /***/ }, /* 156 */ -[378, 346, 348], +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ + /** @author Brian Cavalier */ + /** @author John Hann */ + + (function(define) { 'use strict'; + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + + makeApply.tryCatchResolve = tryCatchResolve; + + return makeApply; + + function makeApply(Promise, call) { + if(arguments.length < 2) { + call = tryCatchResolve; + } + + return apply; + + function apply(f, thisArg, args) { + var p = Promise._defer(); + var l = args.length; + var params = new Array(l); + callAndResolve({ f:f, thisArg:thisArg, args:args, params:params, i:l-1, call:call }, p._handler); + + return p; + } + + function callAndResolve(c, h) { + if(c.i < 0) { + return call(c.f, c.thisArg, c.params, h); + } + + var handler = Promise._handler(c.args[c.i]); + handler.fold(callAndResolveNext, c, void 0, h); + } + + function callAndResolveNext(c, x, h) { + c.params[c.i] = x; + c.i -= 1; + callAndResolve(c, h); + } + } + + function tryCatchResolve(f, thisArg, args, resolver) { + try { + resolver.resolve(f.apply(thisArg, args)); + } catch(e) { + resolver.reject(e); + } + } + + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }(__webpack_require__(13))); + + + + +/***/ }, /* 157 */ +/***/ function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ + /** @author Brian Cavalier */ + /** @author John Hann */ + + (function(define) { 'use strict'; + !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { + + return { + pending: toPendingState, + fulfilled: toFulfilledState, + rejected: toRejectedState, + inspect: inspect + }; + + function toPendingState() { + return { state: 'pending' }; + } + + function toRejectedState(e) { + return { state: 'rejected', reason: e }; + } + + function toFulfilledState(x) { + return { state: 'fulfilled', value: x }; + } + + function inspect(handler) { + var state = handler.state(); + return state === 0 ? toPendingState() + : state > 0 ? toFulfilledState(handler.value) + : toRejectedState(handler.value); + } + + }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + }(__webpack_require__(13))); + + +/***/ }, +/* 158 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17685,39 +17773,39 @@ var _redux = __webpack_require__(6); - var _reducer = __webpack_require__(177); + var _reducer = __webpack_require__(176); var _reducer2 = _interopRequireDefault(_reducer); - var _reducer3 = __webpack_require__(174); + var _reducer3 = __webpack_require__(173); var _reducer4 = _interopRequireDefault(_reducer3); - var _reducer5 = __webpack_require__(172); + var _reducer5 = __webpack_require__(171); var _reducer6 = _interopRequireDefault(_reducer5); - var _reducer7 = __webpack_require__(176); + var _reducer7 = __webpack_require__(175); var _reducer8 = _interopRequireDefault(_reducer7); - var _reduxThunk = __webpack_require__(342); + var _reduxThunk = __webpack_require__(322); var _reduxThunk2 = _interopRequireDefault(_reduxThunk); - var _middleware = __webpack_require__(173); + var _middleware = __webpack_require__(172); var _middleware2 = _interopRequireDefault(_middleware); - var _middleware3 = __webpack_require__(171); + var _middleware3 = __webpack_require__(170); var _middleware4 = _interopRequireDefault(_middleware3); - var _middleware5 = __webpack_require__(175); + var _middleware5 = __webpack_require__(174); var _middleware6 = _interopRequireDefault(_middleware5); - var _middleware7 = __webpack_require__(170); + var _middleware7 = __webpack_require__(169); var _middleware8 = _interopRequireDefault(_middleware7); @@ -17787,7 +17875,7 @@ exports.default = store; /***/ }, -/* 158 */ +/* 159 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17802,7 +17890,7 @@ var _react2 = _interopRequireDefault(_react); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _Thumbnail = __webpack_require__(28); @@ -17854,7 +17942,7 @@ exports.default = ArtistList; /***/ }, -/* 159 */ +/* 160 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17869,7 +17957,7 @@ var _react2 = _interopRequireDefault(_react); - var _GridItem = __webpack_require__(42); + var _GridItem = __webpack_require__(43); var _GridItem2 = _interopRequireDefault(_GridItem); @@ -17914,7 +18002,7 @@ exports.default = CategoryGrid; /***/ }, -/* 160 */ +/* 161 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -17929,7 +18017,7 @@ var _react2 = _interopRequireDefault(_react); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); @@ -18027,7 +18115,7 @@ exports.default = ConfirmationButton; /***/ }, -/* 161 */ +/* 162 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18046,15 +18134,15 @@ var _redux = __webpack_require__(6); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); - var _actions = __webpack_require__(51); + var _actions = __webpack_require__(37); var uiActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(12); + var _actions2 = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions2); @@ -18221,10 +18309,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(ContextMenu); /***/ }, -/* 162 */, -/* 163 */, -/* 164 */, -/* 165 */ +/* 163 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18241,15 +18326,15 @@ var _reactRedux = __webpack_require__(7); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _actions = __webpack_require__(44); + var _actions = __webpack_require__(45); var pusherActions = _interopRequireWildcard(_actions); @@ -18348,7 +18433,109 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(PusherConnectionList); /***/ }, -/* 166 */ +/* 164 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _reactRedux = __webpack_require__(7); + + var _reactRouter = __webpack_require__(12); + + var _redux = __webpack_require__(6); + + var _reactFontawesome = __webpack_require__(18); + + var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); + + var _actions = __webpack_require__(37); + + var uiActions = _interopRequireWildcard(_actions); + + var _actions2 = __webpack_require__(9); + + var spotifyActions = _interopRequireWildcard(_actions2); + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + var SearchForm = function (_React$Component) { + _inherits(SearchForm, _React$Component); + + function SearchForm(props) { + _classCallCheck(this, SearchForm); + + var _this = _possibleConstructorReturn(this, (SearchForm.__proto__ || Object.getPrototypeOf(SearchForm)).call(this, props)); + + _this.state = { + query: '' + }; + return _this; + } + + _createClass(SearchForm, [{ + key: 'handleSubmit', + value: function handleSubmit(e) { + e.preventDefault(); + _reactRouter.browserHistory.push('/search/' + this.state.query); + return false; + } + }, { + key: 'render', + value: function render() { + var _this2 = this; + + return _react2.default.createElement( + 'form', + { className: this.props.context + ' search-form', onSubmit: function onSubmit(e) { + return _this2.handleSubmit(e); + } }, + _react2.default.createElement('input', { + type: 'text', + placeholder: 'Search', + onChange: function onChange(e) { + return _this2.setState({ query: e.target.value }); + }, + value: this.state.query }) + ); + } + }]); + + return SearchForm; + }(_react2.default.Component); + + var mapStateToProps = function mapStateToProps(state, ownProps) { + return state; + }; + + var mapDispatchToProps = function mapDispatchToProps(dispatch) { + return { + uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), + spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + }; + }; + + exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SearchForm); + +/***/ }, +/* 165 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18367,7 +18554,7 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _Player = __webpack_require__(103); @@ -18381,11 +18568,15 @@ var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - var _reactFontawesome = __webpack_require__(17); + var _SearchForm = __webpack_require__(164); + + var _SearchForm2 = _interopRequireDefault(_SearchForm); + + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -18415,6 +18606,7 @@ 'aside', null, this.props.spotify && this.props.spotify.track ? _react2.default.createElement(_Thumbnail2.default, { size: 'large', images: this.props.spotify.track.album.images }) : null, + _react2.default.createElement(_SearchForm2.default, { context: 'sidebar' }), _react2.default.createElement( 'nav', null, @@ -18538,7 +18730,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Sidebar); /***/ }, -/* 167 */ +/* 166 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18555,11 +18747,11 @@ var _reactRedux = __webpack_require__(7); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); @@ -18744,7 +18936,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(SpotifyAuthenticationFrame); /***/ }, -/* 168 */ +/* 167 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18761,15 +18953,15 @@ var _reactRedux = __webpack_require__(7); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _actions = __webpack_require__(44); + var _actions = __webpack_require__(45); var pusherActions = _interopRequireWildcard(_actions); @@ -18860,7 +19052,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(VersionManager); /***/ }, -/* 169 */ +/* 168 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -18875,7 +19067,7 @@ var _react2 = _interopRequireDefault(_react); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); @@ -18941,7 +19133,7 @@ exports.default = VolumeSlider; /***/ }, -/* 170 */ +/* 169 */ /***/ function(module, exports) { 'use strict'; @@ -19058,7 +19250,7 @@ exports.default = localstorageMiddleware; /***/ }, -/* 171 */ +/* 170 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19067,13 +19259,13 @@ value: true }); - var _mopidy = __webpack_require__(216); + var _mopidy = __webpack_require__(209); var _mopidy2 = _interopRequireDefault(_mopidy); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - var actions = __webpack_require__(12); + var actions = __webpack_require__(11); var MopidyMiddleware = function () { @@ -19373,7 +19565,7 @@ exports.default = MopidyMiddleware; /***/ }, -/* 172 */ +/* 171 */ /***/ function(module, exports) { 'use strict'; @@ -19493,7 +19685,7 @@ } /***/ }, -/* 173 */ +/* 172 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19502,8 +19694,8 @@ value: true }); - var actions = __webpack_require__(44); - var helpers = __webpack_require__(32); + var actions = __webpack_require__(45); + var helpers = __webpack_require__(33); var PusherMiddleware = function () { @@ -19597,7 +19789,7 @@ exports.default = PusherMiddleware; /***/ }, -/* 174 */ +/* 173 */ /***/ function(module, exports) { 'use strict'; @@ -19688,7 +19880,7 @@ } /***/ }, -/* 175 */ +/* 174 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19735,7 +19927,7 @@ exports.default = SpotifyMiddleware; /***/ }, -/* 176 */ +/* 175 */ /***/ function(module, exports) { 'use strict'; @@ -19889,13 +20081,16 @@ items: [].concat(_toConsumableArray(spotify.new_releases.items), _toConsumableArray(action.data.albums.items)) } }); + case 'SPOTIFY_SEARCH_RESULTS_LOADED': + return Object.assign({}, spotify, { search_results: action.data }); + default: return spotify; } } /***/ }, -/* 177 */ +/* 176 */ /***/ function(module, exports) { 'use strict'; @@ -19933,7 +20128,7 @@ } /***/ }, -/* 178 */ +/* 177 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -19952,11 +20147,11 @@ var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); @@ -19968,15 +20163,15 @@ var _Parallax2 = _interopRequireDefault(_Parallax); - var _ArtistSentence = __webpack_require__(41); + var _ArtistSentence = __webpack_require__(42); var _ArtistSentence2 = _interopRequireDefault(_ArtistSentence); - var _ArtistGrid = __webpack_require__(100); + var _ArtistGrid = __webpack_require__(67); var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - var _Dater = __webpack_require__(66); + var _Dater = __webpack_require__(68); var _Dater2 = _interopRequireDefault(_Dater); @@ -19984,7 +20179,7 @@ var spotifyActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(12); + var _actions2 = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions2); @@ -19998,7 +20193,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var helpers = __webpack_require__(32); + var helpers = __webpack_require__(33); var Album = function (_React$Component) { _inherits(Album, _React$Component); @@ -20134,7 +20329,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Album); /***/ }, -/* 179 */ +/* 178 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20149,33 +20344,33 @@ var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(109); + var _reactDom = __webpack_require__(112); var _reactDom2 = _interopRequireDefault(_reactDom); var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); var _reactRedux = __webpack_require__(7); - var _Sidebar = __webpack_require__(166); + var _Sidebar = __webpack_require__(165); var _Sidebar2 = _interopRequireDefault(_Sidebar); - var _ContextMenu = __webpack_require__(161); + var _ContextMenu = __webpack_require__(162); var _ContextMenu2 = _interopRequireDefault(_ContextMenu); - var _actions = __webpack_require__(51); + var _actions = __webpack_require__(37); var uiActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(44); + var _actions2 = __webpack_require__(45); var pusherActions = _interopRequireWildcard(_actions2); - var _actions3 = __webpack_require__(12); + var _actions3 = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions3); @@ -20303,7 +20498,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(App); /***/ }, -/* 180 */ +/* 179 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20322,19 +20517,19 @@ var _redux = __webpack_require__(6); - var _LazyLoadListener = __webpack_require__(43); + var _LazyLoadListener = __webpack_require__(44); var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); - var _AlbumGrid = __webpack_require__(65); + var _AlbumGrid = __webpack_require__(52); var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); @@ -20346,11 +20541,11 @@ var _Parallax2 = _interopRequireDefault(_Parallax); - var _ArtistList = __webpack_require__(158); + var _ArtistList = __webpack_require__(159); var _ArtistList2 = _interopRequireDefault(_ArtistList); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -20368,7 +20563,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var helpers = __webpack_require__(32); + var helpers = __webpack_require__(33); var Artist = function (_React$Component) { _inherits(Artist, _React$Component); @@ -20551,7 +20746,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Artist); /***/ }, -/* 181 */ +/* 180 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20570,11 +20765,11 @@ var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); @@ -20582,7 +20777,7 @@ var _Thumbnail2 = _interopRequireDefault(_Thumbnail); - var _Dater = __webpack_require__(66); + var _Dater = __webpack_require__(68); var _Dater2 = _interopRequireDefault(_Dater); @@ -20590,7 +20785,7 @@ var spotifyActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(12); + var _actions2 = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions2); @@ -20604,7 +20799,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - var helpers = __webpack_require__(32); + var helpers = __webpack_require__(33); var Playlist = function (_React$Component) { _inherits(Playlist, _React$Component); @@ -20730,7 +20925,7 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Playlist); /***/ }, -/* 182 */ +/* 181 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; @@ -20749,11 +20944,11 @@ var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); @@ -20765,19 +20960,19 @@ var _Player2 = _interopRequireDefault(_Player); - var _ArtistSentence = __webpack_require__(41); + var _ArtistSentence = __webpack_require__(42); var _ArtistSentence2 = _interopRequireDefault(_ArtistSentence); - var _AlbumLink = __webpack_require__(99); + var _AlbumLink = __webpack_require__(100); var _AlbumLink2 = _interopRequireDefault(_AlbumLink); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -20904,6 +21099,200 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Queue); +/***/ }, +/* 182 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + var _react = __webpack_require__(2); + + var _react2 = _interopRequireDefault(_react); + + var _reactRedux = __webpack_require__(7); + + var _redux = __webpack_require__(6); + + var _reactFontawesome = __webpack_require__(18); + + var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); + + var _Header = __webpack_require__(14); + + var _Header2 = _interopRequireDefault(_Header); + + var _TrackList = __webpack_require__(32); + + var _TrackList2 = _interopRequireDefault(_TrackList); + + var _ArtistGrid = __webpack_require__(67); + + var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); + + var _AlbumGrid = __webpack_require__(52); + + var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); + + var _PlaylistGrid = __webpack_require__(104); + + var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); + + var _actions = __webpack_require__(37); + + var uiActions = _interopRequireWildcard(_actions); + + var _actions2 = __webpack_require__(11); + + var mopidyActions = _interopRequireWildcard(_actions2); + + var _actions3 = __webpack_require__(9); + + var spotifyActions = _interopRequireWildcard(_actions3); + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + + function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + + var Search = function (_React$Component) { + _inherits(Search, _React$Component); + + function Search(props) { + _classCallCheck(this, Search); + + return _possibleConstructorReturn(this, (Search.__proto__ || Object.getPrototypeOf(Search)).call(this, props)); + } + + _createClass(Search, [{ + key: 'componentDidMount', + value: function componentDidMount() { + this.performSearch(); + } + }, { + key: 'componentWillReceiveProps', + value: function componentWillReceiveProps(newProps) { + if (this.props.params.query != newProps.params.query) { + this.performSearch(newProps); + } + } + }, { + key: 'performSearch', + value: function performSearch() { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props; + + this.props.spotifyActions.getSearchResults(props.params.query); + } + }, { + key: 'compiledTracks', + value: function compiledTracks() { + var tracks = []; + if (this.props.mopidy.search_results) tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray(this.props.mopidy.search_results.tracks)); + if (this.props.spotify.search_results) tracks = [].concat(_toConsumableArray(tracks), _toConsumableArray(this.props.spotify.search_results.tracks.items)); + return tracks; + } + }, { + key: 'compiledArtists', + value: function compiledArtists() { + var artists = []; + if (this.props.mopidy.search_results) artists = [].concat(_toConsumableArray(artists), _toConsumableArray(this.props.mopidy.search_results.artists)); + if (this.props.spotify.search_results) artists = [].concat(_toConsumableArray(artists), _toConsumableArray(this.props.spotify.search_results.artists.items)); + return artists.splice(0, 9); + } + }, { + key: 'compiledAlbums', + value: function compiledAlbums() { + var albums = []; + if (this.props.mopidy.search_results) tracks = [].concat(_toConsumableArray(albums), _toConsumableArray(this.props.mopidy.search_results.albums)); + if (this.props.spotify.search_results) albums = [].concat(_toConsumableArray(albums), _toConsumableArray(this.props.spotify.search_results.albums.items)); + return albums.splice(0, 9); + } + }, { + key: 'compiledPlaylists', + value: function compiledPlaylists() { + var playlists = []; + if (this.props.mopidy.search_results) playlists = [].concat(_toConsumableArray(playlists), _toConsumableArray(this.props.mopidy.search_results.playlists)); + if (this.props.spotify.search_results) playlists = [].concat(_toConsumableArray(playlists), _toConsumableArray(this.props.spotify.search_results.playlists.items)); + return playlists.splice(0, 9); + } + }, { + key: 'render', + value: function render() { + return _react2.default.createElement( + 'div', + { className: 'view search-view' }, + _react2.default.createElement(_Header2.default, { + icon: 'search', + title: 'Search results' + }), + _react2.default.createElement( + 'div', + { className: 'cf' }, + _react2.default.createElement( + 'div', + { className: 'col w33' }, + _react2.default.createElement( + 'h4', + null, + 'Artists' + ), + _react2.default.createElement(_ArtistGrid2.default, { className: 'mini', artists: this.compiledArtists() }) + ), + _react2.default.createElement( + 'div', + { className: 'col w33' }, + _react2.default.createElement( + 'h4', + null, + 'Albums' + ), + _react2.default.createElement(_AlbumGrid2.default, { className: 'mini', albums: this.compiledAlbums() }) + ), + _react2.default.createElement( + 'div', + { className: 'col w33' }, + _react2.default.createElement( + 'h4', + null, + 'Playlists' + ), + _react2.default.createElement(_PlaylistGrid2.default, { className: 'mini', playlists: this.compiledPlaylists() }) + ) + ), + _react2.default.createElement(_TrackList2.default, { tracks: this.compiledTracks() }) + ); + } + }]); + + return Search; + }(_react2.default.Component); + + var mapStateToProps = function mapStateToProps(state, ownProps) { + return state; + }; + + var mapDispatchToProps = function mapDispatchToProps(dispatch) { + return { + uiActions: (0, _redux.bindActionCreators)(uiActions, dispatch), + mopidyActions: (0, _redux.bindActionCreators)(mopidyActions, dispatch), + spotifyActions: (0, _redux.bindActionCreators)(spotifyActions, dispatch) + }; + }; + + exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Search); + /***/ }, /* 183 */ /***/ function(module, exports, __webpack_require__) { @@ -20924,35 +21313,35 @@ var _redux = __webpack_require__(6); - var _reactFontawesome = __webpack_require__(17); + var _reactFontawesome = __webpack_require__(18); var _reactFontawesome2 = _interopRequireDefault(_reactFontawesome); - var _SpotifyAuthenticationFrame = __webpack_require__(167); + var _SpotifyAuthenticationFrame = __webpack_require__(166); var _SpotifyAuthenticationFrame2 = _interopRequireDefault(_SpotifyAuthenticationFrame); - var _ConfirmationButton = __webpack_require__(160); + var _ConfirmationButton = __webpack_require__(161); var _ConfirmationButton2 = _interopRequireDefault(_ConfirmationButton); - var _PusherConnectionList = __webpack_require__(165); + var _PusherConnectionList = __webpack_require__(163); var _PusherConnectionList2 = _interopRequireDefault(_PusherConnectionList); - var _VersionManager = __webpack_require__(168); + var _VersionManager = __webpack_require__(167); var _VersionManager2 = _interopRequireDefault(_VersionManager); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _actions = __webpack_require__(44); + var _actions = __webpack_require__(45); var pusherActions = _interopRequireWildcard(_actions); - var _actions2 = __webpack_require__(12); + var _actions2 = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions2); @@ -21282,7 +21671,7 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); @@ -21387,11 +21776,11 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _CategoryGrid = __webpack_require__(159); + var _CategoryGrid = __webpack_require__(160); var _CategoryGrid2 = _interopRequireDefault(_CategoryGrid); @@ -21479,7 +21868,7 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); @@ -21487,7 +21876,7 @@ var _PlaylistGrid2 = _interopRequireDefault(_PlaylistGrid); - var _LazyLoadListener = __webpack_require__(43); + var _LazyLoadListener = __webpack_require__(44); var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); @@ -21594,7 +21983,7 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); @@ -21686,19 +22075,19 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _AlbumGrid = __webpack_require__(65); + var _AlbumGrid = __webpack_require__(52); var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - var _LazyLoadListener = __webpack_require__(43); + var _LazyLoadListener = __webpack_require__(44); var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - var _actions = __webpack_require__(51); + var _actions = __webpack_require__(37); var uiActions = _interopRequireWildcard(_actions); @@ -21795,21 +22184,21 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _AlbumGrid = __webpack_require__(65); + var _AlbumGrid = __webpack_require__(52); var _AlbumGrid2 = _interopRequireDefault(_AlbumGrid); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _LazyLoadListener = __webpack_require__(43); + var _LazyLoadListener = __webpack_require__(44); var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -21909,21 +22298,21 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _LazyLoadListener = __webpack_require__(43); + var _LazyLoadListener = __webpack_require__(44); var _LazyLoadListener2 = _interopRequireDefault(_LazyLoadListener); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _ArtistGrid = __webpack_require__(100); + var _ArtistGrid = __webpack_require__(67); var _ArtistGrid2 = _interopRequireDefault(_ArtistGrid); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22026,13 +22415,13 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _GridItem = __webpack_require__(42); + var _GridItem = __webpack_require__(43); var _GridItem2 = _interopRequireDefault(_GridItem); @@ -22111,15 +22500,15 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _List = __webpack_require__(67); + var _List = __webpack_require__(53); var _List2 = _interopRequireDefault(_List); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22230,15 +22619,15 @@ var _redux = __webpack_require__(6); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _List = __webpack_require__(67); + var _List = __webpack_require__(53); var _List2 = _interopRequireDefault(_List); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22349,17 +22738,17 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _List = __webpack_require__(67); + var _List = __webpack_require__(53); var _List2 = _interopRequireDefault(_List); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22477,17 +22866,17 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _List = __webpack_require__(67); + var _List = __webpack_require__(53); var _List2 = _interopRequireDefault(_List); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22621,17 +23010,17 @@ var _redux = __webpack_require__(6); - var _reactRouter = __webpack_require__(10); + var _reactRouter = __webpack_require__(12); - var _TrackList = __webpack_require__(36); + var _TrackList = __webpack_require__(32); var _TrackList2 = _interopRequireDefault(_TrackList); - var _Header = __webpack_require__(16); + var _Header = __webpack_require__(14); var _Header2 = _interopRequireDefault(_Header); - var _actions = __webpack_require__(12); + var _actions = __webpack_require__(11); var mopidyActions = _interopRequireWildcard(_actions); @@ -22704,17 +23093,870 @@ /* 197 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["$"] = __webpack_require__(199); - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;(("function" === "function" && __webpack_require__(356) && function (m) { !(__WEBPACK_AMD_DEFINE_FACTORY__ = (m), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); }) || + (typeof module === "object" && function (m) { module.exports = m(); }) || + function (m) { this.bane = m(); } + )(function () { + "use strict"; + var slice = Array.prototype.slice; + + function handleError(event, error, errbacks) { + var i, l = errbacks.length; + if (l > 0) { + for (i = 0; i < l; ++i) { errbacks[i](event, error); } + return; + } + setTimeout(function () { + error.message = event + " listener threw error: " + error.message; + throw error; + }, 0); + } + + function assertFunction(fn) { + if (typeof fn !== "function") { + throw new TypeError("Listener is not function"); + } + return fn; + } + + function supervisors(object) { + if (!object.supervisors) { object.supervisors = []; } + return object.supervisors; + } + + function listeners(object, event) { + if (!object.listeners) { object.listeners = {}; } + if (event && !object.listeners[event]) { object.listeners[event] = []; } + return event ? object.listeners[event] : object.listeners; + } + + function errbacks(object) { + if (!object.errbacks) { object.errbacks = []; } + return object.errbacks; + } + + /** + * @signature var emitter = bane.createEmitter([object]); + * + * Create a new event emitter. If an object is passed, it will be modified + * by adding the event emitter methods (see below). + */ + function createEventEmitter(object) { + object = object || {}; + + function notifyListener(event, listener, args) { + try { + listener.listener.apply(listener.thisp || object, args); + } catch (e) { + handleError(event, e, errbacks(object)); + } + } + + object.on = function (event, listener, thisp) { + if (typeof event === "function") { + return supervisors(this).push({ + listener: event, + thisp: listener + }); + } + listeners(this, event).push({ + listener: assertFunction(listener), + thisp: thisp + }); + }; + + object.off = function (event, listener) { + var fns, events, i, l; + if (!event) { + fns = supervisors(this); + fns.splice(0, fns.length); + + events = listeners(this); + for (i in events) { + if (events.hasOwnProperty(i)) { + fns = listeners(this, i); + fns.splice(0, fns.length); + } + } + + fns = errbacks(this); + fns.splice(0, fns.length); + + return; + } + if (typeof event === "function") { + fns = supervisors(this); + listener = event; + } else { + fns = listeners(this, event); + } + if (!listener) { + fns.splice(0, fns.length); + return; + } + for (i = 0, l = fns.length; i < l; ++i) { + if (fns[i].listener === listener) { + fns.splice(i, 1); + return; + } + } + }; + + object.once = function (event, listener, thisp) { + var wrapper = function () { + object.off(event, wrapper); + listener.apply(this, arguments); + }; + + object.on(event, wrapper, thisp); + }; + + object.bind = function (object, events) { + var prop, i, l; + if (!events) { + for (prop in object) { + if (typeof object[prop] === "function") { + this.on(prop, object[prop], object); + } + } + } else { + for (i = 0, l = events.length; i < l; ++i) { + if (typeof object[events[i]] === "function") { + this.on(events[i], object[events[i]], object); + } else { + throw new Error("No such method " + events[i]); + } + } + } + return object; + }; + + object.emit = function (event) { + var toNotify = supervisors(this); + var args = slice.call(arguments), i, l; + + for (i = 0, l = toNotify.length; i < l; ++i) { + notifyListener(event, toNotify[i], args); + } + + toNotify = listeners(this, event).slice(); + args = slice.call(arguments, 1); + for (i = 0, l = toNotify.length; i < l; ++i) { + notifyListener(event, toNotify[i], args); + } + }; + + object.errback = function (listener) { + if (!this.errbacks) { this.errbacks = []; } + this.errbacks.push(assertFunction(listener)); + }; + + return object; + } + + return { + createEventEmitter: createEventEmitter, + aggregate: function (emitters) { + var aggregate = createEventEmitter(); + emitters.forEach(function (emitter) { + emitter.on(function (event, data) { + aggregate.emit(event, data); + }); + }); + return aggregate; + } + }; + }); + /***/ }, /* 198 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { + + var pSlice = Array.prototype.slice; + var objectKeys = __webpack_require__(200); + var isArguments = __webpack_require__(199); + + var deepEqual = module.exports = function (actual, expected, opts) { + if (!opts) opts = {}; + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + + } else if (actual instanceof Date && expected instanceof Date) { + return actual.getTime() === expected.getTime(); + + // 7.3. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') { + return opts.strict ? actual === expected : actual == expected; + + // 7.4. For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else { + return objEquiv(actual, expected, opts); + } + } + + function isUndefinedOrNull(value) { + return value === null || value === undefined; + } + + function isBuffer (x) { + if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false; + if (typeof x.copy !== 'function' || typeof x.slice !== 'function') { + return false; + } + if (x.length > 0 && typeof x[0] !== 'number') return false; + return true; + } + + function objEquiv(a, b, opts) { + var i, key; + if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) + return false; + // an identical 'prototype' property. + if (a.prototype !== b.prototype) return false; + //~~~I've managed to break Object.keys through screwy arguments passing. + // Converting to array solves the problem. + if (isArguments(a)) { + if (!isArguments(b)) { + return false; + } + a = pSlice.call(a); + b = pSlice.call(b); + return deepEqual(a, b, opts); + } + if (isBuffer(a)) { + if (!isBuffer(b)) { + return false; + } + if (a.length !== b.length) return false; + for (i = 0; i < a.length; i++) { + if (a[i] !== b[i]) return false; + } + return true; + } + try { + var ka = objectKeys(a), + kb = objectKeys(b); + } catch (e) {//happens when one is a string literal and the other isn't + return false; + } + // having the same number of owned properties (keys incorporates + // hasOwnProperty) + if (ka.length != kb.length) + return false; + //the same set of keys (although not necessarily the same order), + ka.sort(); + kb.sort(); + //~~~cheap key test + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] != kb[i]) + return false; + } + //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!deepEqual(a[key], b[key], opts)) return false; + } + return typeof a === typeof b; + } - // removed by extract-text-webpack-plugin /***/ }, /* 199 */ +/***/ function(module, exports) { + + var supportsArgumentsClass = (function(){ + return Object.prototype.toString.call(arguments) + })() == '[object Arguments]'; + + exports = module.exports = supportsArgumentsClass ? supported : unsupported; + + exports.supported = supported; + function supported(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; + }; + + exports.unsupported = unsupported; + function unsupported(object){ + return object && + typeof object == 'object' && + typeof object.length == 'number' && + Object.prototype.hasOwnProperty.call(object, 'callee') && + !Object.prototype.propertyIsEnumerable.call(object, 'callee') || + false; + }; + + +/***/ }, +/* 200 */ +/***/ function(module, exports) { + + exports = module.exports = typeof Object.keys === 'function' + ? Object.keys : shim; + + exports.shim = shim; + function shim (obj) { + var keys = []; + for (var key in obj) keys.push(key); + return keys; + } + + +/***/ }, +/* 201 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(global) {module.exports = global["$"] = __webpack_require__(207); + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) + +/***/ }, +/* 202 */ +/***/ function(module, exports) { + + "use strict"; + + exports.__esModule = true; + var _slice = Array.prototype.slice; + exports.loopAsync = loopAsync; + + function loopAsync(turns, work, callback) { + var currentTurn = 0, + isDone = false; + var sync = false, + hasNext = false, + doneArgs = undefined; + + function done() { + isDone = true; + if (sync) { + // Iterate instead of recursing if possible. + doneArgs = [].concat(_slice.call(arguments)); + return; + } + + callback.apply(this, arguments); + } + + function next() { + if (isDone) { + return; + } + + hasNext = true; + if (sync) { + // Iterate instead of recursing if possible. + return; + } + + sync = true; + + while (!isDone && currentTurn < turns && hasNext) { + hasNext = false; + work.call(this, currentTurn++, next, done); + } + + sync = false; + + if (isDone) { + // This means the loop finished synchronously. + callback.apply(this, doneArgs); + return; + } + + if (currentTurn >= turns && hasNext) { + isDone = true; + callback(); + } + } + + next(); + } + +/***/ }, +/* 203 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _invariant = __webpack_require__(17); + + var _invariant2 = _interopRequireDefault(_invariant); + + var _Actions = __webpack_require__(38); + + var _PathUtils = __webpack_require__(34); + + var _ExecutionEnvironment = __webpack_require__(54); + + var _DOMUtils = __webpack_require__(70); + + var _DOMStateStorage = __webpack_require__(106); + + var _createDOMHistory = __webpack_require__(107); + + var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); + + /** + * Creates and returns a history object that uses HTML5's history API + * (pushState, replaceState, and the popstate event) to manage history. + * This is the recommended method of managing history in browsers because + * it provides the cleanest URLs. + * + * Note: In browsers that do not support the HTML5 history API full + * page reloads will be used to preserve URLs. + */ + function createBrowserHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Browser history needs a DOM') : _invariant2['default'](false) : undefined; + + var forceRefresh = options.forceRefresh; + + var isSupported = _DOMUtils.supportsHistory(); + var useRefresh = !isSupported || forceRefresh; + + function getCurrentLocation(historyState) { + try { + historyState = historyState || window.history.state || {}; + } catch (e) { + historyState = {}; + } + + var path = _DOMUtils.getWindowPath(); + var _historyState = historyState; + var key = _historyState.key; + + var state = undefined; + if (key) { + state = _DOMStateStorage.readState(key); + } else { + state = null; + key = history.createKey(); + + if (isSupported) window.history.replaceState(_extends({}, historyState, { key: key }), null); + } + + var location = _PathUtils.parsePath(path); + + return history.createLocation(_extends({}, location, { state: state }), undefined, key); + } + + function startPopStateListener(_ref) { + var transitionTo = _ref.transitionTo; + + function popStateListener(event) { + if (event.state === undefined) return; // Ignore extraneous popstate events in WebKit. + + transitionTo(getCurrentLocation(event.state)); + } + + _DOMUtils.addEventListener(window, 'popstate', popStateListener); + + return function () { + _DOMUtils.removeEventListener(window, 'popstate', popStateListener); + }; + } + + function finishTransition(location) { + var basename = location.basename; + var pathname = location.pathname; + var search = location.search; + var hash = location.hash; + var state = location.state; + var action = location.action; + var key = location.key; + + if (action === _Actions.POP) return; // Nothing to do. + + _DOMStateStorage.saveState(key, state); + + var path = (basename || '') + pathname + search + hash; + var historyState = { + key: key + }; + + if (action === _Actions.PUSH) { + if (useRefresh) { + window.location.href = path; + return false; // Prevent location update. + } else { + window.history.pushState(historyState, null, path); + } + } else { + // REPLACE + if (useRefresh) { + window.location.replace(path); + return false; // Prevent location update. + } else { + window.history.replaceState(historyState, null, path); + } + } + } + + var history = _createDOMHistory2['default'](_extends({}, options, { + getCurrentLocation: getCurrentLocation, + finishTransition: finishTransition, + saveState: _DOMStateStorage.saveState + })); + + var listenerCount = 0, + stopPopStateListener = undefined; + + function listenBefore(listener) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + var unlisten = history.listenBefore(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopPopStateListener(); + }; + } + + function listen(listener) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + var unlisten = history.listen(listener); + + return function () { + unlisten(); + + if (--listenerCount === 0) stopPopStateListener(); + }; + } + + // deprecated + function registerTransitionHook(hook) { + if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); + + history.registerTransitionHook(hook); + } + + // deprecated + function unregisterTransitionHook(hook) { + history.unregisterTransitionHook(hook); + + if (--listenerCount === 0) stopPopStateListener(); + } + + return _extends({}, history, { + listenBefore: listenBefore, + listen: listen, + registerTransitionHook: registerTransitionHook, + unregisterTransitionHook: unregisterTransitionHook + }); + } + + exports['default'] = createBrowserHistory; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 204 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _warning = __webpack_require__(23); + + var _warning2 = _interopRequireDefault(_warning); + + var _Actions = __webpack_require__(38); + + var _PathUtils = __webpack_require__(34); + + function createLocation() { + var location = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0]; + var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1]; + var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; + + var _fourthArg = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3]; + + if (typeof location === 'string') location = _PathUtils.parsePath(location); + + if (typeof action === 'object') { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; + + location = _extends({}, location, { state: action }); + + action = key || _Actions.POP; + key = _fourthArg; + } + + var pathname = location.pathname || '/'; + var search = location.search || ''; + var hash = location.hash || ''; + var state = location.state || null; + + return { + pathname: pathname, + search: search, + hash: hash, + state: state, + action: action, + key: key + }; + } + + exports['default'] = createLocation; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 205 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + + exports.__esModule = true; + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + var _warning = __webpack_require__(23); + + var _warning2 = _interopRequireDefault(_warning); + + var _invariant = __webpack_require__(17); + + var _invariant2 = _interopRequireDefault(_invariant); + + var _PathUtils = __webpack_require__(34); + + var _Actions = __webpack_require__(38); + + var _createHistory = __webpack_require__(109); + + var _createHistory2 = _interopRequireDefault(_createHistory); + + function createStateStorage(entries) { + return entries.filter(function (entry) { + return entry.state; + }).reduce(function (memo, entry) { + memo[entry.key] = entry.state; + return memo; + }, {}); + } + + function createMemoryHistory() { + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + + if (Array.isArray(options)) { + options = { entries: options }; + } else if (typeof options === 'string') { + options = { entries: [options] }; + } + + var history = _createHistory2['default'](_extends({}, options, { + getCurrentLocation: getCurrentLocation, + finishTransition: finishTransition, + saveState: saveState, + go: go + })); + + var _options = options; + var entries = _options.entries; + var current = _options.current; + + if (typeof entries === 'string') { + entries = [entries]; + } else if (!Array.isArray(entries)) { + entries = ['/']; + } + + entries = entries.map(function (entry) { + var key = history.createKey(); + + if (typeof entry === 'string') return { pathname: entry, key: key }; + + if (typeof entry === 'object' && entry) return _extends({}, entry, { key: key }); + + true ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Unable to create history entry from %s', entry) : _invariant2['default'](false) : undefined; + }); + + if (current == null) { + current = entries.length - 1; + } else { + !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : _invariant2['default'](false) : undefined; + } + + var storage = createStateStorage(entries); + + function saveState(key, state) { + storage[key] = state; + } + + function readState(key) { + return storage[key]; + } + + function getCurrentLocation() { + var entry = entries[current]; + var basename = entry.basename; + var pathname = entry.pathname; + var search = entry.search; + + var path = (basename || '') + pathname + (search || ''); + + var key = undefined, + state = undefined; + if (entry.key) { + key = entry.key; + state = readState(key); + } else { + key = history.createKey(); + state = null; + entry.key = key; + } + + var location = _PathUtils.parsePath(path); + + return history.createLocation(_extends({}, location, { state: state }), undefined, key); + } + + function canGo(n) { + var index = current + n; + return index >= 0 && index < entries.length; + } + + function go(n) { + if (n) { + if (!canGo(n)) { + process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'Cannot go(%s) there is not enough history', n) : undefined; + return; + } + + current += n; + + var currentLocation = getCurrentLocation(); + + // change action to POP + history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP })); + } + } + + function finishTransition(location) { + switch (location.action) { + case _Actions.PUSH: + current += 1; + + // if we are not on the top of stack + // remove rest and push new + if (current < entries.length) entries.splice(current); + + entries.push(location); + saveState(location.key, location.state); + break; + case _Actions.REPLACE: + entries[current] = location; + saveState(location.key, location.state); + break; + } + } + + return history; + } + + exports['default'] = createMemoryHistory; + module.exports = exports['default']; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) + +/***/ }, +/* 206 */ +/***/ function(module, exports, __webpack_require__) { + + 'use strict'; + var strictUriEncode = __webpack_require__(329); + + exports.extract = function (str) { + return str.split('?')[1] || ''; + }; + + exports.parse = function (str) { + if (typeof str !== 'string') { + return {}; + } + + str = str.trim().replace(/^(\?|#|&)/, ''); + + if (!str) { + return {}; + } + + return str.split('&').reduce(function (ret, param) { + var parts = param.replace(/\+/g, ' ').split('='); + // Firefox (pre 40) decodes `%3D` to `=` + // https://github.com/sindresorhus/query-string/pull/37 + var key = parts.shift(); + var val = parts.length > 0 ? parts.join('=') : undefined; + + key = decodeURIComponent(key); + + // missing `=` should be `null`: + // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters + val = val === undefined ? null : decodeURIComponent(val); + + if (!ret.hasOwnProperty(key)) { + ret[key] = val; + } else if (Array.isArray(ret[key])) { + ret[key].push(val); + } else { + ret[key] = [ret[key], val]; + } + + return ret; + }, {}); + }; + + exports.stringify = function (obj) { + return obj ? Object.keys(obj).sort().map(function (key) { + var val = obj[key]; + + if (val === undefined) { + return ''; + } + + if (val === null) { + return key; + } + + if (Array.isArray(val)) { + return val.slice().sort().map(function (val2) { + return strictUriEncode(key) + '=' + strictUriEncode(val2); + }).join('&'); + } + + return strictUriEncode(key) + '=' + strictUriEncode(val); + }).filter(function (x) { + return x.length > 0; + }).join('&') : ''; + }; + + +/***/ }, +/* 207 */ /***/ function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @@ -32940,2381 +34182,21 @@ /***/ }, -/* 200 */ +/* 208 */ /***/ function(module, exports) { module.exports = { Client: window.WebSocket }; -/***/ }, -/* 201 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;(("function" === "function" && __webpack_require__(374) && function (m) { !(__WEBPACK_AMD_DEFINE_FACTORY__ = (m), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); }) || - (typeof module === "object" && function (m) { module.exports = m(); }) || - function (m) { this.bane = m(); } - )(function () { - "use strict"; - var slice = Array.prototype.slice; - - function handleError(event, error, errbacks) { - var i, l = errbacks.length; - if (l > 0) { - for (i = 0; i < l; ++i) { errbacks[i](event, error); } - return; - } - setTimeout(function () { - error.message = event + " listener threw error: " + error.message; - throw error; - }, 0); - } - - function assertFunction(fn) { - if (typeof fn !== "function") { - throw new TypeError("Listener is not function"); - } - return fn; - } - - function supervisors(object) { - if (!object.supervisors) { object.supervisors = []; } - return object.supervisors; - } - - function listeners(object, event) { - if (!object.listeners) { object.listeners = {}; } - if (event && !object.listeners[event]) { object.listeners[event] = []; } - return event ? object.listeners[event] : object.listeners; - } - - function errbacks(object) { - if (!object.errbacks) { object.errbacks = []; } - return object.errbacks; - } - - /** - * @signature var emitter = bane.createEmitter([object]); - * - * Create a new event emitter. If an object is passed, it will be modified - * by adding the event emitter methods (see below). - */ - function createEventEmitter(object) { - object = object || {}; - - function notifyListener(event, listener, args) { - try { - listener.listener.apply(listener.thisp || object, args); - } catch (e) { - handleError(event, e, errbacks(object)); - } - } - - object.on = function (event, listener, thisp) { - if (typeof event === "function") { - return supervisors(this).push({ - listener: event, - thisp: listener - }); - } - listeners(this, event).push({ - listener: assertFunction(listener), - thisp: thisp - }); - }; - - object.off = function (event, listener) { - var fns, events, i, l; - if (!event) { - fns = supervisors(this); - fns.splice(0, fns.length); - - events = listeners(this); - for (i in events) { - if (events.hasOwnProperty(i)) { - fns = listeners(this, i); - fns.splice(0, fns.length); - } - } - - fns = errbacks(this); - fns.splice(0, fns.length); - - return; - } - if (typeof event === "function") { - fns = supervisors(this); - listener = event; - } else { - fns = listeners(this, event); - } - if (!listener) { - fns.splice(0, fns.length); - return; - } - for (i = 0, l = fns.length; i < l; ++i) { - if (fns[i].listener === listener) { - fns.splice(i, 1); - return; - } - } - }; - - object.once = function (event, listener, thisp) { - var wrapper = function () { - object.off(event, wrapper); - listener.apply(this, arguments); - }; - - object.on(event, wrapper, thisp); - }; - - object.bind = function (object, events) { - var prop, i, l; - if (!events) { - for (prop in object) { - if (typeof object[prop] === "function") { - this.on(prop, object[prop], object); - } - } - } else { - for (i = 0, l = events.length; i < l; ++i) { - if (typeof object[events[i]] === "function") { - this.on(events[i], object[events[i]], object); - } else { - throw new Error("No such method " + events[i]); - } - } - } - return object; - }; - - object.emit = function (event) { - var toNotify = supervisors(this); - var args = slice.call(arguments), i, l; - - for (i = 0, l = toNotify.length; i < l; ++i) { - notifyListener(event, toNotify[i], args); - } - - toNotify = listeners(this, event).slice(); - args = slice.call(arguments, 1); - for (i = 0, l = toNotify.length; i < l; ++i) { - notifyListener(event, toNotify[i], args); - } - }; - - object.errback = function (listener) { - if (!this.errbacks) { this.errbacks = []; } - this.errbacks.push(assertFunction(listener)); - }; - - return object; - } - - return { - createEventEmitter: createEventEmitter, - aggregate: function (emitters) { - var aggregate = createEventEmitter(); - emitters.forEach(function (emitter) { - emitter.on(function (event, data) { - aggregate.emit(event, data); - }); - }); - return aggregate; - } - }; - }); - - -/***/ }, -/* 202 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require) { - - var makePromise = __webpack_require__(214); - var Scheduler = __webpack_require__(203); - var async = __webpack_require__(69).asap; - - return makePromise({ - scheduler: new Scheduler(async) - }); - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - })(__webpack_require__(13)); - - -/***/ }, -/* 203 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - // Credit to Twisol (https://github.com/Twisol) for suggesting - // this type of extensible queue + trampoline approach for next-tick conflation. - - /** - * Async task scheduler - * @param {function} async function to schedule a single async function - * @constructor - */ - function Scheduler(async) { - this._async = async; - this._running = false; - - this._queue = this; - this._queueLen = 0; - this._afterQueue = {}; - this._afterQueueLen = 0; - - var self = this; - this.drain = function() { - self._drain(); - }; - } - - /** - * Enqueue a task - * @param {{ run:function }} task - */ - Scheduler.prototype.enqueue = function(task) { - this._queue[this._queueLen++] = task; - this.run(); - }; - - /** - * Enqueue a task to run after the main task queue - * @param {{ run:function }} task - */ - Scheduler.prototype.afterQueue = function(task) { - this._afterQueue[this._afterQueueLen++] = task; - this.run(); - }; - - Scheduler.prototype.run = function() { - if (!this._running) { - this._running = true; - this._async(this.drain); - } - }; - - /** - * Drain the handler queue entirely, and then the after queue - */ - Scheduler.prototype._drain = function() { - var i = 0; - for (; i < this._queueLen; ++i) { - this._queue[i].run(); - this._queue[i] = void 0; - } - - this._queueLen = 0; - this._running = false; - - for (i = 0; i < this._afterQueueLen; ++i) { - this._afterQueue[i].run(); - this._afterQueue[i] = void 0; - } - - this._afterQueueLen = 0; - }; - - return Scheduler; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 204 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { - - var state = __webpack_require__(108); - var applier = __webpack_require__(107); - - return function array(Promise) { - - var applyFold = applier(Promise); - var toPromise = Promise.resolve; - var all = Promise.all; - - var ar = Array.prototype.reduce; - var arr = Array.prototype.reduceRight; - var slice = Array.prototype.slice; - - // Additional array combinators - - Promise.any = any; - Promise.some = some; - Promise.settle = settle; - - Promise.map = map; - Promise.filter = filter; - Promise.reduce = reduce; - Promise.reduceRight = reduceRight; - - /** - * When this promise fulfills with an array, do - * onFulfilled.apply(void 0, array) - * @param {function} onFulfilled function to apply - * @returns {Promise} promise for the result of applying onFulfilled - */ - Promise.prototype.spread = function(onFulfilled) { - return this.then(all).then(function(array) { - return onFulfilled.apply(this, array); - }); - }; - - return Promise; - - /** - * One-winner competitive race. - * Return a promise that will fulfill when one of the promises - * in the input array fulfills, or will reject when all promises - * have rejected. - * @param {array} promises - * @returns {Promise} promise for the first fulfilled value - */ - function any(promises) { - var p = Promise._defer(); - var resolver = p._handler; - var l = promises.length>>>0; - - var pending = l; - var errors = []; - - for (var h, x, i = 0; i < l; ++i) { - x = promises[i]; - if(x === void 0 && !(i in promises)) { - --pending; - continue; - } - - h = Promise._handler(x); - if(h.state() > 0) { - resolver.become(h); - Promise._visitRemaining(promises, i, h); - break; - } else { - h.visit(resolver, handleFulfill, handleReject); - } - } - - if(pending === 0) { - resolver.reject(new RangeError('any(): array must not be empty')); - } - - return p; - - function handleFulfill(x) { - /*jshint validthis:true*/ - errors = null; - this.resolve(x); // this === resolver - } - - function handleReject(e) { - /*jshint validthis:true*/ - if(this.resolved) { // this === resolver - return; - } - - errors.push(e); - if(--pending === 0) { - this.reject(errors); - } - } - } - - /** - * N-winner competitive race - * Return a promise that will fulfill when n input promises have - * fulfilled, or will reject when it becomes impossible for n - * input promises to fulfill (ie when promises.length - n + 1 - * have rejected) - * @param {array} promises - * @param {number} n - * @returns {Promise} promise for the earliest n fulfillment values - * - * @deprecated - */ - function some(promises, n) { - /*jshint maxcomplexity:7*/ - var p = Promise._defer(); - var resolver = p._handler; - - var results = []; - var errors = []; - - var l = promises.length>>>0; - var nFulfill = 0; - var nReject; - var x, i; // reused in both for() loops - - // First pass: count actual array items - for(i=0; i nFulfill) { - resolver.reject(new RangeError('some(): array must contain at least ' - + n + ' item(s), but had ' + nFulfill)); - } else if(nFulfill === 0) { - resolver.resolve(results); - } - - // Second pass: observe each array item, make progress toward goals - for(i=0; i 2 ? ar.call(promises, liftCombine(f), arguments[2]) - : ar.call(promises, liftCombine(f)); - } - - /** - * Traditional reduce function, similar to `Array.prototype.reduceRight()`, but - * input may contain promises and/or values, and reduceFunc - * may return either a value or a promise, *and* initialValue may - * be a promise for the starting value. - * @param {Array|Promise} promises array or promise for an array of anything, - * may contain a mix of promises and values. - * @param {function(accumulated:*, x:*, index:Number):*} f reduce function - * @returns {Promise} that will resolve to the final reduced value - */ - function reduceRight(promises, f /*, initialValue */) { - return arguments.length > 2 ? arr.call(promises, liftCombine(f), arguments[2]) - : arr.call(promises, liftCombine(f)); - } - - function liftCombine(f) { - return function(z, x, i) { - return applyFold(f, void 0, [z,x,i]); - }; - } - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 205 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function flow(Promise) { - - var resolve = Promise.resolve; - var reject = Promise.reject; - var origCatch = Promise.prototype['catch']; - - /** - * Handle the ultimate fulfillment value or rejection reason, and assume - * responsibility for all errors. If an error propagates out of result - * or handleFatalError, it will be rethrown to the host, resulting in a - * loud stack track on most platforms and a crash on some. - * @param {function?} onResult - * @param {function?} onError - * @returns {undefined} - */ - Promise.prototype.done = function(onResult, onError) { - this._handler.visit(this._handler.receiver, onResult, onError); - }; - - /** - * Add Error-type and predicate matching to catch. Examples: - * promise.catch(TypeError, handleTypeError) - * .catch(predicate, handleMatchedErrors) - * .catch(handleRemainingErrors) - * @param onRejected - * @returns {*} - */ - Promise.prototype['catch'] = Promise.prototype.otherwise = function(onRejected) { - if (arguments.length < 2) { - return origCatch.call(this, onRejected); - } - - if(typeof onRejected !== 'function') { - return this.ensure(rejectInvalidPredicate); - } - - return origCatch.call(this, createCatchFilter(arguments[1], onRejected)); - }; - - /** - * Wraps the provided catch handler, so that it will only be called - * if the predicate evaluates truthy - * @param {?function} handler - * @param {function} predicate - * @returns {function} conditional catch handler - */ - function createCatchFilter(handler, predicate) { - return function(e) { - return evaluatePredicate(e, predicate) - ? handler.call(this, e) - : reject(e); - }; - } - - /** - * Ensures that onFulfilledOrRejected will be called regardless of whether - * this promise is fulfilled or rejected. onFulfilledOrRejected WILL NOT - * receive the promises' value or reason. Any returned value will be disregarded. - * onFulfilledOrRejected may throw or return a rejected promise to signal - * an additional error. - * @param {function} handler handler to be called regardless of - * fulfillment or rejection - * @returns {Promise} - */ - Promise.prototype['finally'] = Promise.prototype.ensure = function(handler) { - if(typeof handler !== 'function') { - return this; - } - - return this.then(function(x) { - return runSideEffect(handler, this, identity, x); - }, function(e) { - return runSideEffect(handler, this, reject, e); - }); - }; - - function runSideEffect (handler, thisArg, propagate, value) { - var result = handler.call(thisArg); - return maybeThenable(result) - ? propagateValue(result, propagate, value) - : propagate(value); - } - - function propagateValue (result, propagate, x) { - return resolve(result).then(function () { - return propagate(x); - }); - } - - /** - * Recover from a failure by returning a defaultValue. If defaultValue - * is a promise, it's fulfillment value will be used. If defaultValue is - * a promise that rejects, the returned promise will reject with the - * same reason. - * @param {*} defaultValue - * @returns {Promise} new promise - */ - Promise.prototype['else'] = Promise.prototype.orElse = function(defaultValue) { - return this.then(void 0, function() { - return defaultValue; - }); - }; - - /** - * Shortcut for .then(function() { return value; }) - * @param {*} value - * @return {Promise} a promise that: - * - is fulfilled if value is not a promise, or - * - if value is a promise, will fulfill with its value, or reject - * with its reason. - */ - Promise.prototype['yield'] = function(value) { - return this.then(function() { - return value; - }); - }; - - /** - * Runs a side effect when this promise fulfills, without changing the - * fulfillment value. - * @param {function} onFulfilledSideEffect - * @returns {Promise} - */ - Promise.prototype.tap = function(onFulfilledSideEffect) { - return this.then(onFulfilledSideEffect)['yield'](this); - }; - - return Promise; - }; - - function rejectInvalidPredicate() { - throw new TypeError('catch predicate must be a function'); - } - - function evaluatePredicate(e, predicate) { - return isError(predicate) ? e instanceof predicate : predicate(e); - } - - function isError(predicate) { - return predicate === Error - || (predicate != null && predicate.prototype instanceof Error); - } - - function maybeThenable(x) { - return (typeof x === 'object' || typeof x === 'function') && x !== null; - } - - function identity(x) { - return x; - } - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - /** @author Jeff Escalante */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function fold(Promise) { - - Promise.prototype.fold = function(f, z) { - var promise = this._beget(); - - this._handler.fold(function(z, x, to) { - Promise._handler(z).fold(function(x, z, to) { - to.resolve(f.call(this, z, x)); - }, x, this, to); - }, z, promise._handler.receiver, promise._handler); - - return promise; - }; - - return Promise; - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 207 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { - - var inspect = __webpack_require__(108).inspect; - - return function inspection(Promise) { - - Promise.prototype.inspect = function() { - return inspect(Promise._handler(this)); - }; - - return Promise; - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 208 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function generate(Promise) { - - var resolve = Promise.resolve; - - Promise.iterate = iterate; - Promise.unfold = unfold; - - return Promise; - - /** - * @deprecated Use github.com/cujojs/most streams and most.iterate - * Generate a (potentially infinite) stream of promised values: - * x, f(x), f(f(x)), etc. until condition(x) returns true - * @param {function} f function to generate a new x from the previous x - * @param {function} condition function that, given the current x, returns - * truthy when the iterate should stop - * @param {function} handler function to handle the value produced by f - * @param {*|Promise} x starting value, may be a promise - * @return {Promise} the result of the last call to f before - * condition returns true - */ - function iterate(f, condition, handler, x) { - return unfold(function(x) { - return [x, f(x)]; - }, condition, handler, x); - } - - /** - * @deprecated Use github.com/cujojs/most streams and most.unfold - * Generate a (potentially infinite) stream of promised values - * by applying handler(generator(seed)) iteratively until - * condition(seed) returns true. - * @param {function} unspool function that generates a [value, newSeed] - * given a seed. - * @param {function} condition function that, given the current seed, returns - * truthy when the unfold should stop - * @param {function} handler function to handle the value produced by unspool - * @param x {*|Promise} starting value, may be a promise - * @return {Promise} the result of the last value produced by unspool before - * condition returns true - */ - function unfold(unspool, condition, handler, x) { - return resolve(x).then(function(seed) { - return resolve(condition(seed)).then(function(done) { - return done ? seed : resolve(unspool(seed)).spread(next); - }); - }); - - function next(item, newSeed) { - return resolve(handler(item)).then(function() { - return unfold(unspool, condition, handler, newSeed); - }); - } - } - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - /***/ }, /* 209 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function progress(Promise) { - - /** - * @deprecated - * Register a progress handler for this promise - * @param {function} onProgress - * @returns {Promise} - */ - Promise.prototype.progress = function(onProgress) { - return this.then(void 0, void 0, onProgress); - }; - - return Promise; - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 210 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { - - var env = __webpack_require__(69); - var TimeoutError = __webpack_require__(106); - - function setTimeout(f, ms, x, y) { - return env.setTimer(function() { - f(x, y, ms); - }, ms); - } - - return function timed(Promise) { - /** - * Return a new promise whose fulfillment value is revealed only - * after ms milliseconds - * @param {number} ms milliseconds - * @returns {Promise} - */ - Promise.prototype.delay = function(ms) { - var p = this._beget(); - this._handler.fold(handleDelay, ms, void 0, p._handler); - return p; - }; - - function handleDelay(ms, x, h) { - setTimeout(resolveDelay, ms, x, h); - } - - function resolveDelay(x, h) { - h.resolve(x); - } - - /** - * Return a new promise that rejects after ms milliseconds unless - * this promise fulfills earlier, in which case the returned promise - * fulfills with the same value. - * @param {number} ms milliseconds - * @param {Error|*=} reason optional rejection reason to use, defaults - * to a TimeoutError if not provided - * @returns {Promise} - */ - Promise.prototype.timeout = function(ms, reason) { - var p = this._beget(); - var h = p._handler; - - var t = setTimeout(onTimeout, ms, reason, p._handler); - - this._handler.visit(h, - function onFulfill(x) { - env.clearTimer(t); - this.resolve(x); // this = h - }, - function onReject(x) { - env.clearTimer(t); - this.reject(x); // this = h - }, - h.notify); - - return p; - }; - - function onTimeout(reason, h, ms) { - var e = typeof reason === 'undefined' - ? new TimeoutError('timed out after ' + ms + 'ms') - : reason; - h.reject(e); - } - - return Promise; - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 211 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function(require) { - - var setTimer = __webpack_require__(69).setTimer; - var format = __webpack_require__(213); - - return function unhandledRejection(Promise) { - - var logError = noop; - var logInfo = noop; - var localConsole; - - if(typeof console !== 'undefined') { - // Alias console to prevent things like uglify's drop_console option from - // removing console.log/error. Unhandled rejections fall into the same - // category as uncaught exceptions, and build tools shouldn't silence them. - localConsole = console; - logError = typeof localConsole.error !== 'undefined' - ? function (e) { localConsole.error(e); } - : function (e) { localConsole.log(e); }; - - logInfo = typeof localConsole.info !== 'undefined' - ? function (e) { localConsole.info(e); } - : function (e) { localConsole.log(e); }; - } - - Promise.onPotentiallyUnhandledRejection = function(rejection) { - enqueue(report, rejection); - }; - - Promise.onPotentiallyUnhandledRejectionHandled = function(rejection) { - enqueue(unreport, rejection); - }; - - Promise.onFatalRejection = function(rejection) { - enqueue(throwit, rejection.value); - }; - - var tasks = []; - var reported = []; - var running = null; - - function report(r) { - if(!r.handled) { - reported.push(r); - logError('Potentially unhandled rejection [' + r.id + '] ' + format.formatError(r.value)); - } - } - - function unreport(r) { - var i = reported.indexOf(r); - if(i >= 0) { - reported.splice(i, 1); - logInfo('Handled previous rejection [' + r.id + '] ' + format.formatObject(r.value)); - } - } - - function enqueue(f, x) { - tasks.push(f, x); - if(running === null) { - running = setTimer(flush, 0); - } - } - - function flush() { - running = null; - while(tasks.length > 0) { - tasks.shift()(tasks.shift()); - } - } - - return Promise; - }; - - function throwit(e) { - throw e; - } - - function noop() {} - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 212 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function addWith(Promise) { - /** - * Returns a promise whose handlers will be called with `this` set to - * the supplied receiver. Subsequent promises derived from the - * returned promise will also have their handlers called with receiver - * as `this`. Calling `with` with undefined or no arguments will return - * a promise whose handlers will again be called in the usual Promises/A+ - * way (no `this`) thus safely undoing any previous `with` in the - * promise chain. - * - * WARNING: Promises returned from `with`/`withThis` are NOT Promises/A+ - * compliant, specifically violating 2.2.5 (http://promisesaplus.com/#point-41) - * - * @param {object} receiver `this` value for all handlers attached to - * the returned promise. - * @returns {Promise} - */ - Promise.prototype['with'] = Promise.prototype.withThis = function(receiver) { - var p = this._beget(); - var child = p._handler; - child.receiver = receiver; - this._handler.chain(child, receiver); - return p; - }; - - return Promise; - }; - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - - -/***/ }, -/* 213 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return { - formatError: formatError, - formatObject: formatObject, - tryStringify: tryStringify - }; - - /** - * Format an error into a string. If e is an Error and has a stack property, - * it's returned. Otherwise, e is formatted using formatObject, with a - * warning added about e not being a proper Error. - * @param {*} e - * @returns {String} formatted string, suitable for output to developers - */ - function formatError(e) { - var s = typeof e === 'object' && e !== null && (e.stack || e.message) ? e.stack || e.message : formatObject(e); - return e instanceof Error ? s : s + ' (WARNING: non-Error used)'; - } - - /** - * Format an object, detecting "plain" objects and running them through - * JSON.stringify if possible. - * @param {Object} o - * @returns {string} - */ - function formatObject(o) { - var s = String(o); - if(s === '[object Object]' && typeof JSON !== 'undefined') { - s = tryStringify(o, s); - } - return s; - } - - /** - * Try to return the result of JSON.stringify(x). If that fails, return - * defaultValue - * @param {*} x - * @param {*} defaultValue - * @returns {String|*} JSON.stringify(x) or defaultValue - */ - function tryStringify(x, defaultValue) { - try { - return JSON.stringify(x); - } catch(e) { - return defaultValue; - } - } - - }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - }(__webpack_require__(13))); - - -/***/ }, -/* 214 */ -/***/ function(module, exports, __webpack_require__) { - - var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(process) {/** @license MIT License (c) copyright 2010-2014 original author or authors */ - /** @author Brian Cavalier */ - /** @author John Hann */ - - (function(define) { 'use strict'; - !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { - - return function makePromise(environment) { - - var tasks = environment.scheduler; - var emitRejection = initEmitRejection(); - - var objectCreate = Object.create || - function(proto) { - function Child() {} - Child.prototype = proto; - return new Child(); - }; - - /** - * Create a promise whose fate is determined by resolver - * @constructor - * @returns {Promise} promise - * @name Promise - */ - function Promise(resolver, handler) { - this._handler = resolver === Handler ? handler : init(resolver); - } - - /** - * Run the supplied resolver - * @param resolver - * @returns {Pending} - */ - function init(resolver) { - var handler = new Pending(); - - try { - resolver(promiseResolve, promiseReject, promiseNotify); - } catch (e) { - promiseReject(e); - } - - return handler; - - /** - * Transition from pre-resolution state to post-resolution state, notifying - * all listeners of the ultimate fulfillment or rejection - * @param {*} x resolution value - */ - function promiseResolve (x) { - handler.resolve(x); - } - /** - * Reject this promise with reason, which will be used verbatim - * @param {Error|*} reason rejection reason, strongly suggested - * to be an Error type - */ - function promiseReject (reason) { - handler.reject(reason); - } - - /** - * @deprecated - * Issue a progress event, notifying all progress listeners - * @param {*} x progress event payload to pass to all listeners - */ - function promiseNotify (x) { - handler.notify(x); - } - } - - // Creation - - Promise.resolve = resolve; - Promise.reject = reject; - Promise.never = never; - - Promise._defer = defer; - Promise._handler = getHandler; - - /** - * Returns a trusted promise. If x is already a trusted promise, it is - * returned, otherwise returns a new trusted Promise which follows x. - * @param {*} x - * @return {Promise} promise - */ - function resolve(x) { - return isPromise(x) ? x - : new Promise(Handler, new Async(getHandler(x))); - } - - /** - * Return a reject promise with x as its reason (x is used verbatim) - * @param {*} x - * @returns {Promise} rejected promise - */ - function reject(x) { - return new Promise(Handler, new Async(new Rejected(x))); - } - - /** - * Return a promise that remains pending forever - * @returns {Promise} forever-pending promise. - */ - function never() { - return foreverPendingPromise; // Should be frozen - } - - /** - * Creates an internal {promise, resolver} pair - * @private - * @returns {Promise} - */ - function defer() { - return new Promise(Handler, new Pending()); - } - - // Transformation and flow control - - /** - * Transform this promise's fulfillment value, returning a new Promise - * for the transformed result. If the promise cannot be fulfilled, onRejected - * is called with the reason. onProgress *may* be called with updates toward - * this promise's fulfillment. - * @param {function=} onFulfilled fulfillment handler - * @param {function=} onRejected rejection handler - * @param {function=} onProgress @deprecated progress handler - * @return {Promise} new promise - */ - Promise.prototype.then = function(onFulfilled, onRejected, onProgress) { - var parent = this._handler; - var state = parent.join().state(); - - if ((typeof onFulfilled !== 'function' && state > 0) || - (typeof onRejected !== 'function' && state < 0)) { - // Short circuit: value will not change, simply share handler - return new this.constructor(Handler, parent); - } - - var p = this._beget(); - var child = p._handler; - - parent.chain(child, parent.receiver, onFulfilled, onRejected, onProgress); - - return p; - }; - - /** - * If this promise cannot be fulfilled due to an error, call onRejected to - * handle the error. Shortcut for .then(undefined, onRejected) - * @param {function?} onRejected - * @return {Promise} - */ - Promise.prototype['catch'] = function(onRejected) { - return this.then(void 0, onRejected); - }; - - /** - * Creates a new, pending promise of the same type as this promise - * @private - * @returns {Promise} - */ - Promise.prototype._beget = function() { - return begetFrom(this._handler, this.constructor); - }; - - function begetFrom(parent, Promise) { - var child = new Pending(parent.receiver, parent.join().context); - return new Promise(Handler, child); - } - - // Array combinators - - Promise.all = all; - Promise.race = race; - Promise._traverse = traverse; - - /** - * Return a promise that will fulfill when all promises in the - * input array have fulfilled, or will reject when one of the - * promises rejects. - * @param {array} promises array of promises - * @returns {Promise} promise for array of fulfillment values - */ - function all(promises) { - return traverseWith(snd, null, promises); - } - - /** - * Array> -> Promise> - * @private - * @param {function} f function to apply to each promise's value - * @param {Array} promises array of promises - * @returns {Promise} promise for transformed values - */ - function traverse(f, promises) { - return traverseWith(tryCatch2, f, promises); - } - - function traverseWith(tryMap, f, promises) { - var handler = typeof f === 'function' ? mapAt : settleAt; - - var resolver = new Pending(); - var pending = promises.length >>> 0; - var results = new Array(pending); - - for (var i = 0, x; i < promises.length && !resolver.resolved; ++i) { - x = promises[i]; - - if (x === void 0 && !(i in promises)) { - --pending; - continue; - } - - traverseAt(promises, handler, i, x, resolver); - } - - if(pending === 0) { - resolver.become(new Fulfilled(results)); - } - - return new Promise(Handler, resolver); - - function mapAt(i, x, resolver) { - if(!resolver.resolved) { - traverseAt(promises, settleAt, i, tryMap(f, x, i), resolver); - } - } - - function settleAt(i, x, resolver) { - results[i] = x; - if(--pending === 0) { - resolver.become(new Fulfilled(results)); - } - } - } - - function traverseAt(promises, handler, i, x, resolver) { - if (maybeThenable(x)) { - var h = getHandlerMaybeThenable(x); - var s = h.state(); - - if (s === 0) { - h.fold(handler, i, void 0, resolver); - } else if (s > 0) { - handler(i, h.value, resolver); - } else { - resolver.become(h); - visitRemaining(promises, i+1, h); - } - } else { - handler(i, x, resolver); - } - } - - Promise._visitRemaining = visitRemaining; - function visitRemaining(promises, start, handler) { - for(var i=start; i= turns && hasNext) { - isDone = true; - callback(); - } - } - - next(); - } - -/***/ }, -/* 249 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _invariant = __webpack_require__(18); - - var _invariant2 = _interopRequireDefault(_invariant); - - var _Actions = __webpack_require__(38); - - var _PathUtils = __webpack_require__(34); - - var _ExecutionEnvironment = __webpack_require__(54); - - var _DOMUtils = __webpack_require__(73); - - var _DOMStateStorage = __webpack_require__(119); - - var _createDOMHistory = __webpack_require__(120); - - var _createDOMHistory2 = _interopRequireDefault(_createDOMHistory); - - /** - * Creates and returns a history object that uses HTML5's history API - * (pushState, replaceState, and the popstate event) to manage history. - * This is the recommended method of managing history in browsers because - * it provides the cleanest URLs. - * - * Note: In browsers that do not support the HTML5 history API full - * page reloads will be used to preserve URLs. - */ - function createBrowserHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Browser history needs a DOM') : _invariant2['default'](false) : undefined; - - var forceRefresh = options.forceRefresh; - - var isSupported = _DOMUtils.supportsHistory(); - var useRefresh = !isSupported || forceRefresh; - - function getCurrentLocation(historyState) { - try { - historyState = historyState || window.history.state || {}; - } catch (e) { - historyState = {}; - } - - var path = _DOMUtils.getWindowPath(); - var _historyState = historyState; - var key = _historyState.key; - - var state = undefined; - if (key) { - state = _DOMStateStorage.readState(key); - } else { - state = null; - key = history.createKey(); - - if (isSupported) window.history.replaceState(_extends({}, historyState, { key: key }), null); - } - - var location = _PathUtils.parsePath(path); - - return history.createLocation(_extends({}, location, { state: state }), undefined, key); - } - - function startPopStateListener(_ref) { - var transitionTo = _ref.transitionTo; - - function popStateListener(event) { - if (event.state === undefined) return; // Ignore extraneous popstate events in WebKit. - - transitionTo(getCurrentLocation(event.state)); - } - - _DOMUtils.addEventListener(window, 'popstate', popStateListener); - - return function () { - _DOMUtils.removeEventListener(window, 'popstate', popStateListener); - }; - } - - function finishTransition(location) { - var basename = location.basename; - var pathname = location.pathname; - var search = location.search; - var hash = location.hash; - var state = location.state; - var action = location.action; - var key = location.key; - - if (action === _Actions.POP) return; // Nothing to do. - - _DOMStateStorage.saveState(key, state); - - var path = (basename || '') + pathname + search + hash; - var historyState = { - key: key - }; - - if (action === _Actions.PUSH) { - if (useRefresh) { - window.location.href = path; - return false; // Prevent location update. - } else { - window.history.pushState(historyState, null, path); - } - } else { - // REPLACE - if (useRefresh) { - window.location.replace(path); - return false; // Prevent location update. - } else { - window.history.replaceState(historyState, null, path); - } - } - } - - var history = _createDOMHistory2['default'](_extends({}, options, { - getCurrentLocation: getCurrentLocation, - finishTransition: finishTransition, - saveState: _DOMStateStorage.saveState - })); - - var listenerCount = 0, - stopPopStateListener = undefined; - - function listenBefore(listener) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - var unlisten = history.listenBefore(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopPopStateListener(); - }; - } - - function listen(listener) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - var unlisten = history.listen(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopPopStateListener(); - }; - } - - // deprecated - function registerTransitionHook(hook) { - if (++listenerCount === 1) stopPopStateListener = startPopStateListener(history); - - history.registerTransitionHook(hook); - } - - // deprecated - function unregisterTransitionHook(hook) { - history.unregisterTransitionHook(hook); - - if (--listenerCount === 0) stopPopStateListener(); - } - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - registerTransitionHook: registerTransitionHook, - unregisterTransitionHook: unregisterTransitionHook - }); - } - - exports['default'] = createBrowserHistory; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 250 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _warning = __webpack_require__(23); - - var _warning2 = _interopRequireDefault(_warning); - - var _Actions = __webpack_require__(38); - - var _PathUtils = __webpack_require__(34); - - function createLocation() { - var location = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0]; - var action = arguments.length <= 1 || arguments[1] === undefined ? _Actions.POP : arguments[1]; - var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; - - var _fourthArg = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3]; - - if (typeof location === 'string') location = _PathUtils.parsePath(location); - - if (typeof action === 'object') { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'The state (2nd) argument to createLocation is deprecated; use a ' + 'location descriptor instead') : undefined; - - location = _extends({}, location, { state: action }); - - action = key || _Actions.POP; - key = _fourthArg; - } - - var pathname = location.pathname || '/'; - var search = location.search || ''; - var hash = location.hash || ''; - var state = location.state || null; - - return { - pathname: pathname, - search: search, - hash: hash, - state: state, - action: action, - key: key - }; - } - - exports['default'] = createLocation; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 251 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; - - exports.__esModule = true; - - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - - var _warning = __webpack_require__(23); - - var _warning2 = _interopRequireDefault(_warning); - - var _invariant = __webpack_require__(18); - - var _invariant2 = _interopRequireDefault(_invariant); - - var _PathUtils = __webpack_require__(34); - - var _Actions = __webpack_require__(38); - - var _createHistory = __webpack_require__(122); - - var _createHistory2 = _interopRequireDefault(_createHistory); - - function createStateStorage(entries) { - return entries.filter(function (entry) { - return entry.state; - }).reduce(function (memo, entry) { - memo[entry.key] = entry.state; - return memo; - }, {}); - } - - function createMemoryHistory() { - var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - if (Array.isArray(options)) { - options = { entries: options }; - } else if (typeof options === 'string') { - options = { entries: [options] }; - } - - var history = _createHistory2['default'](_extends({}, options, { - getCurrentLocation: getCurrentLocation, - finishTransition: finishTransition, - saveState: saveState, - go: go - })); - - var _options = options; - var entries = _options.entries; - var current = _options.current; - - if (typeof entries === 'string') { - entries = [entries]; - } else if (!Array.isArray(entries)) { - entries = ['/']; - } - - entries = entries.map(function (entry) { - var key = history.createKey(); - - if (typeof entry === 'string') return { pathname: entry, key: key }; - - if (typeof entry === 'object' && entry) return _extends({}, entry, { key: key }); - - true ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Unable to create history entry from %s', entry) : _invariant2['default'](false) : undefined; - }); - - if (current == null) { - current = entries.length - 1; - } else { - !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? _invariant2['default'](false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : _invariant2['default'](false) : undefined; - } - - var storage = createStateStorage(entries); - - function saveState(key, state) { - storage[key] = state; - } - - function readState(key) { - return storage[key]; - } - - function getCurrentLocation() { - var entry = entries[current]; - var basename = entry.basename; - var pathname = entry.pathname; - var search = entry.search; - - var path = (basename || '') + pathname + (search || ''); - - var key = undefined, - state = undefined; - if (entry.key) { - key = entry.key; - state = readState(key); - } else { - key = history.createKey(); - state = null; - entry.key = key; - } - - var location = _PathUtils.parsePath(path); - - return history.createLocation(_extends({}, location, { state: state }), undefined, key); - } - - function canGo(n) { - var index = current + n; - return index >= 0 && index < entries.length; - } - - function go(n) { - if (n) { - if (!canGo(n)) { - process.env.NODE_ENV !== 'production' ? _warning2['default'](false, 'Cannot go(%s) there is not enough history', n) : undefined; - return; - } - - current += n; - - var currentLocation = getCurrentLocation(); - - // change action to POP - history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP })); - } - } - - function finishTransition(location) { - switch (location.action) { - case _Actions.PUSH: - current += 1; - - // if we are not on the top of stack - // remove rest and push new - if (current < entries.length) entries.splice(current); - - entries.push(location); - saveState(location.key, location.state); - break; - case _Actions.REPLACE: - entries[current] = location; - saveState(location.key, location.state); - break; - } - } - - return history; - } - - exports['default'] = createMemoryHistory; - module.exports = exports['default']; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) - -/***/ }, -/* 252 */ -/***/ function(module, exports, __webpack_require__) { - - var pSlice = Array.prototype.slice; - var objectKeys = __webpack_require__(254); - var isArguments = __webpack_require__(253); - - var deepEqual = module.exports = function (actual, expected, opts) { - if (!opts) opts = {}; - // 7.1. All identical values are equivalent, as determined by ===. - if (actual === expected) { - return true; - - } else if (actual instanceof Date && expected instanceof Date) { - return actual.getTime() === expected.getTime(); - - // 7.3. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') { - return opts.strict ? actual === expected : actual == expected; - - // 7.4. For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else { - return objEquiv(actual, expected, opts); - } - } - - function isUndefinedOrNull(value) { - return value === null || value === undefined; - } - - function isBuffer (x) { - if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false; - if (typeof x.copy !== 'function' || typeof x.slice !== 'function') { - return false; - } - if (x.length > 0 && typeof x[0] !== 'number') return false; - return true; - } - - function objEquiv(a, b, opts) { - var i, key; - if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) - return false; - // an identical 'prototype' property. - if (a.prototype !== b.prototype) return false; - //~~~I've managed to break Object.keys through screwy arguments passing. - // Converting to array solves the problem. - if (isArguments(a)) { - if (!isArguments(b)) { - return false; - } - a = pSlice.call(a); - b = pSlice.call(b); - return deepEqual(a, b, opts); - } - if (isBuffer(a)) { - if (!isBuffer(b)) { - return false; - } - if (a.length !== b.length) return false; - for (i = 0; i < a.length; i++) { - if (a[i] !== b[i]) return false; - } - return true; - } - try { - var ka = objectKeys(a), - kb = objectKeys(b); - } catch (e) {//happens when one is a string literal and the other isn't - return false; - } - // having the same number of owned properties (keys incorporates - // hasOwnProperty) - if (ka.length != kb.length) - return false; - //the same set of keys (although not necessarily the same order), - ka.sort(); - kb.sort(); - //~~~cheap key test - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] != kb[i]) - return false; - } - //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!deepEqual(a[key], b[key], opts)) return false; - } - return typeof a === typeof b; - } - - -/***/ }, -/* 253 */ -/***/ function(module, exports) { - - var supportsArgumentsClass = (function(){ - return Object.prototype.toString.call(arguments) - })() == '[object Arguments]'; - - exports = module.exports = supportsArgumentsClass ? supported : unsupported; - - exports.supported = supported; - function supported(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; - }; - - exports.unsupported = unsupported; - function unsupported(object){ - return object && - typeof object == 'object' && - typeof object.length == 'number' && - Object.prototype.hasOwnProperty.call(object, 'callee') && - !Object.prototype.propertyIsEnumerable.call(object, 'callee') || - false; - }; - - -/***/ }, -/* 254 */ -/***/ function(module, exports) { - - exports = module.exports = typeof Object.keys === 'function' - ? Object.keys : shim; - - exports.shim = shim; - function shim (obj) { - var keys = []; - for (var key in obj) keys.push(key); - return keys; - } - - -/***/ }, -/* 255 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - var strictUriEncode = __webpack_require__(256); - - exports.extract = function (str) { - return str.split('?')[1] || ''; - }; - - exports.parse = function (str) { - if (typeof str !== 'string') { - return {}; - } - - str = str.trim().replace(/^(\?|#|&)/, ''); - - if (!str) { - return {}; - } - - return str.split('&').reduce(function (ret, param) { - var parts = param.replace(/\+/g, ' ').split('='); - // Firefox (pre 40) decodes `%3D` to `=` - // https://github.com/sindresorhus/query-string/pull/37 - var key = parts.shift(); - var val = parts.length > 0 ? parts.join('=') : undefined; - - key = decodeURIComponent(key); - - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = val === undefined ? null : decodeURIComponent(val); - - if (!ret.hasOwnProperty(key)) { - ret[key] = val; - } else if (Array.isArray(ret[key])) { - ret[key].push(val); - } else { - ret[key] = [ret[key], val]; - } - - return ret; - }, {}); - }; - - exports.stringify = function (obj) { - return obj ? Object.keys(obj).sort().map(function (key) { - var val = obj[key]; - - if (val === undefined) { - return ''; - } - - if (val === null) { - return key; - } - - if (Array.isArray(val)) { - return val.slice().sort().map(function (val2) { - return strictUriEncode(key) + '=' + strictUriEncode(val2); - }).join('&'); - } - - return strictUriEncode(key) + '=' + strictUriEncode(val); - }).filter(function (x) { - return x.length > 0; - }).join('&') : ''; - }; - - -/***/ }, -/* 256 */ -/***/ function(module, exports) { - - 'use strict'; - module.exports = function (str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase(); - }); - }; - - -/***/ }, -/* 257 */ -221, -/* 258 */ -23, -/* 259 */ +/* 239 */ /***/ function(module, exports, __webpack_require__) { /** @@ -38692,9 +36821,9 @@ 'use strict'; - var ReactDOMComponentTree = __webpack_require__(11); + var ReactDOMComponentTree = __webpack_require__(10); - var focusNode = __webpack_require__(151); + var focusNode = __webpack_require__(149); var AutoFocusUtils = { focusDOMComponent: function () { @@ -38705,7 +36834,7 @@ module.exports = AutoFocusUtils; /***/ }, -/* 260 */ +/* 240 */ /***/ function(module, exports, __webpack_require__) { /** @@ -38722,11 +36851,11 @@ 'use strict'; var EventConstants = __webpack_require__(25); - var EventPropagators = __webpack_require__(46); - var ExecutionEnvironment = __webpack_require__(15); - var FallbackCompositionState = __webpack_require__(266); - var SyntheticCompositionEvent = __webpack_require__(310); - var SyntheticInputEvent = __webpack_require__(313); + var EventPropagators = __webpack_require__(47); + var ExecutionEnvironment = __webpack_require__(16); + var FallbackCompositionState = __webpack_require__(246); + var SyntheticCompositionEvent = __webpack_require__(290); + var SyntheticInputEvent = __webpack_require__(293); var keyOf = __webpack_require__(31); @@ -39100,7 +37229,7 @@ module.exports = BeforeInputEventPlugin; /***/ }, -/* 261 */ +/* 241 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -39116,14 +37245,14 @@ 'use strict'; - var CSSProperty = __webpack_require__(124); - var ExecutionEnvironment = __webpack_require__(15); + var CSSProperty = __webpack_require__(122); + var ExecutionEnvironment = __webpack_require__(16); var ReactInstrumentation = __webpack_require__(19); - var camelizeStyleName = __webpack_require__(329); - var dangerousStyleValue = __webpack_require__(319); - var hyphenateStyleName = __webpack_require__(336); - var memoizeStringOnly = __webpack_require__(339); + var camelizeStyleName = __webpack_require__(309); + var dangerousStyleValue = __webpack_require__(299); + var hyphenateStyleName = __webpack_require__(316); + var memoizeStringOnly = __webpack_require__(319); var warning = __webpack_require__(4); var processStyleName = memoizeStringOnly(function (styleName) { @@ -39311,7 +37440,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 262 */ +/* 242 */ /***/ function(module, exports, __webpack_require__) { /** @@ -39328,16 +37457,16 @@ 'use strict'; var EventConstants = __webpack_require__(25); - var EventPluginHub = __webpack_require__(45); - var EventPropagators = __webpack_require__(46); - var ExecutionEnvironment = __webpack_require__(15); - var ReactDOMComponentTree = __webpack_require__(11); + var EventPluginHub = __webpack_require__(46); + var EventPropagators = __webpack_require__(47); + var ExecutionEnvironment = __webpack_require__(16); + var ReactDOMComponentTree = __webpack_require__(10); var ReactUpdates = __webpack_require__(24); var SyntheticEvent = __webpack_require__(27); var getEventTarget = __webpack_require__(92); var isEventSupported = __webpack_require__(94); - var isTextInputElement = __webpack_require__(148); + var isTextInputElement = __webpack_require__(146); var keyOf = __webpack_require__(31); var topLevelTypes = EventConstants.topLevelTypes; @@ -39641,7 +37770,7 @@ module.exports = ChangeEventPlugin; /***/ }, -/* 263 */ +/* 243 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -39659,10 +37788,10 @@ var _prodInvariant = __webpack_require__(5); - var DOMLazyTree = __webpack_require__(39); - var ExecutionEnvironment = __webpack_require__(15); + var DOMLazyTree = __webpack_require__(40); + var ExecutionEnvironment = __webpack_require__(16); - var createNodesFromMarkup = __webpack_require__(332); + var createNodesFromMarkup = __webpack_require__(312); var emptyFunction = __webpack_require__(22); var invariant = __webpack_require__(3); @@ -39695,7 +37824,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 264 */ +/* 244 */ /***/ function(module, exports, __webpack_require__) { /** @@ -39727,7 +37856,7 @@ module.exports = DefaultEventPluginOrder; /***/ }, -/* 265 */ +/* 245 */ /***/ function(module, exports, __webpack_require__) { /** @@ -39744,9 +37873,9 @@ 'use strict'; var EventConstants = __webpack_require__(25); - var EventPropagators = __webpack_require__(46); - var ReactDOMComponentTree = __webpack_require__(11); - var SyntheticMouseEvent = __webpack_require__(60); + var EventPropagators = __webpack_require__(47); + var ReactDOMComponentTree = __webpack_require__(10); + var SyntheticMouseEvent = __webpack_require__(62); var keyOf = __webpack_require__(31); @@ -39837,7 +37966,7 @@ module.exports = EnterLeaveEventPlugin; /***/ }, -/* 266 */ +/* 246 */ /***/ function(module, exports, __webpack_require__) { /** @@ -39857,7 +37986,7 @@ var PooledClass = __webpack_require__(30); - var getTextContentAccessor = __webpack_require__(146); + var getTextContentAccessor = __webpack_require__(144); /** * This helper class stores information about text content of a target node, @@ -39937,7 +38066,7 @@ module.exports = FallbackCompositionState; /***/ }, -/* 267 */ +/* 247 */ /***/ function(module, exports, __webpack_require__) { /** @@ -39953,7 +38082,7 @@ 'use strict'; - var DOMProperty = __webpack_require__(35); + var DOMProperty = __webpack_require__(36); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; @@ -40154,7 +38283,7 @@ module.exports = HTMLDOMPropertyConfig; /***/ }, -/* 268 */ +/* 248 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -40172,16 +38301,16 @@ var _assign = __webpack_require__(8); - var ReactChildren = __webpack_require__(127); + var ReactChildren = __webpack_require__(125); var ReactComponent = __webpack_require__(81); - var ReactPureComponent = __webpack_require__(300); - var ReactClass = __webpack_require__(128); - var ReactDOMFactories = __webpack_require__(278); + var ReactPureComponent = __webpack_require__(280); + var ReactClass = __webpack_require__(126); + var ReactDOMFactories = __webpack_require__(258); var ReactElement = __webpack_require__(21); - var ReactPropTypes = __webpack_require__(139); - var ReactVersion = __webpack_require__(140); + var ReactPropTypes = __webpack_require__(137); + var ReactVersion = __webpack_require__(138); - var onlyChild = __webpack_require__(325); + var onlyChild = __webpack_require__(305); var warning = __webpack_require__(4); var createElement = ReactElement.createElement; @@ -40189,7 +38318,7 @@ var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { - var ReactElementValidator = __webpack_require__(131); + var ReactElementValidator = __webpack_require__(129); createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; @@ -40249,7 +38378,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 269 */ +/* 249 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -40265,9 +38394,9 @@ 'use strict'; - var ReactReconciler = __webpack_require__(40); + var ReactReconciler = __webpack_require__(41); - var instantiateReactComponent = __webpack_require__(147); + var instantiateReactComponent = __webpack_require__(145); var KeyEscapeUtils = __webpack_require__(79); var shouldUpdateReactComponent = __webpack_require__(95); var traverseAllChildren = __webpack_require__(96); @@ -40409,7 +38538,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 270 */ +/* 250 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -40469,7 +38598,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 271 */ +/* 251 */ /***/ function(module, exports, __webpack_require__) { /** @@ -40486,7 +38615,7 @@ 'use strict'; var DOMChildrenOperations = __webpack_require__(76); - var ReactDOMIDOperations = __webpack_require__(280); + var ReactDOMIDOperations = __webpack_require__(260); /** * Abstracts away all functionality of the reconciler that requires knowledge of @@ -40504,7 +38633,7 @@ module.exports = ReactComponentBrowserEnvironment; /***/ }, -/* 272 */ +/* 252 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -40527,14 +38656,14 @@ var ReactCurrentOwner = __webpack_require__(26); var ReactElement = __webpack_require__(21); var ReactErrorUtils = __webpack_require__(83); - var ReactInstanceMap = __webpack_require__(47); + var ReactInstanceMap = __webpack_require__(48); var ReactInstrumentation = __webpack_require__(19); - var ReactNodeTypes = __webpack_require__(138); - var ReactPropTypeLocations = __webpack_require__(59); - var ReactReconciler = __webpack_require__(40); + var ReactNodeTypes = __webpack_require__(136); + var ReactPropTypeLocations = __webpack_require__(61); + var ReactReconciler = __webpack_require__(41); - var checkReactTypeSpec = __webpack_require__(143); - var emptyObject = __webpack_require__(50); + var checkReactTypeSpec = __webpack_require__(141); + var emptyObject = __webpack_require__(51); var invariant = __webpack_require__(3); var shallowEqual = __webpack_require__(98); var shouldUpdateReactComponent = __webpack_require__(95); @@ -41414,7 +39543,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 273 */ +/* 253 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -41432,16 +39561,16 @@ 'use strict'; - var ReactDOMComponentTree = __webpack_require__(11); - var ReactDefaultInjection = __webpack_require__(291); - var ReactMount = __webpack_require__(136); - var ReactReconciler = __webpack_require__(40); + var ReactDOMComponentTree = __webpack_require__(10); + var ReactDefaultInjection = __webpack_require__(271); + var ReactMount = __webpack_require__(134); + var ReactReconciler = __webpack_require__(41); var ReactUpdates = __webpack_require__(24); - var ReactVersion = __webpack_require__(140); + var ReactVersion = __webpack_require__(138); - var findDOMNode = __webpack_require__(320); - var getHostComponentFromComposite = __webpack_require__(145); - var renderSubtreeIntoContainer = __webpack_require__(327); + var findDOMNode = __webpack_require__(300); + var getHostComponentFromComposite = __webpack_require__(143); + var renderSubtreeIntoContainer = __webpack_require__(307); var warning = __webpack_require__(4); ReactDefaultInjection.inject(); @@ -41482,7 +39611,7 @@ } if (process.env.NODE_ENV !== 'production') { - var ExecutionEnvironment = __webpack_require__(15); + var ExecutionEnvironment = __webpack_require__(16); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed @@ -41519,8 +39648,8 @@ if (process.env.NODE_ENV !== 'production') { var ReactInstrumentation = __webpack_require__(19); - var ReactDOMUnknownPropertyHook = __webpack_require__(288); - var ReactDOMNullInputValuePropHook = __webpack_require__(282); + var ReactDOMUnknownPropertyHook = __webpack_require__(268); + var ReactDOMNullInputValuePropHook = __webpack_require__(262); ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook); ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook); @@ -41530,7 +39659,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(1))) /***/ }, -/* 274 */ +/* 254 */ /***/ function(module, exports, __webpack_require__) { /** @@ -41546,7 +39675,7 @@ 'use strict'; - var DisabledInputUtils = __webpack_require__(56); + var DisabledInputUtils = __webpack_require__(58); /** * Implements a