From 96a01fccffc03396922402d7ca54d7002c7be922 Mon Sep 17 00:00:00 2001 From: PolinaShneider Date: Thu, 28 Mar 2019 18:46:21 +0300 Subject: [PATCH 01/14] Add lazyLoad module --- www/.eslintrc | 4 +- .../views/templates/landings/editor.php | 36 +++--- www/public/app/css/components/lazy-load.css | 13 +++ www/public/app/css/main.css | 1 + www/public/app/js/main.js | 3 + www/public/app/js/modules/lazyLoad.js | 103 ++++++++++++++++++ www/public/build/codex.bundle.css | 2 +- www/public/build/codex.bundle.js | 6 +- www/public/build/editor.bundle.js | 2 +- www/public/build/hawk.bundle.js | 2 +- 10 files changed, 148 insertions(+), 24 deletions(-) create mode 100644 www/public/app/css/components/lazy-load.css create mode 100644 www/public/app/js/modules/lazyLoad.js diff --git a/www/.eslintrc b/www/.eslintrc index be81f1a22..e258658bc 100644 --- a/www/.eslintrc +++ b/www/.eslintrc @@ -75,7 +75,7 @@ "XMLHttpRequest": true, "ActiveXObject": true, "FileReader": true, - "Element": true - + "Element": true, + "Image" : true } } diff --git a/www/application/views/templates/landings/editor.php b/www/application/views/templates/landings/editor.php index ff7c3ea67..06860b25c 100644 --- a/www/application/views/templates/landings/editor.php +++ b/www/application/views/templates/landings/editor.php @@ -251,17 +251,19 @@
Plugins can represent any Blocks: Quotes, Galleries, Polls, Embeds, Tables — anything you need. Also they can implement Inline Tools such as Marker, Term, Comments etc.
-
+
- Blocks @@ -277,13 +279,15 @@
- - <?= $plugin['name'] ?> - - - +
+ + <?= $plugin['name'] ?> + + + +

diff --git a/www/public/app/css/components/lazy-load.css b/www/public/app/css/components/lazy-load.css new file mode 100644 index 000000000..1c2580eff --- /dev/null +++ b/www/public/app/css/components/lazy-load.css @@ -0,0 +1,13 @@ +.lazy-load { + background: #f7fafb; + border-radius: 3px; + + &__media { + opacity: 0; + transition: opacity 0.6s ease; + } + + &--loaded > &__media { + opacity: 1; + } +} diff --git a/www/public/app/css/main.css b/www/public/app/css/main.css index 775902e74..e0790b89e 100755 --- a/www/public/app/css/main.css +++ b/www/public/app/css/main.css @@ -34,6 +34,7 @@ @import './components/video-overlay.css'; @import './components/follow-telegram.css'; @import './components/join.css'; +@import './components/lazy-load.css'; /** * Pages diff --git a/www/public/app/js/main.js b/www/public/app/js/main.js index 02e454d90..723ff29f0 100644 --- a/www/public/app/js/main.js +++ b/www/public/app/js/main.js @@ -136,5 +136,8 @@ codex.editorLanding = new EditorLanding(); import ArticleCreate from './modules/articleCreate'; codex.articleCreate = new ArticleCreate(); +import LazyLoad from './modules/lazyLoad'; +codex.lazyLoad = new LazyLoad(); + module.exports = codex; diff --git a/www/public/app/js/modules/lazyLoad.js b/www/public/app/js/modules/lazyLoad.js new file mode 100644 index 000000000..7278dfece --- /dev/null +++ b/www/public/app/js/modules/lazyLoad.js @@ -0,0 +1,103 @@ +/** + * Module for lazy-loading images & videos + */ +export default class LazyLoad { + + /** + * Classes used in module + */ + static get classes() { + + return { + wrapper: 'js_lazy-load', + loaded: 'lazy-load--loaded', + item: 'js_lazy-media' + }; + + } + + /** + * Initialize module + */ + init() { + + this.loadMedia(); + + } + + /** + * Find media targets on page and apply to them various lazy-loading technique depending on type: image or video + */ + loadMedia() { + + const items = document.querySelectorAll(`.${LazyLoad.classes.item}`); + + items.forEach((item) => { + + switch (item.tagName) { + + case 'IMG': + this.loadImage(item); + break; + case 'VIDEO': + this.loadVideo(item); + break; + + } + + }); + + } + + /** + * Images lazy-loading technique + * @param {HTMLElement} element - target image + */ + loadImage(element) { + + /** + * Create temporary image with real image src. + * When temporary image is loaded, reveal real image + */ + const tempImage = new Image(); + + tempImage.src = element.src; + tempImage.onload = () => { + + this.addLoadedClass(element); + + }; + + } + + /** + * Videos lazy-loading technique + * @param {HTMLElement} element - target video + */ + loadVideo(element) { + + const tempVideo = document.createElement('video'); + const tempVideoSource = document.createElement('source'); + + tempVideoSource.src = element.querySelector('source').src; + tempVideo.appendChild(tempVideoSource); + + tempVideo.onloadeddata = () => { + + this.addLoadedClass(element); + + }; + + } + + /** + * Add loaded class when element is ready + * @param {HTMLElement} element - media target + */ + addLoadedClass(element) { + + element.closest(`.${LazyLoad.classes.wrapper}`).classList.add(LazyLoad.classes.loaded); + + } + +} diff --git a/www/public/build/codex.bundle.css b/www/public/build/codex.bundle.css index 292a2c614..832b7ec8f 100644 --- a/www/public/build/codex.bundle.css +++ b/www/public/build/codex.bundle.css @@ -1 +1 @@ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:codex_ic;src:url(/public/app/fonts/codex_icons/codex_ic.eot?2);src:url(/public/app/fonts/codex_icons/codex_ic.eot?2#iefix) format("embedded-opentype"),url(/public/app/fonts/codex_icons/codex_ic.woff?2) format("woff"),url(/public/app/fonts/codex_icons/codex_ic.ttf?2) format("truetype"),url(/public/app/fonts/codex_icons/codex_ic.svg?2#codex_ic) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:codex_ic;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-vkontakte:before{content:"\E800"}.icon-twitter:before{content:"\E801"}.icon-facebook-squared:before{content:"\E802"}.icon-github-circled:before{content:"\E803"}.icon-heart:before{content:"\E804"}.icon-star:before{content:"\E805"}.icon-star-empty:before{content:"\E806"}.icon-search:before{content:"\E807"}.icon-rss:before{content:"\E808"}.icon-link:before{content:"\E809"}.icon-chat:before{content:"\E80A"}.icon-pencil:before{content:"\E80B"}.icon-pin:before{content:"\E80C"}.icon-attach:before{content:"\E80D"}.icon-tags:before{content:"\E80E"}.icon-up-big:before{content:"\E80F"}.icon-down-big:before{content:"\E810"}.icon-eye:before{content:"\E811"}.icon-instagram:before{content:"\E812"}.icon-briefcase:before{content:"\E813"}.icon-users:before{content:"\E814"}.icon-user:before{content:"\E815"}.icon-user-add:before{content:"\E816"}.icon-forward:before{content:"\E817"}.icon-cog-1:before{content:"\E818"}.icon-ok:before{content:"\E819"}.icon-cancel:before{content:"\E81A"}.icon-spin4:before{content:"\E81B"}.icon-picture:before{content:"\E81C"}.icon-cog:before{content:"\E81D"}.icon-paper-plane:before{content:"\E81E"}.icon-facebook:before{content:"\E81F"}::selection{background:#b3d4fc}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5em;letter-spacing:.1px}.center_side{max-width:1100px;margin:0 auto}@media (max-width:1140px){.center_side{padding:0 20px}}.hide{display:none!important}.block{display:block}.p_rel{position:relative}.pointer{cursor:pointer}a{color:#2969b9;text-decoration:none}a:hover{color:#2c7fe5}.align_c{text-align:center}textarea{resize:vertical}.clearfix:after{content:" ";display:table;clear:both}.fl_l{float:left}.fl_r{float:right}.constrain{overflow:hidden}.no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;border-radius:2px;border:0;font-size:15px;font-family:inherit;outline:none;background:#f4f5f8}.input:focus{background:#eef5fd}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:30px;border:0;display:inline-block;padding:12px 24px;color:#3f4b63;vertical-align:top;cursor:pointer;text-decoration:none;font-family:inherit;background:#ecf3f9;line-height:1em}.button:hover{background:#4592da;color:#fff;text-decoration:none}.button--master{background:#5c95cf;color:#fff}.button--master:hover{background:#3c7ab9;color:#fff}.button--green{background:#00ad7c;color:#fff}.button--green:hover{background:#0d936d;color:#fff}.button i{margin:0 .74em 0 -.3em}.button.loading{position:relative;overflow:hidden;background:#f5f5f5;color:#434c61}.button.loading:before{position:absolute;left:0;top:0;content:"";width:100%;height:100%;display:block;background:url(/public/app/img/load_pattern.gif);opacity:.1}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-iteration-count:1;animation-iteration-count:1}.show-in-mobile{display:none!important}@media (max-width:980px){.mobile-hide{display:none!important}.show-in-mobile{display:block!important}}.codex-logo{display:inline-block;background:url(/public/app/img/codex-logo.svg) no-repeat;width:224px;height:224px}.technic{display:inline-block;background:color(#bc1453 alpha(7%));padding:0 7px;margin-right:.2em;border-radius:2px;color:#bc1453;text-decoration:none;font-size:.9em}.site-header{position:relative;height:50px;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e7e9f5;z-index:2}.site-header__content{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header a{display:inline-block;text-decoration:none;letter-spacing:.2px;line-height:50px}.site-header__menu-item:not(:first-of-type){margin-left:30px}@media (max-width:980px){.site-header__menu-item:not(:first-of-type){margin-left:10px}}.site-header__right{margin-left:auto}.site-header__social{position:absolute;left:50%;-webkit-transform:translate(-50%,-2px);transform:translate(-50%,-2px);font-size:1.4em}.site-header__github-icon{vertical-align:text-bottom;line-height:.7em;font-size:1.66em}.site-header__photo{display:inline-block;border-radius:50%;width:22px;height:22px;vertical-align:middle;margin-right:5px;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em;font-size:1.5em;font-weight:700}.site-header__action{margin-right:30px}.site-header__action--write{color:#00b693}.site-header__action--edit{color:#bc1453}.site-footer{border-top:1px solid #e7e9f5;padding:30px 0;margin-top:30px;font-size:13px}@media (max-width:980px){.site-footer{padding:25px 0}}.site-footer .center_side{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.site-footer .center_side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.site-footer__section{max-width:420px}@media (max-width:980px){.site-footer__section{max-width:none}.site-footer__section:not(:last-of-type){margin-bottom:25px}}.site-footer__section--contacts{margin-left:auto;margin-right:45px}@media (max-width:980px){.site-footer__section--contacts{margin-left:0;margin-right:0}}.site-footer ul{list-style:none;padding-left:0;line-height:1.8em}.site-footer a{text-decoration:none}.site-footer h5{margin:0 0 10px;font-size:1.02em}.site-footer h5 a{color:inherit;text-decoration:none}.site-footer p{margin:0}.site-footer .desclimer{opacity:.5}.random_articles{padding:35px 0;margin:0 auto;max-width:650px;font-size:15px;line-height:1.6em}.random_articles h3{margin-bottom:8px;font-size:1.4em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}.random_articles p{margin:10px 0 30px}.random_articles .article-card:not(:last-of-type){margin-bottom:20px}@media (max-width:980px) and (max-width:690px){.random_articles{margin:0 20px;padding-bottom:0;font-size:14px}}.event_alert{padding:80px 0;max-width:700px;margin:0 auto;border-bottom:1px solid #ebe8e8;text-align:center;font-size:1.8em}@media (max-width:980px){.event_alert{font-size:1.5em}}.event_alert__day{min-width:70px;line-height:1.3em;letter-spacing:1.2px;font-size:2.3em}.event_alert__month{letter-spacing:2px}.event_alert__title{margin-top:1.4em;font-size:.62em;color:#ea6e6e}.event_alert__description{margin-top:1em;font-size:.64em}@media (max-width:980px){.event_alert__description{font-size:1.5em}.event_alert__description:after,.event_alert__description:before{display:none}}.event_alert__link{display:inline-block;color:inherit}.event_alert__link,.event_alert__link:hover{text-decoration:none}.event_alert__icon_delimiter{font-size:.7em}.contest_alert a{display:block;margin:-20px 40px 40px;text-align:center;text-decoration:none;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;color:#988e8e}.contest_alert .line{position:relative;margin:0 70px 70px;height:1px;background:#ebe8e8}.contest_alert .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(../78fe36d5335d9f6c65fdf26754d2c5f0.png) no-repeat 50% 50%}.page_menu{margin:30px;padding:0;list-style:none;text-align:center;font-size:0;letter-spacing:0}.page_menu li{position:relative;display:inline-block;font-size:15px}.page_menu li:after{content:"\30FB";display:inline-block;padding:0 2px;vertical-align:middle;color:#c1c8da;font-size:18px}.page_menu li:last-child:after{display:none}.dnd-default-avatar{position:absolute;pointer-events:none;z-index:100}.dnd-default-target-highlight{border:1px solid #eee}.dnd-avatar,.dnd-avatar td{background:#fafafd!important}.draggable{cursor:move}.feed{background:#fff}.feed--gray{background:#e8ecf2}.feed-item--dnd{background:#fff;border:1px solid #e8ecf2}.no-display{display:none}.page-header{padding:60px 0}.page-header__title{font-size:1.68em;line-height:1.2em;letter-spacing:.2px}.page-header__description{max-width:500px}.icon_telegram{display:inline-block;width:28px;height:28px;background:url(/public/app/img/icon_telegram.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.icon_telegram{background:url(/public/app/img/icon_telegram@2x.png) no-repeat;background-size:28px 28px}}.best-developers{position:absolute;right:30px;top:90px;width:150px;text-align:left;font-size:13px}.best-developers__heading{max-width:120px;border-bottom:1px solid #e8e6e3;padding-bottom:.5em;font-weight:400;line-height:1.2em;font-size:1em;color:#ac7c0d}.best-developers__item{position:relative;display:block;padding-left:50px;margin-bottom:10px;color:inherit;text-decoration:none;cursor:pointer;line-height:1.4em}.best-developers__photo{position:absolute;left:0;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:18px}@media (max-width:980px){.best-developers{position:static;width:auto;max-width:300px;margin:50px auto 0;text-align:center}.best-developers__heading{max-width:none}.best-developers__item{line-height:1.8em;padding-left:0}.best-developers__photo{position:static;vertical-align:text-bottom;width:24px;height:24px}}.breadcrumb{margin-bottom:50px;padding-left:20px;border-left:3px solid #d6d6d6;color:#a2a2a2}.breadcrumb h1{display:inline-block;margin:0 5px;font-size:inherit;font-weight:400}.breadcrumb a{display:inline-block;margin-right:5px;color:inherit}.news{display:block;max-width:500px;border-top:1px solid #e7e9f5;border-bottom:1px solid #e7e9f5;padding:40px 0;margin:40px auto 0;font-size:14px}.news__list_item{position:relative;padding:5px 0;list-style:none;line-height:1.6em}.news__list_item--hidden{display:none!important}.news__list_item:before{content:attr(data-time);position:absolute;left:-70px;width:50px;text-align:right;color:#6c7580;white-space:nowrap}.news__bage{display:inline-block;margin-right:.5em;color:#f85879;letter-spacing:2px;font-size:1.1em;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.news__showmore{display:inline-block;margin-top:.5em;cursor:pointer;color:#6c7580}@media (max-width:980px) and (max-width:690px){.news{padding:20px 0;margin:30px 0;max-width:none}.news__list_item:not(:last-of-type){margin-bottom:5px}.news__list_item:before{position:static;display:block;text-align:left;margin:0 0 1px;font-size:.89em}.news__showmore{margin-top:0}}.scroll-up{position:fixed;bottom:30px;left:30px;padding:32px 27px;border-radius:2px;background:rgba(93,104,156,.08);font-size:18px;text-align:center;cursor:pointer;color:rgba(85,97,125,.6);opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.scroll-up:hover{background:rgba(93,104,156,.15)}.scroll-up:before{font-family:codex_ic;content:"\E80F"}.scroll-up.show{opacity:1}@media (max-width:980px){.scroll-up{left:auto;bottom:0;right:0;padding:12px 14px;font-size:12px}}.sharing{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px;border-radius:3px;background:#f1f5f8;color:#616c98}@media (max-width:980px){.sharing{text-align:center;display:block}}.sharing__offer{max-width:250px}@media (max-width:980px){.sharing__offer{max-width:none}}.sharing__button{margin:auto 0 auto 13px;cursor:pointer;color:#a1acc1;font-size:20px}.sharing__button:hover{color:#5d75bd}.sharing__button.tw:hover{color:#6e98fd}.sharing__button.tg{font-size:17px}.sharing__button.tg:hover{color:#41adff}@media (max-width:980px){.sharing__button{margin:0 8px}}.sharing__main-button{margin:auto 15px auto auto;padding:10px 24px;border-radius:25px;background:#507299;color:#fff;cursor:pointer}@media (max-width:980px){.sharing__main-button{display:block;max-width:120px;margin:20px auto}}.sharing__main-button:hover{background:color(#507299 blackness(5%))}.sharing__main-button i{margin:0 4px 0 -5px}@media (max-width:980px){.sharing{text-align:center}.sharing .main_but{float:none;display:block;margin:0 0 15px}.sharing .but{display:inline-block;float:none;margin:0 7px 18px}}.vk_groups{max-width:650px;margin:50px auto 0}@media (max-width:980px) and (max-width:690px){.vk_groups{max-width:none;width:calc(100% - 40px);margin-left:20px;margin-right:20px}}.quiz{position:relative;margin:auto;max-width:700px;background:#fff;padding:30px 50px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #eceff6;border-radius:3px;font-size:15px}.quiz__question-title{font-size:1.15em;font-weight:600;margin-bottom:1em}.quiz__question-counter{float:right;color:#828282;letter-spacing:3px}.quiz__question-button{padding:10px 28px;margin-top:22px;border:0;border-radius:30px;outline:none;font:inherit;background:#5c95cf;color:#fff}.quiz__question-button:focus,.quiz__question-button:hover{background:#3c7ab9;color:#fff}.quiz__question-button:disabled,.quiz__question-button:disabled:focus,.quiz__question-button:disabled:hover{cursor:default}.quiz__question-button_next{cursor:pointer}.quiz__question-answer{position:relative;padding:.5em 0 .5em 36px;cursor:pointer;line-height:1.4em}.quiz__question-answer:not(:last-of-type){margin-bottom:.4em}.quiz__question-answer:before{position:absolute;left:0;top:.46em;display:inline-block;content:"";width:16px;height:16px;border-radius:50%;border:4px solid #404040;-webkit-box-shadow:inset 0 0 0 4px #fff;box-shadow:inset 0 0 0 4px #fff}.quiz__question-answer:hover:before{background:#404040}.quiz__question-answer_selected.quiz__question-answer_right:before{border-color:#34b98e;-webkit-box-shadow:none;box-shadow:none;background:#34b98e url(/public/app/img/quizzes/checked.svg)!important;background-size:cover!important}.quiz__question-answer_selected.quiz__question-answer_wrong:before{border-color:#ec6d6d;background:#ec6d6d!important}.quiz__question-answer_right:before{border-color:#34b98e;background:#34b98e!important}.quiz__answer-message{margin:-.5em 0 .5em 36px;color:#717888}.quiz__result-score{margin:.7em 0 1em;font-size:2.7em;font-weight:700;text-align:center;letter-spacing:.2em;color:#0081d2}.quiz__result-message{text-align:center;font-size:2em;line-height:1.25em;letter-spacing:.02em;font-weight:700}.quiz__retry-button{position:relative;left:40%;display:inline-block;margin-top:.5em;cursor:pointer;color:#186ebd}.quiz__retry-button:before{content:"";display:inline-block;margin-bottom:-.3em;margin-right:.4em;background-image:url(/public/app/img/quizzes/retry.svg);background-size:cover;height:20px;width:20px}.quiz__sharing{text-align:center;padding:40px 0 30px;border-radius:3px;color:#616c98}.quiz__sharing .but{margin:0 10px;padding:6px 20px;border-radius:20px;cursor:pointer;color:#fff;background:#3c7dce;font-size:1.2em!important;-webkit-box-sizing:border-box;box-sizing:border-box}.quiz__sharing .but:hover{background:transparent;-webkit-box-shadow:inset 0 0 0 2px #5d75bd;box-shadow:inset 0 0 0 2px #5d75bd;color:#5d75bd}.quiz__sharing .tw:hover{-webkit-box-shadow:inset 0 0 0 2px #6e98fd;box-shadow:inset 0 0 0 2px #6e98fd;color:#6e98fd}.quiz__sharing .tg:hover{-webkit-box-shadow:inset 0 0 0 2px #41adff;box-shadow:inset 0 0 0 2px #41adff;color:#41adff}@media (max-width:980px){.quiz{padding:20px}.quiz__sharing .but{display:inline-block;padding:0;font-size:1em;width:40px;height:40px}.quiz__sharing .but i{line-height:40px}.quiz__retry-button{left:26%}}.quiz-form{margin-top:50px}.quiz-form__page-title{font-size:30px;line-height:45px}.quiz-form__label{padding:0;font-size:16px;font-weight:400;text-align:left}.quiz-form__quiz-description,.quiz-form__quiz-title{margin:5px 0 20px}.quiz-form__question-holder{margin:20px 0;padding:25px;border:1px solid #e5e7e8;border-radius:3px}.quiz-form__question-number{font-size:20px;font-weight:700}.quiz-form__question-destroy-button{float:right}.quiz-form__question-title-label{display:block;margin-top:20px}.quiz-form__question-title{margin:5px 0 20px}.quiz-form__messages-holder,.quiz-form__question-answers-holder{border-collapse:collapse}.quiz-form__messages-head,.quiz-form__question-answers-head{border-bottom:5px solid transparent}.quiz-form__question-answer-message-column,.quiz-form__question-answer-text-column,.quiz-form__question-answers-label,.quiz-form__question-messages-label{width:44%}.quiz-form__message-message-column,.quiz-form__question-answer-text-column{padding-left:0}.quiz-form__message-destroy-button,.quiz-form__message-score,.quiz-form__question-answer-destroy-button,.quiz-form__question-answer-score{height:37px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;outline:none;border:none;border-radius:2px}.quiz-form__message-score,.quiz-form__question-answer-score{width:100%;background:#f4f5f8}.quiz-form__message-score:focus,.quiz-form__question-answer-score:focus{background:#eef5fd}.quiz-form__question-answer-destroy-button-column{width:34px;padding-right:0}.quiz-form__message-destroy-button,.quiz-form__question-answer-destroy-button,.quiz-form__question-destroy-button{cursor:pointer;opacity:.3}.quiz-form__message-destroy-button:hover,.quiz-form__question-answer-destroy-button:hover,.quiz-form__question-destroy-button:hover{opacity:1}.quiz-form__add-message-button-column,.quiz-form__question-add-answer-button-column{padding:10px 0}.quiz-form__add-message-button,.quiz-form__add-question-button,.quiz-form__question-add-answer-button{padding:12px 0;line-height:16px;cursor:pointer;color:#454c5d;background:none}.quiz-form__add-message-button:hover,.quiz-form__question-add-answer-button:hover{color:#1a2235}.quiz-form__button-plus{margin-right:9px;vertical-align:text-bottom}.quiz-form__button-cross{vertical-align:middle}.quiz-form__messages{width:100%;margin-top:20px;table-layout:fixed}.quiz-form__message-message-label{width:38%}.quiz-form__message-score-label{width:12%}.quiz-form__share-message-label{width:50%}.quiz-form__messages-holder-column{padding:0}.quiz-form__messages-holder-column,.quiz-form__share-message-column{width:50%;vertical-align:top}.quiz-form__message-message-column{width:76.4%}.quiz-form__message-destroy-button-column{width:34px}.quiz-form__quiz-buttons-holder{margin-top:20px}.site-section{margin:60px 0 90px;font-size:15.9px;line-height:1.6em}.site-section__title{font-size:1.315em;margin-bottom:.5em;font-weight:400;text-align:center;letter-spacing:.026em}.site-section__desc{max-width:400px;margin:0 auto 40px;text-align:center}.site-section__go-more-link{margin:30px auto 0;display:block;max-width:200px;text-align:center;text-decoration:none}.site-section--articles-list{margin:60px 0 40px}.site-section--articles-list .site-section__desc{margin-top:13px}@media (max-width:980px){.site-section--articles-list{margin:0 0 60px}}.article-card{position:relative;padding:20px 20px 75px;border:1px solid #e7e9f5;border-radius:3px;font-size:12.4px}.article-card a{text-decoration:none;color:inherit}.article-card__footer{position:absolute;bottom:20px;left:20px;right:20px;height:34px;line-height:1.54em;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.article-card__cover{display:block;background-color:#f4f5f9;height:100px;margin:-21px -21px 20px;border-radius:3px 3px 0 0;background-position:0 30%;background-size:cover}.article-card__title{margin-bottom:15px;font-size:17.9px;font-weight:700;line-height:1.2em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}@media (max-width:980px){.article-card__title{font-size:15.9px;letter-spacing:-.013em}}.article-card__photo{float:left;margin-right:10px}.article-card__photo--with-coauthor{margin-right:0;border-left:0}.article-card__photo--coauthor{margin-left:-25px;margin-right:0}.article-card__photo img{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}.article-card__user-name:not(:last-of-type):after{content:","}.article-card__read-time{color:#6c7580;line-height:1.1em}@media (min-width:1050px){.articles-grid__item .article-card{width:100%}}.product-card{border-radius:5px;padding:30px;margin-bottom:30px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e7e9f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media (min-width:1050px){.product-card{min-height:415px;padding:60px;margin-bottom:60px}}@supports (display:grid){.product-card{display:grid;grid-template-columns:auto 360px;grid-template-rows:60px auto 100px;grid-template-areas:"title-area right-area" "content-area right-area" "footer-area right-area"}@media (max-width:980px){.product-card{grid-template-columns:auto;grid-template-rows:auto auto auto auto;grid-template-areas:"title-area" "content-area" "right-area" "footer-area"}}}.product-card__title{display:block;margin-bottom:20.3px;font-size:43px;letter-spacing:-.36px;font-weight:700;line-height:1em;color:inherit}.product-card__title:hover{color:inherit}@media (max-width:980px){.product-card__title{font-size:32px}}.product-card__caption{max-width:450px;margin-bottom:30px;font-size:20px;color:#626262;line-height:1.5em}.product-card__screen{display:block;width:360px;-webkit-box-shadow:0 22px 31px 0 rgba(0,0,0,.63);box-shadow:0 22px 31px 0 rgba(0,0,0,.63);border-radius:5px}@media (max-width:980px){.product-card__screen{max-width:100%;height:auto}}.product-card__repo{display:inline-block;margin-top:30px;color:#626262}.product-card__button{display:inline-block;padding:12px 26px 12px 18px;margin-top:30px;background:#fff;border:1px solid #e7e9f5;-webkit-box-shadow:0 2px 3px 0 rgba(38,45,67,.02);box-shadow:0 2px 3px 0 rgba(38,45,67,.02);border-radius:3px;color:inherit;color:#000;font-size:18px;letter-spacing:-.3px;text-decoration:none}.product-card__button:not(:last-of-type){margin-right:20px}.product-card__button svg{display:inline-block;width:26px;height:26px;vertical-align:middle;margin-right:.5em;margin-top:-.3em}.product-card__button:hover{background-color:#fdfdfd;color:#000;color:initial;text-decoration:none}@media (max-width:980px){.product-card__button{padding:6px 15px 6px 13px;margin:20px 20px 0 0;font-size:14px}.product-card__button svg{width:20px;height:20px}}.product-card__right-heading{margin:0 0 20px;font-size:22px;font-weight:400}.product-card__application{display:inline-block;margin-bottom:15px;width:40px;height:40px}.product-card__application svg{width:40px;height:40px}.product-card__application:not(:last-of-type){margin-right:10px}.product-card__right-link{margin-top:7px;display:inline-block;color:#8c8888;line-height:1.5em}.product-card__actions{margin-top:40px}.product-card__loved-by{margin-top:45px}.product-card__loved-by-title{font-size:18px;font-weight:400;margin-bottom:10px}.product-card__loved-by-item{display:inline-block;vertical-align:top;padding:10px 25px 10px 0;height:27px}.product-card__loved-by-item:not(:last-of-type){border-right:1px solid #e7e9f5}.product-card__loved-by-item:not(:first-of-type){padding-left:23px}@media (max-width:980px){.product-card__loved-by-item{padding:5px 10px 5px 0}.product-card__loved-by-item:not(:first-of-type){padding-left:10px}}.product-card__download{position:relative;display:inline-block;min-width:150px;padding:10px 20px;margin:0 20px 20px 0;border:1px solid #e0e1e6;border-radius:3px;font-size:13.1px;line-height:1.5em;color:#25262e;overflow:hidden}.product-card__download[href="#"]{color:#9699a8}.product-card__download[href="#"]:after{content:"Soon";background:#ff1769;border-radius:3px;padding:3px 6px;line-height:1em;color:#fff;font-weight:500;position:absolute;right:5px;top:5px;letter-spacing:-.5px}.product-card__download[href="#"] svg{opacity:.5}.product-card__download[href="#"]:hover{color:#9699a8!important}.product-card__download:hover{color:#25262e}.product-card__download b{display:block;font-size:16px;font-weight:500}.product-card__download svg{float:left;margin-top:5px;margin-right:15px}.product-card__download--win svg{margin-top:7px}.product-card__download--linux svg{margin-top:8px}.product-card__download--appstore{background-color:#0c0c0c;border:0;color:#fff}.product-card__download--appstore svg{fill:#fff!important}.product-card__download--appstore:hover{color:#fff}.product-card__watch-button{display:inline-block;background:#000;padding:11px 25px;border-radius:30px;color:#fff;white-space:nowrap;font-size:18px;cursor:pointer;font-weight:400}.product-card__watch-button:before{display:inline-block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;margin-right:8px;margin-left:5px;vertical-align:text-bottom}.product-card__advantages{margin:30px 0 0;padding:0;list-style:none;line-height:1.8em}.product-card__disclaimer{margin-top:20px;font-size:15px;line-height:1.53em}.product-card__video{max-width:100%;margin-left:-55px}@media (max-width:980px){.product-card__video{margin-left:0}}.product-card__right-caption{margin-top:10px}.product-card__right-caption a{color:#6c7580}.product-card__right-caption a:hover{color:#2c7fe5}.product-card__right-menu{margin:10px 0}.product-card__right-menu a{color:#2969b9;font-size:15px}.product-card__right-menu a:not(:last-of-type):after{content:"";display:inline-block;vertical-align:middle;width:4px;height:4px;border-radius:50%;background:#6c7580;margin:0 .25em 0 .45em;opacity:.8}@supports (display:grid){.product-card__caption{grid-area:content-area}.product-card__right{grid-area:right-area;position:relative}.product-card__repo{grid-area:footer-area;align-self:end}}.product-card--hawk{background-image:linear-gradient(176deg,#2e2e3c,#262633 99%,#252533);border:0}^.product-card--hawk__title{color:#fff}^.product-card--hawk__title img{width:44px;vertical-align:text-bottom;margin-right:13px;-webkit-transform:translateY(-3px);transform:translateY(-3px)}@media (max-width:980px){^.product-card--hawk__title img{width:34px}}^.product-card--hawk__caption,^.product-card--hawk__screen{color:#a4b1d0}^.product-card--hawk__caption a,^.product-card--hawk__screen a{color:#59a3ff}^.product-card--hawk__repo{color:#878ca0}^.product-card--hawk__repo:hover{color:#fff}^.product-card--hawk__caption{padding-top:10px}^.product-card--hawk__screen{background-color:#2a2835}.product-card--notes{background-image:linear-gradient(9deg,#f4f5fb,#f9fafb 99%);border:0}^.product-card--notes__caption{margin-bottom:10px}.product-card--media{background-color:#0b0b0b;border:0}@supports (display:grid){.product-card--media{grid-template-rows:130px auto 100px}@media (max-width:980px){.product-card--media{grid-template-rows:auto}}}^.product-card--media__title{font-size:70px;font-weight:500;max-width:200px;color:#fff}^.product-card--media__caption{margin:30px 0;color:#757575;font-weight:300;font-size:25px}^.product-card--media__advantages{color:#fff;font-weight:400;font-size:15px}^.product-card--media__repo:hover{color:#fff}.product-card--ar-tester{background-image:url(/public/app/img/products/ar-tester-bg.jpg),linear-gradient(69deg,#f575a0 8%,#187cb8);background-size:cover,auto;border:0}@supports (display:grid){.product-card--ar-tester{grid-template-columns:auto 300px}@media (max-width:980px){.product-card--ar-tester{grid-template-columns:auto}}}^.product-card--ar-tester__caption,^.product-card--ar-tester__disclaimer,^.product-card--ar-tester__repo,^.product-card--ar-tester__title{color:#fff}^.product-card--ar-tester__caption{margin-top:20px;font-size:24px;font-weight:300;line-height:1.36em}^.product-card--ar-tester__disclaimer{font-weight:400}^.product-card--ar-tester__title{font-size:53px}^.product-card--ar-tester__screen{-webkit-box-shadow:none;box-shadow:none;width:256px;margin-top:20px}^.product-card--ar-tester__download{padding:14px 20px 17px;font-size:13px;border-radius:8px;opacity:.3;position:absolute;left:50%;bottom:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media (max-width:980px){^.product-card--ar-tester__download{display:none}}^.product-card--ar-tester__download svg{margin-right:15px;margin-top:4px}^.product-card--ar-tester__download b{font-size:19px;font-weight:400}^.product-card--ar-tester__repo{opacity:.5}^.product-card--ar-tester__repo:hover{opacity:1}@supports (display:grid){.products-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;grid-auto-rows:1fr;grid-gap:30px}.products-grid__item{margin:0!important}@media (max-width:980px){.products-grid{grid-template-columns:1fr;grid-auto-rows:auto}}}.product-cell{position:relative;border:1px solid #e7e9f5;padding:30px 30px 102px;border-radius:2px;color:#6c7580;font-size:15px;margin-bottom:30px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:980px){.product-cell{margin-bottom:20px;padding:20px}}.product-cell__name{display:block;font-size:19px;font-weight:500;margin:0;color:#000;letter-spacing:-.17px;font-weight:700}.product-cell__logo{float:right;margin-left:30px}.product-cell__desc{margin-top:10px;line-height:1.6em}.product-cell__tags{position:absolute;bottom:62px}@media (max-width:980px){.product-cell__tags{margin-top:15px;position:static}}.product-cell__repo{position:absolute;bottom:25px;display:inline-block;margin-top:15px;color:inherit;font-size:13px}@media (max-width:980px){.product-cell__repo{position:static}}.product-cell__tag{display:inline-block;margin-right:5px;padding:4px 8px;border:1px solid #efc8db;font-size:14.3px;line-height:1em;color:#995175;border-radius:3px}@media (max-width:980px){.product-cell__tag{margin-top:5px}}.product-cell__tag svg{margin-right:.12em;vertical-align:text-bottom}.product-cell__tag--pypi{border-color:#adcbe3;color:#3573a7}.product-cell__tag--pypi:hover{color:color(#3573a7 blackness(20%))}.product-cell__tag--npm{border-color:#f9b7b7;color:#b72b2a}.product-cell__tag--npm:hover{color:color(#b72b2a blackness(20%))}.product-cell__tag--npm svg{vertical-align:middle}.product-cell__tag--composer{border-color:#d0cdc8;color:#6d6d6d}.product-cell__tag--composer:hover{color:color(#6d6d6d blackness(20%))}.follow-block{text-align:center}.follow-block__photos{display:block;margin:25px 0}.follow-block__photos img{width:60px;height:60px;opacity:.9;margin:0 10px;vertical-align:bottom;border-radius:2px}@media (max-width:980px){.follow-block__photos img{width:46px;height:46px;margin:0 3px}}.follow-block .button{background:transparent;margin:0 7.5px;border:1px solid #c2c2c2;color:#373737;font-size:14.5px;border-radius:3px;padding:4px 9px;line-height:22px;letter-spacing:.012em;vertical-align:top}.follow-block .button svg{vertical-align:middle;margin-right:.2em}@media (max-width:980px){.follow-block .button{font-size:14px;padding:3px 7px;margin:0 2px 10px}.follow-block .button svg{height:auto;width:1.1em;margin-right:.1em}}.follow-block .button--instagram{border-color:#eec6dc;color:#871f4d}.follow-block .button--instagram svg{margin-top:-2px}.follow-block .button--github svg{margin-top:-2px;height:18px}.follow-block .button--vk{border-color:#bcc6df;color:#2a5ba2}.follow-block .button--vk svg{vertical-align:middle;width:17px;height:auto}.follow-block .button--twitter{border-color:#a3caf8;color:#509dec}.follow-block .button--twitter svg{width:17px;height:auto}.follow-block .button--telegram{color:#0b98da;border-color:#99cfed}.follow-block .button--telegram svg{margin-top:-3px;height:14px}.course-navigation-wrapper{position:absolute;padding-top:150px;max-width:155px}.course-navigation-wrapper--previous{left:0}.course-navigation-wrapper--next{right:0}.course-navigation{display:block;padding:15px;text-align:center;text-decoration:none;color:inherit}.course-navigation:hover{text-decoration:none;cursor:pointer;background:rgba(93,104,156,.08)}.course-navigation--previous{border-radius:0 3px 3px 0}.course-navigation--next{border-radius:3px 0 0 3px}.course-navigation__icon{display:block;margin:20px auto 15px;width:15px;height:28px}.course-navigation__icon--next{background:url(../b16ca1e261bbf304218e643476493658.svg) no-repeat}.course-navigation__icon--previous{background:url(../627cb0932775ac5157ef6458f4e8d84b.svg) no-repeat}.course-navigation__avatar{display:block;margin:25px auto 5px;border-radius:50%;width:30px;height:30px}.course-navigation__author{max-width:100px;margin:10px auto;color:#5f6a75;line-height:1.26em;font-size:.9em}@media (max-width:1250px){.course-navigation-wrapper{display:none}}.video-overlay{background:#000;position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;text-align:center;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--showed{opacity:1}.video-overlay video{max-height:100%;max-width:100%;opacity:.1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--loaded video{opacity:1}.video-overlay__close{display:inline-block;position:absolute;right:20px;top:20px;cursor:pointer;opacity:.8;width:25px;height:25px;background:rgba(0,0,0,.8);padding:5px;border-radius:50%}.video-overlay__close:hover{opacity:1}.video-overlay__close:after,.video-overlay__close:before{content:"";width:2px;height:25px;background:#fff;border-radius:2px;display:block;position:absolute;left:49%;top:5px}.video-overlay__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.video-overlay__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.follow-telegram{max-width:380px;margin:120px auto 0}.follow-telegram:before{display:block;width:30px;height:30px;content:"";background:url(/public/app/img/codex-logo-gray.svg);background-size:cover;border:3px solid #eaf2f7;background-color:#eaf2f7;border-radius:50%;float:left}.follow-telegram__contents{position:relative;border-radius:9.5px;border-top-left-radius:0;border:1px solid #d7e3ec;padding:15px 17px;margin-left:46.5px}.follow-telegram__contents:before{position:absolute;left:-8px;top:-1px;width:9px;height:20px;content:"";background:url(/public/app/img/bubble-corner.svg)}.follow-telegram__title{display:inline-block;font-size:15px;letter-spacing:-.4px;line-height:1em;color:#2c86cd;font-weight:600;margin-bottom:6px}.follow-telegram__desc{line-height:1.5em;font-size:13.6px}.follow-telegram__button{display:inline-block;background:#5ca9e6;border-radius:25px;font-size:14.2px;letter-spacing:.3px;color:#fff;margin-top:10px;margin-left:46.5px;padding:8px 20px}.follow-telegram__button:hover{background-color:#52a1e0;color:#fff}.follow-telegram__button svg{display:inline-block;vertical-align:middle;margin:-2px 7px 0 -2px}@media (max-width:980px){.follow-telegram{width:auto;margin:0 auto}.follow-telegram__contents{padding:11px 15px}.follow-telegram__title{font-size:14px}.follow-telegram__desc{font-size:13px}}.join-component{margin:156px 0 152px;text-align:center}.join-component--compact{margin:50px 0 80px}.join-component__desc{max-width:322px;margin-bottom:32px}.join-component__label{color:#6c7580;margin-bottom:15px}.join-component__button{font-size:16.9px;font-weight:500;color:#fff;border-radius:3px;background-color:#4a90e2;padding:10px 35.5px;-webkit-box-shadow:0 7px 12px -4px rgba(65,140,227,.7);box-shadow:0 7px 12px -4px rgba(65,140,227,.7)}.join-component__button:hover{color:#fff;background:#4484db}.join-component__time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:24px;font-weight:500;line-height:1.08;color:#6c7580;margin-bottom:60px}.join-component__time-delimiter{padding:0 8px}.join-component__time-delimiter:after,.join-component__time-delimiter:before{content:"";display:block;border-radius:50%;width:4px;height:4px;background-color:#6c7580}.join-component__time-delimiter:before{margin-bottom:3px}.join-component__time-delimiter--blinking:after{-webkit-animation:blinker 2s step-end infinite;animation:blinker 2s step-end infinite;-webkit-animation-delay:1s;animation-delay:1s}.join-component__time-item{position:relative}.join-component__time-item:after{display:block;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;font-weight:400;line-height:1.86;content:attr(data-time)}@-webkit-keyframes blinker{0%{opacity:0}50%{opacity:1}}@keyframes blinker{0%{opacity:0}50%{opacity:1}}.index-page{padding:100px 0 70px}.index-page p{max-width:500px;margin:15px auto;font-size:14.8px;letter-spacing:.014em;line-height:1.65em}.index-page__join-button{margin:1.5em auto 0;padding:16px 30px;font-size:1.2em;display:block;max-width:140px;text-align:center}.index-page .codex-logo{display:block;margin:0 auto 50px}.thanks-block svg{display:block;max-width:60px;margin:20px auto}@media (max-width:980px){.index-page{padding:50px 0}.index-page p{padding:0 10px}}.join-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.join-page__logo{margin:60px auto;display:block}.join-page__logo svg{display:block;margin:0 auto}@media (max-width:980px){.join-page__logo svg{width:150px;height:auto}}@media (max-width:980px){.join-page__logo{margin:50px auto 30px}}.join-page__content{padding:85px 100px;border:1px solid #e7e9f5;border-radius:20px;max-width:650px;margin:0 auto;line-height:1.64em;font-size:15.3px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.join-page__content{padding:20px;border:0}}.join-page ul{margin:1.75em 0}.join-page li{margin:.8em 0}.join-page h1{font-size:26px;margin-bottom:1.35em}@media (max-width:980px){.join-page h1{margin-top:0}}.join-page h2{margin:2em 0 .8em;font-size:21px;font-weight:400}@media (max-width:980px){.join-page__form{margin-top:10px}}.join-page__form label{display:block;margin-bottom:.7em}.join-page__form .input{margin-bottom:30px}.join-page__auth{margin:50px 0;color:#838ea1}@media (max-width:980px){.join-page__auth{font-size:14px}}.join-page__auth-vk-button{display:inline-block;vertical-align:middle;margin-right:12px;border:1px solid #bed8f9;border-radius:6px;padding:7px 9px}@media (max-width:980px){.join-page__auth-vk-button{padding:4px 7px;margin-right:7px}}.join-page__auth-vk-button svg{vertical-align:middle;margin-right:.3em;margin-top:-1px}@media (max-width:980px){.join-page__auth-vk-button svg{width:16px;height:16px;vertical-align:text-bottom}}.join-page__auth-vk-button:hover{border-color:#94bdf2}.join-page__auth-show-email{display:inline-block;cursor:pointer;border-bottom:1px dotted #d0d4d8}.join-page__auth-show-email:hover{color:#6c7580}.join-page .button{border-radius:3px}.join-page__user{font-size:1.1em;margin:50px 0 30px}.join-page__user-photo{width:26px;height:26px;border-radius:13px;margin-right:10px;vertical-align:middle}.join-page__user-name{display:inline-block;vertical-align:middle}.join-page__error{margin:15px 0;color:#e04545}.join-page__success{padding:100px 200px;background:#f2f5fb;color:#6f809a;line-height:1.6em;font-size:16px;text-align:center}@media (max-width:980px){.join-page__success{padding:15px;font-size:14px}}.join-page__success--compact{margin-top:2em;padding:30px;font-size:14px}.join-page__success-inner{max-width:550px;margin:0 auto}.task-page{padding-bottom:50px}.task-page__cols{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;max-width:650px;margin:50px auto;text-align:center}@media (max-width:980px){.task-page__cols{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.task-page__col{display:block;width:33.3%;text-align:center;font-size:18px}@media (max-width:980px){.task-page__col{width:auto;text-align:left;padding:5px 0}}.task-page__left{padding-right:50px}@media (max-width:980px){.task-page__left{margin-bottom:50px}}.task-page h3{margin-top:0}.task-page img{max-width:100%}.task-page__download{display:block;width:200px;text-align:center;padding:15px 10px;border-radius:50px;background:#1f253c;border:0!important;color:#fff!important;font-size:16px;margin:50px auto 0}.task-page__download svg{width:30px;height:auto;vertical-align:middle;margin-right:.3em}.task-page__disclaimer{color:#6c7580;margin:20px auto;max-width:400px;text-align:center;line-height:1.5em}.additional_tasks{margin:0;padding:0}.additional_tasks li{position:relative;margin:0!important;list-style-type:none;padding:20px 0 20px 30px;border-bottom:1px solid #e4eaf5}.additional_tasks li:before{position:absolute;left:0;top:1.9em;width:10px;height:10px;display:inline-block;border-radius:5px;background:#dfe7f5;margin-right:15px;content:""}.additional_tasks .back:before{background:#6699df}.additional_tasks .front:before{background:#e87474}.additional_tasks .ui:before{background:#9bf1b3}.additional_tasks--legend li{display:inline-block;border-bottom:0;margin-right:50px!important;font-size:14px;font-weight:700}.additional_tasks--legend li:before{top:2em}.articles-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:-10px}@media (max-width:850px){.articles-grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.articles-grid__item{width:33.33%;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:850px){.articles-grid__item{width:auto;display:block}}.feed{max-width:540px;margin:0 auto}.feed-item{font-size:15px;-webkit-box-sizing:border-box;box-sizing:border-box;word-wrap:break-word;margin-bottom:50px}@media (max-width:980px){.feed-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.feed-item__info{color:#6e7990;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:14px;-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.feed-item__time{margin-right:11px}.feed-item__author-photo{display:inline-block;width:17px;height:17px;vertical-align:middle;border-radius:50%;margin:-2px -2px 0 0;border:3px solid #fff;overflow:hidden}.feed-item__author-photo img{width:inherit;height:auto}.feed-item__author-photo:nth-of-type(2){margin-left:-10px}.feed-item__author-photo:nth-of-type(2) img{-webkit-box-shadow:0 0 0 3px #fff;box-shadow:0 0 0 3px #fff}.feed-item__author-name{color:inherit}.feed-item__title{font-size:20px;line-height:1.3em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-weight:700;text-decoration:none;letter-spacing:-.75px;color:inherit}.feed-item__description{margin-top:7px;font-size:14.4px;letter-spacing:.2px;line-height:1.55em}@media (max-width:980px){.feed-item--with-cover{display:block}}^.feed-item--with-cover__description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width:980px){^.feed-item--with-cover__description{-webkit-line-clamp:7}}^.feed-item--with-cover__cover{float:right;margin-left:45px}@media (max-width:980px){^.feed-item--with-cover__cover{margin-left:20px}}^.feed-item--with-cover__cover img{display:block;border-radius:3px;height:130px;width:130px}@media (max-width:980px){^.feed-item--with-cover__cover img{height:40px;width:40px}}.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:980px){^.feed-item--with-big-cover__title{font-size:23px}}^.feed-item--with-big-cover__description{-webkit-line-clamp:5}^.feed-item--with-big-cover__cover{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;margin:20px 0 0}^.feed-item--with-big-cover__cover img{width:100%;height:auto}^.feed-item--big__title{font-size:34px}@media (max-width:980px){^.feed-item--big__title{font-size:26px}}^.feed-item--big__description{font-size:17.6px;margin-top:10px}@media (max-width:980px){^.feed-item--big__description{font-size:15.6px}}@media (max-width:980px){^^.feed-item--big.feed-item--with-cover__title{font-size:23px}}^^.feed-item--big.feed-item--with-cover__cover{margin-left:20px}@media (max-width:980px){.feed-item--big.feed-item--with-cover{display:block}}.feed-item--big.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex}^^.feed-item--big.feed-item--with-big-cover__cover{margin-left:0}@media (max-width:980px){^^.feed-item--big.feed-item--with-big-cover__title{font-size:26px}}@media (max-width:980px){.contest_alert a{margin:20px 0}}.article__title{max-width:700px;-webkit-transform:translateX(25px);transform:translateX(25px);margin:0 auto;padding:80px 20px 40px;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;letter-spacing:-.014em}@media (max-width:980px){.article__title{padding:30px 20px;font-size:26px}}@media (max-width:980px) and (max-width:690px){.article__title{-webkit-transform:none;transform:none}}.article__coauthors-info{color:#6c7580;-ms-flex-item-align:center;align-self:center}@media (max-width:980px){.article__coauthors-info{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-overflow:ellipsis;overflow-x:hidden}}.article__info{max-width:650px}@media (max-width:980px){.article__info{padding-left:20px;padding-right:20px}}.article__info{margin:0 auto 40px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.article__info{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:30px}}.article__author:after{content:" ";display:table;clear:both}.article__author{white-space:nowrap}.article__author-photo{width:50px;height:50px;border:3px solid #fff;border-radius:50%;margin-right:15px;margin-top:-3px;float:left;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}@media (max-width:980px){.article__author-photo{width:40px;height:40px;margin-top:0}}.article__author-photo--with-coauthor{margin-right:0;border-left:0}.article__author-photo--coauthor{margin-left:-20px;margin-right:12px}.article__author-name{font-size:15px}@media (max-width:980px){.article__author-name{font-size:13.3px;white-space:nowrap}}.article__date{display:block;color:#6c7580}@media (max-width:980px){.article__date{line-height:1.3em;font-size:11.9px}}.article__read-time{margin:auto 0 auto auto;color:#6c7580}.article__read-time:before{content:"";background-image:url(/public/app/img/components/article/watch.svg);width:19px;height:20px;display:inline-block;margin-right:5px;vertical-align:bottom}@media (max-width:980px){.article__read-time{margin:25px 0 0;-ms-flex-preferred-size:100%;flex-basis:100%}}.article__read-on{margin:auto 0 auto auto;color:#6c7580}@media (max-width:980px){.article__read-on{margin:25px 0 0}}.article__read-on-item{cursor:pointer}.article__read-on-item:first-of-type{margin-left:10px}.article__read-on-item:before{display:inline-block;vertical-align:text-bottom;content:"";width:16px;height:16px;margin-right:9px}.article__read-on-item:hover{color:color(#6c7580 blackness(70%))}.article__read-on-item--english:before{background-image:url(/public/app/img/components/article/flag-english.svg)}.article__read-on-item--russian:before{background-image:url(/public/app/img/components/article/flag-russian.svg);background-size:contain}.article__read-on-item:not(:last-of-type):after{content:"|";margin:0 8px 0 12px}.article .sharing{max-width:650px}@media (max-width:980px){.article .sharing{padding-left:20px;padding-right:20px}}.article .sharing{margin:40px auto}@media (max-width:980px) and (max-width:690px){.article .sharing{margin-left:20px;margin-right:20px}}.article-content{font-size:17.4px;line-height:1.62em;word-wrap:break-word;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(0,0,0,.85882)}.article-content--serif{font-size:19.3px;line-height:1.6em;letter-spacing:.1px;font-family:Georgia}.article-content a{color:inherit;text-decoration:none;border-bottom:1px solid #333}.article-content i{font-family:Georgia;font-style:italic;letter-spacing:.1px;font-size:1.05em}.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{max-width:650px}@media (max-width:980px){.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{padding-left:20px;padding-right:20px}}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:1.6em auto .5em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.02em;line-height:1.3em;padding-top:0;padding-bottom:0}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p,.article-content h5+p,.article-content h6+p{margin-top:0}.article-content h2{font-size:1.6em}@media (max-width:980px){.article-content h2{font-size:1.2em}}.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-top:.8em}.article-content p{margin:1.2em auto}.article-image{max-width:650px}@media (max-width:980px){.article-image{padding-left:20px;padding-right:20px}}.article-image{margin:40px auto;text-align:center}@media (max-width:980px){.article-image{margin:30px auto;padding-left:0;padding-right:0}}.article-image img{vertical-align:bottom;max-width:100%}.article-image--stretched{max-width:none!important;width:100%!important}.article-image--stretched img{width:100%}.article-image--bordered img{border:3px solid #fff;-webkit-box-shadow:0 0 0 2px #e7e9f5;box-shadow:0 0 0 2px #e7e9f5;-webkit-box-sizing:border-box;box-sizing:border-box}.article-image--backgrounded{padding:15px;background:#e7e9f5}.article-image--backgrounded img{max-width:60%;margin:0 auto}.article-image-caption{margin:1em auto;color:#6c7580}.article-code{max-width:650px}@media (max-width:980px){.article-code{padding-left:20px;padding-right:20px}}.article-code{margin:40px auto;border:1px solid #e4e4e4;padding:15px 18px;border-radius:5px}@media (max-width:980px) and (max-width:690px){.article-code{-webkit-box-sizing:border-box;box-sizing:border-box;margin:30px 20px}}.article-code__content{display:block;white-space:pre;word-wrap:normal;overflow-x:auto;font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em;font-size:13.6px;padding:0!important}@media (max-width:980px){.article-code__content{font-size:10.2px;line-height:1.6em}}.article-quote{margin:40px auto;padding:30px 0;border-top:2px solid #e4e4e4;border-bottom:2px solid #e4e4e4;font-family:Georgia;letter-spacing:.12px;font-style:italic;font-size:20.4px;line-height:1.6em}.article-quote--center{text-align:center}@media (max-width:980px){.article-quote{padding-left:0!important;padding-right:0!important}}@media (max-width:980px) and (max-width:690px){.article-quote{margin:30px 20px;padding-left:20px!important;padding-right:20px!important}}.article-quote p{padding-left:0!important;padding-right:0!important}.article-quote p:first-of-type{margin-top:0}.article-quote p:last-of-type{margin-bottom:0}.embed-link{display:block;max-width:650px;margin:40px auto;padding:25px;border:1px solid #e7e9f5!important;-webkit-box-shadow:0 1px 1px rgba(66,70,84,.03922);box-shadow:0 1px 1px rgba(66,70,84,.03922);border-radius:2px;color:inherit!important;text-decoration:none!important}@media (max-width:980px){.embed-link{-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px;margin:30px auto}}@media (max-width:980px) and (max-width:690px){.embed-link{margin:30px 10px}}.embed-link__image{float:right;max-width:70px;background-position:50%;background-repeat:no-repeat;background-size:contain;margin:0 0 30px 30px;border-radius:3px}@media (max-width:980px){.embed-link__image{margin:0 0 15px 15px}}.embed-link__title{font-size:16px;line-height:1.45em;font-weight:600}@media (max-width:980px){.embed-link__title{font-size:12.2px}}.embed-link__domain{display:inline-block;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;margin-top:20px;border:0!important;color:#6c7580;font-size:.85em}@media (max-width:980px){.embed-link__domain{margin-top:5px;font-size:12px}}.embed-link__description{margin-top:10px;font-size:.9em}@media (max-width:980px){.embed-link__description{margin-top:5px;font-size:12px}}.article-list{margin:1.2em auto}@media (max-width:980px){.article-list{-webkit-box-sizing:border-box;box-sizing:border-box}}@media (max-width:980px) and (max-width:690px){.article-list{margin-left:20px}}.article-list li{margin:.5em 0;padding-left:.5em}.article-delimiter{line-height:1.6em;width:100%;text-align:center}.article-delimiter:before{display:inline-block;content:"***";font-size:30px;line-height:65px;height:30px;letter-spacing:.2em}.inline-code{background:rgba(251,241,241,.78);color:#c44545;padding:4px 6px;border-radius:2px;margin:0 2px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em}.cdx-marker{background:rgba(245,235,111,.29);padding:3px 0}.article-lang__section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:980px){.article-lang__section label{-ms-flex-preferred-size:100%;flex-basis:100%}}.article-lang__radio{margin:0 5px 0 10px}@media (max-width:980px){.article-lang__radio:first-of-type{margin-left:0}}.article-table{max-width:650px}@media (max-width:980px){.article-table{padding-left:20px;padding-right:20px}}.article-table{margin:20px auto;table-layout:fixed;width:100%;border-radius:3px;border-collapse:collapse;border:1px solid #e7e9f5}.article-table td{padding:8px 10px;border:1px solid #e7e9f5}.article-embed{max-width:650px}@media (max-width:980px){.article-embed{padding-left:20px;padding-right:20px}}.article-embed{margin:20px auto}.article-embed-caption{text-align:center;margin:1em auto;color:#6c7580}.profile{padding:150px 0 110px;text-align:center}.profile-ava{position:relative;display:inline-block}.profile-ava__settings{position:absolute;bottom:-6px;right:0;background:#fff url(/public/app/img/icon_gear.png) no-repeat 50%;width:29px;height:29px;border-radius:50%;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;will-change:transform}.profile-ava__settings:hover{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.profile-ava__photo,.profile-settings__ava{display:inline-block;width:100px;height:100px;background:#e9ecf5;border-radius:50%;overflow:hidden;font-size:100px;line-height:1em;letter-spacing:50px;color:#cad2e0;font-weight:700}.profile-ava__photo>img,.profile-settings__ava>img{vertical-align:top;margin:-1px 0 0 -2px;width:103px;height:103px}.profile__name{margin:1.5em 0 .74em;font-size:2.2em;line-height:1.3em}@media (max-width:980px){.profile__name{font-size:1.5em}}.profile__bio{font-size:1.2em;line-height:1.5em}.profile__social{display:inline-block;padding:2px 3px;margin:25px 18px;border-radius:15px;text-decoration:none;font-size:1.5em}.profile__social:not(.github){color:#9c9da2}.profile__social:hover{color:#4c5063}.profile__social.github:not(.profile__social_no_insta){font-size:2.1em;line-height:.5em}.profile__logout{display:inline-block;margin-top:30px;font-size:18px;text-decoration:none!important;color:#b9bfca;border-bottom:1px solid #dce1e8}.profile__logout:hover{color:#8d9aaf;border-bottom-color:#c4ceda}.profile-settings{padding:40px 0}.profile-settings label{display:block;margin-bottom:.7em}.profile-settings__form{margin-left:40px;padding-left:35px;border-left:3px solid #8b9aaf;max-width:280px}.profile-settings__ava,.profile-settings__form input:not(:last-of-type),.profile-settings__form textarea{margin-bottom:20px}.profile_join_requests{color:#9a9a9a;font-style:italic}@media (max-width:980px){.profile{padding:70px 0}.profile-settings .button:not(.button--master){margin-top:-38px}.profile-settings .fl_l{float:none}.profile-settings__form{margin-left:0;padding-left:0;border-left:0}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.profile-ava__settings{background:#fff url(/public/app/img/icon_gear@2x.png) no-repeat 50%;background-size:21px 21px}}.contests-list{position:relative;border-top:1px solid #d2dde5}.contests-list:before{display:block;content:attr(data-heading);position:absolute;left:97px;top:-14px;padding:3px 15px;background:#fff;color:#b0c4d3;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;font-size:18px;letter-spacing:1px}.contests-list .item{padding:50px 0}.contests-list .date{float:left;width:60px;color:#a8adb6;text-align:center}.contests-list time:last-child:before{content:"\2014";display:block;line-height:.8em}.contests-list .icon{width:79px;height:52px;margin:0 30px}.contests-list .icon img{width:100%;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast}.contests-list .title{display:inline-block;margin:0 0 8px;font-size:18px;color:inherit;text-decoration:none;font-weight:700}.contests-list .title:hover{color:#4888dc}.contest{padding:30px 0}.contest .disclaimer{color:#988e8e;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;font-size:14px;margin:40px;text-align:center}.contest .line{position:relative;margin:0 70px;height:1px;background:#ebe8e8}.contest .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(/public/app/img/contest_icon_goblet.png) no-repeat 50% 50%}.contest img{max-width:100%}.contest .result{padding-top:80px;font-size:1.1em;line-height:1.75em;word-wrap:break-word}.contest .result h2,.contest .result p{margin:25px 70px}.contest .result h2{margin-bottom:2em}.contest .article__title{padding-top:0}.contest_info{width:80%;margin:0 auto 50px;color:#9a9ca0}.contest_info td{width:33%;text-align:center}.contest_info td:nth-of-type(2){width:34%;border-left:1px solid #caced4;border-right:1px solid #caced4}.contest_info time{display:inline-block;text-align:left;vertical-align:middle;margin-left:10px;font-weight:700;line-height:1.1em}.contest .winner{max-width:300px;margin:80px auto;text-align:center}.contest .title{color:#aeb5bb;letter-spacing:1px;font-size:13px}.contest .name{margin:10px 0 7px;color:#495d6f;font-size:18px;font-weight:700}.contest .nick{text-decoration:none}.contest .nick:after,.contest .nick:before{content:"";display:inline-block;margin:0 4px;width:55px;height:26px;background:url(../d5e9a073845777db328f100dae230770.png) no-repeat;vertical-align:top}.contest .nick:after{background-position:-55px 0}.contest .toggler{display:inline-block;margin-top:40px;color:#aeb5bb;text-decoration:none;border-bottom:1px solid #e9ecf1}.contest .toggler i{font-size:12px}@media (max-width:980px){.contests-list .date,.contests-list .icon{float:none}.contests-list .date{width:auto}.contests-list time:last-child:before{display:inline-block;margin:0 5px 0 2px}.contests-list:before{left:50%;width:50px;padding:3px 0;margin-left:-25px;text-align:center}.contests-list .item{padding:25px 0}.contests-list .icon{display:block;margin:15px auto 30px}.contest_info td{display:block;width:auto!important;padding:5px 0;font-size:11px;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.contest .result h2,.contest .result p{margin:20px 30px}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.contest .line:before{background:#fff url(/public/app/img/contest_icon_goblet@2x.png) no-repeat 50% 50%;background-size:18px auto}.contest .nick:after,.contest .nick:before{background:url(/public/app/img/branches@2x.png) no-repeat;background-size:110px auto}.contest .nick:after{background-position:-55px 0}}.full-width-notifier{text-align:center;padding:20px 0;background-color:#ecf3f9;color:#3f4b63}.no_data{text-align:center;padding:150px 0}.top-menu{width:100%;margin:10px 0;font-size:15px}.top-menu__link{float:right}.top-menu__saved{float:right;color:#ccc}.top-menu__saved_hidden{visibility:hidden}.p_table{width:100%;border-spacing:0;border-collapse:collapse}.p_table td{padding:15px;word-wrap:break-word;max-width:300px}.p_table tr{border-bottom:1px solid #eff1f5}.p_table tr:last-child{border-bottom:none}.p_table__section td{font-size:44px;color:#e4e6eb;padding:40px 0;font-weight:700}.p_table .id{width:20px;color:#ccc;font-size:13px}.p_table .name{color:inherit;font-weight:700;text-decoration:none}.p_table .nick{font-size:13px}.p_table .counter{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .counter b{display:block;font-size:.9em;line-height:1.4em}.p_table .check{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .check b{display:block;line-height:1.4em}.p_table .check input{width:.9em;height:.9em}.list_user_ava{position:relative;display:inline-block;border:1px solid #e8ebf4;border-radius:20px;overflow:hidden;font-size:20px;text-align:center;vertical-align:middle}.list_user_ava,.list_user_ava>img{width:40px;height:40px}.list_user_ava .numb{display:inline-block;padding-top:7px;color:#99abbb;font-weight:700}.list_user_name{font-weight:700}.list_user_vk_name i{margin-right:5px}.p_table .checker{position:absolute;right:-7px;bottom:0;width:22px;height:22px;background:#6579ad;color:#fff;border-radius:20px;font-size:14px;cursor:pointer;display:none}.p_table td:hover .checker{display:block}.p_table .checker.checked{display:block;background:#26af89}.p_table .checker i{margin:1px;line-height:1.7em}.editor-form{margin:30px;padding:120px 0;min-height:600px;letter-spacing:.1px}.editor-form__title{display:block;width:100%;max-width:650px;outline:none;background:transparent;border:0;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;margin:0 auto 5px;letter-spacing:-.014em}@media (max-width:980px){.editor-form__title{padding:30px 20px;font-size:26px}}.editor-form__section{max-width:650px;margin:0 auto 2em}.editor-form label{display:block;margin-bottom:1em}.editor-form label.label--on-same-line{display:inline-block}.editor-form__editor{min-height:600px}.editor-form__error{padding:30px;text-align:center;font-size:20px;line-height:1.5em;max-width:650px;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.editor-form__important-filed{border:3px solid #75acff;background-color:#fff}.editor-form .ce-block__content a{color:inherit}.ce-block__content,.ce-toolbar__content{max-width:650px!important}.ce-block--stretched,.ce-block--stretched .ce-block__content{max-width:none!important}.course{margin:30px 0}.course__title{text-align:center;position:relative;margin-bottom:25px}.course__title:before{display:block;content:"\43A\443\440\441";font-size:14px;line-height:1.5em;font-weight:400;margin-bottom:10px}.courses-list{max-width:600px;margin:0 auto;padding:0;list-style:none}.courses-list__item{margin-top:15px;text-align:center}.courses-list__link{padding-bottom:3px;border-bottom:1px solid #d6deec;line-height:1.5em}.courses-list__link,.courses-list__link:hover{text-decoration:none}.editor-landing{margin-top:-50px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.editor-landing__logo{position:relative;content:"";width:84px;height:84px;margin:auto}@media (max-width:980px){.editor-landing__logo{width:50px;height:50px}}.editor-landing__logo-main{position:absolute;-webkit-animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,filter;z-index:2;left:0}@media (max-width:980px){.editor-landing__logo-main svg{width:50px}}.editor-landing__logo-shadow{position:absolute;left:-38px;z-index:1;-webkit-animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,opacity}@media (max-width:980px){.editor-landing__logo-shadow{left:-21px;margin-top:-13px}.editor-landing__logo-shadow svg{width:92px}}.editor-landing__info{padding-top:300px;padding-bottom:70px;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#eef7ff));background-image:linear-gradient(0deg,#fff,#eef7ff);text-align:center}.editor-landing__title{margin:20px 0 0;line-height:1.2em;font-size:50px;letter-spacing:.23px;color:#000;font-weight:600}@media (max-width:980px){.editor-landing__title{margin-top:25px;font-size:30px}}.editor-landing__description{font-size:17.3px;letter-spacing:.13px;line-height:1.5em;color:#868da1;margin-top:20px}@media (max-width:980px){.editor-landing__description{font-size:15px;margin-top:10px}}.editor-landing__cta{display:inline-block;margin-top:40px;padding:13px 19px;border-radius:30px;background:#388ffe;-webkit-box-shadow:0 9px 12px -6px rgba(11,132,242,.78);box-shadow:0 9px 12px -6px rgba(11,132,242,.78);font-size:16px;color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;will-change:background-color,box-shadow}.editor-landing__cta:hover{color:#fff;background:#3684fe;-webkit-box-shadow:0 9px 16px -6px rgba(11,132,242,.78);box-shadow:0 9px 16px -6px rgba(11,132,242,.78)}.editor-landing__menu{text-align:left;font-size:14px;position:fixed;right:7vw;top:150px}@media (max-width:1400px){.editor-landing__menu{right:4.5vw}}@media (max-width:1330px){.editor-landing__menu{position:absolute;padding:20px;right:45px;top:55px}}@media (max-width:980px){.editor-landing__menu{position:absolute;padding:20px;left:0;top:45px}}.editor-landing__menu a{color:inherit;display:inline-block;border-bottom:1px solid rgba(93,100,134,.2);margin-bottom:6px}.editor-landing__version{display:inline-block;padding:5px 8px;line-height:1em;border-radius:30px;background:#111;font-size:10px;color:#fff;margin-right:-70px;margin-left:3px}.editor-landing__demo{background:#eef5fa;border-radius:100px;max-width:950px;margin:0 auto;padding:70px 60px}@media (max-width:1550px){.editor-landing__demo{max-width:850px}}@media (max-width:980px){.editor-landing__demo{padding:15px;border-radius:0}}.editor-landing__demo-inner{background:#fff;border-radius:8px;-webkit-box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);padding:70px 50px;font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.editor-landing__demo-inner{padding:20px}}.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:450px}@media (max-width:980px){.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:100px}}.editor-landing__preview{max-width:650px;margin:0 auto;color:rgba(34,78,111,.75);position:relative}.editor-landing__preview:after{content:"";position:absolute;right:0;top:0;bottom:0;width:150px;background:-webkit-gradient(linear,left top,right top,from(rgba(238,245,250,0)),to(#eef5fa));background:linear-gradient(90deg,rgba(238,245,250,0),#eef5fa);z-index:2}.editor-landing__preview-inner{overflow:auto}.editor-landing__section-header{font-size:16px;max-width:375px;margin:50px auto;line-height:1.5em;text-align:center;color:#606578}@media (max-width:980px){.editor-landing__section-header{font-size:14px;max-width:70vw}}.editor-landing__section-header header{font-weight:600;margin-bottom:13px}@media (max-width:980px){.editor-landing__section-header header{font-size:16px}}.editor-landing__section-header--big{margin:130px auto;line-height:24px}@media (max-width:980px){.editor-landing__section-header--big{margin:50px auto}}.editor-landing__section-header--big header{font-size:26px;margin-bottom:20px}@media (max-width:980px){.editor-landing__section-header--big header{font-size:20px;margin-bottom:10px}}.editor-landing .sc_attr{color:#373742}.editor-landing .sc_toolname{color:#db1029}.editor-landing .sc_tag{color:#0483d8}.editor-landing .sc_key{color:#6e4998}.editor-landing .sc_bool{color:#f73cad}.editor-landing .sc_digit{color:#196ff8}.editor-landing__loved-by{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:30px}@media (max-width:980px){.editor-landing__loved-by{margin-bottom:80px}}.editor-landing__loved-by-item{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px}.editor-landing__loved-by-item:not(:last-of-type):after{content:"";width:3px;height:100%;margin-right:27px;margin-left:29px;background:#e0e0e0}.editor-landing__plugins{max-width:650px;margin:0 auto}@media (max-width:980px){.editor-landing__plugins{padding:20px}}.editor-landing__plugins-title{font-size:24px;margin-bottom:15px}@media (max-width:980px){.editor-landing__plugins-title{font-size:20px;margin-bottom:10px}}.editor-landing__plugins-description{font-size:16px;line-height:1.65em;color:#606578}@media (max-width:980px){.editor-landing__plugins-description{font-size:14px}}.editor-landing__plugins-filter{margin:30px 0}@media (max-width:980px){.editor-landing__plugins-filter{margin:15px 0 20px}}.editor-landing__plugins-filter-button{font-size:15px;font-weight:500;color:#343434;vertical-align:middle;cursor:pointer}.editor-landing__plugins-filter-button svg{vertical-align:middle;margin:-3px 6px 0 3px}.editor-landing__plugins-filter-button:not(:last-of-type){margin-right:17px}.editor-landing__contribute,.editor-landing__more-plugins{font-size:15px;color:#7b7e89;cursor:pointer}@media (max-width:980px){.editor-landing__contribute,.editor-landing__more-plugins{margin-top:10px}}.editor-landing__contribute svg,.editor-landing__more-plugins svg{width:9px;height:9px;fill:currentColor;vertical-align:middle}@media (max-width:980px){.editor-landing__contribute svg,.editor-landing__more-plugins svg{display:none}}.editor-landing__more-plugins{float:left}@media (max-width:980px){.editor-landing__more-plugins{float:none}}.editor-landing__contribute{float:right}@media (max-width:980px){.editor-landing__contribute{display:none}}.editor-landing__contribute svg{margin:-3px 3px 0 0}.editor-landing .codex-editor__redactor{padding-bottom:120px}.editor-landing__star{position:relative;display:inline-block;margin-top:60px}.editor-landing__star-line{position:absolute;width:130px;height:10px;left:51.5%;top:36%;z-index:-1}.editor-landing__star-line:first-of-type{-webkit-transform:translateX(-50%) rotate(-22deg);transform:translateX(-50%) rotate(-22deg)}.editor-landing__star-line:nth-of-type(2){-webkit-transform:rotate(-90deg);transform:rotate(-90deg);left:-11px;top:13px;width:90px}.editor-landing__star-line:nth-of-type(3){-webkit-transform:translateX(-50%) rotate(22deg);transform:translateX(-50%) rotate(22deg)}.editor-landing__star-line:after,.editor-landing__star-line:before{content:"";display:inline-block;width:15px;height:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5.5H0v-1h6v-4L15 5 6 9.5z' fill='%23B6B9C0'/%3E%3C/svg%3E");position:absolute;top:0}.editor-landing__star-line:before{left:0;-webkit-animation:arrow-moving-left 1s ease infinite;animation:arrow-moving-left 1s ease infinite}.editor-landing__star-line:after{right:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4.5h6v1H9v4L0 5 9 .5v4z' fill='%23B6B9C0'/%3E%3C/svg%3E");-webkit-animation:arrow-moving-right 1s ease infinite;animation:arrow-moving-right 1s ease infinite}@-webkit-keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@-webkit-keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.editor-plugin{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:20px;border-radius:7px;-webkit-box-shadow:0 3px 11px rgba(125,128,147,.23);box-shadow:0 3px 11px rgba(125,128,147,.23);min-height:90px;padding:20px 120px 20px 20px}@media (max-width:980px){.editor-plugin{padding-right:100px}}.editor-plugin__title{font-size:18px;color:#000;display:inline-block;margin:0 5px 4px 0}@media (max-width:980px){.editor-plugin__title{font-size:16px}}.editor-plugin__label{display:inline-block;font-size:18px;color:#606578;border-radius:3px;font-weight:500;opacity:.4;line-height:1em;margin-top:-5px}@media (max-width:980px){.editor-plugin__label{font-size:16px}}.editor-plugin__description{font-size:14px;color:#606578}.editor-plugin__contributors{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:auto}@media (max-width:980px){.editor-plugin__contributors{margin-top:15px}}.editor-plugin__contributors-item{display:inline-block;overflow:hidden;border-radius:4px;width:18px;height:18px}.editor-plugin__contributors-item img{width:100%;height:100%}.editor-plugin__contributors-item:not(:last-of-type){margin-right:6px}.editor-plugin__demo{position:absolute;right:20px;top:15px;margin-left:45px}.editor-plugin__demo img,.editor-plugin__demo video{height:90px}@media (max-width:980px){.editor-plugin__demo img,.editor-plugin__demo video{height:40px}}^.editor-plugin--your-own__title{color:#7b7e89}^.editor-plugin--your-own__description{display:inline-block}^.editor-plugin--your-own__demo{position:static;margin-left:0}^.editor-plugin--your-own__demo pre{font-size:12px;line-height:2em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;margin:15px 0;font-weight:500;color:#484554}@media (max-width:980px){^.editor-plugin--your-own__demo pre{font-size:10px;overflow:auto}}^.editor-plugin--your-own__footer{margin-top:20px}@-webkit-keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@-webkit-keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}} +/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:codex_ic;src:url(/public/app/fonts/codex_icons/codex_ic.eot?2);src:url(/public/app/fonts/codex_icons/codex_ic.eot?2#iefix) format("embedded-opentype"),url(/public/app/fonts/codex_icons/codex_ic.woff?2) format("woff"),url(/public/app/fonts/codex_icons/codex_ic.ttf?2) format("truetype"),url(/public/app/fonts/codex_icons/codex_ic.svg?2#codex_ic) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:codex_ic;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-vkontakte:before{content:"\E800"}.icon-twitter:before{content:"\E801"}.icon-facebook-squared:before{content:"\E802"}.icon-github-circled:before{content:"\E803"}.icon-heart:before{content:"\E804"}.icon-star:before{content:"\E805"}.icon-star-empty:before{content:"\E806"}.icon-search:before{content:"\E807"}.icon-rss:before{content:"\E808"}.icon-link:before{content:"\E809"}.icon-chat:before{content:"\E80A"}.icon-pencil:before{content:"\E80B"}.icon-pin:before{content:"\E80C"}.icon-attach:before{content:"\E80D"}.icon-tags:before{content:"\E80E"}.icon-up-big:before{content:"\E80F"}.icon-down-big:before{content:"\E810"}.icon-eye:before{content:"\E811"}.icon-instagram:before{content:"\E812"}.icon-briefcase:before{content:"\E813"}.icon-users:before{content:"\E814"}.icon-user:before{content:"\E815"}.icon-user-add:before{content:"\E816"}.icon-forward:before{content:"\E817"}.icon-cog-1:before{content:"\E818"}.icon-ok:before{content:"\E819"}.icon-cancel:before{content:"\E81A"}.icon-spin4:before{content:"\E81B"}.icon-picture:before{content:"\E81C"}.icon-cog:before{content:"\E81D"}.icon-paper-plane:before{content:"\E81E"}.icon-facebook:before{content:"\E81F"}::selection{background:#b3d4fc}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5em;letter-spacing:.1px}.center_side{max-width:1100px;margin:0 auto}@media (max-width:1140px){.center_side{padding:0 20px}}.hide{display:none!important}.block{display:block}.p_rel{position:relative}.pointer{cursor:pointer}a{color:#2969b9;text-decoration:none}a:hover{color:#2c7fe5}.align_c{text-align:center}textarea{resize:vertical}.clearfix:after{content:" ";display:table;clear:both}.fl_l{float:left}.fl_r{float:right}.constrain{overflow:hidden}.no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;border-radius:2px;border:0;font-size:15px;font-family:inherit;outline:none;background:#f4f5f8}.input:focus{background:#eef5fd}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:30px;border:0;display:inline-block;padding:12px 24px;color:#3f4b63;vertical-align:top;cursor:pointer;text-decoration:none;font-family:inherit;background:#ecf3f9;line-height:1em}.button:hover{background:#4592da;color:#fff;text-decoration:none}.button--master{background:#5c95cf;color:#fff}.button--master:hover{background:#3c7ab9;color:#fff}.button--green{background:#00ad7c;color:#fff}.button--green:hover{background:#0d936d;color:#fff}.button i{margin:0 .74em 0 -.3em}.button.loading{position:relative;overflow:hidden;background:#f5f5f5;color:#434c61}.button.loading:before{position:absolute;left:0;top:0;content:"";width:100%;height:100%;display:block;background:url(/public/app/img/load_pattern.gif);opacity:.1}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-iteration-count:1;animation-iteration-count:1}.show-in-mobile{display:none!important}@media (max-width:980px){.mobile-hide{display:none!important}.show-in-mobile{display:block!important}}.codex-logo{display:inline-block;background:url(/public/app/img/codex-logo.svg) no-repeat;width:224px;height:224px}.technic{display:inline-block;background:color(#bc1453 alpha(7%));padding:0 7px;margin-right:.2em;border-radius:2px;color:#bc1453;text-decoration:none;font-size:.9em}.site-header{position:relative;height:50px;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e7e9f5;z-index:2}.site-header__content{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header a{display:inline-block;text-decoration:none;letter-spacing:.2px;line-height:50px}.site-header__menu-item:not(:first-of-type){margin-left:30px}@media (max-width:980px){.site-header__menu-item:not(:first-of-type){margin-left:10px}}.site-header__right{margin-left:auto}.site-header__social{position:absolute;left:50%;-webkit-transform:translate(-50%,-2px);transform:translate(-50%,-2px);font-size:1.4em}.site-header__github-icon{vertical-align:text-bottom;line-height:.7em;font-size:1.66em}.site-header__photo{display:inline-block;border-radius:50%;width:22px;height:22px;vertical-align:middle;margin-right:5px;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em;font-size:1.5em;font-weight:700}.site-header__action{margin-right:30px}.site-header__action--write{color:#00b693}.site-header__action--edit{color:#bc1453}.site-footer{border-top:1px solid #e7e9f5;padding:30px 0;margin-top:30px;font-size:13px}@media (max-width:980px){.site-footer{padding:25px 0}}.site-footer .center_side{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.site-footer .center_side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.site-footer__section{max-width:420px}@media (max-width:980px){.site-footer__section{max-width:none}.site-footer__section:not(:last-of-type){margin-bottom:25px}}.site-footer__section--contacts{margin-left:auto;margin-right:45px}@media (max-width:980px){.site-footer__section--contacts{margin-left:0;margin-right:0}}.site-footer ul{list-style:none;padding-left:0;line-height:1.8em}.site-footer a{text-decoration:none}.site-footer h5{margin:0 0 10px;font-size:1.02em}.site-footer h5 a{color:inherit;text-decoration:none}.site-footer p{margin:0}.site-footer .desclimer{opacity:.5}.random_articles{padding:35px 0;margin:0 auto;max-width:650px;font-size:15px;line-height:1.6em}.random_articles h3{margin-bottom:8px;font-size:1.4em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}.random_articles p{margin:10px 0 30px}.random_articles .article-card:not(:last-of-type){margin-bottom:20px}@media (max-width:980px) and (max-width:690px){.random_articles{margin:0 20px;padding-bottom:0;font-size:14px}}.event_alert{padding:80px 0;max-width:700px;margin:0 auto;border-bottom:1px solid #ebe8e8;text-align:center;font-size:1.8em}@media (max-width:980px){.event_alert{font-size:1.5em}}.event_alert__day{min-width:70px;line-height:1.3em;letter-spacing:1.2px;font-size:2.3em}.event_alert__month{letter-spacing:2px}.event_alert__title{margin-top:1.4em;font-size:.62em;color:#ea6e6e}.event_alert__description{margin-top:1em;font-size:.64em}@media (max-width:980px){.event_alert__description{font-size:1.5em}.event_alert__description:after,.event_alert__description:before{display:none}}.event_alert__link{display:inline-block;color:inherit}.event_alert__link,.event_alert__link:hover{text-decoration:none}.event_alert__icon_delimiter{font-size:.7em}.contest_alert a{display:block;margin:-20px 40px 40px;text-align:center;text-decoration:none;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;color:#988e8e}.contest_alert .line{position:relative;margin:0 70px 70px;height:1px;background:#ebe8e8}.contest_alert .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(../78fe36d5335d9f6c65fdf26754d2c5f0.png) no-repeat 50% 50%}.page_menu{margin:30px;padding:0;list-style:none;text-align:center;font-size:0;letter-spacing:0}.page_menu li{position:relative;display:inline-block;font-size:15px}.page_menu li:after{content:"\30FB";display:inline-block;padding:0 2px;vertical-align:middle;color:#c1c8da;font-size:18px}.page_menu li:last-child:after{display:none}.dnd-default-avatar{position:absolute;pointer-events:none;z-index:100}.dnd-default-target-highlight{border:1px solid #eee}.dnd-avatar,.dnd-avatar td{background:#fafafd!important}.draggable{cursor:move}.feed{background:#fff}.feed--gray{background:#e8ecf2}.feed-item--dnd{background:#fff;border:1px solid #e8ecf2}.no-display{display:none}.page-header{padding:60px 0}.page-header__title{font-size:1.68em;line-height:1.2em;letter-spacing:.2px}.page-header__description{max-width:500px}.icon_telegram{display:inline-block;width:28px;height:28px;background:url(/public/app/img/icon_telegram.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.icon_telegram{background:url(/public/app/img/icon_telegram@2x.png) no-repeat;background-size:28px 28px}}.best-developers{position:absolute;right:30px;top:90px;width:150px;text-align:left;font-size:13px}.best-developers__heading{max-width:120px;border-bottom:1px solid #e8e6e3;padding-bottom:.5em;font-weight:400;line-height:1.2em;font-size:1em;color:#ac7c0d}.best-developers__item{position:relative;display:block;padding-left:50px;margin-bottom:10px;color:inherit;text-decoration:none;cursor:pointer;line-height:1.4em}.best-developers__photo{position:absolute;left:0;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:18px}@media (max-width:980px){.best-developers{position:static;width:auto;max-width:300px;margin:50px auto 0;text-align:center}.best-developers__heading{max-width:none}.best-developers__item{line-height:1.8em;padding-left:0}.best-developers__photo{position:static;vertical-align:text-bottom;width:24px;height:24px}}.breadcrumb{margin-bottom:50px;padding-left:20px;border-left:3px solid #d6d6d6;color:#a2a2a2}.breadcrumb h1{display:inline-block;margin:0 5px;font-size:inherit;font-weight:400}.breadcrumb a{display:inline-block;margin-right:5px;color:inherit}.news{display:block;max-width:500px;border-top:1px solid #e7e9f5;border-bottom:1px solid #e7e9f5;padding:40px 0;margin:40px auto 0;font-size:14px}.news__list_item{position:relative;padding:5px 0;list-style:none;line-height:1.6em}.news__list_item--hidden{display:none!important}.news__list_item:before{content:attr(data-time);position:absolute;left:-70px;width:50px;text-align:right;color:#6c7580;white-space:nowrap}.news__bage{display:inline-block;margin-right:.5em;color:#f85879;letter-spacing:2px;font-size:1.1em;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.news__showmore{display:inline-block;margin-top:.5em;cursor:pointer;color:#6c7580}@media (max-width:980px) and (max-width:690px){.news{padding:20px 0;margin:30px 0;max-width:none}.news__list_item:not(:last-of-type){margin-bottom:5px}.news__list_item:before{position:static;display:block;text-align:left;margin:0 0 1px;font-size:.89em}.news__showmore{margin-top:0}}.scroll-up{position:fixed;bottom:30px;left:30px;padding:32px 27px;border-radius:2px;background:rgba(93,104,156,.08);font-size:18px;text-align:center;cursor:pointer;color:rgba(85,97,125,.6);opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.scroll-up:hover{background:rgba(93,104,156,.15)}.scroll-up:before{font-family:codex_ic;content:"\E80F"}.scroll-up.show{opacity:1}@media (max-width:980px){.scroll-up{left:auto;bottom:0;right:0;padding:12px 14px;font-size:12px}}.sharing{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px;border-radius:3px;background:#f1f5f8;color:#616c98}@media (max-width:980px){.sharing{text-align:center;display:block}}.sharing__offer{max-width:250px}@media (max-width:980px){.sharing__offer{max-width:none}}.sharing__button{margin:auto 0 auto 13px;cursor:pointer;color:#a1acc1;font-size:20px}.sharing__button:hover{color:#5d75bd}.sharing__button.tw:hover{color:#6e98fd}.sharing__button.tg{font-size:17px}.sharing__button.tg:hover{color:#41adff}@media (max-width:980px){.sharing__button{margin:0 8px}}.sharing__main-button{margin:auto 15px auto auto;padding:10px 24px;border-radius:25px;background:#507299;color:#fff;cursor:pointer}@media (max-width:980px){.sharing__main-button{display:block;max-width:120px;margin:20px auto}}.sharing__main-button:hover{background:color(#507299 blackness(5%))}.sharing__main-button i{margin:0 4px 0 -5px}@media (max-width:980px){.sharing{text-align:center}.sharing .main_but{float:none;display:block;margin:0 0 15px}.sharing .but{display:inline-block;float:none;margin:0 7px 18px}}.vk_groups{max-width:650px;margin:50px auto 0}@media (max-width:980px) and (max-width:690px){.vk_groups{max-width:none;width:calc(100% - 40px);margin-left:20px;margin-right:20px}}.quiz{position:relative;margin:auto;max-width:700px;background:#fff;padding:30px 50px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #eceff6;border-radius:3px;font-size:15px}.quiz__question-title{font-size:1.15em;font-weight:600;margin-bottom:1em}.quiz__question-counter{float:right;color:#828282;letter-spacing:3px}.quiz__question-button{padding:10px 28px;margin-top:22px;border:0;border-radius:30px;outline:none;font:inherit;background:#5c95cf;color:#fff}.quiz__question-button:focus,.quiz__question-button:hover{background:#3c7ab9;color:#fff}.quiz__question-button:disabled,.quiz__question-button:disabled:focus,.quiz__question-button:disabled:hover{cursor:default}.quiz__question-button_next{cursor:pointer}.quiz__question-answer{position:relative;padding:.5em 0 .5em 36px;cursor:pointer;line-height:1.4em}.quiz__question-answer:not(:last-of-type){margin-bottom:.4em}.quiz__question-answer:before{position:absolute;left:0;top:.46em;display:inline-block;content:"";width:16px;height:16px;border-radius:50%;border:4px solid #404040;-webkit-box-shadow:inset 0 0 0 4px #fff;box-shadow:inset 0 0 0 4px #fff}.quiz__question-answer:hover:before{background:#404040}.quiz__question-answer_selected.quiz__question-answer_right:before{border-color:#34b98e;-webkit-box-shadow:none;box-shadow:none;background:#34b98e url(/public/app/img/quizzes/checked.svg)!important;background-size:cover!important}.quiz__question-answer_selected.quiz__question-answer_wrong:before{border-color:#ec6d6d;background:#ec6d6d!important}.quiz__question-answer_right:before{border-color:#34b98e;background:#34b98e!important}.quiz__answer-message{margin:-.5em 0 .5em 36px;color:#717888}.quiz__result-score{margin:.7em 0 1em;font-size:2.7em;font-weight:700;text-align:center;letter-spacing:.2em;color:#0081d2}.quiz__result-message{text-align:center;font-size:2em;line-height:1.25em;letter-spacing:.02em;font-weight:700}.quiz__retry-button{position:relative;left:40%;display:inline-block;margin-top:.5em;cursor:pointer;color:#186ebd}.quiz__retry-button:before{content:"";display:inline-block;margin-bottom:-.3em;margin-right:.4em;background-image:url(/public/app/img/quizzes/retry.svg);background-size:cover;height:20px;width:20px}.quiz__sharing{text-align:center;padding:40px 0 30px;border-radius:3px;color:#616c98}.quiz__sharing .but{margin:0 10px;padding:6px 20px;border-radius:20px;cursor:pointer;color:#fff;background:#3c7dce;font-size:1.2em!important;-webkit-box-sizing:border-box;box-sizing:border-box}.quiz__sharing .but:hover{background:transparent;-webkit-box-shadow:inset 0 0 0 2px #5d75bd;box-shadow:inset 0 0 0 2px #5d75bd;color:#5d75bd}.quiz__sharing .tw:hover{-webkit-box-shadow:inset 0 0 0 2px #6e98fd;box-shadow:inset 0 0 0 2px #6e98fd;color:#6e98fd}.quiz__sharing .tg:hover{-webkit-box-shadow:inset 0 0 0 2px #41adff;box-shadow:inset 0 0 0 2px #41adff;color:#41adff}@media (max-width:980px){.quiz{padding:20px}.quiz__sharing .but{display:inline-block;padding:0;font-size:1em;width:40px;height:40px}.quiz__sharing .but i{line-height:40px}.quiz__retry-button{left:26%}}.quiz-form{margin-top:50px}.quiz-form__page-title{font-size:30px;line-height:45px}.quiz-form__label{padding:0;font-size:16px;font-weight:400;text-align:left}.quiz-form__quiz-description,.quiz-form__quiz-title{margin:5px 0 20px}.quiz-form__question-holder{margin:20px 0;padding:25px;border:1px solid #e5e7e8;border-radius:3px}.quiz-form__question-number{font-size:20px;font-weight:700}.quiz-form__question-destroy-button{float:right}.quiz-form__question-title-label{display:block;margin-top:20px}.quiz-form__question-title{margin:5px 0 20px}.quiz-form__messages-holder,.quiz-form__question-answers-holder{border-collapse:collapse}.quiz-form__messages-head,.quiz-form__question-answers-head{border-bottom:5px solid transparent}.quiz-form__question-answer-message-column,.quiz-form__question-answer-text-column,.quiz-form__question-answers-label,.quiz-form__question-messages-label{width:44%}.quiz-form__message-message-column,.quiz-form__question-answer-text-column{padding-left:0}.quiz-form__message-destroy-button,.quiz-form__message-score,.quiz-form__question-answer-destroy-button,.quiz-form__question-answer-score{height:37px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;outline:none;border:none;border-radius:2px}.quiz-form__message-score,.quiz-form__question-answer-score{width:100%;background:#f4f5f8}.quiz-form__message-score:focus,.quiz-form__question-answer-score:focus{background:#eef5fd}.quiz-form__question-answer-destroy-button-column{width:34px;padding-right:0}.quiz-form__message-destroy-button,.quiz-form__question-answer-destroy-button,.quiz-form__question-destroy-button{cursor:pointer;opacity:.3}.quiz-form__message-destroy-button:hover,.quiz-form__question-answer-destroy-button:hover,.quiz-form__question-destroy-button:hover{opacity:1}.quiz-form__add-message-button-column,.quiz-form__question-add-answer-button-column{padding:10px 0}.quiz-form__add-message-button,.quiz-form__add-question-button,.quiz-form__question-add-answer-button{padding:12px 0;line-height:16px;cursor:pointer;color:#454c5d;background:none}.quiz-form__add-message-button:hover,.quiz-form__question-add-answer-button:hover{color:#1a2235}.quiz-form__button-plus{margin-right:9px;vertical-align:text-bottom}.quiz-form__button-cross{vertical-align:middle}.quiz-form__messages{width:100%;margin-top:20px;table-layout:fixed}.quiz-form__message-message-label{width:38%}.quiz-form__message-score-label{width:12%}.quiz-form__share-message-label{width:50%}.quiz-form__messages-holder-column{padding:0}.quiz-form__messages-holder-column,.quiz-form__share-message-column{width:50%;vertical-align:top}.quiz-form__message-message-column{width:76.4%}.quiz-form__message-destroy-button-column{width:34px}.quiz-form__quiz-buttons-holder{margin-top:20px}.site-section{margin:60px 0 90px;font-size:15.9px;line-height:1.6em}.site-section__title{font-size:1.315em;margin-bottom:.5em;font-weight:400;text-align:center;letter-spacing:.026em}.site-section__desc{max-width:400px;margin:0 auto 40px;text-align:center}.site-section__go-more-link{margin:30px auto 0;display:block;max-width:200px;text-align:center;text-decoration:none}.site-section--articles-list{margin:60px 0 40px}.site-section--articles-list .site-section__desc{margin-top:13px}@media (max-width:980px){.site-section--articles-list{margin:0 0 60px}}.article-card{position:relative;padding:20px 20px 75px;border:1px solid #e7e9f5;border-radius:3px;font-size:12.4px}.article-card a{text-decoration:none;color:inherit}.article-card__footer{position:absolute;bottom:20px;left:20px;right:20px;height:34px;line-height:1.54em;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.article-card__cover{display:block;background-color:#f4f5f9;height:100px;margin:-21px -21px 20px;border-radius:3px 3px 0 0;background-position:0 30%;background-size:cover}.article-card__title{margin-bottom:15px;font-size:17.9px;font-weight:700;line-height:1.2em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}@media (max-width:980px){.article-card__title{font-size:15.9px;letter-spacing:-.013em}}.article-card__photo{float:left;margin-right:10px}.article-card__photo--with-coauthor{margin-right:0;border-left:0}.article-card__photo--coauthor{margin-left:-25px;margin-right:0}.article-card__photo img{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}.article-card__user-name:not(:last-of-type):after{content:","}.article-card__read-time{color:#6c7580;line-height:1.1em}@media (min-width:1050px){.articles-grid__item .article-card{width:100%}}.product-card{border-radius:5px;padding:30px;margin-bottom:30px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e7e9f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media (min-width:1050px){.product-card{min-height:415px;padding:60px;margin-bottom:60px}}@supports (display:grid){.product-card{display:grid;grid-template-columns:auto 360px;grid-template-rows:60px auto 100px;grid-template-areas:"title-area right-area" "content-area right-area" "footer-area right-area"}@media (max-width:980px){.product-card{grid-template-columns:auto;grid-template-rows:auto auto auto auto;grid-template-areas:"title-area" "content-area" "right-area" "footer-area"}}}.product-card__title{display:block;margin-bottom:20.3px;font-size:43px;letter-spacing:-.36px;font-weight:700;line-height:1em;color:inherit}.product-card__title:hover{color:inherit}@media (max-width:980px){.product-card__title{font-size:32px}}.product-card__caption{max-width:450px;margin-bottom:30px;font-size:20px;color:#626262;line-height:1.5em}.product-card__screen{display:block;width:360px;-webkit-box-shadow:0 22px 31px 0 rgba(0,0,0,.63);box-shadow:0 22px 31px 0 rgba(0,0,0,.63);border-radius:5px}@media (max-width:980px){.product-card__screen{max-width:100%;height:auto}}.product-card__repo{display:inline-block;margin-top:30px;color:#626262}.product-card__button{display:inline-block;padding:12px 26px 12px 18px;margin-top:30px;background:#fff;border:1px solid #e7e9f5;-webkit-box-shadow:0 2px 3px 0 rgba(38,45,67,.02);box-shadow:0 2px 3px 0 rgba(38,45,67,.02);border-radius:3px;color:inherit;color:#000;font-size:18px;letter-spacing:-.3px;text-decoration:none}.product-card__button:not(:last-of-type){margin-right:20px}.product-card__button svg{display:inline-block;width:26px;height:26px;vertical-align:middle;margin-right:.5em;margin-top:-.3em}.product-card__button:hover{background-color:#fdfdfd;color:#000;color:initial;text-decoration:none}@media (max-width:980px){.product-card__button{padding:6px 15px 6px 13px;margin:20px 20px 0 0;font-size:14px}.product-card__button svg{width:20px;height:20px}}.product-card__right-heading{margin:0 0 20px;font-size:22px;font-weight:400}.product-card__application{display:inline-block;margin-bottom:15px;width:40px;height:40px}.product-card__application svg{width:40px;height:40px}.product-card__application:not(:last-of-type){margin-right:10px}.product-card__right-link{margin-top:7px;display:inline-block;color:#8c8888;line-height:1.5em}.product-card__actions{margin-top:40px}.product-card__loved-by{margin-top:45px}.product-card__loved-by-title{font-size:18px;font-weight:400;margin-bottom:10px}.product-card__loved-by-item{display:inline-block;vertical-align:top;padding:10px 25px 10px 0;height:27px}.product-card__loved-by-item:not(:last-of-type){border-right:1px solid #e7e9f5}.product-card__loved-by-item:not(:first-of-type){padding-left:23px}@media (max-width:980px){.product-card__loved-by-item{padding:5px 10px 5px 0}.product-card__loved-by-item:not(:first-of-type){padding-left:10px}}.product-card__download{position:relative;display:inline-block;min-width:150px;padding:10px 20px;margin:0 20px 20px 0;border:1px solid #e0e1e6;border-radius:3px;font-size:13.1px;line-height:1.5em;color:#25262e;overflow:hidden}.product-card__download[href="#"]{color:#9699a8}.product-card__download[href="#"]:after{content:"Soon";background:#ff1769;border-radius:3px;padding:3px 6px;line-height:1em;color:#fff;font-weight:500;position:absolute;right:5px;top:5px;letter-spacing:-.5px}.product-card__download[href="#"] svg{opacity:.5}.product-card__download[href="#"]:hover{color:#9699a8!important}.product-card__download:hover{color:#25262e}.product-card__download b{display:block;font-size:16px;font-weight:500}.product-card__download svg{float:left;margin-top:5px;margin-right:15px}.product-card__download--win svg{margin-top:7px}.product-card__download--linux svg{margin-top:8px}.product-card__download--appstore{background-color:#0c0c0c;border:0;color:#fff}.product-card__download--appstore svg{fill:#fff!important}.product-card__download--appstore:hover{color:#fff}.product-card__watch-button{display:inline-block;background:#000;padding:11px 25px;border-radius:30px;color:#fff;white-space:nowrap;font-size:18px;cursor:pointer;font-weight:400}.product-card__watch-button:before{display:inline-block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;margin-right:8px;margin-left:5px;vertical-align:text-bottom}.product-card__advantages{margin:30px 0 0;padding:0;list-style:none;line-height:1.8em}.product-card__disclaimer{margin-top:20px;font-size:15px;line-height:1.53em}.product-card__video{max-width:100%;margin-left:-55px}@media (max-width:980px){.product-card__video{margin-left:0}}.product-card__right-caption{margin-top:10px}.product-card__right-caption a{color:#6c7580}.product-card__right-caption a:hover{color:#2c7fe5}.product-card__right-menu{margin:10px 0}.product-card__right-menu a{color:#2969b9;font-size:15px}.product-card__right-menu a:not(:last-of-type):after{content:"";display:inline-block;vertical-align:middle;width:4px;height:4px;border-radius:50%;background:#6c7580;margin:0 .25em 0 .45em;opacity:.8}@supports (display:grid){.product-card__caption{grid-area:content-area}.product-card__right{grid-area:right-area;position:relative}.product-card__repo{grid-area:footer-area;align-self:end}}.product-card--hawk{background-image:linear-gradient(176deg,#2e2e3c,#262633 99%,#252533);border:0}^.product-card--hawk__title{color:#fff}^.product-card--hawk__title img{width:44px;vertical-align:text-bottom;margin-right:13px;-webkit-transform:translateY(-3px);transform:translateY(-3px)}@media (max-width:980px){^.product-card--hawk__title img{width:34px}}^.product-card--hawk__caption,^.product-card--hawk__screen{color:#a4b1d0}^.product-card--hawk__caption a,^.product-card--hawk__screen a{color:#59a3ff}^.product-card--hawk__repo{color:#878ca0}^.product-card--hawk__repo:hover{color:#fff}^.product-card--hawk__caption{padding-top:10px}^.product-card--hawk__screen{background-color:#2a2835}.product-card--notes{background-image:linear-gradient(9deg,#f4f5fb,#f9fafb 99%);border:0}^.product-card--notes__caption{margin-bottom:10px}.product-card--media{background-color:#0b0b0b;border:0}@supports (display:grid){.product-card--media{grid-template-rows:130px auto 100px}@media (max-width:980px){.product-card--media{grid-template-rows:auto}}}^.product-card--media__title{font-size:70px;font-weight:500;max-width:200px;color:#fff}^.product-card--media__caption{margin:30px 0;color:#757575;font-weight:300;font-size:25px}^.product-card--media__advantages{color:#fff;font-weight:400;font-size:15px}^.product-card--media__repo:hover{color:#fff}.product-card--ar-tester{background-image:url(/public/app/img/products/ar-tester-bg.jpg),linear-gradient(69deg,#f575a0 8%,#187cb8);background-size:cover,auto;border:0}@supports (display:grid){.product-card--ar-tester{grid-template-columns:auto 300px}@media (max-width:980px){.product-card--ar-tester{grid-template-columns:auto}}}^.product-card--ar-tester__caption,^.product-card--ar-tester__disclaimer,^.product-card--ar-tester__repo,^.product-card--ar-tester__title{color:#fff}^.product-card--ar-tester__caption{margin-top:20px;font-size:24px;font-weight:300;line-height:1.36em}^.product-card--ar-tester__disclaimer{font-weight:400}^.product-card--ar-tester__title{font-size:53px}^.product-card--ar-tester__screen{-webkit-box-shadow:none;box-shadow:none;width:256px;margin-top:20px}^.product-card--ar-tester__download{padding:14px 20px 17px;font-size:13px;border-radius:8px;opacity:.3;position:absolute;left:50%;bottom:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media (max-width:980px){^.product-card--ar-tester__download{display:none}}^.product-card--ar-tester__download svg{margin-right:15px;margin-top:4px}^.product-card--ar-tester__download b{font-size:19px;font-weight:400}^.product-card--ar-tester__repo{opacity:.5}^.product-card--ar-tester__repo:hover{opacity:1}@supports (display:grid){.products-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;grid-auto-rows:1fr;grid-gap:30px}.products-grid__item{margin:0!important}@media (max-width:980px){.products-grid{grid-template-columns:1fr;grid-auto-rows:auto}}}.product-cell{position:relative;border:1px solid #e7e9f5;padding:30px 30px 102px;border-radius:2px;color:#6c7580;font-size:15px;margin-bottom:30px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:980px){.product-cell{margin-bottom:20px;padding:20px}}.product-cell__name{display:block;font-size:19px;font-weight:500;margin:0;color:#000;letter-spacing:-.17px;font-weight:700}.product-cell__logo{float:right;margin-left:30px}.product-cell__desc{margin-top:10px;line-height:1.6em}.product-cell__tags{position:absolute;bottom:62px}@media (max-width:980px){.product-cell__tags{margin-top:15px;position:static}}.product-cell__repo{position:absolute;bottom:25px;display:inline-block;margin-top:15px;color:inherit;font-size:13px}@media (max-width:980px){.product-cell__repo{position:static}}.product-cell__tag{display:inline-block;margin-right:5px;padding:4px 8px;border:1px solid #efc8db;font-size:14.3px;line-height:1em;color:#995175;border-radius:3px}@media (max-width:980px){.product-cell__tag{margin-top:5px}}.product-cell__tag svg{margin-right:.12em;vertical-align:text-bottom}.product-cell__tag--pypi{border-color:#adcbe3;color:#3573a7}.product-cell__tag--pypi:hover{color:color(#3573a7 blackness(20%))}.product-cell__tag--npm{border-color:#f9b7b7;color:#b72b2a}.product-cell__tag--npm:hover{color:color(#b72b2a blackness(20%))}.product-cell__tag--npm svg{vertical-align:middle}.product-cell__tag--composer{border-color:#d0cdc8;color:#6d6d6d}.product-cell__tag--composer:hover{color:color(#6d6d6d blackness(20%))}.follow-block{text-align:center}.follow-block__photos{display:block;margin:25px 0}.follow-block__photos img{width:60px;height:60px;opacity:.9;margin:0 10px;vertical-align:bottom;border-radius:2px}@media (max-width:980px){.follow-block__photos img{width:46px;height:46px;margin:0 3px}}.follow-block .button{background:transparent;margin:0 7.5px;border:1px solid #c2c2c2;color:#373737;font-size:14.5px;border-radius:3px;padding:4px 9px;line-height:22px;letter-spacing:.012em;vertical-align:top}.follow-block .button svg{vertical-align:middle;margin-right:.2em}@media (max-width:980px){.follow-block .button{font-size:14px;padding:3px 7px;margin:0 2px 10px}.follow-block .button svg{height:auto;width:1.1em;margin-right:.1em}}.follow-block .button--instagram{border-color:#eec6dc;color:#871f4d}.follow-block .button--instagram svg{margin-top:-2px}.follow-block .button--github svg{margin-top:-2px;height:18px}.follow-block .button--vk{border-color:#bcc6df;color:#2a5ba2}.follow-block .button--vk svg{vertical-align:middle;width:17px;height:auto}.follow-block .button--twitter{border-color:#a3caf8;color:#509dec}.follow-block .button--twitter svg{width:17px;height:auto}.follow-block .button--telegram{color:#0b98da;border-color:#99cfed}.follow-block .button--telegram svg{margin-top:-3px;height:14px}.course-navigation-wrapper{position:absolute;padding-top:150px;max-width:155px}.course-navigation-wrapper--previous{left:0}.course-navigation-wrapper--next{right:0}.course-navigation{display:block;padding:15px;text-align:center;text-decoration:none;color:inherit}.course-navigation:hover{text-decoration:none;cursor:pointer;background:rgba(93,104,156,.08)}.course-navigation--previous{border-radius:0 3px 3px 0}.course-navigation--next{border-radius:3px 0 0 3px}.course-navigation__icon{display:block;margin:20px auto 15px;width:15px;height:28px}.course-navigation__icon--next{background:url(../b16ca1e261bbf304218e643476493658.svg) no-repeat}.course-navigation__icon--previous{background:url(../627cb0932775ac5157ef6458f4e8d84b.svg) no-repeat}.course-navigation__avatar{display:block;margin:25px auto 5px;border-radius:50%;width:30px;height:30px}.course-navigation__author{max-width:100px;margin:10px auto;color:#5f6a75;line-height:1.26em;font-size:.9em}@media (max-width:1250px){.course-navigation-wrapper{display:none}}.video-overlay{background:#000;position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;text-align:center;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--showed{opacity:1}.video-overlay video{max-height:100%;max-width:100%;opacity:.1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--loaded video{opacity:1}.video-overlay__close{display:inline-block;position:absolute;right:20px;top:20px;cursor:pointer;opacity:.8;width:25px;height:25px;background:rgba(0,0,0,.8);padding:5px;border-radius:50%}.video-overlay__close:hover{opacity:1}.video-overlay__close:after,.video-overlay__close:before{content:"";width:2px;height:25px;background:#fff;border-radius:2px;display:block;position:absolute;left:49%;top:5px}.video-overlay__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.video-overlay__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.follow-telegram{max-width:380px;margin:120px auto 0}.follow-telegram:before{display:block;width:30px;height:30px;content:"";background:url(/public/app/img/codex-logo-gray.svg);background-size:cover;border:3px solid #eaf2f7;background-color:#eaf2f7;border-radius:50%;float:left}.follow-telegram__contents{position:relative;border-radius:9.5px;border-top-left-radius:0;border:1px solid #d7e3ec;padding:15px 17px;margin-left:46.5px}.follow-telegram__contents:before{position:absolute;left:-8px;top:-1px;width:9px;height:20px;content:"";background:url(/public/app/img/bubble-corner.svg)}.follow-telegram__title{display:inline-block;font-size:15px;letter-spacing:-.4px;line-height:1em;color:#2c86cd;font-weight:600;margin-bottom:6px}.follow-telegram__desc{line-height:1.5em;font-size:13.6px}.follow-telegram__button{display:inline-block;background:#5ca9e6;border-radius:25px;font-size:14.2px;letter-spacing:.3px;color:#fff;margin-top:10px;margin-left:46.5px;padding:8px 20px}.follow-telegram__button:hover{background-color:#52a1e0;color:#fff}.follow-telegram__button svg{display:inline-block;vertical-align:middle;margin:-2px 7px 0 -2px}@media (max-width:980px){.follow-telegram{width:auto;margin:0 auto}.follow-telegram__contents{padding:11px 15px}.follow-telegram__title{font-size:14px}.follow-telegram__desc{font-size:13px}}.join-component{margin:156px 0 152px;text-align:center}.join-component--compact{margin:50px 0 80px}.join-component__desc{max-width:322px;margin-bottom:32px}.join-component__label{color:#6c7580;margin-bottom:15px}.join-component__button{font-size:16.9px;font-weight:500;color:#fff;border-radius:3px;background-color:#4a90e2;padding:10px 35.5px;-webkit-box-shadow:0 7px 12px -4px rgba(65,140,227,.7);box-shadow:0 7px 12px -4px rgba(65,140,227,.7)}.join-component__button:hover{color:#fff;background:#4484db}.join-component__time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:24px;font-weight:500;line-height:1.08;color:#6c7580;margin-bottom:60px}.join-component__time-delimiter{padding:0 8px}.join-component__time-delimiter:after,.join-component__time-delimiter:before{content:"";display:block;border-radius:50%;width:4px;height:4px;background-color:#6c7580}.join-component__time-delimiter:before{margin-bottom:3px}.join-component__time-delimiter--blinking:after{-webkit-animation:blinker 2s step-end infinite;animation:blinker 2s step-end infinite;-webkit-animation-delay:1s;animation-delay:1s}.join-component__time-item{position:relative}.join-component__time-item:after{display:block;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;font-weight:400;line-height:1.86;content:attr(data-time)}@-webkit-keyframes blinker{0%{opacity:0}50%{opacity:1}}@keyframes blinker{0%{opacity:0}50%{opacity:1}}.lazy-load{background:#f7fafb;border-radius:3px}.lazy-load__media{opacity:0;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}.lazy-load--loaded>.lazy-load__media{opacity:1}.index-page{padding:100px 0 70px}.index-page p{max-width:500px;margin:15px auto;font-size:14.8px;letter-spacing:.014em;line-height:1.65em}.index-page__join-button{margin:1.5em auto 0;padding:16px 30px;font-size:1.2em;display:block;max-width:140px;text-align:center}.index-page .codex-logo{display:block;margin:0 auto 50px}.thanks-block svg{display:block;max-width:60px;margin:20px auto}@media (max-width:980px){.index-page{padding:50px 0}.index-page p{padding:0 10px}}.join-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.join-page__logo{margin:60px auto;display:block}.join-page__logo svg{display:block;margin:0 auto}@media (max-width:980px){.join-page__logo svg{width:150px;height:auto}}@media (max-width:980px){.join-page__logo{margin:50px auto 30px}}.join-page__content{padding:85px 100px;border:1px solid #e7e9f5;border-radius:20px;max-width:650px;margin:0 auto;line-height:1.64em;font-size:15.3px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.join-page__content{padding:20px;border:0}}.join-page ul{margin:1.75em 0}.join-page li{margin:.8em 0}.join-page h1{font-size:26px;margin-bottom:1.35em}@media (max-width:980px){.join-page h1{margin-top:0}}.join-page h2{margin:2em 0 .8em;font-size:21px;font-weight:400}@media (max-width:980px){.join-page__form{margin-top:10px}}.join-page__form label{display:block;margin-bottom:.7em}.join-page__form .input{margin-bottom:30px}.join-page__auth{margin:50px 0;color:#838ea1}@media (max-width:980px){.join-page__auth{font-size:14px}}.join-page__auth-vk-button{display:inline-block;vertical-align:middle;margin-right:12px;border:1px solid #bed8f9;border-radius:6px;padding:7px 9px}@media (max-width:980px){.join-page__auth-vk-button{padding:4px 7px;margin-right:7px}}.join-page__auth-vk-button svg{vertical-align:middle;margin-right:.3em;margin-top:-1px}@media (max-width:980px){.join-page__auth-vk-button svg{width:16px;height:16px;vertical-align:text-bottom}}.join-page__auth-vk-button:hover{border-color:#94bdf2}.join-page__auth-show-email{display:inline-block;cursor:pointer;border-bottom:1px dotted #d0d4d8}.join-page__auth-show-email:hover{color:#6c7580}.join-page .button{border-radius:3px}.join-page__user{font-size:1.1em;margin:50px 0 30px}.join-page__user-photo{width:26px;height:26px;border-radius:13px;margin-right:10px;vertical-align:middle}.join-page__user-name{display:inline-block;vertical-align:middle}.join-page__error{margin:15px 0;color:#e04545}.join-page__success{padding:100px 200px;background:#f2f5fb;color:#6f809a;line-height:1.6em;font-size:16px;text-align:center}@media (max-width:980px){.join-page__success{padding:15px;font-size:14px}}.join-page__success--compact{margin-top:2em;padding:30px;font-size:14px}.join-page__success-inner{max-width:550px;margin:0 auto}.task-page{padding-bottom:50px}.task-page__cols{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;max-width:650px;margin:50px auto;text-align:center}@media (max-width:980px){.task-page__cols{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.task-page__col{display:block;width:33.3%;text-align:center;font-size:18px}@media (max-width:980px){.task-page__col{width:auto;text-align:left;padding:5px 0}}.task-page__left{padding-right:50px}@media (max-width:980px){.task-page__left{margin-bottom:50px}}.task-page h3{margin-top:0}.task-page img{max-width:100%}.task-page__download{display:block;width:200px;text-align:center;padding:15px 10px;border-radius:50px;background:#1f253c;border:0!important;color:#fff!important;font-size:16px;margin:50px auto 0}.task-page__download svg{width:30px;height:auto;vertical-align:middle;margin-right:.3em}.task-page__disclaimer{color:#6c7580;margin:20px auto;max-width:400px;text-align:center;line-height:1.5em}.additional_tasks{margin:0;padding:0}.additional_tasks li{position:relative;margin:0!important;list-style-type:none;padding:20px 0 20px 30px;border-bottom:1px solid #e4eaf5}.additional_tasks li:before{position:absolute;left:0;top:1.9em;width:10px;height:10px;display:inline-block;border-radius:5px;background:#dfe7f5;margin-right:15px;content:""}.additional_tasks .back:before{background:#6699df}.additional_tasks .front:before{background:#e87474}.additional_tasks .ui:before{background:#9bf1b3}.additional_tasks--legend li{display:inline-block;border-bottom:0;margin-right:50px!important;font-size:14px;font-weight:700}.additional_tasks--legend li:before{top:2em}.articles-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:-10px}@media (max-width:850px){.articles-grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.articles-grid__item{width:33.33%;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:850px){.articles-grid__item{width:auto;display:block}}.feed{max-width:540px;margin:0 auto}.feed-item{font-size:15px;-webkit-box-sizing:border-box;box-sizing:border-box;word-wrap:break-word;margin-bottom:50px}@media (max-width:980px){.feed-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.feed-item__info{color:#6e7990;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:14px;-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.feed-item__time{margin-right:11px}.feed-item__author-photo{display:inline-block;width:17px;height:17px;vertical-align:middle;border-radius:50%;margin:-2px -2px 0 0;border:3px solid #fff;overflow:hidden}.feed-item__author-photo img{width:inherit;height:auto}.feed-item__author-photo:nth-of-type(2){margin-left:-10px}.feed-item__author-photo:nth-of-type(2) img{-webkit-box-shadow:0 0 0 3px #fff;box-shadow:0 0 0 3px #fff}.feed-item__author-name{color:inherit}.feed-item__title{font-size:20px;line-height:1.3em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-weight:700;text-decoration:none;letter-spacing:-.75px;color:inherit}.feed-item__description{margin-top:7px;font-size:14.4px;letter-spacing:.2px;line-height:1.55em}@media (max-width:980px){.feed-item--with-cover{display:block}}^.feed-item--with-cover__description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width:980px){^.feed-item--with-cover__description{-webkit-line-clamp:7}}^.feed-item--with-cover__cover{float:right;margin-left:45px}@media (max-width:980px){^.feed-item--with-cover__cover{margin-left:20px}}^.feed-item--with-cover__cover img{display:block;border-radius:3px;height:130px;width:130px}@media (max-width:980px){^.feed-item--with-cover__cover img{height:40px;width:40px}}.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:980px){^.feed-item--with-big-cover__title{font-size:23px}}^.feed-item--with-big-cover__description{-webkit-line-clamp:5}^.feed-item--with-big-cover__cover{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;margin:20px 0 0}^.feed-item--with-big-cover__cover img{width:100%;height:auto}^.feed-item--big__title{font-size:34px}@media (max-width:980px){^.feed-item--big__title{font-size:26px}}^.feed-item--big__description{font-size:17.6px;margin-top:10px}@media (max-width:980px){^.feed-item--big__description{font-size:15.6px}}@media (max-width:980px){^^.feed-item--big.feed-item--with-cover__title{font-size:23px}}^^.feed-item--big.feed-item--with-cover__cover{margin-left:20px}@media (max-width:980px){.feed-item--big.feed-item--with-cover{display:block}}.feed-item--big.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex}^^.feed-item--big.feed-item--with-big-cover__cover{margin-left:0}@media (max-width:980px){^^.feed-item--big.feed-item--with-big-cover__title{font-size:26px}}@media (max-width:980px){.contest_alert a{margin:20px 0}}.article__title{max-width:700px;-webkit-transform:translateX(25px);transform:translateX(25px);margin:0 auto;padding:80px 20px 40px;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;letter-spacing:-.014em}@media (max-width:980px){.article__title{padding:30px 20px;font-size:26px}}@media (max-width:980px) and (max-width:690px){.article__title{-webkit-transform:none;transform:none}}.article__coauthors-info{color:#6c7580;-ms-flex-item-align:center;align-self:center}@media (max-width:980px){.article__coauthors-info{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-overflow:ellipsis;overflow-x:hidden}}.article__info{max-width:650px}@media (max-width:980px){.article__info{padding-left:20px;padding-right:20px}}.article__info{margin:0 auto 40px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.article__info{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:30px}}.article__author:after{content:" ";display:table;clear:both}.article__author{white-space:nowrap}.article__author-photo{width:50px;height:50px;border:3px solid #fff;border-radius:50%;margin-right:15px;margin-top:-3px;float:left;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}@media (max-width:980px){.article__author-photo{width:40px;height:40px;margin-top:0}}.article__author-photo--with-coauthor{margin-right:0;border-left:0}.article__author-photo--coauthor{margin-left:-20px;margin-right:12px}.article__author-name{font-size:15px}@media (max-width:980px){.article__author-name{font-size:13.3px;white-space:nowrap}}.article__date{display:block;color:#6c7580}@media (max-width:980px){.article__date{line-height:1.3em;font-size:11.9px}}.article__read-time{margin:auto 0 auto auto;color:#6c7580}.article__read-time:before{content:"";background-image:url(/public/app/img/components/article/watch.svg);width:19px;height:20px;display:inline-block;margin-right:5px;vertical-align:bottom}@media (max-width:980px){.article__read-time{margin:25px 0 0;-ms-flex-preferred-size:100%;flex-basis:100%}}.article__read-on{margin:auto 0 auto auto;color:#6c7580}@media (max-width:980px){.article__read-on{margin:25px 0 0}}.article__read-on-item{cursor:pointer}.article__read-on-item:first-of-type{margin-left:10px}.article__read-on-item:before{display:inline-block;vertical-align:text-bottom;content:"";width:16px;height:16px;margin-right:9px}.article__read-on-item:hover{color:color(#6c7580 blackness(70%))}.article__read-on-item--english:before{background-image:url(/public/app/img/components/article/flag-english.svg)}.article__read-on-item--russian:before{background-image:url(/public/app/img/components/article/flag-russian.svg);background-size:contain}.article__read-on-item:not(:last-of-type):after{content:"|";margin:0 8px 0 12px}.article .sharing{max-width:650px}@media (max-width:980px){.article .sharing{padding-left:20px;padding-right:20px}}.article .sharing{margin:40px auto}@media (max-width:980px) and (max-width:690px){.article .sharing{margin-left:20px;margin-right:20px}}.article-content{font-size:17.4px;line-height:1.62em;word-wrap:break-word;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(0,0,0,.85882)}.article-content--serif{font-size:19.3px;line-height:1.6em;letter-spacing:.1px;font-family:Georgia}.article-content a{color:inherit;text-decoration:none;border-bottom:1px solid #333}.article-content i{font-family:Georgia;font-style:italic;letter-spacing:.1px;font-size:1.05em}.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{max-width:650px}@media (max-width:980px){.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{padding-left:20px;padding-right:20px}}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:1.6em auto .5em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.02em;line-height:1.3em;padding-top:0;padding-bottom:0}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p,.article-content h5+p,.article-content h6+p{margin-top:0}.article-content h2{font-size:1.6em}@media (max-width:980px){.article-content h2{font-size:1.2em}}.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-top:.8em}.article-content p{margin:1.2em auto}.article-image{max-width:650px}@media (max-width:980px){.article-image{padding-left:20px;padding-right:20px}}.article-image{margin:40px auto;text-align:center}@media (max-width:980px){.article-image{margin:30px auto;padding-left:0;padding-right:0}}.article-image img{vertical-align:bottom;max-width:100%}.article-image--stretched{max-width:none!important;width:100%!important}.article-image--stretched img{width:100%}.article-image--bordered img{border:3px solid #fff;-webkit-box-shadow:0 0 0 2px #e7e9f5;box-shadow:0 0 0 2px #e7e9f5;-webkit-box-sizing:border-box;box-sizing:border-box}.article-image--backgrounded{padding:15px;background:#e7e9f5}.article-image--backgrounded img{max-width:60%;margin:0 auto}.article-image-caption{margin:1em auto;color:#6c7580}.article-code{max-width:650px}@media (max-width:980px){.article-code{padding-left:20px;padding-right:20px}}.article-code{margin:40px auto;border:1px solid #e4e4e4;padding:15px 18px;border-radius:5px}@media (max-width:980px) and (max-width:690px){.article-code{-webkit-box-sizing:border-box;box-sizing:border-box;margin:30px 20px}}.article-code__content{display:block;white-space:pre;word-wrap:normal;overflow-x:auto;font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em;font-size:13.6px;padding:0!important}@media (max-width:980px){.article-code__content{font-size:10.2px;line-height:1.6em}}.article-quote{margin:40px auto;padding:30px 0;border-top:2px solid #e4e4e4;border-bottom:2px solid #e4e4e4;font-family:Georgia;letter-spacing:.12px;font-style:italic;font-size:20.4px;line-height:1.6em}.article-quote--center{text-align:center}@media (max-width:980px){.article-quote{padding-left:0!important;padding-right:0!important}}@media (max-width:980px) and (max-width:690px){.article-quote{margin:30px 20px;padding-left:20px!important;padding-right:20px!important}}.article-quote p{padding-left:0!important;padding-right:0!important}.article-quote p:first-of-type{margin-top:0}.article-quote p:last-of-type{margin-bottom:0}.embed-link{display:block;max-width:650px;margin:40px auto;padding:25px;border:1px solid #e7e9f5!important;-webkit-box-shadow:0 1px 1px rgba(66,70,84,.03922);box-shadow:0 1px 1px rgba(66,70,84,.03922);border-radius:2px;color:inherit!important;text-decoration:none!important}@media (max-width:980px){.embed-link{-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px;margin:30px auto}}@media (max-width:980px) and (max-width:690px){.embed-link{margin:30px 10px}}.embed-link__image{float:right;max-width:70px;background-position:50%;background-repeat:no-repeat;background-size:contain;margin:0 0 30px 30px;border-radius:3px}@media (max-width:980px){.embed-link__image{margin:0 0 15px 15px}}.embed-link__title{font-size:16px;line-height:1.45em;font-weight:600}@media (max-width:980px){.embed-link__title{font-size:12.2px}}.embed-link__domain{display:inline-block;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;margin-top:20px;border:0!important;color:#6c7580;font-size:.85em}@media (max-width:980px){.embed-link__domain{margin-top:5px;font-size:12px}}.embed-link__description{margin-top:10px;font-size:.9em}@media (max-width:980px){.embed-link__description{margin-top:5px;font-size:12px}}.article-list{margin:1.2em auto}@media (max-width:980px){.article-list{-webkit-box-sizing:border-box;box-sizing:border-box}}@media (max-width:980px) and (max-width:690px){.article-list{margin-left:20px}}.article-list li{margin:.5em 0;padding-left:.5em}.article-delimiter{line-height:1.6em;width:100%;text-align:center}.article-delimiter:before{display:inline-block;content:"***";font-size:30px;line-height:65px;height:30px;letter-spacing:.2em}.inline-code{background:rgba(251,241,241,.78);color:#c44545;padding:4px 6px;border-radius:2px;margin:0 2px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em}.cdx-marker{background:rgba(245,235,111,.29);padding:3px 0}.article-lang__section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:980px){.article-lang__section label{-ms-flex-preferred-size:100%;flex-basis:100%}}.article-lang__radio{margin:0 5px 0 10px}@media (max-width:980px){.article-lang__radio:first-of-type{margin-left:0}}.article-table{max-width:650px}@media (max-width:980px){.article-table{padding-left:20px;padding-right:20px}}.article-table{margin:20px auto;table-layout:fixed;width:100%;border-radius:3px;border-collapse:collapse;border:1px solid #e7e9f5}.article-table td{padding:8px 10px;border:1px solid #e7e9f5}.article-embed{max-width:650px}@media (max-width:980px){.article-embed{padding-left:20px;padding-right:20px}}.article-embed{margin:20px auto}.article-embed-caption{text-align:center;margin:1em auto;color:#6c7580}.profile{padding:150px 0 110px;text-align:center}.profile-ava{position:relative;display:inline-block}.profile-ava__settings{position:absolute;bottom:-6px;right:0;background:#fff url(/public/app/img/icon_gear.png) no-repeat 50%;width:29px;height:29px;border-radius:50%;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;will-change:transform}.profile-ava__settings:hover{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.profile-ava__photo,.profile-settings__ava{display:inline-block;width:100px;height:100px;background:#e9ecf5;border-radius:50%;overflow:hidden;font-size:100px;line-height:1em;letter-spacing:50px;color:#cad2e0;font-weight:700}.profile-ava__photo>img,.profile-settings__ava>img{vertical-align:top;margin:-1px 0 0 -2px;width:103px;height:103px}.profile__name{margin:1.5em 0 .74em;font-size:2.2em;line-height:1.3em}@media (max-width:980px){.profile__name{font-size:1.5em}}.profile__bio{font-size:1.2em;line-height:1.5em}.profile__social{display:inline-block;padding:2px 3px;margin:25px 18px;border-radius:15px;text-decoration:none;font-size:1.5em}.profile__social:not(.github){color:#9c9da2}.profile__social:hover{color:#4c5063}.profile__social.github:not(.profile__social_no_insta){font-size:2.1em;line-height:.5em}.profile__logout{display:inline-block;margin-top:30px;font-size:18px;text-decoration:none!important;color:#b9bfca;border-bottom:1px solid #dce1e8}.profile__logout:hover{color:#8d9aaf;border-bottom-color:#c4ceda}.profile-settings{padding:40px 0}.profile-settings label{display:block;margin-bottom:.7em}.profile-settings__form{margin-left:40px;padding-left:35px;border-left:3px solid #8b9aaf;max-width:280px}.profile-settings__ava,.profile-settings__form input:not(:last-of-type),.profile-settings__form textarea{margin-bottom:20px}.profile_join_requests{color:#9a9a9a;font-style:italic}@media (max-width:980px){.profile{padding:70px 0}.profile-settings .button:not(.button--master){margin-top:-38px}.profile-settings .fl_l{float:none}.profile-settings__form{margin-left:0;padding-left:0;border-left:0}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.profile-ava__settings{background:#fff url(/public/app/img/icon_gear@2x.png) no-repeat 50%;background-size:21px 21px}}.contests-list{position:relative;border-top:1px solid #d2dde5}.contests-list:before{display:block;content:attr(data-heading);position:absolute;left:97px;top:-14px;padding:3px 15px;background:#fff;color:#b0c4d3;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;font-size:18px;letter-spacing:1px}.contests-list .item{padding:50px 0}.contests-list .date{float:left;width:60px;color:#a8adb6;text-align:center}.contests-list time:last-child:before{content:"\2014";display:block;line-height:.8em}.contests-list .icon{width:79px;height:52px;margin:0 30px}.contests-list .icon img{width:100%;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast}.contests-list .title{display:inline-block;margin:0 0 8px;font-size:18px;color:inherit;text-decoration:none;font-weight:700}.contests-list .title:hover{color:#4888dc}.contest{padding:30px 0}.contest .disclaimer{color:#988e8e;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;font-size:14px;margin:40px;text-align:center}.contest .line{position:relative;margin:0 70px;height:1px;background:#ebe8e8}.contest .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(/public/app/img/contest_icon_goblet.png) no-repeat 50% 50%}.contest img{max-width:100%}.contest .result{padding-top:80px;font-size:1.1em;line-height:1.75em;word-wrap:break-word}.contest .result h2,.contest .result p{margin:25px 70px}.contest .result h2{margin-bottom:2em}.contest .article__title{padding-top:0}.contest_info{width:80%;margin:0 auto 50px;color:#9a9ca0}.contest_info td{width:33%;text-align:center}.contest_info td:nth-of-type(2){width:34%;border-left:1px solid #caced4;border-right:1px solid #caced4}.contest_info time{display:inline-block;text-align:left;vertical-align:middle;margin-left:10px;font-weight:700;line-height:1.1em}.contest .winner{max-width:300px;margin:80px auto;text-align:center}.contest .title{color:#aeb5bb;letter-spacing:1px;font-size:13px}.contest .name{margin:10px 0 7px;color:#495d6f;font-size:18px;font-weight:700}.contest .nick{text-decoration:none}.contest .nick:after,.contest .nick:before{content:"";display:inline-block;margin:0 4px;width:55px;height:26px;background:url(../d5e9a073845777db328f100dae230770.png) no-repeat;vertical-align:top}.contest .nick:after{background-position:-55px 0}.contest .toggler{display:inline-block;margin-top:40px;color:#aeb5bb;text-decoration:none;border-bottom:1px solid #e9ecf1}.contest .toggler i{font-size:12px}@media (max-width:980px){.contests-list .date,.contests-list .icon{float:none}.contests-list .date{width:auto}.contests-list time:last-child:before{display:inline-block;margin:0 5px 0 2px}.contests-list:before{left:50%;width:50px;padding:3px 0;margin-left:-25px;text-align:center}.contests-list .item{padding:25px 0}.contests-list .icon{display:block;margin:15px auto 30px}.contest_info td{display:block;width:auto!important;padding:5px 0;font-size:11px;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.contest .result h2,.contest .result p{margin:20px 30px}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.contest .line:before{background:#fff url(/public/app/img/contest_icon_goblet@2x.png) no-repeat 50% 50%;background-size:18px auto}.contest .nick:after,.contest .nick:before{background:url(/public/app/img/branches@2x.png) no-repeat;background-size:110px auto}.contest .nick:after{background-position:-55px 0}}.full-width-notifier{text-align:center;padding:20px 0;background-color:#ecf3f9;color:#3f4b63}.no_data{text-align:center;padding:150px 0}.top-menu{width:100%;margin:10px 0;font-size:15px}.top-menu__link{float:right}.top-menu__saved{float:right;color:#ccc}.top-menu__saved_hidden{visibility:hidden}.p_table{width:100%;border-spacing:0;border-collapse:collapse}.p_table td{padding:15px;word-wrap:break-word;max-width:300px}.p_table tr{border-bottom:1px solid #eff1f5}.p_table tr:last-child{border-bottom:none}.p_table__section td{font-size:44px;color:#e4e6eb;padding:40px 0;font-weight:700}.p_table .id{width:20px;color:#ccc;font-size:13px}.p_table .name{color:inherit;font-weight:700;text-decoration:none}.p_table .nick{font-size:13px}.p_table .counter{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .counter b{display:block;font-size:.9em;line-height:1.4em}.p_table .check{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .check b{display:block;line-height:1.4em}.p_table .check input{width:.9em;height:.9em}.list_user_ava{position:relative;display:inline-block;border:1px solid #e8ebf4;border-radius:20px;overflow:hidden;font-size:20px;text-align:center;vertical-align:middle}.list_user_ava,.list_user_ava>img{width:40px;height:40px}.list_user_ava .numb{display:inline-block;padding-top:7px;color:#99abbb;font-weight:700}.list_user_name{font-weight:700}.list_user_vk_name i{margin-right:5px}.p_table .checker{position:absolute;right:-7px;bottom:0;width:22px;height:22px;background:#6579ad;color:#fff;border-radius:20px;font-size:14px;cursor:pointer;display:none}.p_table td:hover .checker{display:block}.p_table .checker.checked{display:block;background:#26af89}.p_table .checker i{margin:1px;line-height:1.7em}.editor-form{margin:30px;padding:120px 0;min-height:600px;letter-spacing:.1px}.editor-form__title{display:block;width:100%;max-width:650px;outline:none;background:transparent;border:0;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;margin:0 auto 5px;letter-spacing:-.014em}@media (max-width:980px){.editor-form__title{padding:30px 20px;font-size:26px}}.editor-form__section{max-width:650px;margin:0 auto 2em}.editor-form label{display:block;margin-bottom:1em}.editor-form label.label--on-same-line{display:inline-block}.editor-form__editor{min-height:600px}.editor-form__error{padding:30px;text-align:center;font-size:20px;line-height:1.5em;max-width:650px;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.editor-form__important-filed{border:3px solid #75acff;background-color:#fff}.editor-form .ce-block__content a{color:inherit}.ce-block__content,.ce-toolbar__content{max-width:650px!important}.ce-block--stretched,.ce-block--stretched .ce-block__content{max-width:none!important}.course{margin:30px 0}.course__title{text-align:center;position:relative;margin-bottom:25px}.course__title:before{display:block;content:"\43A\443\440\441";font-size:14px;line-height:1.5em;font-weight:400;margin-bottom:10px}.courses-list{max-width:600px;margin:0 auto;padding:0;list-style:none}.courses-list__item{margin-top:15px;text-align:center}.courses-list__link{padding-bottom:3px;border-bottom:1px solid #d6deec;line-height:1.5em}.courses-list__link,.courses-list__link:hover{text-decoration:none}.editor-landing{margin-top:-50px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.editor-landing__logo{position:relative;content:"";width:84px;height:84px;margin:auto}@media (max-width:980px){.editor-landing__logo{width:50px;height:50px}}.editor-landing__logo-main{position:absolute;-webkit-animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,filter;z-index:2;left:0}@media (max-width:980px){.editor-landing__logo-main svg{width:50px}}.editor-landing__logo-shadow{position:absolute;left:-38px;z-index:1;-webkit-animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,opacity}@media (max-width:980px){.editor-landing__logo-shadow{left:-21px;margin-top:-13px}.editor-landing__logo-shadow svg{width:92px}}.editor-landing__info{padding-top:300px;padding-bottom:70px;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#eef7ff));background-image:linear-gradient(0deg,#fff,#eef7ff);text-align:center}.editor-landing__title{margin:20px 0 0;line-height:1.2em;font-size:50px;letter-spacing:.23px;color:#000;font-weight:600}@media (max-width:980px){.editor-landing__title{margin-top:25px;font-size:30px}}.editor-landing__description{font-size:17.3px;letter-spacing:.13px;line-height:1.5em;color:#868da1;margin-top:20px}@media (max-width:980px){.editor-landing__description{font-size:15px;margin-top:10px}}.editor-landing__cta{display:inline-block;margin-top:40px;padding:13px 19px;border-radius:30px;background:#388ffe;-webkit-box-shadow:0 9px 12px -6px rgba(11,132,242,.78);box-shadow:0 9px 12px -6px rgba(11,132,242,.78);font-size:16px;color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;will-change:background-color,box-shadow}.editor-landing__cta:hover{color:#fff;background:#3684fe;-webkit-box-shadow:0 9px 16px -6px rgba(11,132,242,.78);box-shadow:0 9px 16px -6px rgba(11,132,242,.78)}.editor-landing__menu{text-align:left;font-size:14px;position:fixed;right:7vw;top:150px}@media (max-width:1400px){.editor-landing__menu{right:4.5vw}}@media (max-width:1330px){.editor-landing__menu{position:absolute;padding:20px;right:45px;top:55px}}@media (max-width:980px){.editor-landing__menu{position:absolute;padding:20px;left:0;top:45px}}.editor-landing__menu a{color:inherit;display:inline-block;border-bottom:1px solid rgba(93,100,134,.2);margin-bottom:6px}.editor-landing__version{display:inline-block;padding:5px 8px;line-height:1em;border-radius:30px;background:#111;font-size:10px;color:#fff;margin-right:-70px;margin-left:3px}.editor-landing__demo{background:#eef5fa;border-radius:100px;max-width:950px;margin:0 auto;padding:70px 60px}@media (max-width:1550px){.editor-landing__demo{max-width:850px}}@media (max-width:980px){.editor-landing__demo{padding:15px;border-radius:0}}.editor-landing__demo-inner{background:#fff;border-radius:8px;-webkit-box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);padding:70px 50px;font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.editor-landing__demo-inner{padding:20px}}.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:450px}@media (max-width:980px){.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:100px}}.editor-landing__preview{max-width:650px;margin:0 auto;color:rgba(34,78,111,.75);position:relative}.editor-landing__preview:after{content:"";position:absolute;right:0;top:0;bottom:0;width:150px;background:-webkit-gradient(linear,left top,right top,from(rgba(238,245,250,0)),to(#eef5fa));background:linear-gradient(90deg,rgba(238,245,250,0),#eef5fa);z-index:2}.editor-landing__preview-inner{overflow:auto}.editor-landing__section-header{font-size:16px;max-width:375px;margin:50px auto;line-height:1.5em;text-align:center;color:#606578}@media (max-width:980px){.editor-landing__section-header{font-size:14px;max-width:70vw}}.editor-landing__section-header header{font-weight:600;margin-bottom:13px}@media (max-width:980px){.editor-landing__section-header header{font-size:16px}}.editor-landing__section-header--big{margin:130px auto;line-height:24px}@media (max-width:980px){.editor-landing__section-header--big{margin:50px auto}}.editor-landing__section-header--big header{font-size:26px;margin-bottom:20px}@media (max-width:980px){.editor-landing__section-header--big header{font-size:20px;margin-bottom:10px}}.editor-landing .sc_attr{color:#373742}.editor-landing .sc_toolname{color:#db1029}.editor-landing .sc_tag{color:#0483d8}.editor-landing .sc_key{color:#6e4998}.editor-landing .sc_bool{color:#f73cad}.editor-landing .sc_digit{color:#196ff8}.editor-landing__loved-by{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:30px}@media (max-width:980px){.editor-landing__loved-by{margin-bottom:80px}}.editor-landing__loved-by-item{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px}.editor-landing__loved-by-item:not(:last-of-type):after{content:"";width:3px;height:100%;margin-right:27px;margin-left:29px;background:#e0e0e0}.editor-landing__plugins{max-width:650px;margin:0 auto}@media (max-width:980px){.editor-landing__plugins{padding:20px}}.editor-landing__plugins-title{font-size:24px;margin-bottom:15px}@media (max-width:980px){.editor-landing__plugins-title{font-size:20px;margin-bottom:10px}}.editor-landing__plugins-description{font-size:16px;line-height:1.65em;color:#606578}@media (max-width:980px){.editor-landing__plugins-description{font-size:14px}}.editor-landing__plugins-filter{margin:30px 0}@media (max-width:980px){.editor-landing__plugins-filter{margin:15px 0 20px}}.editor-landing__plugins-filter-button{font-size:15px;font-weight:500;color:#343434;vertical-align:middle;cursor:pointer}.editor-landing__plugins-filter-button svg{vertical-align:middle;margin:-3px 6px 0 3px}.editor-landing__plugins-filter-button:not(:last-of-type){margin-right:17px}.editor-landing__contribute,.editor-landing__more-plugins{font-size:15px;color:#7b7e89;cursor:pointer}@media (max-width:980px){.editor-landing__contribute,.editor-landing__more-plugins{margin-top:10px}}.editor-landing__contribute svg,.editor-landing__more-plugins svg{width:9px;height:9px;fill:currentColor;vertical-align:middle}@media (max-width:980px){.editor-landing__contribute svg,.editor-landing__more-plugins svg{display:none}}.editor-landing__more-plugins{float:left}@media (max-width:980px){.editor-landing__more-plugins{float:none}}.editor-landing__contribute{float:right}@media (max-width:980px){.editor-landing__contribute{display:none}}.editor-landing__contribute svg{margin:-3px 3px 0 0}.editor-landing .codex-editor__redactor{padding-bottom:120px}.editor-landing__star{position:relative;display:inline-block;margin-top:60px}.editor-landing__star-line{position:absolute;width:130px;height:10px;left:51.5%;top:36%;z-index:-1}.editor-landing__star-line:first-of-type{-webkit-transform:translateX(-50%) rotate(-22deg);transform:translateX(-50%) rotate(-22deg)}.editor-landing__star-line:nth-of-type(2){-webkit-transform:rotate(-90deg);transform:rotate(-90deg);left:-11px;top:13px;width:90px}.editor-landing__star-line:nth-of-type(3){-webkit-transform:translateX(-50%) rotate(22deg);transform:translateX(-50%) rotate(22deg)}.editor-landing__star-line:after,.editor-landing__star-line:before{content:"";display:inline-block;width:15px;height:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5.5H0v-1h6v-4L15 5 6 9.5z' fill='%23B6B9C0'/%3E%3C/svg%3E");position:absolute;top:0}.editor-landing__star-line:before{left:0;-webkit-animation:arrow-moving-left 1s ease infinite;animation:arrow-moving-left 1s ease infinite}.editor-landing__star-line:after{right:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4.5h6v1H9v4L0 5 9 .5v4z' fill='%23B6B9C0'/%3E%3C/svg%3E");-webkit-animation:arrow-moving-right 1s ease infinite;animation:arrow-moving-right 1s ease infinite}@-webkit-keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@-webkit-keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.editor-plugin{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:20px;border-radius:7px;-webkit-box-shadow:0 3px 11px rgba(125,128,147,.23);box-shadow:0 3px 11px rgba(125,128,147,.23);min-height:90px;padding:20px 120px 20px 20px}@media (max-width:980px){.editor-plugin{padding-right:100px}}.editor-plugin__title{font-size:18px;color:#000;display:inline-block;margin:0 5px 4px 0}@media (max-width:980px){.editor-plugin__title{font-size:16px}}.editor-plugin__label{display:inline-block;font-size:18px;color:#606578;border-radius:3px;font-weight:500;opacity:.4;line-height:1em;margin-top:-5px}@media (max-width:980px){.editor-plugin__label{font-size:16px}}.editor-plugin__description{font-size:14px;color:#606578}.editor-plugin__contributors{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:auto}@media (max-width:980px){.editor-plugin__contributors{margin-top:15px}}.editor-plugin__contributors-item{display:inline-block;overflow:hidden;border-radius:4px;width:18px;height:18px}.editor-plugin__contributors-item img{width:100%;height:100%}.editor-plugin__contributors-item:not(:last-of-type){margin-right:6px}.editor-plugin__demo{position:absolute;right:20px;top:15px;margin-left:45px}.editor-plugin__demo img,.editor-plugin__demo video{height:90px}@media (max-width:980px){.editor-plugin__demo img,.editor-plugin__demo video{height:40px}}^.editor-plugin--your-own__title{color:#7b7e89}^.editor-plugin--your-own__description{display:inline-block}^.editor-plugin--your-own__demo{position:static;margin-left:0}^.editor-plugin--your-own__demo pre{font-size:12px;line-height:2em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;margin:15px 0;font-weight:500;color:#484554}@media (max-width:980px){^.editor-plugin--your-own__demo pre{font-size:10px;overflow:auto}}^.editor-plugin--your-own__footer{margin-top:20px}@-webkit-keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@-webkit-keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}} diff --git a/www/public/build/codex.bundle.js b/www/public/build/codex.bundle.js index 82247cbbb..bc683575d 100644 --- a/www/public/build/codex.bundle.js +++ b/www/public/build/codex.bundle.js @@ -1,4 +1,4 @@ -var codex=function(e){function t(t){for(var n,o,i=t[0],a=t[1],s=0,u=[];s=0&&l.splice(t,1)}function y(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),h(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function v(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=y(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=f(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return d(n,t),function(e){for(var r=[],o=0;o-1;n--)t[n].classList.add("draggable"),t[n].classList.add("feed-item--dnd"),t[n].classList.add("list-item");codex.dragndrop({droppableClass:"list-item",findDraggable:function(e){var t=e.target.closest(".draggable");return t?t.closest(".list-item"):null},makeAvatar:function(e){var t={};return t.elem=e.cloneNode(!0),t.elem.classList.add("dnd-avatar"),e.parentNode.insertBefore(t.elem,e.nextSibling),e.classList.add("no-display"),t.rollback=function(){t.elem.parentNode.removeChild(t.elem),e.classList.remove("no-display")},t},targetChanged:function(e,t,n){if(t){var r=t.compareDocumentPosition(n.elem);4&r?t.parentNode.insertBefore(n.elem,t):2&r&&t.parentNode.insertBefore(n.elem,t.nextSibling)}},move:function(){},targetReached:function(e,t,n){e.parentNode.insertBefore(n,e.nextSibling),t.elem.parentNode.removeChild(t.elem),n.classList.remove("no-display");var r=n.dataset.id,o=n.dataset.type,i=null;null==n.nextElementSibling&&(i=(void 0).dataset.type+":"+(void 0).dataset.id);var a={success:function(){document.getElementById("saved").classList.remove("top-menu__saved_hidden"),window.setTimeout(function(){document.getElementById("saved").classList.add("top-menu__saved_hidden")},1e3)},type:"POST",url:"/admin/feed",data:JSON.stringify({item_id:r,item_type:o,item_below_value:i})};codex.core.ajax(a)}})},e}({})},function(e,t,n){"use strict";var r,o,i=(r=function(e){var t=e.target,n=document.getElementById("js-join-auth"),r=document.getElementById("js-email");n&&!r.value.length&&(n.classList.add("wobble"),window.setTimeout(function(){return n.classList.remove("wobble")},450),t.value="")},o=function(){document.getElementById("blankAdditionalFields").classList.toggle("hide")},{init:function(){var e=document.getElementById("joinBlank");if(null!=e){var t=e.getElementsByTagName("textarea");if(t.length)for(var n=t.length-1;n>=0;n--)t[n].addEventListener("keyup",r,!1)}var i=document.getElementById("blankShowAdditionalFieldsButton");null!=i&&i.addEventListener("click",o,!1)}});e.exports=i},function(e,t,n){"use strict";e.exports={ajax:function(e){if(e&&e.url){var t=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),n=function(){};e.async=!0,e.type=e.type||"GET",e.data=e.data||"",e["content-type"]=e["content-type"]||"application/json; charset=utf-8",n=e.success||n,"GET"==e.type&&e.data&&(e.url=/\?/.test(e.url)?e.url+"&"+e.data:e.url+"?"+e.data),e.withCredentials&&(t.withCredentials=!0),e.beforeSend&&"function"==typeof e.beforeSend&&e.beforeSend.call(),t.open(e.type,e.url,e.async),t.setRequestHeader("Content-type",e["content-type"]),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.onreadystatechange=function(){4==t.readyState&&200==t.status&&n(t.responseText)},t.send(e.data)}},log:function(e,t,n,r){if(t){for(t=t.length<32?t:t.substr(0,30);t.length<31;)t+=" ";e=(t+=":")+e}n=n||"log";try{"console"in window&&window.console[n]&&(r?console[n](e,r):console[n](e))}catch(e){}}}},function(e,t,n){"use strict";e.exports=function(e){var t={findDraggable:function(e){return e.target.closest("."+n)},findDroppable:function(e){return document.elementFromPoint(e.clientX,e.clientY).closest("."+r)},makeAvatar:function(e){var t={};return(t={elem:e,parentNode:e.parentNode,nextSibling:e.nextElementSibling,rollback:function(){t.elem.classList.remove("dnd-default-avatar"),t.nextSibling?t.parentNode.insertBefore(t.elem,t.nextSibling):t.parentNode.appendChild(t.elem),delete l.avatar}}).elem.classList.add("dnd-default-avatar"),t},targetChanged:function(e,t){e&&e.classList("dnd-default-target-highlight"),t&&t.classList.add("dnd-default-target-highlight")},move:function(e,t,n){t.elem.style.left=e.pageX-n.x+"px",t.elem.style.top=e.pageY-n.y+"px"},targetReached:function(e,t,n){e.classList.remove("dnd-default-target-highlight"),e.parentNode.insertBefore(n,e.nextElementSibling),t.elem.classList.remove("dnd-default-avatar")}},n=e.draggableClass||"draggable",r=e.droppableClass||"droppable",o=e.findDraggable||t.findDraggable,i=e.findDroppable||t.findDroppable,a=e.makeAvatar||t.makeAvatar,s=e.targetChanged||t.targetChanged,c=e.move||t.move,u=e.targetReached||t.targetReached,l={},f=function(e){if(!(e.which>1)&&(e=m(e),l.clickedAt={x:e.pageX,y:e.pageY},l.elem=o(e),l.elem)){y();var t=h(l.elem);l.shift={x:e.pageX-t.x,y:e.pageY-t.y}}},d=function(e){if(l.elem&&(e.preventDefault(),e=m(e),!(Math.abs(e.pageX-l.clickedAt.x)<5&&Math.abs(e.pageY-l.clickedAt.y)<5))){l.avatar||(l.avatar=a(l.elem));var t=i(e);t!=l.target&&(s(l.target,t,l.avatar),l.target=t),c(e,l.avatar,l.shift)}},p=function(e){if(!(e.which>1))if(l.avatar){e=m(e);var t=i(e);t?u(t,l.avatar,l.elem,e):l.avatar.rollback(),l={},y()}else l={}},h=function(e){var t=e.getBoundingClientRect();return{x:t.left+window.pageXOffset,y:t.top+window.pageYOffset}},m=function(e){if(!e.changedTouches)return e;var t=e.changedTouches[0];return e.pageX=t.pageX,e.pageY=t.pageY,e.clientX=t.clientX,e.clientY=t.clientY,e.screenX=t.screenX,e.screenY=t.screenY,e.target=t.target,e},y=function(){document.body.classList.toggle("no-selection")};document.addEventListener("mousedown",f),document.addEventListener("touchstart",f),document.addEventListener("mousemove",d),document.addEventListener("touchmove",d),document.addEventListener("mouseup",p),document.addEventListener("touchend",p),document.ondragstart=function(){return!1}}},function(e,t,n){"use strict";var r,o,i;e.exports=(r=null,o=function(){window.scrollTo(0,0)},i=function(){window.pageYOffset>100?r.classList.add("show"):r.classList.remove("show")},{init:function(){(r=document.createElement("DIV")).classList.add("scroll-up"),document.body.appendChild(r),r.addEventListener("click",o),window.addEventListener("scroll",i)}})},function(e,t,n){"use strict";var r;e.exports=((r={}).vkontakte=function(e){var t="https://vk.com/share.php?";t+="url="+e.url,t+="&title="+e.title,t+="&description="+e.desc,t+="&image="+e.img,t+="&noparse=true",r.popup(t,"vkontakte")},r.facebook=function(e){var t="https://www.facebook.com/dialog/share?display=popup";t+="&app_id=1740455756240878",t+="&href="+e.url,t+="&redirect_uri="+document.location.href,r.popup(t,"facebook")},r.twitter=function(e){var t="https://twitter.com/share?";t+="text="+e.title,t+="&url="+e.url,t+="&counturl="+e.url,r.popup(t,"twitter")},r.telegram=function(e){var t="https://telegram.me/share/url";t+="?text="+e.title,t+="&url="+e.url,r.popup(t,"telegram")},r.popup=function(e,t){window.open(e,"","toolbar=0,status=0,width=626,height=436"),window.yaCounter32652805&&window.yaCounter32652805.reachGoal("article-share",function(){},this,{type:t,url:e})},r.init=function(e){console.assert(e.buttonsSelector,"Sharer: buttons selector is missed");for(var t=document.querySelectorAll(e.buttonsSelector),n=t.length-1;n>=0;n--)t[n].addEventListener("click",r.click,!0)},r.click=function(e){var t=e.target,n=t.dataset.shareType||t.parentNode.dataset.shareType;if(r[n]){var o={url:t.dataset.url||t.parentNode.dataset.url,title:t.dataset.title||t.parentNode.dataset.title,desc:t.dataset.desc||t.parentNode.dataset.desc,img:t.dataset.img||t.parentNode.dataset.title};r[n](o)}},r)},function(e,t,n){"use strict";var r,o=(r=function(e){var t={data:"id="+e.target.id+"&value="+(e.target.checked?1:0),url:"/admin/developer"};codex.core.ajax(t)},{init:function(){for(var e=document.querySelectorAll(".developer-checkbox"),t=e.length-1;t>-1;t--)e[t].addEventListener("change",r)}});e.exports=o},function(e,t,n){"use strict";var r={init:function(e){for(var t,n=document.querySelectorAll(".news__list_item"),r=[],o=0;t=n[o];o++)t.classList.contains("news__list_item--hidden")&&r.push(t);r.splice(0,5).map(function(e){e.classList.remove("news__list_item--hidden")}),r.length||e.classList.add("news__list_item--hidden")}};e.exports=r},function(e,t,n){"use strict";var r=(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),void(Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}return null})));e.exports=r},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o={xhr:function(e){var t=function e(t,n,o){var i,a,s,c;if(c=/\[\]$/,n instanceof Array)for(a=0,s=n.length;a-1?t.documentElement.innerHTML=e:t.body.innerHTML=e,t}, +e.exports=function(){var e=n(6),t=null;return{show:function(n){if(n.message){!function(){if(t)return!0;t=e.getWrapper(),document.body.appendChild(t)}();var r=null,o=n.time||8e3;switch(n.type){case"confirm":r=e.confirm(n);break;case"prompt":r=e.prompt(n);break;default:r=e.alert(n),window.setTimeout(function(){r.remove()},o)}t.appendChild(r),r.classList.add("cdx-notify--bounce-in")}}}}()},function(e,t,n){var r=n(2);"string"==typeof r&&(r=[[e.i,r,""]]),n(4)(r,{hmr:!0,transform:void 0,insertInto:void 0}),r.locals&&(e.exports=r.locals)},function(e,t,n){(e.exports=n(3)(!1)).push([e.i,'.cdx-notify--error{background:#fffbfb!important}.cdx-notify--error::before{background:#fb5d5d!important}.cdx-notify__input{max-width:130px;padding:5px 10px;background:#f7f7f7;border:0;border-radius:3px;font-size:13px;color:#656b7c;outline:0}.cdx-notify__input:-ms-input-placeholder{color:#656b7c}.cdx-notify__input::placeholder{color:#656b7c}.cdx-notify__input:focus:-ms-input-placeholder{color:rgba(101,107,124,.3)}.cdx-notify__input:focus::placeholder{color:rgba(101,107,124,.3)}.cdx-notify__button{border:none;border-radius:3px;font-size:13px;padding:5px 10px;cursor:pointer}.cdx-notify__button:last-child{margin-left:10px}.cdx-notify__button--cancel{background:#f2f5f7;box-shadow:0 2px 1px 0 rgba(16,19,29,0);color:#656b7c}.cdx-notify__button--cancel:hover{background:#eee}.cdx-notify__button--confirm{background:#34c992;box-shadow:0 1px 1px 0 rgba(18,49,35,.05);color:#fff}.cdx-notify__button--confirm:hover{background:#33b082}.cdx-notify__btns-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-top:5px}.cdx-notify__cross{position:absolute;top:5px;right:5px;width:10px;height:10px;padding:5px;opacity:.54;cursor:pointer}.cdx-notify__cross::after,.cdx-notify__cross::before{content:\'\';position:absolute;left:9px;top:5px;height:12px;width:2px;background:#575d67}.cdx-notify__cross::before{transform:rotate(-45deg)}.cdx-notify__cross::after{transform:rotate(45deg)}.cdx-notify__cross:hover{opacity:1}.cdx-notifies{position:fixed;z-index:2;bottom:20px;left:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif}.cdx-notify{position:relative;width:220px;margin-top:15px;padding:13px 16px;background:#fff;box-shadow:0 11px 17px 0 rgba(23,32,61,.13);border-radius:5px;font-size:14px;line-height:1.4em;word-wrap:break-word}.cdx-notify::before{content:\'\';position:absolute;display:block;top:0;left:0;width:3px;height:calc(100% - 6px);margin:3px;border-radius:5px;background:0 0}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.cdx-notify--bounce-in{animation-name:bounceIn;animation-duration:.6s;animation-iteration-count:1}.cdx-notify--success{background:#fafffe!important}.cdx-notify--success::before{background:#41ffb1!important}',""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n,r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var i=(n=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),a=o.sources.map(function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"});return[r].concat(a).concat([i]).join("\n")}return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o=0&&l.splice(t,1)}function y(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),g(t,e.attrs),h(e,t),t}function g(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function v(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=u++;n=c||(c=y(t)),r=C.bind(null,n,a,!1),o=C.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",g(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=f(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return d(n,t),function(e){for(var r=[],o=0;o-1;n--)t[n].classList.add("draggable"),t[n].classList.add("feed-item--dnd"),t[n].classList.add("list-item");codex.dragndrop({droppableClass:"list-item",findDraggable:function(e){var t=e.target.closest(".draggable");return t?t.closest(".list-item"):null},makeAvatar:function(e){var t={};return t.elem=e.cloneNode(!0),t.elem.classList.add("dnd-avatar"),e.parentNode.insertBefore(t.elem,e.nextSibling),e.classList.add("no-display"),t.rollback=function(){t.elem.parentNode.removeChild(t.elem),e.classList.remove("no-display")},t},targetChanged:function(e,t,n){if(t){var r=t.compareDocumentPosition(n.elem);4&r?t.parentNode.insertBefore(n.elem,t):2&r&&t.parentNode.insertBefore(n.elem,t.nextSibling)}},move:function(){},targetReached:function(e,t,n){e.parentNode.insertBefore(n,e.nextSibling),t.elem.parentNode.removeChild(t.elem),n.classList.remove("no-display");var r=n.dataset.id,o=n.dataset.type,i=null;null==n.nextElementSibling&&(i=(void 0).dataset.type+":"+(void 0).dataset.id);var a={success:function(){document.getElementById("saved").classList.remove("top-menu__saved_hidden"),window.setTimeout(function(){document.getElementById("saved").classList.add("top-menu__saved_hidden")},1e3)},type:"POST",url:"/admin/feed",data:JSON.stringify({item_id:r,item_type:o,item_below_value:i})};codex.core.ajax(a)}})},e}({})},function(e,t,n){"use strict";var r,o,i=(r=function(e){var t=e.target,n=document.getElementById("js-join-auth"),r=document.getElementById("js-email");n&&!r.value.length&&(n.classList.add("wobble"),window.setTimeout(function(){return n.classList.remove("wobble")},450),t.value="")},o=function(){document.getElementById("blankAdditionalFields").classList.toggle("hide")},{init:function(){var e=document.getElementById("joinBlank");if(null!=e){var t=e.getElementsByTagName("textarea");if(t.length)for(var n=t.length-1;n>=0;n--)t[n].addEventListener("keyup",r,!1)}var i=document.getElementById("blankShowAdditionalFieldsButton");null!=i&&i.addEventListener("click",o,!1)}});e.exports=i},function(e,t,n){"use strict";e.exports={ajax:function(e){if(e&&e.url){var t=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),n=function(){};e.async=!0,e.type=e.type||"GET",e.data=e.data||"",e["content-type"]=e["content-type"]||"application/json; charset=utf-8",n=e.success||n,"GET"==e.type&&e.data&&(e.url=/\?/.test(e.url)?e.url+"&"+e.data:e.url+"?"+e.data),e.withCredentials&&(t.withCredentials=!0),e.beforeSend&&"function"==typeof e.beforeSend&&e.beforeSend.call(),t.open(e.type,e.url,e.async),t.setRequestHeader("Content-type",e["content-type"]),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.onreadystatechange=function(){4==t.readyState&&200==t.status&&n(t.responseText)},t.send(e.data)}},log:function(e,t,n,r){if(t){for(t=t.length<32?t:t.substr(0,30);t.length<31;)t+=" ";e=(t+=":")+e}n=n||"log";try{"console"in window&&window.console[n]&&(r?console[n](e,r):console[n](e))}catch(e){}}}},function(e,t,n){"use strict";e.exports=function(e){var t={findDraggable:function(e){return e.target.closest("."+n)},findDroppable:function(e){return document.elementFromPoint(e.clientX,e.clientY).closest("."+r)},makeAvatar:function(e){var t={};return(t={elem:e,parentNode:e.parentNode,nextSibling:e.nextElementSibling,rollback:function(){t.elem.classList.remove("dnd-default-avatar"),t.nextSibling?t.parentNode.insertBefore(t.elem,t.nextSibling):t.parentNode.appendChild(t.elem),delete l.avatar}}).elem.classList.add("dnd-default-avatar"),t},targetChanged:function(e,t){e&&e.classList("dnd-default-target-highlight"),t&&t.classList.add("dnd-default-target-highlight")},move:function(e,t,n){t.elem.style.left=e.pageX-n.x+"px",t.elem.style.top=e.pageY-n.y+"px"},targetReached:function(e,t,n){e.classList.remove("dnd-default-target-highlight"),e.parentNode.insertBefore(n,e.nextElementSibling),t.elem.classList.remove("dnd-default-avatar")}},n=e.draggableClass||"draggable",r=e.droppableClass||"droppable",o=e.findDraggable||t.findDraggable,i=e.findDroppable||t.findDroppable,a=e.makeAvatar||t.makeAvatar,s=e.targetChanged||t.targetChanged,c=e.move||t.move,u=e.targetReached||t.targetReached,l={},f=function(e){if(!(e.which>1)&&(e=m(e),l.clickedAt={x:e.pageX,y:e.pageY},l.elem=o(e),l.elem)){y();var t=h(l.elem);l.shift={x:e.pageX-t.x,y:e.pageY-t.y}}},d=function(e){if(l.elem&&(e.preventDefault(),e=m(e),!(Math.abs(e.pageX-l.clickedAt.x)<5&&Math.abs(e.pageY-l.clickedAt.y)<5))){l.avatar||(l.avatar=a(l.elem));var t=i(e);t!=l.target&&(s(l.target,t,l.avatar),l.target=t),c(e,l.avatar,l.shift)}},p=function(e){if(!(e.which>1))if(l.avatar){e=m(e);var t=i(e);t?u(t,l.avatar,l.elem,e):l.avatar.rollback(),l={},y()}else l={}},h=function(e){var t=e.getBoundingClientRect();return{x:t.left+window.pageXOffset,y:t.top+window.pageYOffset}},m=function(e){if(!e.changedTouches)return e;var t=e.changedTouches[0];return e.pageX=t.pageX,e.pageY=t.pageY,e.clientX=t.clientX,e.clientY=t.clientY,e.screenX=t.screenX,e.screenY=t.screenY,e.target=t.target,e},y=function(){document.body.classList.toggle("no-selection")};document.addEventListener("mousedown",f),document.addEventListener("touchstart",f),document.addEventListener("mousemove",d),document.addEventListener("touchmove",d),document.addEventListener("mouseup",p),document.addEventListener("touchend",p),document.ondragstart=function(){return!1}}},function(e,t,n){"use strict";var r,o,i;e.exports=(r=null,o=function(){window.scrollTo(0,0)},i=function(){window.pageYOffset>100?r.classList.add("show"):r.classList.remove("show")},{init:function(){(r=document.createElement("DIV")).classList.add("scroll-up"),document.body.appendChild(r),r.addEventListener("click",o),window.addEventListener("scroll",i)}})},function(e,t,n){"use strict";var r;e.exports=((r={}).vkontakte=function(e){var t="https://vk.com/share.php?";t+="url="+e.url,t+="&title="+e.title,t+="&description="+e.desc,t+="&image="+e.img,t+="&noparse=true",r.popup(t,"vkontakte")},r.facebook=function(e){var t="https://www.facebook.com/dialog/share?display=popup";t+="&app_id=1740455756240878",t+="&href="+e.url,t+="&redirect_uri="+document.location.href,r.popup(t,"facebook")},r.twitter=function(e){var t="https://twitter.com/share?";t+="text="+e.title,t+="&url="+e.url,t+="&counturl="+e.url,r.popup(t,"twitter")},r.telegram=function(e){var t="https://telegram.me/share/url";t+="?text="+e.title,t+="&url="+e.url,r.popup(t,"telegram")},r.popup=function(e,t){window.open(e,"","toolbar=0,status=0,width=626,height=436"),window.yaCounter32652805&&window.yaCounter32652805.reachGoal("article-share",function(){},this,{type:t,url:e})},r.init=function(e){console.assert(e.buttonsSelector,"Sharer: buttons selector is missed");for(var t=document.querySelectorAll(e.buttonsSelector),n=t.length-1;n>=0;n--)t[n].addEventListener("click",r.click,!0)},r.click=function(e){var t=e.target,n=t.dataset.shareType||t.parentNode.dataset.shareType;if(r[n]){var o={url:t.dataset.url||t.parentNode.dataset.url,title:t.dataset.title||t.parentNode.dataset.title,desc:t.dataset.desc||t.parentNode.dataset.desc,img:t.dataset.img||t.parentNode.dataset.title};r[n](o)}},r)},function(e,t,n){"use strict";var r,o=(r=function(e){var t={data:"id="+e.target.id+"&value="+(e.target.checked?1:0),url:"/admin/developer"};codex.core.ajax(t)},{init:function(){for(var e=document.querySelectorAll(".developer-checkbox"),t=e.length-1;t>-1;t--)e[t].addEventListener("change",r)}});e.exports=o},function(e,t,n){"use strict";var r={init:function(e){for(var t,n=document.querySelectorAll(".news__list_item"),r=[],o=0;t=n[o];o++)t.classList.contains("news__list_item--hidden")&&r.push(t);r.splice(0,5).map(function(e){e.classList.remove("news__list_item--hidden")}),r.length||e.classList.add("news__list_item--hidden")}};e.exports=r},function(e,t,n){"use strict";var r=(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),void(Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}return null})));e.exports=r},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o={xhr:function(e){var t=function e(t,n,o){var i,a,s,c;if(c=/\[\]$/,n instanceof Array)for(a=0,s=n.length;a-1?t.documentElement.innerHTML=e:t.body.innerHTML=e,t}, /** * Adapted from {@link http://www.bulgaria-web-developers.com/projects/javascript/serialize/} * Changes: @@ -32,7 +32,7 @@ e.serialize=function(e){var t,n,r,o,i,a=[];function s(e){return encodeURICompone * * @author Taly Guryn * @license MIT - */e.exports=(r=function(e){"object"!==(void 0===e?"undefined":c(e))&&s("Passed element is not an object");var t=e.dataset.link||e.href,n=e.dataset.appLink;i(n,t)},o=function(e){e||s("Can not open app, because appLink is undefined");var t=document.createElement("iframe");t.style.display="none",document.body.appendChild(t),null!==t&&(t.src=e)},i=function(e,t){var n=!1;window.addEventListener("pagehide",function(){n=!0},!1),window.addEventListener("blur",function(){n=!0},!1),o(e),setTimeout(function(){n||a(t)},100)},a=function(e){e||s("Can not open page because link is undefined"),window.open(e,"_blank")},s=function(e){throw Error("[Deeplinker] "+e)},{click:r,init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:".deeplinker",t=document.querySelectorAll(e);t.length&&Array.prototype.slice.call(t).forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),r(e)})})},tryToOpenApp:o})}])},function(e,t,n){"use strict";function r(e,t){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(o())}).call(this,n(32))},function(e,t,n){function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}e.exports=r,r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o1?{type:p[o],data:e.substring(1)}:{type:p[o]}:h}o=new Uint8Array(e)[0];var i=a(e,1);return m&&"blob"===n&&(i=new m([i])),{type:p[o],data:i}},t.decodeBase64Packet=function(e,t){var n=p[e.charAt(0)];if(!r)return{type:n,data:{base64:!0,data:e.substr(1)}};var o=r.decode(e.substr(1));return"blob"===t&&m&&(o=new m([o])),{type:n,data:o}},t.encodePayload=function(e,n,r){"function"==typeof n&&(r=n,n=null);var o=i(e);return n&&o?m&&!f?t.encodePayloadAsBlob(e,r):t.encodePayloadAsArrayBuffer(e,r):e.length?void y(e,function(e,r){t.encodePacket(e,!!o&&n,!1,function(e){r(null,function(e){return e.length+":"+e}(e))})},function(e,t){return r(t.join(""))}):r("0:")},t.decodePayload=function(e,n,r){if("string"!=typeof e)return t.decodePayloadAsBinary(e,n,r);var o;if("function"==typeof n&&(r=n,n=null),""===e)return r(h,0,1);for(var i,a,s="",c=0,u=e.length;c0;){for(var s=new Uint8Array(o),c=0===s[0],u="",l=1;255!==s[l];l++){if(u.length>310)return r(h,0,1);u+=s[l]}o=a(o,2+u.length),u=parseInt(u);var f=a(o,0,u);if(c)try{f=String.fromCharCode.apply(null,new Uint8Array(f))}catch(e){var d=new Uint8Array(f);for(f="",l=0;l0&&!this.encoding){var e=this.packetBuffer.shift();this.packet(e)}},p.prototype.cleanup=function(){u("cleanup");for(var e=this.subs.length,t=0;t=this._reconnectionAttempts)u("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var t=this.backoff.duration();u("will wait %dms before reconnect attempt",t),this.reconnecting=!0;var n=setTimeout(function(){e.skipReconnect||(u("attempting reconnect"),e.emitAll("reconnect_attempt",e.backoff.attempts),e.emitAll("reconnecting",e.backoff.attempts),e.skipReconnect||e.open(function(t){t?(u("reconnect attempt error"),e.reconnecting=!1,e.reconnect(),e.emitAll("reconnect_error",t.data)):(u("reconnect success"),e.onreconnect())}))},t);this.subs.push({destroy:function(){clearTimeout(n)}})}},p.prototype.onreconnect=function(){var e=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",e)}},function(e,t,n){(function(e){var r=n(7),o=n(39),i=n(51),a=n(52);t.polling=function(t){var n=!1,a=!1,s=!1!==t.jsonp;if(e.location){var c="https:"===location.protocol,u=location.port;u||(u=c?443:80),n=t.hostname!==location.hostname||u!==t.port,a=t.secure!==c}if(t.xdomain=n,t.xscheme=a,"open"in new r(t)&&!t.forceJSONP)return new o(t);if(!s)throw new Error("JSONP disabled");return new i(t)},t.websocket=a}).call(this,n(0))},function(e,t,n){var r=n(8),o=n(4),i=n(3),a=n(5),s=n(17),c=n(1)("engine.io-client:polling");e.exports=l;var u=null!=new(n(7))({xdomain:!1}).responseType;function l(e){var t=e&&e.forceBase64;u&&!t||(this.supportsBinary=!1),r.call(this,e)}a(l,r),l.prototype.name="polling",l.prototype.doOpen=function(){this.poll()},l.prototype.pause=function(e){var t=this;function n(){c("paused"),t.readyState="paused",e()}if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(c("we are currently polling - waiting to pause"),r++,this.once("pollComplete",function(){c("pre-pause polling complete"),--r||n()})),this.writable||(c("we are currently writing - waiting to pause"),r++,this.once("drain",function(){c("pre-pause writing complete"),--r||n()}))}else n()},l.prototype.poll=function(){c("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},l.prototype.onData=function(e){var t=this;c("polling got data %s",e),i.decodePayload(e,this.socket.binaryType,function(e,n,r){if("opening"===t.readyState&&t.onOpen(),"close"===e.type)return t.onClose(),!1;t.onPacket(e)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():c('ignoring poll - transport state "%s"',this.readyState))},l.prototype.doClose=function(){var e=this;function t(){c("writing close packet"),e.write([{type:"close"}])}"open"===this.readyState?(c("transport open - closing"),t()):(c("transport not open - deferring close"),this.once("open",t))},l.prototype.write=function(e){var t=this;this.writable=!1;var n=function(){t.writable=!0,t.emit("drain")};i.encodePayload(e,this.supportsBinary,function(e){t.doWrite(e,n)})},l.prototype.uri=function(){var e=this.query||{},t=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(e[this.timestampParam]=s()),this.supportsBinary||e.sid||(e.b64=1),e=o.encode(e),this.port&&("https"===t&&443!==Number(this.port)||"http"===t&&80!==Number(this.port))&&(n=":"+this.port),e.length&&(e="?"+e),t+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+e}},function(e,t,n){(function(t){var r=n(45),o=Object.prototype.toString,i="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);e.exports=function e(n){if(!n||"object"!=typeof n)return!1;if(r(n)){for(var o=0,s=n.length;o0);return t}function l(){var e=u(+new Date);return e!==r?(s=0,r=e):e+"."+u(s++)}for(;c=0&&c.splice(t,1)}function h(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=n.nc;r&&(e.attrs.nonce=r)}return m(t,e.attrs),d(e,t),t}function m(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var c=s++;n=a||(a=h(t)),r=v.bind(null,n,c,!1),o=v.bind(null,n,c,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",m(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=u(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){p(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=f(e,t);return l(n,t),function(e){for(var o=[],i=0;i1)for(var n=1;n0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){return a(e,i,"day")||a(e,o,"hour")||a(e,r,"minute")||a(e,n,"second")||e+" ms"}(e):function(e){return e>=i?Math.round(e/i)+"d":e>=o?Math.round(e/o)+"h":e>=r?Math.round(e/r)+"m":e>=n?Math.round(e/n)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){(function(e){var r=n(11),o=n(12),i=Object.prototype.toString,a="function"==typeof e.Blob||"[object BlobConstructor]"===i.call(e.Blob),s="function"==typeof e.File||"[object FileConstructor]"===i.call(e.File);t.deconstructPacket=function(e){var t=[],n=e.data,i=e;return i.data=function e(t,n){if(!t)return t;if(o(t)){var i={_placeholder:!0,num:n.length};return n.push(t),i}if(r(t)){for(var a=new Array(t.length),s=0;s0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}e.exports=l,l.priorWebsocketSuccess=!1,o(l.prototype),l.protocol=s.protocol,l.Socket=l,l.Transport=n(8),l.transports=n(14),l.parser=n(3),l.prototype.createTransport=function(e){i('creating transport "%s"',e);var t=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}(this.query);t.EIO=s.protocol,t.transport=e;var n=this.transportOptions[e]||{};return this.id&&(t.sid=this.id),new r[e]({query:t,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0})},l.prototype.open=function(){var e;if(this.rememberUpgrade&&l.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length){var t=this;return void setTimeout(function(){t.emit("error","No transports available")},0)}e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)},l.prototype.setTransport=function(e){i("setting transport %s",e.name);var t=this;this.transport&&(i("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",function(){t.onDrain()}).on("packet",function(e){t.onPacket(e)}).on("error",function(e){t.onError(e)}).on("close",function(){t.onClose("transport close")})},l.prototype.probe=function(e){i('probing transport "%s"',e);var t=this.createTransport(e,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var o=!this.supportsBinary&&r.transport.supportsBinary;n=n||o}n||(i('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",function(o){if(!n)if("pong"===o.type&&"probe"===o.data){if(i('probe transport "%s" pong',e),r.upgrading=!0,r.emit("upgrading",t),!t)return;l.priorWebsocketSuccess="websocket"===t.name,i('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(i("changing transport and sending upgrade packet"),d(),r.setTransport(t),t.send([{type:"upgrade"}]),r.emit("upgrade",t),t=null,r.upgrading=!1,r.flush())})}else{i('probe transport "%s" failed',e);var a=new Error("probe error");a.transport=t.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,d(),t.close(),t=null)}function s(n){var o=new Error("probe error: "+n);o.transport=t.name,a(),i('probe transport "%s" failed because of error: %s',e,n),r.emit("upgradeError",o)}function c(){s("transport closed")}function u(){s("socket closed")}function f(e){t&&e.name!==t.name&&(i('"%s" works - aborting "%s"',e.name,t.name),a())}function d(){t.removeListener("open",o),t.removeListener("error",s),t.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",f)}l.priorWebsocketSuccess=!1,t.once("open",o),t.once("error",s),t.once("close",c),this.once("close",u),this.once("upgrading",f),t.open()},l.prototype.onOpen=function(){if(i("socket open"),this.readyState="open",l.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){i("starting upgrade probes");for(var e=0,t=this.upgrades.length;e0&&void 0!==arguments[0]?arguments[0]:".deeplinker",t=document.querySelectorAll(e);t.length&&Array.prototype.slice.call(t).forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),r(e)})})},tryToOpenApp:o})}])},function(e,t,n){"use strict";function r(e,t){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(o())}).call(this,n(32))},function(e,t,n){function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}e.exports=r,r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+e];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o1?{type:p[o],data:e.substring(1)}:{type:p[o]}:h}o=new Uint8Array(e)[0];var i=a(e,1);return m&&"blob"===n&&(i=new m([i])),{type:p[o],data:i}},t.decodeBase64Packet=function(e,t){var n=p[e.charAt(0)];if(!r)return{type:n,data:{base64:!0,data:e.substr(1)}};var o=r.decode(e.substr(1));return"blob"===t&&m&&(o=new m([o])),{type:n,data:o}},t.encodePayload=function(e,n,r){"function"==typeof n&&(r=n,n=null);var o=i(e);return n&&o?m&&!f?t.encodePayloadAsBlob(e,r):t.encodePayloadAsArrayBuffer(e,r):e.length?void y(e,function(e,r){t.encodePacket(e,!!o&&n,!1,function(e){r(null,function(e){return e.length+":"+e}(e))})},function(e,t){return r(t.join(""))}):r("0:")},t.decodePayload=function(e,n,r){if("string"!=typeof e)return t.decodePayloadAsBinary(e,n,r);var o;if("function"==typeof n&&(r=n,n=null),""===e)return r(h,0,1);for(var i,a,s="",c=0,u=e.length;c0;){for(var s=new Uint8Array(o),c=0===s[0],u="",l=1;255!==s[l];l++){if(u.length>310)return r(h,0,1);u+=s[l]}o=a(o,2+u.length),u=parseInt(u);var f=a(o,0,u);if(c)try{f=String.fromCharCode.apply(null,new Uint8Array(f))}catch(e){var d=new Uint8Array(f);for(f="",l=0;l0&&!this.encoding){var e=this.packetBuffer.shift();this.packet(e)}},p.prototype.cleanup=function(){u("cleanup");for(var e=this.subs.length,t=0;t=this._reconnectionAttempts)u("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var t=this.backoff.duration();u("will wait %dms before reconnect attempt",t),this.reconnecting=!0;var n=setTimeout(function(){e.skipReconnect||(u("attempting reconnect"),e.emitAll("reconnect_attempt",e.backoff.attempts),e.emitAll("reconnecting",e.backoff.attempts),e.skipReconnect||e.open(function(t){t?(u("reconnect attempt error"),e.reconnecting=!1,e.reconnect(),e.emitAll("reconnect_error",t.data)):(u("reconnect success"),e.onreconnect())}))},t);this.subs.push({destroy:function(){clearTimeout(n)}})}},p.prototype.onreconnect=function(){var e=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",e)}},function(e,t,n){(function(e){var r=n(7),o=n(39),i=n(51),a=n(52);t.polling=function(t){var n=!1,a=!1,s=!1!==t.jsonp;if(e.location){var c="https:"===location.protocol,u=location.port;u||(u=c?443:80),n=t.hostname!==location.hostname||u!==t.port,a=t.secure!==c}if(t.xdomain=n,t.xscheme=a,"open"in new r(t)&&!t.forceJSONP)return new o(t);if(!s)throw new Error("JSONP disabled");return new i(t)},t.websocket=a}).call(this,n(0))},function(e,t,n){var r=n(8),o=n(4),i=n(3),a=n(5),s=n(17),c=n(1)("engine.io-client:polling");e.exports=l;var u=null!=new(n(7))({xdomain:!1}).responseType;function l(e){var t=e&&e.forceBase64;u&&!t||(this.supportsBinary=!1),r.call(this,e)}a(l,r),l.prototype.name="polling",l.prototype.doOpen=function(){this.poll()},l.prototype.pause=function(e){var t=this;function n(){c("paused"),t.readyState="paused",e()}if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(c("we are currently polling - waiting to pause"),r++,this.once("pollComplete",function(){c("pre-pause polling complete"),--r||n()})),this.writable||(c("we are currently writing - waiting to pause"),r++,this.once("drain",function(){c("pre-pause writing complete"),--r||n()}))}else n()},l.prototype.poll=function(){c("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},l.prototype.onData=function(e){var t=this;c("polling got data %s",e),i.decodePayload(e,this.socket.binaryType,function(e,n,r){if("opening"===t.readyState&&t.onOpen(),"close"===e.type)return t.onClose(),!1;t.onPacket(e)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():c('ignoring poll - transport state "%s"',this.readyState))},l.prototype.doClose=function(){var e=this;function t(){c("writing close packet"),e.write([{type:"close"}])}"open"===this.readyState?(c("transport open - closing"),t()):(c("transport not open - deferring close"),this.once("open",t))},l.prototype.write=function(e){var t=this;this.writable=!1;var n=function(){t.writable=!0,t.emit("drain")};i.encodePayload(e,this.supportsBinary,function(e){t.doWrite(e,n)})},l.prototype.uri=function(){var e=this.query||{},t=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(e[this.timestampParam]=s()),this.supportsBinary||e.sid||(e.b64=1),e=o.encode(e),this.port&&("https"===t&&443!==Number(this.port)||"http"===t&&80!==Number(this.port))&&(n=":"+this.port),e.length&&(e="?"+e),t+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+e}},function(e,t,n){(function(t){var r=n(45),o=Object.prototype.toString,i="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);e.exports=function e(n){if(!n||"object"!=typeof n)return!1;if(r(n)){for(var o=0,s=n.length;o0);return t}function l(){var e=u(+new Date);return e!==r?(s=0,r=e):e+"."+u(s++)}for(;c=0&&c.splice(t,1)}function h(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=n.nc;r&&(e.attrs.nonce=r)}return m(t,e.attrs),d(e,t),t}function m(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var c=s++;n=a||(a=h(t)),r=v.bind(null,n,c,!1),o=v.bind(null,n,c,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",m(t,e.attrs),d(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=u(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,t),o=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=h(t),r=function(e,t){var n=t.css,r=t.media;if(r&&e.setAttribute("media",r),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){p(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=f(e,t);return l(n,t),function(e){for(var o=[],i=0;i1)for(var n=1;n0)return function(e){if(!((e=String(e)).length>100)){var t=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var a=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===s&&!1===isNaN(e))return t.long?function(e){return a(e,i,"day")||a(e,o,"hour")||a(e,r,"minute")||a(e,n,"second")||e+" ms"}(e):function(e){return e>=i?Math.round(e/i)+"d":e>=o?Math.round(e/o)+"h":e>=r?Math.round(e/r)+"m":e>=n?Math.round(e/n)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){(function(e){var r=n(11),o=n(12),i=Object.prototype.toString,a="function"==typeof e.Blob||"[object BlobConstructor]"===i.call(e.Blob),s="function"==typeof e.File||"[object FileConstructor]"===i.call(e.File);t.deconstructPacket=function(e){var t=[],n=e.data,i=e;return i.data=function e(t,n){if(!t)return t;if(o(t)){var i={_placeholder:!0,num:n.length};return n.push(t),i}if(r(t)){for(var a=new Array(t.length),s=0;s0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}e.exports=l,l.priorWebsocketSuccess=!1,o(l.prototype),l.protocol=s.protocol,l.Socket=l,l.Transport=n(8),l.transports=n(14),l.parser=n(3),l.prototype.createTransport=function(e){i('creating transport "%s"',e);var t=function(e){var t={};for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}(this.query);t.EIO=s.protocol,t.transport=e;var n=this.transportOptions[e]||{};return this.id&&(t.sid=this.id),new r[e]({query:t,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0})},l.prototype.open=function(){var e;if(this.rememberUpgrade&&l.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length){var t=this;return void setTimeout(function(){t.emit("error","No transports available")},0)}e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return this.transports.shift(),void this.open()}e.open(),this.setTransport(e)},l.prototype.setTransport=function(e){i("setting transport %s",e.name);var t=this;this.transport&&(i("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",function(){t.onDrain()}).on("packet",function(e){t.onPacket(e)}).on("error",function(e){t.onError(e)}).on("close",function(){t.onClose("transport close")})},l.prototype.probe=function(e){i('probing transport "%s"',e);var t=this.createTransport(e,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var o=!this.supportsBinary&&r.transport.supportsBinary;n=n||o}n||(i('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",function(o){if(!n)if("pong"===o.type&&"probe"===o.data){if(i('probe transport "%s" pong',e),r.upgrading=!0,r.emit("upgrading",t),!t)return;l.priorWebsocketSuccess="websocket"===t.name,i('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(i("changing transport and sending upgrade packet"),d(),r.setTransport(t),t.send([{type:"upgrade"}]),r.emit("upgrade",t),t=null,r.upgrading=!1,r.flush())})}else{i('probe transport "%s" failed',e);var a=new Error("probe error");a.transport=t.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,d(),t.close(),t=null)}function s(n){var o=new Error("probe error: "+n);o.transport=t.name,a(),i('probe transport "%s" failed because of error: %s',e,n),r.emit("upgradeError",o)}function c(){s("transport closed")}function u(){s("socket closed")}function f(e){t&&e.name!==t.name&&(i('"%s" works - aborting "%s"',e.name,t.name),a())}function d(){t.removeListener("open",o),t.removeListener("error",s),t.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",f)}l.priorWebsocketSuccess=!1,t.once("open",o),t.once("error",s),t.once("close",c),this.once("close",u),this.once("upgrading",f),t.open()},l.prototype.onOpen=function(){if(i("socket open"),this.readyState="open",l.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){i("starting upgrade probes");for(var e=0,t=this.upgrades.length;e Date: Fri, 29 Mar 2019 00:52:31 +0300 Subject: [PATCH 02/14] Commit prod bundle --- www/public/build/codex.bundle.js | 624 +++---------------------------- 1 file changed, 44 insertions(+), 580 deletions(-) diff --git a/www/public/build/codex.bundle.js b/www/public/build/codex.bundle.js index 8f5cfa5ab..14a0269e2 100644 --- a/www/public/build/codex.bundle.js +++ b/www/public/build/codex.bundle.js @@ -1,580 +1,44 @@ -var codex = -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ -/******/ -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = []; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(installedChunks[chunkId]) { -/******/ resolves.push(installedChunks[chunkId][0]); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ for(moduleId in moreModules) { -/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ modules[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(parentJsonpFunction) parentJsonpFunction(data); -/******/ -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ -/******/ }; -/******/ -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // Promise = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "codex": 0 -/******/ }; -/******/ -/******/ -/******/ -/******/ // script path function -/******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "" + ({"editor":"editor"}[chunkId]||chunkId) + ".bundle.js?h=" + "b96eb3dca355eec6cb86" + "" -/******/ } -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ // This file contains only the entry chunk. -/******/ // The chunk loading function for additional chunks -/******/ __webpack_require__.e = function requireEnsure(chunkId) { -/******/ var promises = []; -/******/ -/******/ -/******/ // JSONP chunk loading for javascript -/******/ -/******/ var installedChunkData = installedChunks[chunkId]; -/******/ if(installedChunkData !== 0) { // 0 means "already installed". -/******/ -/******/ // a Promise means "currently loading". -/******/ if(installedChunkData) { -/******/ promises.push(installedChunkData[2]); -/******/ } else { -/******/ // setup Promise in chunk cache -/******/ var promise = new Promise(function(resolve, reject) { -/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; -/******/ }); -/******/ promises.push(installedChunkData[2] = promise); -/******/ -/******/ // start chunk loading -/******/ var script = document.createElement('script'); -/******/ var onScriptComplete; -/******/ -/******/ script.charset = 'utf-8'; -/******/ script.timeout = 120; -/******/ if (__webpack_require__.nc) { -/******/ script.setAttribute("nonce", __webpack_require__.nc); -/******/ } -/******/ script.src = jsonpScriptSrc(chunkId); -/******/ -/******/ onScriptComplete = function (event) { -/******/ // avoid mem leaks in IE. -/******/ script.onerror = script.onload = null; -/******/ clearTimeout(timeout); -/******/ var chunk = installedChunks[chunkId]; -/******/ if(chunk !== 0) { -/******/ if(chunk) { -/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); -/******/ var realSrc = event && event.target && event.target.src; -/******/ var error = new Error('Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'); -/******/ error.type = errorType; -/******/ error.request = realSrc; -/******/ chunk[1](error); -/******/ } -/******/ installedChunks[chunkId] = undefined; -/******/ } -/******/ }; -/******/ var timeout = setTimeout(function(){ -/******/ onScriptComplete({ type: 'timeout', target: script }); -/******/ }, 120000); -/******/ script.onerror = script.onload = onScriptComplete; -/******/ document.head.appendChild(script); -/******/ } -/******/ } -/******/ return Promise.all(promises); -/******/ }; -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "/public/build/"; -/******/ -/******/ // on error function for async loading -/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; -/******/ -/******/ var jsonpArray = window["webpackJsonp_name_"] = window["webpackJsonp_name_"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); -/******/ var parentJsonpFunction = oldJsonpFunction; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = "./public/app/js/main.js"); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/@codexteam/ajax/dist/main.js": -/*!***************************************************!*\ - !*** ./node_modules/@codexteam/ajax/dist/main.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("!function(e,t){ true?module.exports=t():undefined}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=3)}([function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){\"use strict\";(function(e){var r=n(2),o=setTimeout;function i(){}function a(e){if(!(this instanceof a))throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof e)throw new TypeError(\"not a function\");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],l(e,this)}function u(e,t){for(;3===e._state;)e=e._value;0!==e._state?(e._handled=!0,a._immediateFn(function(){var n=1===e._state?t.onFulfilled:t.onRejected;if(null!==n){var r;try{r=n(e._value)}catch(e){return void s(t.promise,e)}c(t.promise,r)}else(1===e._state?c:s)(t.promise,e._value)})):e._deferreds.push(t)}function c(e,t){try{if(t===e)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"==typeof t||\"function\"==typeof t)){var n=t.then;if(t instanceof a)return e._state=3,e._value=t,void f(e);if(\"function\"==typeof n)return void l(function(e,t){return function(){e.apply(t,arguments)}}(n,t),e)}e._state=1,e._value=t,f(e)}catch(t){s(e,t)}}function s(e,t){e._state=2,e._value=t,f(e)}function f(e){2===e._state&&0===e._deferreds.length&&a._immediateFn(function(){e._handled||a._unhandledRejectionFn(e._value)});for(var t=0,n=e._deferreds.length;t100)throw new Error(\"`ratio` must be in a 0-100 interval\");if(t.ratio=t.ratio||90,t.accept&&\"string\"!=typeof t.accept)throw new Error(\"`accept` must be a string with a list of allowed mime-types\");if(t.accept=t.accept||\"*/*\",t.multiple&&\"boolean\"!=typeof t.multiple)throw new Error(\"`multiple` must be a true or false\");if(t.multiple=t.multiple||!1,t.fieldName&&\"string\"!=typeof t.fieldName)throw new Error(\"`fieldName` must be a string\");return t.fieldName=t.fieldName||\"files\",t},u=function(t){switch(t.method){case\"GET\":var n=c(t.data,e.URLENCODED);delete t.data,t.url=/\\?/.test(t.url)?t.url+\"&\"+n:t.url+\"?\"+n;break;case\"POST\":case\"PUT\":case\"DELETE\":case\"UPDATE\":var r=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).type||e.JSON}(t);(o.isFormData(t.data)||o.isFormElement(t.data))&&(r=e.FORM),t.data=c(t.data,r),r!==i.contentType.FORM&&(t.headers[\"content-type\"]=r)}return t},c=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(arguments.length>1?arguments[1]:void 0){case e.URLENCODED:return o.urlEncode(t);case e.JSON:return o.jsonEncode(t);case e.FORM:return o.formEncode(t);default:return t}};return{contentType:e,request:t,get:function(e){return e.method=\"GET\",t(e)},post:n,transport:function(e){return e=a(e),o.transport(e).then(function(t){return o.isObject(e.data)&&Object.keys(e.data).forEach(function(n){var r=e.data[n];t.append(n,r)}),e.data=t,n(e)})}}}();e.exports=i},function(e,t,n){\"use strict\";n.r(t);var r=n(1);window.Promise=window.Promise||r.a},function(e,t,n){(function(e){var r=void 0!==e&&e||\"undefined\"!=typeof self&&self||window,o=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(o.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new i(o.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(6),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";if(!e.setImmediate){var r,o=1,i={},a=!1,u=e.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(e);c=c&&c.setTimeout?c:e,\"[object process]\"==={}.toString.call(e.process)?r=function(e){t.nextTick(function(){f(e)})}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?function(){var t=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===e&&\"string\"==typeof n.data&&0===n.data.indexOf(t)&&f(+n.data.slice(t.length))};e.addEventListener?e.addEventListener(\"message\",n,!1):e.attachEvent(\"onmessage\",n),r=function(n){e.postMessage(t+n,\"*\")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){f(e.data)},r=function(t){e.port2.postMessage(t)}}():u&&\"onreadystatechange\"in u.createElement(\"script\")?function(){var e=u.documentElement;r=function(t){var n=u.createElement(\"script\");n.onreadystatechange=function(){f(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():r=function(e){setTimeout(f,0,e)},c.setImmediate=function(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n HTMLElement\")}},{key:\"isObject\",value:function(e){return\"[object Object]\"===Object.prototype.toString.call(e)}},{key:\"isFormData\",value:function(e){return e instanceof FormData}},{key:\"isFormElement\",value:function(e){return e instanceof HTMLFormElement}},{key:\"transport\",value:function(e){return new Promise(function(t,n){var r=document.createElement(\"INPUT\");r.type=\"file\",e.multiple&&r.setAttribute(\"multiple\",\"multiple\"),e.accept&&r.setAttribute(\"accept\",e.accept),r.addEventListener(\"change\",function(n){for(var r=n.target.files,o=new FormData,i=0;i\n * @license MIT\n */e.exports=(o=function(e){\"object\"!==(void 0===e?\"undefined\":f(e))&&c(\"Passed element is not an object\");var n=e.dataset.link||e.href,t=e.dataset.appLink;i(t,n)},r=function(e){e||c(\"Can not open app, because appLink is undefined\");var n=document.createElement(\"iframe\");n.style.display=\"none\",document.body.appendChild(n),null!==n&&(n.src=e)},i=function(e,n){var t=!1;window.addEventListener(\"pagehide\",function(){t=!0},!1),window.addEventListener(\"blur\",function(){t=!0},!1),r(e),setTimeout(function(){t||u(n)},100)},u=function(e){e||c(\"Can not open page because link is undefined\"),window.open(e,\"_blank\")},c=function(e){throw Error(\"[Deeplinker] \"+e)},{click:o,init:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\".deeplinker\",n=document.querySelectorAll(e);n.length&&Array.prototype.slice.call(n).forEach(function(e){e.addEventListener(\"click\",function(n){n.preventDefault(),o(e)})})},tryToOpenApp:r})}])});\n\n//# sourceURL=webpack://%5Bname%5D/./node_modules/@codexteam/deeplinker/dist/deeplinker.js?"); - -/***/ }), - -/***/ "./node_modules/@codexteam/reactions/dist/reactions.js": -/*!*************************************************************!*\ - !*** ./node_modules/@codexteam/reactions/dist/reactions.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("!function(t,e){ true?module.exports=e():undefined}(window,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=22)}([function(t,e){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,e,n){(function(r){function o(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==r&&\"env\"in r&&(t=r.env.DEBUG),t}(e=t.exports=n(33)).log=function(){return\"object\"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var n=this.useColors;if(t[0]=(n?\"%c\":\"\")+this.namespace+(n?\" %c\":\" \")+t[0]+(n?\"%c \":\" \")+\"+\"+e.humanize(this.diff),!n)return;var r=\"color: \"+this.color;t.splice(1,0,r,\"color: inherit\");var o=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(t){\"%%\"!==t&&\"%c\"===t&&(i=++o)}),t.splice(i,0,r)},e.save=function(t){try{null==t?e.storage.removeItem(\"debug\"):e.storage.debug=t}catch(t){}},e.load=o,e.useColors=function(){if(\"undefined\"!=typeof window&&window.process&&\"renderer\"===window.process.type)return!0;if(\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/))return!1;return\"undefined\"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||\"undefined\"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||\"undefined\"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)},e.storage=\"undefined\"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=[\"#0000CC\",\"#0000FF\",\"#0033CC\",\"#0033FF\",\"#0066CC\",\"#0066FF\",\"#0099CC\",\"#0099FF\",\"#00CC00\",\"#00CC33\",\"#00CC66\",\"#00CC99\",\"#00CCCC\",\"#00CCFF\",\"#3300CC\",\"#3300FF\",\"#3333CC\",\"#3333FF\",\"#3366CC\",\"#3366FF\",\"#3399CC\",\"#3399FF\",\"#33CC00\",\"#33CC33\",\"#33CC66\",\"#33CC99\",\"#33CCCC\",\"#33CCFF\",\"#6600CC\",\"#6600FF\",\"#6633CC\",\"#6633FF\",\"#66CC00\",\"#66CC33\",\"#9900CC\",\"#9900FF\",\"#9933CC\",\"#9933FF\",\"#99CC00\",\"#99CC33\",\"#CC0000\",\"#CC0033\",\"#CC0066\",\"#CC0099\",\"#CC00CC\",\"#CC00FF\",\"#CC3300\",\"#CC3333\",\"#CC3366\",\"#CC3399\",\"#CC33CC\",\"#CC33FF\",\"#CC6600\",\"#CC6633\",\"#CC9900\",\"#CC9933\",\"#CCCC00\",\"#CCCC33\",\"#FF0000\",\"#FF0033\",\"#FF0066\",\"#FF0099\",\"#FF00CC\",\"#FF00FF\",\"#FF3300\",\"#FF3333\",\"#FF3366\",\"#FF3399\",\"#FF33CC\",\"#FF33FF\",\"#FF6600\",\"#FF6633\",\"#FF9900\",\"#FF9933\",\"#FFCC00\",\"#FFCC33\"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}},e.enable(o())}).call(this,n(32))},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[\"$\"+t]=this._callbacks[\"$\"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks[\"$\"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks[\"$\"+t],this;for(var o=0;o1?{type:p[o],data:t.substring(1)}:{type:p[o]}:d}o=new Uint8Array(t)[0];var i=a(t,1);return g&&\"blob\"===n&&(i=new g([i])),{type:p[o],data:i}},e.decodeBase64Packet=function(t,e){var n=p[t.charAt(0)];if(!r)return{type:n,data:{base64:!0,data:t.substr(1)}};var o=r.decode(t.substr(1));return\"blob\"===e&&g&&(o=new g([o])),{type:n,data:o}},e.encodePayload=function(t,n,r){\"function\"==typeof n&&(r=n,n=null);var o=i(t);if(n&&o)return g&&!h?e.encodePayloadAsBlob(t,r):e.encodePayloadAsArrayBuffer(t,r);if(!t.length)return r(\"0:\");y(t,function(t,r){e.encodePacket(t,!!o&&n,!1,function(t){r(null,function(t){return t.length+\":\"+t}(t))})},function(t,e){return r(e.join(\"\"))})},e.decodePayload=function(t,n,r){if(\"string\"!=typeof t)return e.decodePayloadAsBinary(t,n,r);var o;if(\"function\"==typeof n&&(r=n,n=null),\"\"===t)return r(d,0,1);for(var i,a,s=\"\",c=0,u=t.length;c0;){for(var s=new Uint8Array(o),c=0===s[0],u=\"\",f=1;255!==s[f];f++){if(u.length>310)return r(d,0,1);u+=s[f]}o=a(o,2+u.length),u=parseInt(u);var h=a(o,0,u);if(c)try{h=String.fromCharCode.apply(null,new Uint8Array(h))}catch(t){var l=new Uint8Array(h);h=\"\";for(f=0;f0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},p.prototype.cleanup=function(){u(\"cleanup\");for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)u(\"reconnect failed\"),this.backoff.reset(),this.emitAll(\"reconnect_failed\"),this.reconnecting=!1;else{var e=this.backoff.duration();u(\"will wait %dms before reconnect attempt\",e),this.reconnecting=!0;var n=setTimeout(function(){t.skipReconnect||(u(\"attempting reconnect\"),t.emitAll(\"reconnect_attempt\",t.backoff.attempts),t.emitAll(\"reconnecting\",t.backoff.attempts),t.skipReconnect||t.open(function(e){e?(u(\"reconnect attempt error\"),t.reconnecting=!1,t.reconnect(),t.emitAll(\"reconnect_error\",e.data)):(u(\"reconnect success\"),t.onreconnect())}))},e);this.subs.push({destroy:function(){clearTimeout(n)}})}},p.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll(\"reconnect\",t)}},function(t,e,n){(function(t){var r=n(7),o=n(39),i=n(51),a=n(52);e.polling=function(e){var n=!1,a=!1,s=!1!==e.jsonp;if(t.location){var c=\"https:\"===location.protocol,u=location.port;u||(u=c?443:80),n=e.hostname!==location.hostname||u!==e.port,a=e.secure!==c}if(e.xdomain=n,e.xscheme=a,\"open\"in new r(e)&&!e.forceJSONP)return new o(e);if(!s)throw new Error(\"JSONP disabled\");return new i(e)},e.websocket=a}).call(this,n(0))},function(t,e,n){var r=n(8),o=n(4),i=n(3),a=n(5),s=n(17),c=n(1)(\"engine.io-client:polling\");t.exports=f;var u=null!=new(n(7))({xdomain:!1}).responseType;function f(t){var e=t&&t.forceBase64;u&&!e||(this.supportsBinary=!1),r.call(this,t)}a(f,r),f.prototype.name=\"polling\",f.prototype.doOpen=function(){this.poll()},f.prototype.pause=function(t){var e=this;function n(){c(\"paused\"),e.readyState=\"paused\",t()}if(this.readyState=\"pausing\",this.polling||!this.writable){var r=0;this.polling&&(c(\"we are currently polling - waiting to pause\"),r++,this.once(\"pollComplete\",function(){c(\"pre-pause polling complete\"),--r||n()})),this.writable||(c(\"we are currently writing - waiting to pause\"),r++,this.once(\"drain\",function(){c(\"pre-pause writing complete\"),--r||n()}))}else n()},f.prototype.poll=function(){c(\"polling\"),this.polling=!0,this.doPoll(),this.emit(\"poll\")},f.prototype.onData=function(t){var e=this;c(\"polling got data %s\",t);i.decodePayload(t,this.socket.binaryType,function(t,n,r){if(\"opening\"===e.readyState&&e.onOpen(),\"close\"===t.type)return e.onClose(),!1;e.onPacket(t)}),\"closed\"!==this.readyState&&(this.polling=!1,this.emit(\"pollComplete\"),\"open\"===this.readyState?this.poll():c('ignoring poll - transport state \"%s\"',this.readyState))},f.prototype.doClose=function(){var t=this;function e(){c(\"writing close packet\"),t.write([{type:\"close\"}])}\"open\"===this.readyState?(c(\"transport open - closing\"),e()):(c(\"transport not open - deferring close\"),this.once(\"open\",e))},f.prototype.write=function(t){var e=this;this.writable=!1;var n=function(){e.writable=!0,e.emit(\"drain\")};i.encodePayload(t,this.supportsBinary,function(t){e.doWrite(t,n)})},f.prototype.uri=function(){var t=this.query||{},e=this.secure?\"https\":\"http\",n=\"\";return!1!==this.timestampRequests&&(t[this.timestampParam]=s()),this.supportsBinary||t.sid||(t.b64=1),t=o.encode(t),this.port&&(\"https\"===e&&443!==Number(this.port)||\"http\"===e&&80!==Number(this.port))&&(n=\":\"+this.port),t.length&&(t=\"?\"+t),e+\"://\"+(-1!==this.hostname.indexOf(\":\")?\"[\"+this.hostname+\"]\":this.hostname)+n+this.path+t}},function(t,e,n){(function(e){var r=n(45),o=Object.prototype.toString,i=\"function\"==typeof Blob||\"undefined\"!=typeof Blob&&\"[object BlobConstructor]\"===o.call(Blob),a=\"function\"==typeof File||\"undefined\"!=typeof File&&\"[object FileConstructor]\"===o.call(File);t.exports=function t(n){if(!n||\"object\"!=typeof n)return!1;if(r(n)){for(var o=0,s=n.length;o0);return e}function f(){var t=u(+new Date);return t!==r?(s=0,r=t):t+\".\"+u(s++)}for(;c=0&&c.splice(e,1)}function d(t){var e=document.createElement(\"style\");if(void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),void 0===t.attrs.nonce){var r=function(){0;return n.nc}();r&&(t.attrs.nonce=r)}return g(e,t.attrs),l(t,e),e}function g(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function y(t,e){var n,r,o,i;if(e.transform&&t.css){if(!(i=\"function\"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=i}if(e.singleton){var c=s++;n=a||(a=d(e)),r=v.bind(null,n,c,!1),o=v.bind(null,n,c,!0)}else t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(n=function(t){var e=document.createElement(\"link\");return void 0===t.attrs.type&&(t.attrs.type=\"text/css\"),t.attrs.rel=\"stylesheet\",g(e,t.attrs),l(t,e),e}(e),r=function(t,e,n){var r=n.css,o=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||i)&&(r=u(r));o&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\");var a=new Blob([r],{type:\"text/css\"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),o=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=d(e),r=function(t,e){var n=e.css,r=e.media;r&&t.setAttribute(\"media\",r);if(t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){p(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(e=e||{}).attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||\"boolean\"==typeof e.singleton||(e.singleton=o()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var n=h(t,e);return f(n,e),function(t){for(var o=[],i=0;i1)for(var n=1;n0)return function(t){if((t=String(t)).length>100)return;var e=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(!e)return;var s=parseFloat(e[1]);switch((e[2]||\"ms\").toLowerCase()){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return s*a;case\"days\":case\"day\":case\"d\":return s*i;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return s*o;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return s*r;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return s*n;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return s;default:return}}(t);if(\"number\"===c&&!1===isNaN(t))return e.long?function(t){return s(t,i,\"day\")||s(t,o,\"hour\")||s(t,r,\"minute\")||s(t,n,\"second\")||t+\" ms\"}(t):function(t){if(t>=i)return Math.round(t/i)+\"d\";if(t>=o)return Math.round(t/o)+\"h\";if(t>=r)return Math.round(t/r)+\"m\";if(t>=n)return Math.round(t/n)+\"s\";return t+\"ms\"}(t);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(t))}},function(t,e,n){(function(t){var r=n(11),o=n(12),i=Object.prototype.toString,a=\"function\"==typeof t.Blob||\"[object BlobConstructor]\"===i.call(t.Blob),s=\"function\"==typeof t.File||\"[object FileConstructor]\"===i.call(t.File);e.deconstructPacket=function(t){var e=[],n=t.data,i=t;return i.data=function t(e,n){if(!e)return e;if(o(e)){var i={_placeholder:!0,num:n.length};return n.push(e),i}if(r(e)){for(var a=new Array(e.length),s=0;s0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}t.exports=f,f.priorWebsocketSuccess=!1,o(f.prototype),f.protocol=s.protocol,f.Socket=f,f.Transport=n(8),f.transports=n(14),f.parser=n(3),f.prototype.createTransport=function(t){i('creating transport \"%s\"',t);var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(this.query);e.EIO=s.protocol,e.transport=t;var n=this.transportOptions[t]||{};return this.id&&(e.sid=this.id),new r[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0})},f.prototype.open=function(){var t;if(this.rememberUpgrade&&f.priorWebsocketSuccess&&-1!==this.transports.indexOf(\"websocket\"))t=\"websocket\";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit(\"error\",\"No transports available\")},0)}t=this.transports[0]}this.readyState=\"opening\";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},f.prototype.setTransport=function(t){i(\"setting transport %s\",t.name);var e=this;this.transport&&(i(\"clearing existing transport %s\",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on(\"drain\",function(){e.onDrain()}).on(\"packet\",function(t){e.onPacket(t)}).on(\"error\",function(t){e.onError(t)}).on(\"close\",function(){e.onClose(\"transport close\")})},f.prototype.probe=function(t){i('probing transport \"%s\"',t);var e=this.createTransport(t,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var o=!this.supportsBinary&&r.transport.supportsBinary;n=n||o}n||(i('probe transport \"%s\" opened',t),e.send([{type:\"ping\",data:\"probe\"}]),e.once(\"packet\",function(o){if(!n)if(\"pong\"===o.type&&\"probe\"===o.data){if(i('probe transport \"%s\" pong',t),r.upgrading=!0,r.emit(\"upgrading\",e),!e)return;f.priorWebsocketSuccess=\"websocket\"===e.name,i('pausing current transport \"%s\"',r.transport.name),r.transport.pause(function(){n||\"closed\"!==r.readyState&&(i(\"changing transport and sending upgrade packet\"),l(),r.setTransport(e),e.send([{type:\"upgrade\"}]),r.emit(\"upgrade\",e),e=null,r.upgrading=!1,r.flush())})}else{i('probe transport \"%s\" failed',t);var a=new Error(\"probe error\");a.transport=e.name,r.emit(\"upgradeError\",a)}}))}function a(){n||(n=!0,l(),e.close(),e=null)}function s(n){var o=new Error(\"probe error: \"+n);o.transport=e.name,a(),i('probe transport \"%s\" failed because of error: %s',t,n),r.emit(\"upgradeError\",o)}function c(){s(\"transport closed\")}function u(){s(\"socket closed\")}function h(t){e&&t.name!==e.name&&(i('\"%s\" works - aborting \"%s\"',t.name,e.name),a())}function l(){e.removeListener(\"open\",o),e.removeListener(\"error\",s),e.removeListener(\"close\",c),r.removeListener(\"close\",u),r.removeListener(\"upgrading\",h)}f.priorWebsocketSuccess=!1,e.once(\"open\",o),e.once(\"error\",s),e.once(\"close\",c),this.once(\"close\",u),this.once(\"upgrading\",h),e.open()},f.prototype.onOpen=function(){if(i(\"socket open\"),this.readyState=\"open\",f.priorWebsocketSuccess=\"websocket\"===this.transport.name,this.emit(\"open\"),this.flush(),\"open\"===this.readyState&&this.upgrade&&this.transport.pause){i(\"starting upgrade probes\");for(var t=0,e=this.upgrades.length;t \n * @license MIT\n */\nvar r=n(42),o=n(43),i=n(44);function a(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a().toString(16)+\" bytes\");return 0|t}function d(t,e){if(c.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return j(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return H(t).length;default:if(r)return j(t).length;e=(\"\"+e).toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function y(t,e,n,r,o){if(0===t.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=o?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(o)return-1;n=t.length-1}else if(n<0){if(!o)return-1;n=0}if(\"string\"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:m(t,e,n,r,o);if(\"number\"==typeof e)return e&=255,c.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,n,r,o){var i,a=1,s=t.length,c=e.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,c/=2,n/=2}function u(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(o){var f=-1;for(i=n;is&&(n=s-c),i=n;i>=0;i--){for(var h=!0,l=0;lo&&(r=o):r=o;var i=e.length;if(i%2!=0)throw new TypeError(\"Invalid hex string\");r>i/2&&(r=i/2);for(var a=0;a>8,o=n%256,i.push(o),i.push(r);return i}(e,t.length-n),t,n,r)}function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function k(t,e,n){n=Math.min(t.length,n);for(var r=[],o=e;o239?4:u>223?3:u>191?2:1;if(o+h<=n)switch(h){case 1:u<128&&(f=u);break;case 2:128==(192&(i=t[o+1]))&&(c=(31&u)<<6|63&i)>127&&(f=c);break;case 3:i=t[o+1],a=t[o+2],128==(192&i)&&128==(192&a)&&(c=(15&u)<<12|(63&i)<<6|63&a)>2047&&(c<55296||c>57343)&&(f=c);break;case 4:i=t[o+1],a=t[o+2],s=t[o+3],128==(192&i)&&128==(192&a)&&128==(192&s)&&(c=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&c<1114112&&(f=c)}null===f?(f=65533,h=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),o+=h}return function(t){var e=t.length;if(e<=E)return String.fromCharCode.apply(String,t);var n=\"\",r=0;for(;rthis.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if((n>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return _(this,e,n);case\"utf8\":case\"utf-8\":return k(this,e,n);case\"ascii\":return B(this,e,n);case\"latin1\":case\"binary\":return x(this,e,n);case\"base64\":return S(this,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return R(this,e,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),r=!0}}.apply(this,arguments)},c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){var t=\"\",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(t+=\" ... \")),\"\"},c.prototype.compare=function(t,e,n,r,o){if(!c.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),e<0||n>t.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&e>=n)return 0;if(r>=o)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,o>>>=0,this===t)return 0;for(var i=o-r,a=n-e,s=Math.min(i,a),u=this.slice(r,o),f=t.slice(e,n),h=0;ho)&&(n=o),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var i=!1;;)switch(r){case\"hex\":return v(this,t,e,n);case\"utf8\":case\"utf-8\":return b(this,t,e,n);case\"ascii\":return w(this,t,e,n);case\"latin1\":case\"binary\":return C(this,t,e,n);case\"base64\":return A(this,t,e,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,t,e,n);default:if(i)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),i=!0}},c.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function B(t,e,n){var r=\"\";n=Math.min(t.length,n);for(var o=e;or)&&(n=r);for(var o=\"\",i=e;in)throw new RangeError(\"Trying to access beyond buffer length\")}function O(t,e,n,r,o,i){if(!c.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError(\"Index out of range\")}function M(t,e,n,r){e<0&&(e=65535+e+1);for(var o=0,i=Math.min(t.length-n,2);o>>8*(r?o:1-o)}function I(t,e,n,r){e<0&&(e=4294967295+e+1);for(var o=0,i=Math.min(t.length-n,4);o>>8*(r?o:3-o)&255}function L(t,e,n,r,o,i){if(n+r>t.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function D(t,e,n,r,i){return i||L(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function N(t,e,n,r,i){return i||L(t,0,n,8),o.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e0&&(o*=256);)r+=this[t+--e]*o;return r},c.prototype.readUInt8=function(t,e){return e||P(t,1,this.length),this[t]},c.prototype.readUInt16LE=function(t,e){return e||P(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUInt16BE=function(t,e){return e||P(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUInt32LE=function(t,e){return e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUInt32BE=function(t,e){return e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=this[t],o=1,i=0;++i=(o*=128)&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=e,o=1,i=this[t+--r];r>0&&(o*=256);)i+=this[t+--r]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*e)),i},c.prototype.readInt8=function(t,e){return e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readFloatLE=function(t,e){return e||P(t,4,this.length),o.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return e||P(t,4,this.length),o.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return e||P(t,8,this.length),o.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return e||P(t,8,this.length),o.read(this,t,!1,52,8)},c.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||O(this,t,e,n,Math.pow(2,8*n)-1,0);var o=1,i=0;for(this[e]=255&t;++i=0&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,1,255,0),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):M(this,t,e,!0),e+2},c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):M(this,t,e,!1),e+2},c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):I(this,t,e,!0),e+4},c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):I(this,t,e,!1),e+4},c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);O(this,t,e,n,o-1,-o)}var i=0,a=1,s=0;for(this[e]=255&t;++i>0)-s&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var o=Math.pow(2,8*n-1);O(this,t,e,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[e+i]=255&t;--i>=0&&(a*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/a>>0)-s&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,1,127,-128),c.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):M(this,t,e,!0),e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):M(this,t,e,!1),e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):I(this,t,e,!0),e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),c.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):I(this,t,e,!1),e+4},c.prototype.writeFloatLE=function(t,e,n){return D(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return D(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return N(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return N(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),t.length-e=0;--o)t[o+e]=this[o+n];else if(i<1e3||!c.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),\"number\"==typeof t)for(i=e;i55295&&n<57344){if(!o){if(n>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(e-=3)>-1&&i.push(239,191,189),o=n;continue}n=65536+(o-55296<<10|n-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((e-=1)<0)break;i.push(n)}else if(n<2048){if((e-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function H(t){return r.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}(t).replace(U,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function V(t,e,n,r){for(var o=0;o=e.length||o>=t.length);++o)e[o+n]=t[o];return o}}).call(this,n(0))},function(t,e,n){\"use strict\";e.byteLength=function(t){var e=u(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){for(var e,n=u(t),r=n[0],a=n[1],s=new i(function(t,e,n){return 3*(e+n)/4-n}(0,r,a)),c=0,f=a>0?r-4:r,h=0;h>16&255,s[c++]=e>>8&255,s[c++]=255&e;2===a&&(e=o[t.charCodeAt(h)]<<2|o[t.charCodeAt(h+1)]>>4,s[c++]=255&e);1===a&&(e=o[t.charCodeAt(h)]<<10|o[t.charCodeAt(h+1)]<<4|o[t.charCodeAt(h+2)]>>2,s[c++]=e>>8&255,s[c++]=255&e);return s},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],a=0,s=n-o;as?s:a+16383));1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+\"==\")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+\"=\"));return i.join(\"\")};for(var r=[],o=[],i=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,a=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,c=a.length;s0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=t.indexOf(\"=\");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function h(t,e,n){for(var r,o=[],i=e;i>1,f=-7,h=n?o-1:0,l=n?-1:1,p=t[e+h];for(h+=l,i=p&(1<<-f)-1,p>>=-f,f+=s;f>0;i=256*i+t[e+h],h+=l,f-=8);for(a=i&(1<<-f)-1,i>>=-f,f+=r;f>0;a=256*a+t[e+h],h+=l,f-=8);if(0===i)i=1-u;else{if(i===c)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),i-=u}return(p?-1:1)*a*Math.pow(2,i-r)},e.write=function(t,e,n,r,o,i){var a,s,c,u=8*i-o-1,f=(1<>1,l=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,d=r?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),(e+=a+h>=1?l/c:l*Math.pow(2,1-h))*c>=2&&(a++,c/=2),a+h>=f?(s=0,a=f):a+h>=1?(s=(e*c-1)*Math.pow(2,o),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,o),a=0));o>=8;t[n+p]=255&s,p+=d,s/=256,o-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,u-=8);t[n+p-d]|=128*g}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==n.call(t)}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==n.call(t)}},function(t,e){t.exports=function(t,e,n){var r=t.byteLength;if(e=e||0,n=n||r,t.slice)return t.slice(e,n);if(e<0&&(e+=r),n<0&&(n+=r),n>r&&(n=r),e>=r||e>=n||0===r)return new ArrayBuffer(0);for(var o=new Uint8Array(t),i=new Uint8Array(n-e),a=e,s=0;a=55296&&e<=56319&&o=55296&&t<=57343){if(e)throw Error(\"Lone surrogate U+\"+t.toString(16).toUpperCase()+\" is not a scalar value\");return!1}return!0}function c(t,e){return i(t>>e&63|128)}function u(t,e){if(0==(4294967168&t))return i(t);var n=\"\";return 0==(4294965248&t)?n=i(t>>6&31|192):0==(4294901760&t)?(s(t,e)||(t=65533),n=i(t>>12&15|224),n+=c(t,6)):0==(4292870144&t)&&(n=i(t>>18&7|240),n+=c(t,12),n+=c(t,6)),n+=i(63&t|128)}function f(){if(o>=r)throw Error(\"Invalid byte index\");var t=255&n[o];if(o++,128==(192&t))return 63&t;throw Error(\"Invalid continuation byte\")}function h(t){var e,i;if(o>r)throw Error(\"Invalid byte index\");if(o==r)return!1;if(e=255&n[o],o++,0==(128&e))return e;if(192==(224&e)){if((i=(31&e)<<6|f())>=128)return i;throw Error(\"Invalid continuation byte\")}if(224==(240&e)){if((i=(15&e)<<12|f()<<6|f())>=2048)return s(i,t)?i:65533;throw Error(\"Invalid continuation byte\")}if(240==(248&e)&&(i=(7&e)<<18|f()<<12|f()<<6|f())>=65536&&i<=1114111)return i;throw Error(\"Invalid UTF-8 detected\")}t.exports={version:\"2.1.2\",encode:function(t,e){for(var n=!1!==(e=e||{}).strict,r=a(t),o=r.length,i=-1,s=\"\";++i65535&&(o+=i((e-=65536)>>>10&1023|55296),e=56320|1023&e),o+=i(e);return o}(u)}}},function(t,e){!function(){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",n=new Uint8Array(256),r=0;r>2],i+=t[(3&r[n])<<4|r[n+1]>>4],i+=t[(15&r[n+1])<<2|r[n+2]>>6],i+=t[63&r[n+2]];return o%3==2?i=i.substring(0,i.length-1)+\"=\":o%3==1&&(i=i.substring(0,i.length-2)+\"==\"),i},e.decode=function(t){var e,r,o,i,a,s=.75*t.length,c=t.length,u=0;\"=\"===t[t.length-1]&&(s--,\"=\"===t[t.length-2]&&s--);var f=new ArrayBuffer(s),h=new Uint8Array(f);for(e=0;e>4,h[u++]=(15&o)<<4|i>>2,h[u++]=(3&i)<<6|63&a;return f}}()},function(t,e){var n=void 0!==n?n:\"undefined\"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:\"undefined\"!=typeof MSBlobBuilder?MSBlobBuilder:\"undefined\"!=typeof MozBlobBuilder&&MozBlobBuilder,r=function(){try{return 2===new Blob([\"hi\"]).size}catch(t){return!1}}(),o=r&&function(){try{return 2===new Blob([new Uint8Array([1,2])]).size}catch(t){return!1}}(),i=n&&n.prototype.append&&n.prototype.getBlob;function a(t){return t.map(function(t){if(t.buffer instanceof ArrayBuffer){var e=t.buffer;if(t.byteLength!==e.byteLength){var n=new Uint8Array(t.byteLength);n.set(new Uint8Array(e,t.byteOffset,t.byteLength)),e=n.buffer}return e}return t})}function s(t,e){e=e||{};var r=new n;return a(t).forEach(function(t){r.append(t)}),e.type?r.getBlob(e.type):r.getBlob()}function c(t,e){return new Blob(a(t),e||{})}\"undefined\"!=typeof Blob&&(s.prototype=Blob.prototype,c.prototype=Blob.prototype),t.exports=r?o?Blob:c:i?s:void 0},function(t,e,n){(function(e){var r=n(15),o=n(5);t.exports=u;var i,a=/\\n/g,s=/\\\\n/g;function c(){}function u(t){r.call(this,t),this.query=this.query||{},i||(e.___eio||(e.___eio=[]),i=e.___eio),this.index=i.length;var n=this;i.push(function(t){n.onData(t)}),this.query.j=this.index,e.document&&e.addEventListener&&e.addEventListener(\"beforeunload\",function(){n.script&&(n.script.onerror=c)},!1)}o(u,r),u.prototype.supportsBinary=!1,u.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),r.prototype.doClose.call(this)},u.prototype.doPoll=function(){var t=this,e=document.createElement(\"script\");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),e.async=!0,e.src=this.uri(),e.onerror=function(e){t.onError(\"jsonp poll error\",e)};var n=document.getElementsByTagName(\"script\")[0];n?n.parentNode.insertBefore(e,n):(document.head||document.body).appendChild(e),this.script=e,\"undefined\"!=typeof navigator&&/gecko/i.test(navigator.userAgent)&&setTimeout(function(){var t=document.createElement(\"iframe\");document.body.appendChild(t),document.body.removeChild(t)},100)},u.prototype.doWrite=function(t,e){var n=this;if(!this.form){var r,o=document.createElement(\"form\"),i=document.createElement(\"textarea\"),c=this.iframeId=\"eio_iframe_\"+this.index;o.className=\"socketio\",o.style.position=\"absolute\",o.style.top=\"-1000px\",o.style.left=\"-1000px\",o.target=c,o.method=\"POST\",o.setAttribute(\"accept-charset\",\"utf-8\"),i.name=\"d\",o.appendChild(i),document.body.appendChild(o),this.form=o,this.area=i}function u(){f(),e()}function f(){if(n.iframe)try{n.form.removeChild(n.iframe)}catch(t){n.onError(\"jsonp polling iframe removal error\",t)}try{var t='