Overview

URL https://giftbig.ru/zerkalai/
IP92.53.126.24
ASNAS9123 OOO TimeWeb
Location Russian Federation
Report completed2017-12-30 22:33:49 CET
StatusLoading report..
urlquery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Pool
Access Level


Intrusion Detection Systems

Suricata /w Emerging Threats Pro  No alerts detected


Blacklists

MDL  No alerts detected
OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
DNS-BH  No alerts detected
mnemonic secure dns  No alerts detected


Recent reports on same IP/ASN/Domain

Last 9 reports on IP: 92.53.126.24

Date UQ / IDS / BL URL IP
2018-05-27 04:44:25 +0200
0 - 3 - 0 mrt-rus.info/bitrix/rk.php?goto=https://thanh (...) 92.53.126.24
2018-01-01 18:41:43 +0100
0 - 1 - 0 adriatic-crystal.ru/ 92.53.126.24
2017-12-31 18:41:13 +0100
0 - 1 - 0 adriatic-crystal.ru/ 92.53.126.24
2017-12-30 23:40:28 +0100
0 - 0 - 0 https://giftbig.ru/podstavki-i-krepleniya-pod (...) 92.53.126.24
2017-12-30 22:37:24 +0100
0 - 0 - 0 https://giftbig.ru/nastolnye-nabori/ 92.53.126.24
2017-12-08 19:18:29 +0100
0 - 0 - 1 www.cz-dvor.ru/netcat/modules/forum/js/file.php 92.53.126.24
2017-11-30 16:02:55 +0100
0 - 1 - 0 325050.ru/ 92.53.126.24
2017-10-16 06:01:39 +0200
0 - 1 - 0 xn----vtbefe.xn--p1ai/ 92.53.126.24
2017-09-16 03:43:44 +0200
0 - 1 - 0 xn----vtbefe.xn--p1ai/ 92.53.126.24

Last 10 reports on ASN: AS9123 OOO TimeWeb

Date UQ / IDS / BL URL IP
2019-05-23 05:11:50 +0200
0 - 0 - 1 minerloadserver.ru/transferfiles/files/file_5 (...) 92.53.96.179
2019-05-23 03:33:35 +0200
0 - 0 - 13 aromaproduct.ru/giorgio-armani-acqua-di-gioia (...) 92.53.96.6
2019-05-23 03:09:10 +0200
0 - 0 - 8 perovaphoto.ru/static/pics/amthfuke.bmp 92.53.96.201
2019-05-23 03:08:36 +0200
0 - 0 - 1 vipbankrotstvo.ru/articles/novosti/articles/a (...) 92.53.96.249
2019-05-23 03:05:16 +0200
0 - 0 - 72 volginaelena.ru/zimnij-transformacionnyj-fest (...) 92.53.96.171
2019-05-22 23:44:55 +0200
0 - 0 - 2 sam-ovl.ru/694bae-18806477-573810 92.53.117.140
2019-05-22 23:43:07 +0200
0 - 0 - 1 ooo-nso.ru/bcaf97314303-23604644 92.53.114.211
2019-05-22 23:22:41 +0200
0 - 0 - 8 perovaphoto.ru/wp-content/pics/karukathke.bmp 92.53.96.201
2019-05-22 00:27:27 +0200
0 - 0 - 13 aromaproduct.ru/zhenskiy-porfyum/hugo-boss-orange 92.53.96.6
2019-05-21 21:10:09 +0200
0 - 0 - 1 ooo-nso.ru/a9a110375304-22152945 92.53.114.211

Last 2 reports on domain: giftbig.ru

Date UQ / IDS / BL URL IP
2017-12-30 23:40:28 +0100
0 - 0 - 0 https://giftbig.ru/podstavki-i-krepleniya-pod (...) 92.53.126.24
2017-12-30 22:37:24 +0100
0 - 0 - 0 https://giftbig.ru/nastolnye-nabori/ 92.53.126.24


JavaScript

Executed Scripts (51)


Executed Evals (0)


Executed Writes (1)

#1 JavaScript::Write (size: 871024, repeated: 1) - SHA256: 27fd6dee6fef8edff20752b81012d74fbb4b7cb31575a6333739aa23bc79cd09

                                        < !doctype HTML > < head > < meta name = "google"
content = "notranslate" > < meta http - equiv = "X-UA-Compatible"
content = "IE=edge" / > < script type = "text/javascript" > window.modularCSS = ".globalClass_ET a,.globalClass_ET svg{-webkit-animation:none 0s!important;animation:none 0s!important;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;background:none!important;border:0 none!important;box-shadow:none!important;box-sizing:content-box!important;bottom:auto!important;caption-side:top!important;clear:none!important;clip:auto!important;cursor:auto!important;display:inline!important;direction:ltr!important;-webkit-box-flex:0!important;-ms-flex:none!important;flex:none!important;height:auto!important;-webkit-hyphens:manual!important;-ms-hyphens:manual!important;hyphens:manual!important;image-rendering:auto!important;-webkit-box-pack:start!important;-ms-flex-pack:start!important;justify-content:flex-start!important;left:auto!important;letter-spacing:normal!important;line-height:normal!important;margin:0!important;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;-o-object-fit:fill!important;object-fit:fill!important;opacity:1!important;-webkit-box-ordinal-group:2!important;-ms-flex-order:1!important;order:1!important;orphans:2!important;outline:0 none!important;overflow:visible!important;padding:0!important;-webkit-perspective:none!important;perspective:none!important;position:static!important;resize:none!important;right:auto!important;text-align:left!important;text-decoration:none!important;text-indent:0!important;text-overflow:clip!important;text-shadow:none!important;text-transform:none!important;top:auto!important;-webkit-transform:none!important;transform:none!important;transition:all 0s ease 0s!important;unicode-bidi:normal!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;vertical-align:baseline!important;white-space:normal!important;width:auto!important;word-break:normal!important;word-spacing:normal!important;word-wrap:normal!important;z-index:auto!important;zoom:normal!important}.globalClass_ET a{-webkit-text-size-adjust:inherit!important}@supports (-ms-ime-align:auto) and (color:unset){.globalClass_ET{position:-ms-device-fixed}}jdiv{-webkit-animation:none 0s;animation:none 0s;-webkit-backface-visibility:visible;backface-visibility:visible;background:none;border:0 none;box-shadow:none;box-sizing:content-box;bottom:auto;caption-side:top;clear:none;clip:auto;cursor:auto;display:inline;direction:ltr;-webkit-box-flex:0;-ms-flex:none;flex:none;height:auto;-webkit-hyphens:manual;-ms-hyphens:manual;hyphens:manual;image-rendering:auto;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;left:auto;letter-spacing:normal;line-height:normal;margin:0;max-height:none;max-width:none;min-height:0;min-width:0;-o-object-fit:fill;object-fit:fill;opacity:1;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;orphans:2;outline:0 none;overflow:visible;padding:0;-webkit-perspective:none;perspective:none;position:static;resize:none;right:auto;text-align:left;text-decoration:none;text-indent:0;text-overflow:clip;text-shadow:none;text-transform:none;top:auto;-webkit-transform:none;transform:none;transition:all 0s ease 0s;unicode-bidi:normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:baseline;white-space:normal;width:auto;word-break:normal;word-spacing:normal;word-wrap:normal;z-index:auto;zoom:normal;-webkit-text-size-adjust:inherit}.copyright_3R{position:absolute;display:block;cursor:pointer;background-color:#414243;height:38px;line-height:38px!important;padding:0 15px!important;border-radius:4px;box-shadow:0 0 12px 3px rgba(0,0,0,.17)}.copyright_3R svg{cursor:pointer!important}.copyright_3R svg path{pointer-events:all!important}.copyright_3R svg path:last-child{fill:#44bb6e}.copyright_3R._offline_27 .logoIcon_1U g path:last-child{fill:#62666c}.copyright_3R._light_35 .logoIcon_1U g path:first-child{fill:#fff}.copyright_3R._bottom_L1{bottom:48px;right:45px}.copyright_3R._bottom_L1 :after{content:\"\";display:block;left:0;right:0;bottom:-10px;height:10px;background:transparent}.copyright_3R._right_1u{top:33px;right:7px}.copyright_3R._right_1u :after{content:\"\";display:block;right:-13px;top:-25px;bottom:-5px;width:15px;background:transparent;position:absolute}.copyright_3R._left_29{top:30px;left:45px}.copyright_3R._left_29 :after{content:\"\";display:block;right:-13px;top:-25px;bottom:-5px;width:15px;background:transparent;position:absolute}.hide_2U{position:absolute;display:block;height:38px;line-height:38px;padding:0 15px}.logoIcon_1U{display:inline-block;width:48px;height:18px}a.link_32{display:inline-block!important;width:51px!important;height:17px!important;margin:10px 0 4px 3px!important;transition:none!important}a.link_32,a.link_32 .logoIcon_1U{vertical-align:top!important;box-sizing:border-box!important}a.link_32 .logoIcon_1U:hover{cursor:pointer!important}a.link_32 svg{width:51px!important;heighT:18px!important;display:block!important}.copyright_3R,.text_30{font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:13px!important;white-space:nowrap}.text_30{-webkit-font-smoothing:antialiased;-webkit-transform:translateZ(0)!important;transform:translateZ(0)!important;line-height:38px!important;color:#fff;display:inline-block!important;vertical-align:middle!important;cursor:default!important}.corner_3z{position:absolute;width:0;height:0}._bottom_L1 .corner_3z{bottom:-4px;right:10px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #414243}._left_29 .corner_3z{left:-4px;border-right:5px solid #414243}._left_29 .corner_3z,._right_1u .corner_3z{top:50%;margin-top:-3px;border-top:5px solid transparent;border-bottom:5px solid transparent}._right_1u .corner_3z{right:-4px;border-left:5px solid #414243}.vkIcon_3c path,.vkIcon_3c svg{fill:#507299!important}.fbIcon_Yq path,.fbIcon_Yq svg{fill:#0084ff!important}.telegramIcon_3f path,.telegramIcon_3f svg{fill:#39afe2!important}.viberIcon_1I path,.viberIcon_1I svg{fill:#fff!important}.message-textIcon_2_ path,.message-textIcon_2_ svg{fill:#05b24b!important}.phone-outgoingIcon_1n path,.phone-outgoingIcon_1n svg{fill:#4185f2!important}.phoneIcon_16 path,.phoneIcon_16 svg{fill:#0076ff!important}.nowrap_QY{white-space:nowrap}.bull_1d{content:\"\";position:absolute;left:12px;top:12px;width:6px;height:6px;-webkit-border-radius:3px 3px 3px 3px;-khtml-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;-ms-border-radius:3px 3px 3px 3px;-o-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-color:#3cb868}.jivoLabelButtons_3H{display:block;position:absolute;border-radius:4px;font-family:Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;line-height:20px;background-color:#fff;color:#545d6b;z-index:1000000;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased;max-width:100%;box-shadow:0 5px 20px 0 rgba(0,0,0,.2);width:100%;min-width:300px;max-height:none!important}.jivoLabelButtons_3H._bottom_34{bottom:20px}.jivoLabelButtons_3H._bottom_34:after{content:\"\";display:block;position:absolute;background:transparent;left:-22px;top:-22px;bottom:-22px;right:-20px;z-index:0}.jivoLabelButtons_3H._right_1S{width:300px;min-width:300px;left:auto;bottom:0}.jivoLabelButtons_3H._right_1S:before{width:23px;height:auto;top:-60px;bottom:-60px;right:-23px;content:\"\";position:absolute;cursor:default}.jivoLabelButtons_3H._right_1S:after{content:\"\";display:block;position:absolute;background:transparent;left:-22px;top:-22px;bottom:-22px;right:-22px;z-index:0}.jivoLabelButtons_3H._left_ok{width:300px;min-width:300px;bottom:0}.jivoLabelButtons_3H._left_ok:before{width:60px;bottom:-40px;left:-22px;top:-60px;content:\"\";position:absolute;cursor:default;background:transparent;z-index:0}.jivoLabelButtons_3H._left_ok:after{content:\"\";display:block;position:absolute;background:transparent;left:-22px;top:-22px;bottom:-22px;right:-20px;z-index:0}.jivoLabelButtons_3H .callme_Tt{background:transparent url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M3.6 7.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V17c0 .6-.4 1-1 1A16.986 16.986 0 0 1 0 1c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1L3.6 7.8z' fill-rule='evenodd' fill='%2300bd63'/%3E%3C/svg%3E\") 30px 50% no-repeat}.jivoLabelButtons_3H .chat_2j{background:transparent url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='23' height='23' viewBox='0 0 23 23' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3E0641267D-B556-4361-BFAD-3620D814E0BF%3C/title%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M1 14.7V21l4.176-3H21c.56 0 .999-.448.999-1V2c0-.545-.447-1-.999-1H2A.994.994 0 0 0 1 2v12.7z' stroke='%2300BE64' stroke-width='2'/%3E%3Cpath fill='%2300BE64' d='M5 6h14v2H5zM5 11h11v2H5z'/%3E%3C/g%3E%3C/svg%3E\") 28px 51% no-repeat}.jivoLabelButtons_3H._right_1S{max-width:300px}.jivoLabelButtons_3H._right_1S .callme_Tt,.jivoLabelButtons_3H._right_1S .chat_2j{clear:inherit}.jivoLabelButtons_3H._right_1S .callme_Tt a,.jivoLabelButtons_3H._right_1S .chat_2j a{padding-right:0}.jivoLabelButtons_3H._left_ok{right:auto}.jivoLabelButtons_3H .callme_Tt,.jivoLabelButtons_3H .chat_2j{width:100%;height:38px;line-height:38px;clear:both;overflow:hidden;cursor:pointer}.jivoLabelButtons_3H :hover+.bottomCorner_34:after,.jivoLabelButtons_3H :hover+.leftCorner_Ts:after,.jivoLabelButtons_3H :hover+.rightCorner_1x:after{border-color:transparent transparent #f4f8fa #f4f8fa!important}.jivoLabelButtons_3H .chat_2j:hover{border-radius:0 0 4px 4px}.jivoLabelButtons_3H .callme_Tt a:hover{border-radius:4px 4px 0 0}.buttonsCorner_3T{position:absolute;width:0;height:0}.buttonsCorner_3T ._bottom_34:after{content:\"\";position:absolute;width:0;height:0;left:21px;bottom:-18px;box-sizing:border-box;border:10px solid #000;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.buttonsCorner_3T ._left_ok{top:52px;left:-10px;margin-top:-2.5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #fff}.buttonsCorner_3T ._left_ok:after{content:\"\";position:absolute;width:0;height:0;left:21px;bottom:-18px;box-sizing:border-box;border:10px solid #fff;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.buttonsCorner_3T ._right_1S{top:52px;right:-10px;margin-top:-2.5px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid #fff}.buttonsCorner_3T ._right_1S:after{content:\"\";position:absolute;width:0;height:0;left:21px;bottom:-18px;box-sizing:border-box;border:10px solid #fff;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.bottomCorner_34{border-top-color:#fff}.bottomCorner_34:after{content:\"\";position:absolute;width:0;height:0;left:25px;bottom:-19px;box-sizing:border-box;border:10px solid #000;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.leftCorner_Ts{left:0;border-right-color:#fff}.leftCorner_Ts:after{content:\"\";position:absolute;width:0;height:0;left:0;bottom:25px;box-sizing:border-box;border:10px solid #000;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.rightCorner_1x{border-left-color:#fff;right:0}.rightCorner_1x:after{content:\"\";position:absolute;width:0;height:0;left:-1px;bottom:-5px;box-sizing:border-box;border:10px solid #fff;border-color:transparent transparent #fff #fff;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:-3px 3px 5px 0 rgba(0,0,0,.07)}.labelButton_2w:first-child,.labelButton_2w:first-child .text_A-:hover:first-child{border-radius:4px 4px 0 0}.labelButton_2w:last-child{border-radius:0 0 4px 4px}.labelButton_2w{height:66px;display:block;cursor:pointer;position:relative;z-index:1;max-height:66px}.labelButton_2w:hover{background-color:#f4f8fa;cursor:pointer}.labelButton_2w .title_yB{cursor:pointer}.labelButton_2w .text_A-{box-sizing:border-box!important;padding-left:80px!important;padding-right:15px!important;line-height:20px!important;text-decoration:none;font-size:15px;vertical-align:middle!important;display:table-cell!important;height:66px!important;font-weight:400;color:#545d6b!important;-webkit-transform:translateZ(0)!important;transform:translateZ(0)!important;cursor:pointer;width:310px!important}.labelButton_2w .text_A- .title_yB{cursor:pointer}.labelButton_2w .text_A-:hover{background-color:#f4f8fa;cursor:pointer}.labelButton_2w .text_A-:hover .title_yB{color:#2562c1}.labelButton_2w .text_A- .info_CT{font-size:12px;color:#a2adb9;display:block}.labelButton_2w .text_A- .info_CT:hover{cursor:pointer}.labelButton_2w a,.labelButton_2w jdiv{font-size:15px;font-family:Helvetica,Arial,sans-serif}.labelButton_2w .labelVk_1P{background:transparent url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='30' height='17' viewBox='0 0 30 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.82 10.81c.994.972 2.045 1.888 2.937 2.959.395.476.768.967 1.053 1.519.405.785.039 1.65-.665 1.696l-4.37-.002c-1.127.094-2.027-.36-2.783-1.132-.605-.618-1.165-1.274-1.747-1.912a4.14 4.14 0 0 0-.786-.7c-.597-.388-1.115-.27-1.456.354-.347.633-.426 1.335-.46 2.041-.047 1.03-.358 1.302-1.392 1.349-2.209.104-4.306-.23-6.253-1.346-1.718-.984-3.05-2.373-4.208-3.946C3.433 8.63 1.705 5.264.15 1.806-1.802 1.026.058.608.916.593A118.46 118.46 0 0 1 5.195.591c.58.009.963.342 1.187.89.771 1.9 1.715 3.706 2.9 5.381.315.446.637.892 1.095 1.206.507.347.893.232 1.131-.333.152-.359.218-.745.252-1.129.113-1.32.128-2.64-.07-3.956-.122-.821-.584-1.353-1.403-1.508-.417-.08-.355-.235-.153-.474.352-.412.682-.668 1.34-.668h4.94c.777.154.95.503 1.057 1.287l.004 5.494c-.009.303.151 1.203.697 1.404.436.143.724-.207.986-.484 1.183-1.257 2.027-2.742 2.78-4.28.335-.677.623-1.379.902-2.08.207-.521.53-.778 1.117-.766l4.753.004c.141 0 .284.002.42.025.802.137 1.021.482.774 1.265-.39 1.23-1.149 2.253-1.89 3.282-.793 1.099-1.64 2.16-2.427 3.264-.722 1.01-.665 1.518.232 2.394z' fill='%23507299' fill-rule='evenodd'/%3E%3C/svg%3E\") 24px 50% no-repeat!important}.labelButton_2w .labelFb_3d{background:transparent url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 0C5.82 0 0 5.39 0 12.037c0 3.788 1.89 7.167 4.845 9.373V26l4.426-2.43c1.181.328 2.433.504 3.729.504 7.18 0 13-5.39 13-12.037C26 5.389 20.18 0 13 0zm1.292 16.21l-3.31-3.531-6.46 3.53 7.105-7.542 3.392 3.53 6.379-3.53-7.106 7.543z' fill='%230084FF' fill-rule='evenodd'/%3E%3C/svg%3E\") 27px 50% no-repeat!important}.nowrap_1N{white-space:nowrap}.bull_1G{content:\"\";position:absolute;left:12px;top:12px;width:6px;height:6px;-webkit-border-radius:3px 3px 3px 3px;-khtml-border-radius:3px 3px 3px 3px;-moz-border-radius:3px 3px 3px 3px;-ms-border-radius:3px 3px 3px 3px;-o-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-color:#3cb868}@-webkit-keyframes fadeOut_3G{0%{opacity:1}99%{opacity:0}to{opacity:0;visibility:hidden;display:none}}@keyframes fadeOut_3G{0%{opacity:1}99%{opacity:0}to{opacity:0;visibility:hidden;display:none}}.label_39{position:fixed;z-index:2147483648;-webkit-backface-visibility:hidden;backface-visibility:hidden;opacity:0;-webkit-animation-duration:.2s;animation-duration:.2s;box-shadow:0 12px 14px 8px rgba(0,0,0,.17);-webkit-filter:blur(0);filter:blur(0)}.label_39:hover{cursor:pointer}.label_39 svg{-webkit-transform:translateZ(0);transform:translateZ(0)}.label_39 .leafCont_2L{position:absolute}.label_39._bottom_3v{min-width:300px}.label_39._bottom_3v,.label_39._left_2d,.label_39._right_1y{bottom:-200px;height:38px;width:auto;right:30px;border-top-left-radius:3px;border-top-right-radius:33px;transition:opacity .2s ease-in .15s,background-color .2s ease-in,bottom .2s ease-in;opacity:0}.label_39._bottom_3v._init_Tk,.label_39._left_2d._init_Tk,.label_39._right_1y._init_Tk{opacity:1;bottom:0!important}.label_39._bottom_3v .leafCont_2L,.label_39._left_2d .leafCont_2L,.label_39._right_1y .leafCont_2L{right:0}.label_39._bottom_3v._pad50_3K,.label_39._left_2d._pad50_3K,.label_39._right_1y._pad50_3K{right:50%}.label_39._bottom_3v._pad100_GR,.label_39._left_2d._pad100_GR,.label_39._right_1y._pad100_GR{right:30px;left:auto}.label_39._bottom_3v._pad0_em,.label_39._left_2d._pad0_em,.label_39._right_1y._pad0_em{left:30px;right:auto}.label_39._bottom_3v .lbContainer_2X,.label_39._left_2d .lbContainer_2X,.label_39._right_1y .lbContainer_2X{left:0;right:0;max-width:300px}.label_39._bottom_3v .copyContainer_1V,.label_39._left_2d .copyContainer_1V,.label_39._right_1y .copyContainer_1V{right:0;bottom:0}.label_39._bottom_3v .copy_2W,.label_39._left_2d .copy_2W,.label_39._right_1y .copy_2W{position:relative;padding-top:8px;padding-right:32px;padding-left:7px;display:inline-block;height:18px!important;float:right}.label_39._bottom_3v .copy_2W svg,.label_39._left_2d .copy_2W svg,.label_39._right_1y .copy_2W svg{width:54px!important;height:20px!important;color:currentColor!important}.label_39._bottom_3v .text_eD,.label_39._left_2d .text_eD,.label_39._right_1y .text_eD{-webkit-transform:translateZ(0);transform:translateZ(0);margin:0 37px 0 15px;min-width:160px;visibility:visible}.label_39._bottom_3v .text_eD._noAd_3N,.label_39._left_2d .text_eD._noAd_3N,.label_39._right_1y .text_eD._noAd_3N{margin:0 33px 0 15px}.label_39._bottom_3v .text_eD:hover,.label_39._left_2d .text_eD:hover,.label_39._right_1y .text_eD:hover{cursor:pointer}.label_39._right_1y{-webkit-transform:rotate(-90deg) translate(100%)!important;transform:rotate(-90deg) translate(100%)!important;-webkit-transform-origin:100% 8px!important;transform-origin:100% 8px!important;transition:opacity .2s ease-in,background-color .2s ease-in,right .2s ease-in;-webkit-animation-name:labelRight_4R;animation-name:labelRight_4R;min-width:76px;right:0!important}.label_39._right_1y._pad50_3K{-webkit-transform:rotate(-90deg) translate(100%) translateZ(0)!important;transform:rotate(-90deg) translate(100%) translateZ(0)!important;margin-bottom:-38px;-webkit-transform-origin:bottom right!important;transform-origin:bottom right!important;bottom:50%!important;min-width:76px;right:0!important}.label_39._right_1y._pad50_3K._chat_3K{opacity:0;right:-100px!important}.label_39._right_1y._pad100_GR{margin-bottom:-10px;right:30px!important;bottom:0!important}.label_39._right_1y .leafCont_2L{top:0;-webkit-transform:translateZ(0)!important;transform:translateZ(0)!important}.label_39._right_1y .lbContainer_2X{width:300px;top:-20px;-webkit-transform:rotate(90deg) translate3d(-100%,0,0)!important;transform:rotate(90deg) translate3d(-100%,0,0)!important;-webkit-transform-origin:bottom left;transform-origin:bottom left;-webkit-filter:blur(0);filter:blur(0)}.label_39._right_1y .copyContainer_1V{-webkit-transform:rotate(90deg) translate3d(-100%,4px,0)!important;transform:rotate(90deg) translate3d(-100%,4px,0)!important;-webkit-transform-origin:bottom left;transform-origin:bottom left;-webkit-filter:blur(0);filter:blur(0);right:0;bottom:40px}.label_39._left_2d{border-radius:0 0 33px 3px;-webkit-transform:rotate(-90deg) translate3d(100%,0,0)!important;transform:rotate(-90deg) translate3d(100%,0,0)!important;-webkit-transform-origin:100% 8px!important;transform-origin:100% 8px!important;transition:opacity .2s ease-in,background-color .2s ease-in,right .2s ease-in;-webkit-animation-name:labelRight_4R;animation-name:labelRight_4R;box-shadow:0 0 14px 8px rgba(0,0,0,.17);min-width:76px}.label_39._left_2d._pad50_3K{right:auto;left:38px;-webkit-transform:rotate(-90deg) translateZ(0) scale(1)!important;transform:rotate(-90deg) translateZ(0) scale(1)!important;bottom:50%!important;-webkit-transform-origin:bottom left!important;transform-origin:bottom left!important}.label_39._left_2d._pad100_GR{right:auto;left:38px;bottom:0;-webkit-transform:rotate(-90deg) translate(20px)!important;transform:rotate(-90deg) translate(20px)!important;-webkit-transform-origin:bottom left!important;transform-origin:bottom left!important}.label_39._left_2d .leafCont_2L{top:0}.label_39._left_2d._chat_3K{opacity:0;left:-100px}.label_39._left_2d .lbContainer_2X{width:300px;top:56px;-webkit-transform:rotate(90deg) translate(0)!important;transform:rotate(90deg) translate(0)!important;-webkit-transform-origin:bottom left;transform-origin:bottom left}.label_39._left_2d .copyContainer_1V{-webkit-transform:rotate(90deg) translate(-100%,4px)!important;transform:rotate(90deg) translate(-100%,4px)!important;-webkit-transform-origin:bottom left;transform-origin:bottom left;right:0;bottom:38px}.label_39 .text_eD{font:inherit;text-indent:0;line-height:38px;vertical-align:top;white-space:nowrap;-webkit-font-smoothing:antialiased;visibility:visible;-webkit-backface-visibility:hidden;backface-visibility:hidden}.label_39 .text_eD:hover{cursor:pointer}.label_39._tablet_2V{transition:none;-webkit-animation-name:none_fS;animation-name:none_fS}.label_39._tablet_2V .hoverBox_3a{display:none}.label_39._tablet_2V .hoverl_6R._ad_7P{right:0}.label_39 .hoverl_6R{z-index:4;position:absolute;top:0;left:0;bottom:0;right:0}.label_39 .hoverl_6R._ad_7P{right:100px}.label_39 .hoverl_6R:hover{cursor:pointer}@-webkit-keyframes webkitBugfix_6a{0%{padding:0}to{padding:0}}.leafBottom_1g{position:absolute;right:0;top:0}.labelStatus_3J{cursor:pointer;width:34px;height:38px;background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='17' height='12' viewBox='0 0 17 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.005 6.62l5.37 4.833c-.18.09-.36.18-.628.18H1.253c-.18 0-.27 0-.448-.09l5.19-4.832 2.147 1.88c.09.09.27.178.358.178.18 0 .268-.09.358-.18l2.147-1.967zM16.463.18c-.18-.09-.447-.18-.626-.18H1.253C.895 0 .626.09.447.268L8.5 7.516 16.463.18zM11.81 5.904L17 10.558V1.073l-5.19 4.832zM0 1.342v9.126c0 .09 0 .18.09.27l5.19-4.743L0 1.342z' fill='%23FFF' fill-rule='evenodd'/%3E%3C/svg%3E\") 100% 50% no-repeat;float:left}.labelStatus_3J._dark_1O{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='12'%3E%3Cpath d='M11.005 6.62l5.37 4.833c-.18.09-.36.18-.628.18H1.253c-.18 0-.27 0-.448-.09l5.19-4.832 2.147 1.88c.09.09.27.178.358.178.18 0 .268-.09.358-.18l2.147-1.967M16.463.18c-.18-.09-.447-.18-.626-.18H1.253C.895 0 .626.09.447.268L8.5 7.516 16.463.18M11.81 5.904L17 10.558V1.073l-5.19 4.832M0 1.342v9.126c0 .09 0 .18.09.27l5.19-4.743L0 1.342z' fill-rule='evenodd' fill='%23222'/%3E%3Cpath d='M11.005 6.62l5.37 4.833c-.18.09-.36.18-.628.18H1.253c-.18 0-.27 0-.448-.09l5.19-4.832 2.147 1.88c.09.09.27.178.358.178.18 0 .268-.09.358-.18l2.147-1.967M16.463.18c-.18-.09-.447-.18-.626-.18H1.253C.895 0 .626.09.447.268L8.5 7.516 16.463.18M11.81 5.904L17 10.558V1.073l-5.19 4.832M0 1.342v9.126c0 .09 0 .18.09.27l5.19-4.743L0 1.342z' fill-rule='evenodd' fill='%23222'/%3E%3Cpath d='M11.005 6.62l5.37 4.833c-.18.09-.36.18-.628.18H1.253c-.18 0-.27 0-.448-.09l5.19-4.832 2.147 1.88c.09.09.27.178.358.178.18 0 .268-.09.358-.18l2.147-1.967M16.463.18c-.18-.09-.447-.18-.626-.18H1.253C.895 0 .626.09.447.268L8.5 7.516 16.463.18M11.81 5.904L17 10.558V1.073l-5.19 4.832M0 1.342v9.126c0 .09 0 .18.09.27l5.19-4.743L0 1.342z' fill-rule='evenodd' fill='%23222'/%3E%3Cpath d='M11.005 6.62l5.37 4.833c-.18.09-.36.18-.628.18H1.253c-.18 0-.27 0-.448-.09l5.19-4.832 2.147 1.88c.09.09.27.178.358.178.18 0 .268-.09.358-.18l2.147-1.967M16.463.18c-.18-.09-.447-.18-.626-.18H1.253C.895 0 .626.09.447.268L8.5 7.516 16.463.18M11.81 5.904L17 10.558V1.073l-5.19 4.832M0 1.342v9.126c0 .09 0 .18.09.27l5.19-4.743L0 1.342z' fill-rule='evenodd' fill='%23222'/%3E%3C/svg%3E\")}.copy_2W:hover~.copyContainer_1V{display:block}.copyContainer_1V{position:absolute;display:none}.copyContainer_1V:hover,.hoverl_6R:hover .lbContainer_2X{display:block}.lbContainer_2X{position:absolute;display:none}.logo_1D{position:relative;display:block}.logo_1D .fallback_1g{display:none;visibility:hidden}.logo_1D .logoIcon_2z g path:first-child{fill:currentColor}.logo_1D .logoIcon_2z g path:last-child{fill:#44bb6e}.logo_1D._no-copyright_Ud{visibility:hidden;display:none}.logo_1D._offline_tG .logoIcon_2z g path:last-child{fill:#62666c}.logo_1D._bottom_2g .hoverBox_10{left:-10px;right:-10px;top:-20px;bottom:-5px;height:48px;max-height:38px!important;background-color:transparent}.logo_1D._right_1- .hoverBox_10{left:-10px;right:-10px;top:-20px;max-height:48px!important;bottom:-8px}.logo_1D._left_Ag .hoverBox_10{left:-10px;right:-10px;top:-10px;bottom:-12px;height:48px}.hoverBox_10{position:absolute;top:0;left:0;bottom:0;right:0;background:transparent;opacity:0;z-index:2;cursor:pointer}.leaf_25{position:absolute;width:31px;height:33px;z-index:1;overflow:hidden}.leaf_25._bottom_DW,.leaf_25._left_MI,.leaf_25._right_3d{right:-.2px;top:0;width:33px;border-radius:0 26px 0 33px}.leaf_25._bottom_DW .cssLeaf_1k,.leaf_25._left_MI .cssLeaf_1k,.leaf_25._right_3d .cssLeaf_1k{width:22px!important;height:33px!important;position:absolute;overflow:visible;right:0;top:0}.leaf_25._bottom_DW .cssLeaf_1k svg,.leaf_25._left_MI .cssLeaf_1k svg,.leaf_25._right_3d .cssLeaf_1k svg{width:22px!important;height:33px!important;color:inherit!important}.leaf_25._bottom_DW .cssLeaf_1k svg path,.leaf_25._left_MI .cssLeaf_1k svg path,.leaf_25._right_3d .cssLeaf_1k svg path{transition:none}.leaf_25._bottom_DW .cssLeaf_1k svg path:first-child,.leaf_25._left_MI .cssLeaf_1k svg path:first-child,.leaf_25._right_3d .cssLeaf_1k svg path:first-child{fill:#3ebc6b}.leaf_25._bottom_DW .cssLeaf_1k svg path:last-child,.leaf_25._left_MI .cssLeaf_1k svg path:last-child,.leaf_25._right_3d .cssLeaf_1k svg path:last-child{display:none}.leaf_25._bottom_DW .triangle_eG,.leaf_25._left_MI .triangle_eG,.leaf_25._right_3d .triangle_eG{border-width:900px 0 0 600px;border-top-color:transparent;position:relative;top:-460px;right:-272px;float:right;width:0;height:0;border-style:solid}.leaf_25._left_MI{right:0;top:5.2px;width:33px;border-radius:0 26px 0 33px;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.leaf_25._offline_3c._left_MI,.leaf_25._offline_3c._right_3d{background:none}.leaf_25._offline_3c .cssLeaf_1k svg path:first-child{fill:currentColor;z-index:2}.leaf_25._offline_3c .cssLeaf_1k svg path:last-child{fill:#fff;fill-opacity:.22;z-index:1;display:block}.bottomLeftSquare_1o,.topRightSquare_3f{width:35px;height:35px;z-index:1}.bottomLeftSquare_1o{background-color:#44bb6e;border-top-right-radius:29px;left:-13px;top:1px}.bottomLeftSquare_1o,.topRightSquare_3f{position:absolute;background-position:30px 33px}.topRightSquare_3f{bottom:0;right:-13px;overflow:hidden;z-index:1;border-bottom-left-radius:29px}.triangle_eG{transition:border-color .2s ease-in;width:0;height:0;border-style:solid;position:absolute}.wrap_mW{position:fixed;bottom:0;z-index:2147483646;opacity:0;visibility:hidden;display:block;-webkit-tap-highlight-color:rgba(0,0,0,0)}.wrap_mW path{fill:initial;transition:initial}.button_1O{width:65px;height:65px;display:block;border-radius:50px;margin-bottom:20px;text-align:center;box-shadow:0 19px 38px 0 rgba(34,36,43,.3);position:relative}.iconWrap_2n{display:block;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;position:absolute;left:0;right:0;top:0;bottom:0}.iconWrap_2n._animationJivoIcon_30{-webkit-animation:iconAnimation_1s 18s infinite;animation:iconAnimation_1s 18s infinite;-webkit-backface-visibility:hidden;backface-visibility:hidden}.messagesLabel_FQ{display:none;text-align:center;background-color:#fc576b;position:absolute;font-size:12px;font-family:sans-serif;color:#fff;top:0;right:0;border-radius:16px;padding:3px 7px;-webkit-transform:translateZ(2px);transform:translateZ(2px)}.logoIconJivo_1o{display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:10px;height:35px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}.logoIconJivo_1o svg{display:block!important;width:10px!important;height:35px!important;vertical-align:top!important;fill:#fff!important}.logoIconJivo_1o svg path{fill:#fff!important}.logoIconJivo_1o._iconDark_2a svg,.logoIconJivo_1o._iconDark_2a svg path{fill:#3e414f!important}.logoIconCloud_q-{display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:35px;height:30px;padding-top:1px;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}.logoIconCloud_q- svg{display:block!important;width:35px!important;height:30px!important;vertical-align:top!important;fill:#fff!important}.logoIconCloud_q- svg path{fill:#fff!important}.logoIconCloud_q-._iconDark_2a svg,.logoIconCloud_q-._iconDark_2a svg path{fill:#3e414f!important}.envelopeIcon_3E{display:inline-block;position:absolute;top:0;left:0;right:0;bottom:0;margin:auto;width:25px;height:20px;padding-top:1px;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}.envelopeIcon_3E svg{display:block!important;width:25px!important;height:20px!important;vertical-align:top!important;fill:#fff!important}.envelopeIcon_3E svg path{fill:#fff!important}.envelopeIcon_3E._iconDark_2a svg path{fill:#3e414f!important}@keyframes iconAnimation_1s{0%,83.3%{-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}86%,98.1%{-webkit-transform:rotateY(180deg);transform:rotateY(180deg)}to{-webkit-transform:rotateY(0deg);transform:rotateY(0deg)}}._show_1e.wrap_mW{opacity:1;visibility:visible;z-index:2147483647}._orinationRight_25.wrap_mW{right:0}._orinationRight_25 .button_1O{margin-right:20px}._orinationLeft_3O.wrap_mW{left:0}._orinationLeft_3O .button_1O{margin-left:20px}._animationBtn_Rc.wrap_mW{transition:opacity .15s ease}.container_3P{display:block;position:absolute;z-index:-5;top:-100%;left:-125%}.wrap_2g{display:block;position:relative;width:100%;height:100%;opacity:0}._show_10{opacity:1}._show_10 .overlay_2X{visibility:visible;opacity:.6}._show_10 .menuWrap_2V{bottom:0}.overlay_2X{display:block;left:0;top:0;height:100%;width:100%;position:absolute;opacity:0;visibility:hidden;background-color:#000;z-index:0;transition:visibility .3s ease,opacity .3s ease}.overlay_2X._extraPadding_YL{padding:3px;margin:-1px}.deviceLandscape_3t{display:none;position:absolute;top:0;bottom:0;left:0;right:0;width:125px;height:115px;margin:auto;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAABzCAQAAAAfg8XeAAAHT0lEQVR42u3daVATVxwA8Ad4BdoRW6U6OrXFWnVab8cba9uxYkc/dHR0nI62Fq+OvUbR8exUHIuIDiIIWiEJb6EeqNUWRxnHSlBEQBB15BYhITaRmIOQc9n994MS7sTIbq7d//8bSV7ej+y7NvNeEPKgkAvqxt9bmbk5f5skktm8sVW7smlSgcCTtLag/Qpnqk42PwXWwqAsS/svzOPgBj96nVUJrIdBeXb94gCPouu/Az24Jizp6z0IHjeXfAYuC1qVOddD4FFvXD0FLo18IirQI+j/zlbLXUu3ahOnegSd3AQuj5jVHkGH31+phTJKL9zhGfQYx1U16YzHlQlWNQBQILPcNOWabtky13ITGpz732gSPYN+wHFV60QIIaQRA1D1TYu1giZBU5AtAw1Bz+Y5NyswpnoNXf3PvSHW4ZZrAKba2uldy5CONjs1D2w+yThD66cYWi5gnk63NOW23AYKoIUylJJ/w5UOeRlKoMXN9Aq/6iWqbHpf2QLxQCbpTAcLdIQqQukqoKwafTkpOvXNjfHFQZyhx/tn7W59A5IklQ3XdPvzw3NCdAKfpyO0d2rn3pakjbXqjIII0/SikPgBPkxPEshSenjHphrJxa98mI6QfL7heQ/vqb0+x4fpecGqNbpuFyQ03Nljt61baQttAbbSDKbWIZAF+q/BDT8ockgV3e200lQcMahnuuG5dBUsoZdQbOVCag1dwQq9NEi7VnGXNPV0kVEtT1fY6+G1skyWbxtSw+h8FujlU5VZlNle+9JdLH7THl3fIHybZfpIupBhumZA7gaNwn7H0mLI+sT+uK5vwINZpr/HMD3nHUh2vGLMiz86wMfoolGVWd0MHpXV8fqMtiVFY/3eCT2V4KX0lDFleZ0HMF2hebt8IkLJQ6yy1r9m79zo51N0IvTRnY5wTXnzL7LQ1seL4l4OW3dTh/dcihfS6WHK7I5TdWlS3Yftn/FoKqgBzIaqCHvleB09oT8lbO82am5sKOzUkf3Yt+QMwOOsg4E+RA/3O72l/X0Ry7PoZbHdtOa0Fc1q0WL7ZXkZ/einelm7T7xx37Lun7d/sOynhD4+RP8rWHW1XRM3Za7tTYW8ip6zsX0rVx/qXYW8iL7pfUWZbUkCqhzDII7QL/inb273kT+/Mqe3FfIaunKwoaxNXnWw9xXyGvrDr9vghsdnRnGGLulTf7lttl4QhQM4Q8+eaFLZ6MqcSUxUyEvo535uW5mriOxAztBvB8jPtLX0yyuYqZBX0E+EmCptcumlcRyiR89u0rbKC89HD+QQvXEdZbvVfC2aqQp5BZ3cB9TLCSypj+AQfbRfEbZNZjT3wzlEnxxWUt1Kfyy9NJND9A1RNjk8epA8jkP0nVvrKNt3xcVVH3CIvmtnXdt8phLGcIi+Z0TdXJgHYRAG82EKLeAQna3g6Vykk3s9go7fxZ/hRa5L0UJxeM1Zt9PxULwV52FwZYohFR6Am+l4PM52LfsFXQSP3EvHE3CJo2oSkMF4EoCh3J10PASfdwhXi08nxScmHWM0ExKPxBeXupO+ClMO6U9E0+L7xfU7wmge7ne0X2mM2+h4IL7wCu1SRkxmp0K0G+ljce2r0PEUdioEse6jz8SNPJ2n83SeztN5Ok/n6Tydp/N0ns7TebqX0AkTIcdybOQgXVwpDE//Fks5RyfgWCFCpyYTTzlHT4eEOwf8T8/hJD2xICaAp/N0ns7TfZjO4R7+WBFCp2Zg7tExpFWJw4hlHJzNYSBMhAI3YjMX6UBocS3hcrrwLZbpIx21dTrl8aFl8R8dJzrgWadrZedYPpyF7nw4Sxe6NXYzQghtH5FamOFCukEjjYSN8D1rGQE76Gr7KzcyMWFPAEK7Zwor0l1Id0nQDhatIl1CTOKqlNsEjX2NDg67uQxIN2a4+AaVR9Ddc2/OqeuWpissqc3RFhE8BDOX6A26HZoQc39dH/MAGGKMtKq4QlfByo4l1K0mn3OATlPaWG3fzmWY45w7ONk76fLq2V3LMC8Ane9f8A91Y7uWkR2sr+EAnexmm9lZgbbSmUJeHpeNZ2GVW+mHnLrgZc2zupahmUE51cu/PCQdT8NKt9IPOvWptxh3dy2DjALSmULytr+gj8JV7qQ3LLcYncJLodN+WtXnlifODW75L4ZHHIiFjunp9fhjduh1oS13nRzZazTLDcEWf4Ss/jXB9UuhwrmXW2WNrf0FXtTpW9Vu8k/FyS8Qwn7Yn9kU+iNU4/T5waTecsG6S7/KulN70WJy9tXapPv9W+mBONnx9g9hkfgwjsNHmc7kqMxLzfA68Xo/jaFuqG9/sgoegS85xhMsbf75A24z/AsfPYdCnbW0U4vDw/AJx9tA2Nr3JIZcaHIB/Fn1xe5OxsNBeCnOxDXYgGlXp5gW0ufpClrNGpqG5gpF7K2ed93jwfg3fA8rsNzVmSYXyVPk555KFBJlr1MlkUquSw5KtkgiJZE3t17dVrTG8mVtqKwv4gMhhP4HwwXxEviqKqAAAAAASUVORK5CYII=\") 50% no-repeat}._landscape_3F .overlay_2X{z-index:2;opacity:.9;background-color:#333}._landscape_3F .deviceLandscape_3t{display:block}._landscape_3F .menuWrap_2V{display:none}.menuWrap_2V{position:absolute;width:100%;left:-100%;bottom:-100%;background-color:#fff;transition:bottom .3s ease-in-out}.menuTitle_gc{display:block;font-size:16px;color:#8194a4;font-family:sans-serif;margin-left:15px;margin-top:25px;margin-bottom:20px;transition:opacity .3s ease}.menu_Xi,.menuItem_1i{display:block}.menuItem_1i{position:relative;padding-top:3px;margin-bottom:10px;font-size:16px;color:#2f3a44;font-family:sans-serif}.menuItemIcon_gq{width:20px;height:20px;position:absolute;top:10px;left:15px;padding:1px}.menuItemIcon_gq svg{height:19px!important;width:19px!important}.menuItemText_1y{padding:10px;display:inline-block;margin-left:60px;font-size:16px;color:#2f3a44;font-family:sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:76%}.menuItemTextHighlight_3u{color:red}.copyrightWrap_3g{position:absolute;display:block;top:0;left:0;right:0;margin-top:-35px;text-align:center}.copyright_Iv{display:inline-block}.copyright_Iv a{color:#fff!important;font-size:12px!important;font-family:sans-serif!important}.logoIcon_2E{display:inline-block;vertical-align:middle;margin-left:5px;margin-bottom:-2px}.logoIcon_2E svg{height:15px!important;width:50px!important}.logoIcon_2E svg path{fill:#fff!important}.closeBtn_3r{position:relative;display:block;border-top:1px solid #e9e9e9;padding:20px 0}.closeIcon_2G{color:#314254;position:absolute;left:20px;top:18px;font-size:18px}.closeText_2a{font-size:16px;color:#314254;margin-left:70px;font-family:sans-serif}.wrap_2F{display:block;position:relative;width:100%;height:100%;opacity:0}._show_1l{opacity:1}._show_1l .overlay_3z{visibility:visible;opacity:.6}._show_1l .menuWrap_2D{display:block;bottom:0}.overlay_3z{display:block;left:0;top:0;height:100%;width:100%;position:absolute;opacity:0;background-color:#000;visibility:hidden;transition:visibility .3s ease,opacity .3s ease}.overlay_3z._extraPadding_1j{padding:3px;margin:-1px}.deviceLandscape_2G{display:none;position:absolute;top:0;bottom:0;left:0;right:0;width:125px;height:115px;margin:auto;background:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAABzCAQAAAAfg8XeAAAHT0lEQVR42u3daVATVxwA8Ad4BdoRW6U6OrXFWnVab8cba9uxYkc/dHR0nI62Fq+OvUbR8exUHIuIDiIIWiEJb6EeqNUWRxnHSlBEQBB15BYhITaRmIOQc9n994MS7sTIbq7d//8bSV7ej+y7NvNeEPKgkAvqxt9bmbk5f5skktm8sVW7smlSgcCTtLag/Qpnqk42PwXWwqAsS/svzOPgBj96nVUJrIdBeXb94gCPouu/Az24Jizp6z0IHjeXfAYuC1qVOddD4FFvXD0FLo18IirQI+j/zlbLXUu3ahOnegSd3AQuj5jVHkGH31+phTJKL9zhGfQYx1U16YzHlQlWNQBQILPcNOWabtky13ITGpz732gSPYN+wHFV60QIIaQRA1D1TYu1giZBU5AtAw1Bz+Y5NyswpnoNXf3PvSHW4ZZrAKba2uldy5CONjs1D2w+yThD66cYWi5gnk63NOW23AYKoIUylJJ/w5UOeRlKoMXN9Aq/6iWqbHpf2QLxQCbpTAcLdIQqQukqoKwafTkpOvXNjfHFQZyhx/tn7W59A5IklQ3XdPvzw3NCdAKfpyO0d2rn3pakjbXqjIII0/SikPgBPkxPEshSenjHphrJxa98mI6QfL7heQ/vqb0+x4fpecGqNbpuFyQ03Nljt61baQttAbbSDKbWIZAF+q/BDT8ockgV3e200lQcMahnuuG5dBUsoZdQbOVCag1dwQq9NEi7VnGXNPV0kVEtT1fY6+G1skyWbxtSw+h8FujlU5VZlNle+9JdLH7THl3fIHybZfpIupBhumZA7gaNwn7H0mLI+sT+uK5vwINZpr/HMD3nHUh2vGLMiz86wMfoolGVWd0MHpXV8fqMtiVFY/3eCT2V4KX0lDFleZ0HMF2hebt8IkLJQ6yy1r9m79zo51N0IvTRnY5wTXnzL7LQ1seL4l4OW3dTh/dcihfS6WHK7I5TdWlS3Yftn/FoKqgBzIaqCHvleB09oT8lbO82am5sKOzUkf3Yt+QMwOOsg4E+RA/3O72l/X0Ry7PoZbHdtOa0Fc1q0WL7ZXkZ/einelm7T7xx37Lun7d/sOynhD4+RP8rWHW1XRM3Za7tTYW8ip6zsX0rVx/qXYW8iL7pfUWZbUkCqhzDII7QL/inb273kT+/Mqe3FfIaunKwoaxNXnWw9xXyGvrDr9vghsdnRnGGLulTf7lttl4QhQM4Q8+eaFLZ6MqcSUxUyEvo535uW5mriOxAztBvB8jPtLX0yyuYqZBX0E+EmCptcumlcRyiR89u0rbKC89HD+QQvXEdZbvVfC2aqQp5BZ3cB9TLCSypj+AQfbRfEbZNZjT3wzlEnxxWUt1Kfyy9NJND9A1RNjk8epA8jkP0nVvrKNt3xcVVH3CIvmtnXdt8phLGcIi+Z0TdXJgHYRAG82EKLeAQna3g6Vykk3s9go7fxZ/hRa5L0UJxeM1Zt9PxULwV52FwZYohFR6Am+l4PM52LfsFXQSP3EvHE3CJo2oSkMF4EoCh3J10PASfdwhXi08nxScmHWM0ExKPxBeXupO+ClMO6U9E0+L7xfU7wmge7ne0X2mM2+h4IL7wCu1SRkxmp0K0G+ljce2r0PEUdioEse6jz8SNPJ2n83SeztN5Ok/n6Tydp/N0ns7TebqX0AkTIcdybOQgXVwpDE//Fks5RyfgWCFCpyYTTzlHT4eEOwf8T8/hJD2xICaAp/N0ns7TfZjO4R7+WBFCp2Zg7tExpFWJw4hlHJzNYSBMhAI3YjMX6UBocS3hcrrwLZbpIx21dTrl8aFl8R8dJzrgWadrZedYPpyF7nw4Sxe6NXYzQghtH5FamOFCukEjjYSN8D1rGQE76Gr7KzcyMWFPAEK7Zwor0l1Id0nQDhatIl1CTOKqlNsEjX2NDg67uQxIN2a4+AaVR9Ddc2/OqeuWpissqc3RFhE8BDOX6A26HZoQc39dH/MAGGKMtKq4QlfByo4l1K0mn3OATlPaWG3fzmWY45w7ONk76fLq2V3LMC8Ane9f8A91Y7uWkR2sr+EAnexmm9lZgbbSmUJeHpeNZ2GVW+mHnLrgZc2zupahmUE51cu/PCQdT8NKt9IPOvWptxh3dy2DjALSmULytr+gj8JV7qQ3LLcYncJLodN+WtXnlifODW75L4ZHHIiFjunp9fhjduh1oS13nRzZazTLDcEWf4Ss/jXB9UuhwrmXW2WNrf0FXtTpW9Vu8k/FyS8Qwn7Yn9kU+iNU4/T5waTecsG6S7/KulN70WJy9tXapPv9W+mBONnx9g9hkfgwjsNHmc7kqMxLzfA68Xo/jaFuqG9/sgoegS85xhMsbf75A24z/AsfPYdCnbW0U4vDw/AJx9tA2Nr3JIZcaHIB/Fn1xe5OxsNBeCnOxDXYgGlXp5gW0ufpClrNGpqG5gpF7K2ed93jwfg3fA8rsNzVmSYXyVPk555KFBJlr1MlkUquSw5KtkgiJZE3t17dVrTG8mVtqKwv4gMhhP4HwwXxEviqKqAAAAAASUVORK5CYII=\") 50% no-repeat}._landscape_9O .overlay_3z{z-index:2;opacity:.9;background-color:#333}._landscape_9O .deviceLandscape_2G{display:block}._landscape_9O .menuWrap_2D{display:none}.menuWrap_2D{position:absolute;z-index:1;width:100%;left:0;bottom:-100%;transition:bottom .3s ease-in-out}.menuTitle_1e{display:block;font-size:13px;color:#949494;font-family:sans-serif;text-align:center;padding:20px 0}.menu_3e{display:block;background-color:#f2f2f2;font-size:18px;color:#0076ff;margin:10px;margin-bottom:8px;border-radius:12px}.menuItem_2A{display:block;position:relative;text-align:center;border-top:1px solid #dddde0}.menuItemIcon_V0{display:inline-block;width:16px;height:16px;margin-bottom:2px;vertical-align:middle;margin-left:10px}.menuItemIcon_V0 svg{height:16px!important;width:16px!important}.menuItemText_19{padding:16px 10px;display:inline-block;font-size:18px;color:#0076ff;font-family:sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:82%}.menuItemTextHighlight_3I{color:red}.copyrightWrap_2o{position:absolute;display:block;top:-35px;left:0;right:0;margin:15px;text-align:center}.copyright_2u{display:inline-block}.copyright_2u a{color:#fff!important;font-size:12px!important;font-family:sans-serif!important}.logoIcon_5N{display:inline-block;vertical-align:middle;margin-left:5px;margin-bottom:-2px}.logoIcon_5N svg{height:15px!important;width:50px!important}.logoIcon_5N svg path{fill:#fff!important}.closeBtn_2k{display:block;padding:16px 0;border-radius:12px;margin:10px;margin-top:0;margin-bottom:15px;text-align:center;background-color:#fff;color:#0076ff;font-size:18px;font-weight:600;font-family:sans-serif}.wrap_3s{bottom:0;right:0;position:fixed;left:auto;top:auto;z-index:-5;opacity:0;visibility:hidden;margin-right:90px;margin-bottom:90px;transition:all .15s ease;display:block;width:70px;height:70px;border-radius:50%;box-shadow:1px 2px 3px 0 rgba(15,65,33,.08),5px 10px 20px 0 rgba(18,43,26,.12)}.wrap_3s:hover{box-shadow:1px 2px 3px 2px rgba(15,65,33,.08),5px 10px 20px 2px rgba(18,43,26,.2)}.wrap_3s._show_3w{z-index:2147483646;opacity:1;visibility:visible}.wrap_3s *,.wrap_3s svg{cursor:pointer!important}.button_3b,.iconWrap_1u{display:block;position:absolute;left:0;right:0;top:0;bottom:0;border-radius:50%;text-align:center}.button_3b{-webkit-animation:animationBtn_36 14s linear infinite;animation:animationBtn_36 14s linear infinite;-webkit-backface-visibility:hidden;backface-visibility:hidden}@-webkit-keyframes animationBtn_36{0%{box-shadow:0 0 0 0;opacity:0}73%{box-shadow:0 0 0 0;opacity:.5}80%{box-shadow:0 0 0 50px;opacity:0}81%{box-shadow:0 0 0 0;opacity:0}83%{box-shadow:0 0 0 0;opacity:.5}90%{box-shadow:0 0 0 50px;opacity:0}91%{box-shadow:0 0 0 0;opacity:0}93%{box-shadow:0 0 0 0;opacity:.5}to{box-shadow:0 0 0 50px;opacity:0}}@keyframes animationBtn_36{0%{box-shadow:0 0 0 0;opacity:0}73%{box-shadow:0 0 0 0;opacity:.5}80%{box-shadow:0 0 0 50px;opacity:0}81%{box-shadow:0 0 0 0;opacity:0}83%{box-shadow:0 0 0 0;opacity:.5}90%{box-shadow:0 0 0 50px;opacity:0}91%{box-shadow:0 0 0 0;opacity:0}93%{box-shadow:0 0 0 0;opacity:.5}to{box-shadow:0 0 0 50px;opacity:0}}.logoCallback_w0{display:inline-block;width:47%;height:47%;margin:29% auto 0;text-align:center}.logoCallback_w0 svg{width:100%!important;height:100%!important}.logoCallback_w0 svg path{fill:#fff;transition:initial}";
window.containerCSS = 'div#jivo-iframe-container *{max-height:100%}body#jivo_outer_body{height:100% !important}body#jivo_outer_body div#jivo-iframe-container.jivo-custom-label{z-index:2147483647 !important;-webkit-transition:all .3s cubic-bezier(.39, .24, .21, .99) !important;transition:all .3s cubic-bezier(.39, .24, .21, .99) !important;-webkit-animation-fill-mode:forwards !important}body.jivo-block-scroll{overflow:hidden}.jivo-mobile-widget{overflow:visible}.jivo-mobile-widget body{position:fixed !important;width:100% !important;height:100% !important;max-height:100% !important;min-height:100% !important;overflow:hidden;margin:0;bottom:0}.jivo-mobile-widget.jivo-mobile-overlay body:after{content:"";display:block;position:fixed;top:0;left:0;height:100% !important;width:100% !important;z-index:10;background-color:rgba(0,0,0,0.2)}div#jivo-iframe-container:not(.jivo-c-mobile){z-index:2147483647;-webkit-transition:all .3s cubic-bezier(.39, .24, .21, .99) !important;transition:all .3s cubic-bezier(.39, .24, .21, .99),opacity 0s !important;-webkit-animation-fill-mode:forwards !important;animation-fill-mode:forwards !important;position:fixed !important;transform:scale(1) !important;transform-origin:0 100%;font-size:0 !important;min-width:38px !important;max-width:100% !important;display:inline-block !important;overflow:visible !important;background:transparent !important;max-height:100% !important;min-height:0 !important;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;padding:0;margin:0;top:auto;backface-visibility:hidden}div#jivo-iframe-container:not(.jivo-c-mobile) #jivo-action-container{display:block !important;position:static !important;left:0 !important;right:0 !important;bottom:0 !important;padding:0 !important;margin:0 !important;opacity:1 !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-custom-label{transition:none !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-custom-label.jivo-state-widget{display:none !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-separate-window{bottom:0 !important;top:0 !important;right:0 !important;left:0 !important;width:100% !important;height:100% !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow.jivo-opening div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow:after{height:100% !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow.jivo-state-widget div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow.jivo-iframe-container-bottom:after,div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow.jivo-state-widget:after{height:38px}div#jivo-iframe-container:not(.jivo-c-mobile).jivo_shadow:after{position:absolute !important;width:100%;bottom:0 !important;right:0 !important;border-radius:3px 30px 0 0 !important;content:" "}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-expanded{overflow:visible !important}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-expanded #jivo_close_button{opacity:1}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-expanded:after{background:transparent;position:absolute !important;width:100% !important;bottom:0 !important;right:0 !important;border-radius:3px 30px 0 0 !important;content:" " !important;height:100% !important}div#jivo-iframe-container:not(.jivo-c-mobile) iframe body{overflow:hidden}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-ie8{border-top-width:2px;border-left-width:2px;border-right-width:2px;border-bottom-width:0;border-style:solid}div#jivo-iframe-container:not(.jivo-c-mobile).jivo-ie8:after{display:none;border-width:0}.jivo-c-mobile{position:fixed !important;height:100% !important;width:100% !important;top:0 !important;left:0 !important;bottom:0 !important;right:0 !important;transition:none !important;margin:0 !important;padding:0 !important;z-index:2147483647 !important;transform:initial !important}html.jivo-site-full-block{position:fixed !important;height:100% !important;width:100% !important}html.jivo-site-full-block body{z-index:auto !important}html.jivo-site-full-block body:after{position:absolute;left:0;right:0;top:0;bottom:0;width:100% !important;height:100% !important;background-color:#fff;content:" ";z-index:2147483646 !important}iframe#jivo_container{z-index:2147483647 !important;position:relative !important;padding:0 !important;margin:auto !important;left:auto !important;right:auto !important;width:100% !important;height:100% !important;max-width:100% !important;min-width:100% !important;min-height:0 !important;max-height:100% !important;display:block !important;background:transparent !important;top:0 !important;bottom:0 !important;opacity:1;visibility:visible;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}div#jivo-iframe-container.jivo-iframe-container-bottom{right:30px;bottom:0;border-radius:3px 30px 0 0 !important;min-width:300px !important}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo_shadow.jivo-state-widget:after{height:38px;box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo_shadow:after{height:100%;-webkit-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);-moz-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);box-shadow:0 12px 25px 8px rgba(0,0,0,0.17)}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo-expanded{bottom:0}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo-ie8{min-width:0 !important;width:300px}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo-ie8.jivo-state-widget-expanded{border-top-width:0;border-left-width:0;border-right-width:0;border-bottom-width:0}div#jivo-iframe-container.jivo-iframe-container-bottom.jivo-wp{bottom:5px !important}div#jivo-iframe-container.jivo-iframe-container-left{left:-48px;bottom:10px}div#jivo-iframe-container.jivo-iframe-container-left.jivo-collapsed{min-height:124px}div#jivo-iframe-container.jivo-iframe-container-left.jivo-state-widget{border-radius:0 30px 3px 0 !important}div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow.jivo-state-widget:after{width:38px;height:100%;box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow.jivo-expanded:after{width:100%}div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow.jivo-collapsed:after{width:38px;height:100%}div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow:after{border-radius:0 30px 3px 0 !important;right:auto !important;left:0 !important;-webkit-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);-moz-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);box-shadow:0 12px 25px 8px rgba(0,0,0,0.17)}div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow.jivo-opening:after,div#jivo-iframe-container.jivo-iframe-container-left.jivo_shadow.jivo-closing:after{-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-left.jivo-expanded{left:0}div#jivo-iframe-container.jivo-iframe-container-right{right:-48px;bottom:10px}div#jivo-iframe-container.jivo-iframe-container-right.jivo-collapsed{min-height:124px}div#jivo-iframe-container.jivo-iframe-container-right.jivo-state-widget{border-radius:30px 0 0 3px !important;overflow:hidden !important}div#jivo-iframe-container.jivo-iframe-container-right.jivo-state-widget:after{box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-right.jivo_shadow.jivo-expanded:after{border-radius:3px 30px 0 3px !important;width:100%;visibility:visible;box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-right.jivo_shadow:after{top:1px;border-radius:30px 0 0 3px !important;width:38px !important;height:99% !important;-webkit-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);-moz-box-shadow:0 12px 25px 8px rgba(0,0,0,0.17);box-shadow:0 12px 25px 8px rgba(0,0,0,0.17)}div#jivo-iframe-container.jivo-iframe-container-right.jivo-opening:after,div#jivo-iframe-container.jivo-iframe-container-right.jivo-closing:after{-webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important}div#jivo-iframe-container.jivo-iframe-container-right.jivo-expanded{right:0}div#jivo-iframe-container.jivo-no-transition{transition:none !important}div#jivo_action{position:absolute !important;top:0 !important;bottom:0 !important;left:-10px !important;right:0 !important;display:block;overflow:visible;max-height:initial !important;-webkit-touch-callout:none !important;user-select:none !important;-webkit-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;direction:ltr !important}div#jivo_action:hover{opacity:.9 !important}div.jivo-visible{left:-25px !important;display:block !important}div#jivo_close_button{margin-top:0 !important;margin-left:-20px !important;width:23px !important;height:23px !important;cursor:pointer !important;overflow:visible !important;opacity:0;-webkit-transition:all .3s cubic-bezier(.39, .24, .21, .99) !important;transition:all .3s cubic-bezier(.39, .24, .21, .99) !important;transition-delay:.3s}div#jivo_close_button.jivo-tablet{width:34px !important;height:34px !important}div#jivo_close_button.jivo-tablet svg{width:34px !important;height:34px !important;left:-10px !important;max-height:initial}div#jivo_close_button svg{width:23px !important;height:23px !important;position:relative !important;top:0 !important;left:0 !important;margin:0 !important;padding:0;display:block !important;opacity:1;visibility:visible !important}div#jivo-mouse-tracker{position:fixed !important;width:auto !important;height:auto !important;max-height:initial !important;z-index:2147483647 !important;left:-300px !important;right:-300px !important;top:-200px !important;bottom:0 !important;display:block;background-color:transparent !important;opacity:0 !important;-webkit-touch-callout:none !important;-webkit-user-select:none !important;-khtml-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;-o-user-select:none !important;user-select:none !important;transform:initial !important}div#jivo-drag-handle{position:absolute !important;top:0 !important;left:0 !important;width:79% !important;height:70px !important;background-color:transparent !important;z-index:2147483647 !important;cursor:move !important;-webkit-touch-callout:none !important;-webkit-user-select:none !important;-khtml-user-select:none !important;-moz-user-select:none !important;-ms-user-select:none !important;-o-user-select:none !important;user-select:none !important}#jivo_magic_iframe{width:100%;height:100%;position:fixed;margin:0;padding:0;left:0;top:0;border:0;z-index:200000;background-color:white;-webkit-overflow-scrolling:touch;overflow:auto;filter:none}.jivo-frame-visible{display:block;visibility:visible}.jivo-frame-hidden{display:block;visibility:hidden;width:100%;height:100%;position:absolute;left:-10000px;top:-10000px}.jivo_cobrowsing_element{border:8px solid #c8f70c;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;-ms-border-radius:10px;-o-border-radius:10px;border-radius:10px;behavior:url(corners.htc);box-shadow:0 3px 11px rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 11px rgba(0,0,0,0.2);position:absolute;z-index:199998;pointer-events:none;margin-top:-10px;min-height:auto !important}.jivo_cobrowsing_element .jivo_cobrowsing_element_inner{width:100%;height:100%;background-color:rgba(200,247,12,0.15)}.jivo_cobrowsing_tooltip{position:absolute;width:300px;z-index:199999;min-height:auto !important}.jivo_cobrowsing_tooltip #jivo_action{height:15px !important;z-index:auto}.jivo_cobrowsing_tooltip #jivo_action #jivo_close_button{margin-left:25px}.jivo_cobrowsing_tooltip>div{font-family:"Arial",sans-serif;font-size:13px;background-color:#3cb868;color:#fff;padding:10px;border:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.jivo_cobrowsing_tooltip>div:after{width:0;height:0;position:absolute;content:" ";border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #3cb868;left:50%;bottom:-9px;margin-left:-9px}.jivo_cobrowsing_tooltip>div.jivo-top:after{border-top-color:transparent;border-bottom:9px solid #3cb868;top:-17px;bottom:auto}.jivo_cobrowsing_tooltip>div.jivo-top.jivo-left #jivo_action{right:-45px !important;left:initial}.jivo_cobrowsing_tooltip>div.jivo-left #jivo_action{right:-25px !important;left:initial}.jivo_cobrowsing_tooltip>div.jivo-left:after{left:20px;margin:0}.jivo_cobrowsing_tooltip>div.jivo-right:after{right:20px;left:auto;margin:0}.jivo_cobrowsing_tooltip>div .jivo_cobrowsing_tooltip_agent{font-weight:bold;padding-bottom:2px}.jivo_cobrowsing_tooltip>div .jivo_cobrowsing_tooltip_text{overflow:hidden;word-wrap:break-word}#jivo_copyright{position:fixed;display:none;font-family:"Helvetica","Arial",sans-serif;font-weight:normal;font-size:12px;line-height:14px;cursor:pointer;background-color:#414243;color:#fff;padding:11px 15px;min-height:18px !important;z-index:2147483647;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;font-smoothing:antialiased;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}#jivo_copyright a{text-decoration:none;color:#54d181}#jivo_copyright #jivosite-copyright{display:inline-block;width:51px;height:18px;margin:0 0 -4px 5px}#jivo_copyright #jivosite-copyright.jivo-light{background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2249%22%20height%3D%2218%22%20viewBox%3D%220%200%2049%2018%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M7.35%206.347h-.942c-.095%200-.19%200-.283.095-.094.095-.094.19-.094.284v7.01c0%20.096%200%20.19.095.285.094.096.188.096.283.096h.942c.094%200%20.188%200%20.283-.095.094-.094.094-.188.094-.283v-7.01c0-.095%200-.19-.094-.285-.095%200-.19-.095-.283-.095zm8.67%200h-.755c-.282%200-.47.095-.565.19l-2.167%204.737-2.073-4.737c-.095-.19-.19-.19-.377-.19H9.046c-.188%200-.283%200-.283.095-.094.095-.094.19%200%20.284l3.393%207.295c.094.096.188.19.377.19h.094c.188%200%20.283-.094.283-.19l3.392-7.294c.094-.094.094-.19%200-.284%200%200-.094-.095-.283-.095zm4.617-.19c-1.13%200-2.074.38-2.827%201.232-.754.757-1.225%201.705-1.225%202.842%200%201.136.377%202.084%201.225%202.842.753.852%201.696%201.23%202.827%201.23%201.13%200%202.073-.378%202.826-1.23.754-.853%201.13-1.8%201.13-2.842%200-1.137-.376-2.085-1.224-2.843-.755-.758-1.697-1.232-2.733-1.232zm1.6%205.875c-.47.473-1.035.757-1.695.757-.66%200-1.225-.19-1.696-.664-.47-.473-.66-1.042-.66-1.8%200-.663.19-1.326.66-1.705.47-.473%201.037-.662%201.696-.662.66%200%201.225.19%201.696.663.472.475.66%201.043.66%201.706s-.188%201.232-.66%201.706zm8.01-1.61c-.282-.19-.564-.38-.753-.475-.282-.094-.565-.284-1.036-.473-.47-.19-.754-.38-1.037-.57-.187-.188-.376-.378-.376-.567%200-.19.094-.38.283-.474.188-.095.377-.19.754-.19.566%200%201.037.095%201.697.38.283.094.377.094.47-.19l.284-.568c.095-.19.095-.38-.188-.57-.565-.378-1.32-.567-2.26-.567-.85%200-1.51.19-1.98.663-.47.475-.66.948-.66%201.517%200%20.568.19%201.042.566%201.42.377.38.848.664%201.602%201.043.565.284%201.036.474%201.32.663.282.19.376.38.376.663%200%20.19-.094.38-.283.57-.188.093-.47.188-.754.188-.566%200-1.226-.19-1.98-.568-.282-.095-.377-.095-.47.095l-.378.758c-.094.19%200%20.285.095.38.753.568%201.6.757%202.544.757.85%200%201.508-.19%202.074-.663.47-.474.754-.947.754-1.61%200-.38-.095-.664-.19-.948%200-.19-.187-.473-.47-.663zm3.393-4.075h-.942c-.094%200-.188%200-.283.095-.094.095-.094.19-.094.284v7.01c0%20.096%200%20.19.095.285.095.096.19.096.283.096h.942c.095%200%20.19%200%20.283-.095.094-.094.094-.188.094-.283v-7.01c0-.095%200-.19-.094-.285-.094%200-.188-.095-.283-.095zm6.785%206.158c-.094-.19-.283-.284-.47-.19-.378.285-.85.38-1.226.38a.718.718%200%200%201-.472-.19c-.095-.094-.19-.284-.19-.663V7.674h2.074c.095%200%20.19%200%20.283-.095.094%200%20.094-.096.094-.19v-.664c0-.094%200-.19-.095-.284-.094-.095-.188-.095-.283-.095H38.07v-2.18c0-.093%200-.188-.095-.283-.094%200-.094-.095-.283-.095h-.942c-.094%200-.188%200-.283.094-.094.095-.094.19-.094.284v2.18h-.942c-.282%200-.376.094-.376.378v.663c0%20.094%200%20.19.094.284.094.094.19.094.283.094h.943v4.264c0%20.757.19%201.326.47%201.705.284.38.85.568%201.51.568.376%200%20.847-.094%201.224-.19.377-.094.754-.283.942-.378.188-.095.282-.284.188-.474l-.283-.758zm7.35-5.305c-.66-.663-1.508-1.042-2.544-1.042-1.13%200-2.072.38-2.826%201.23-.754.76-1.13%201.707-1.13%202.844%200%201.136.376%202.084%201.13%202.936.754.758%201.696%201.137%202.827%201.137%201.226%200%202.168-.284%202.922-.947.188-.19.188-.38%200-.57l-.47-.662c-.095-.19-.284-.19-.472%200-.66.474-1.225.663-1.885.663-.66%200-1.225-.19-1.696-.664-.472-.473-.66-.947-.66-1.515h5.37c.19%200%20.377-.094.377-.378v-.57c.095-.946-.282-1.8-.942-2.462zm-4.712%202.18c.095-.475.283-.948.66-1.233.377-.38.848-.473%201.414-.473.565%200%201.036.19%201.32.473.376.38.564.758.564%201.232h-3.957zM3.77%206.346H1.13c-.093%200-.188%200-.282.095-.094.095-.094.19-.094.284v.948c0%20.094%200%20.19.094.284.094.095.19.095.283.095h1.32v6.82c0%20.664-.565%201.232-1.225%201.232H1.13c-.093%200-.188%200-.282.095-.094.095-.094.19-.094.284v.948c0%20.094%200%20.19.094.284.094.095.19.095.283.095h.095c1.602%200%202.92-1.326%202.92-2.842V6.82c0-.094%200-.188-.093-.283-.094-.095-.094-.19-.283-.19z%22%20fill%3D%22%23FFF%22%2F%3E%3Cpath%20d%3D%22M4.146%205.78C3.958.946.754.757.754.757c-.19%204.358%203.392%205.02%203.392%205.02z%22%20fill%3D%22%2344BB6E%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;vertical-align:top;margin-top:10px;background-size:48px 17px}#jivo_copyright #jivosite-copyright.jivo-light.jivo-en{width:54px;margin-top:11px;display:inline-block;height:19px;vertical-align:top;background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2255%22%20height%3D%2218%22%20viewBox%3D%220%200%2055%2018%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M3.5%206H.8c-.1%200-.2%200-.3.1%200%20.1-.1.1-.1.2v1c0%20.1%200%20.2.1.3.1.1.2.1.3.1h1.4v7.2c0%20.7-.6%201.3-1.2%201.3H.8c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3v1c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.1c1.6%200%202.9-1.4%202.9-3V6.3c0-.1%200-.2-.1-.3h-.2zM7%206H6c-.1%200-.1%200-.2.1s-.1.1-.1.2v7.4c0%20.1%200%20.2.1.3.1.1.2.1.3.1H7c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V6.3c0-.1%200-.2-.1-.3H7zm8.6%200h-.8c-.3%200-.5.1-.5.2l-2.2%205-2.1-5c0-.2-.2-.2-.3-.2h-1c-.2%200-.3%200-.3.1-.1.1-.1.2%200%20.3l3.4%207.7c.1.1.2.2.3.2h.1c.1%200%20.3-.1.3-.2l3.4-7.7c.1-.1.1-.2%200-.3-.1-.1-.2-.1-.3-.1zm4.6-.2c-1.1%200-2%20.4-2.8%201.3-.8.8-1.2%201.8-1.2%203s.4%202.2%201.2%203c.8.9%201.7%201.3%202.8%201.3%201.1%200%202-.4%202.8-1.3.8-.9%201.2-1.9%201.2-3%200-1.2-.4-2.2-1.2-3-.8-.9-1.8-1.3-2.8-1.3zm1.6%206.1c-.4.5-1%20.8-1.6.8-.7%200-1.2-.2-1.7-.7-.4-.5-.7-1.1-.7-1.9%200-.7.2-1.4.7-1.8.4-.5%201-.7%201.7-.7s1.2.2%201.6.7c.4.5.7%201.1.7%201.8s-.3%201.3-.7%201.8zm9.6-.3c-.2-.2-.4-.1-.5%200l-.2.2-.3.3c-.1.1-.2.1-.3.2-.1.1-.3.2-.4.2-.2%200-.3.1-.5.1-.7%200-1.2-.3-1.6-.8-.4-.5-.7-1.1-.7-1.9%200-.7.2-1.4.7-1.9.5-.5%201-.7%201.7-.7.6%200%201.1.3%201.6.8.2.2.4.2.5.1l.6-.6s0-.2-.2-.4c-.7-.9-1.7-1.4-2.8-1.4-1.1%200-2%20.4-2.8%201.3-.8.8-1.2%201.8-1.2%203s.4%202.2%201.2%203.1c.8.8%201.7%201.2%202.8%201.2%201.3%200%202.3-.6%203-1.7.1-.2.1-.4-.1-.6l-.5-.5zm5.8-5.8c-.8%200-1.5.3-2.3.9V2.5c0-.1%200-.2-.1-.3-.1-.1-.2-.1-.3-.1h-.9c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3v11.3c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9c.3%200%20.4-.1.4-.4V8.7c.1-.3.4-.5.7-.8.4-.3.9-.4%201.4-.4.5%200%20.9.2%201.2.6.3.4.4.9.4%201.6v4.2c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V9.8c-.1-2.7-1.1-4-3.1-4zm10.1%201c-.2-.4-.5-.6-.8-.8-.4-.2-.9-.3-1.5-.3-1%200-1.9.2-2.7.5-.2.1-.3.2-.3.5l.2.7c.1.3.2.4.4.3.8-.3%201.6-.4%202.2-.4.5%200%20.8.1%201%20.4.2.3.3.8.2%201.4l-.2-.1c-.1%200-.3-.1-.6-.1-.2.1-.4.1-.7.1-1%200-1.7.2-2.3.7-.6.5-.8%201.1-.8%201.9%200%20.8.2%201.5.7%202%20.5.5%201.1.7%201.8.7.9%200%201.7-.3%202.4-1l.2.6c.1.2.2.3.3.3h.6c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V9.4c0-.6%200-1.1-.1-1.5-.1-.3-.2-.7-.4-1.1zm-1.2%205.1c-.1.2-.4.5-.7.7-.4.2-.7.3-1.1.3-.4%200-.7-.1-.9-.4-.2-.2-.3-.6-.3-.9%200-.4.1-.7.4-1%20.3-.2.7-.4%201.2-.4.3%200%20.6%200%20.9.1.3.1.5.1.5.2v1.4zm8.3%201.4l-.3-.8c-.1-.2-.2-.3-.5-.2-.4.3-.8.4-1.2.4-.2%200-.4-.1-.5-.2-.1-.1-.2-.3-.2-.7V7.5h2.1c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3v-.8c0-.1%200-.2-.1-.3h-2.4V3.7c0-.1%200-.2-.1-.3-.1-.1-.2-.1-.3-.1h-1c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3V6H49c-.2%200-.4.1-.4.4v.7c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9V12c0%20.8.1%201.4.4%201.8.3.4.8.6%201.5.6.4%200%20.8-.1%201.2-.2.4-.1.7-.3.9-.4.5-.1.6-.3.5-.5z%22%20fill%3D%22%23FFF%22%2F%3E%3Cpath%20d%3D%22M3.8%205.4C3.6.2.4%200%20.4%200%20.2%204.7%203.8%205.4%203.8%205.4z%22%20fill%3D%22%2344BB6E%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-size:50px 16px}#jivo_copyright #jivosite-copyright.jivo-dark{background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2249%22%20height%3D%2218%22%3E%3Cpath%20d%3D%22M7.35%206.347h-.942c-.095%200-.19%200-.283.095-.094.095-.094.19-.094.284v7.01c0%20.096%200%20.19.095.285.094.096.188.096.283.096h.942c.094%200%20.188%200%20.283-.095.094-.094.094-.188.094-.283v-7.01c0-.095%200-.19-.094-.285-.095%200-.19-.095-.283-.095m8.67%200h-.755c-.282%200-.47.095-.565.19l-2.167%204.737-2.073-4.737c-.095-.19-.19-.19-.377-.19H9.046c-.188%200-.283%200-.283.095-.094.095-.094.19%200%20.284l3.393%207.295c.094.096.188.19.377.19h.094c.188%200%20.283-.094.283-.19l3.392-7.294c.094-.094.094-.19%200-.284%200%200-.094-.095-.283-.095m4.617-.19c-1.13%200-2.073.38-2.827%201.232-.754.757-1.225%201.705-1.225%202.842%200%201.136.377%202.084%201.225%202.842.754.852%201.696%201.23%202.827%201.23%201.13%200%202.073-.378%202.827-1.23.753-.853%201.13-1.8%201.13-2.842%200-1.137-.377-2.085-1.225-2.843-.755-.758-1.697-1.232-2.733-1.232m1.602%205.874c-.473.473-1.038.758-1.698.758s-1.225-.19-1.696-.664c-.47-.473-.66-1.042-.66-1.8%200-.663.19-1.326.66-1.705.47-.473%201.037-.662%201.696-.662s1.225.19%201.696.663c.472.475.66%201.043.66%201.706s-.188%201.232-.66%201.706m8.01-1.61c-.283-.19-.565-.38-.754-.475-.283-.094-.565-.284-1.036-.473-.47-.19-.754-.38-1.037-.57-.187-.188-.376-.378-.376-.567%200-.19.094-.38.283-.474.188-.095.377-.19.754-.19.566%200%201.037.095%201.697.38.283.094.377.094.47-.19l.284-.568c.095-.19.095-.38-.188-.57-.565-.378-1.32-.567-2.26-.567-.85%200-1.51.19-1.98.663-.47.475-.66.948-.66%201.517%200%20.568.19%201.042.566%201.42.377.38.848.664%201.602%201.043.565.284%201.036.474%201.32.663.28.19.376.38.376.663%200%20.19-.095.38-.283.57-.188.094-.47.188-.754.188-.566%200-1.226-.19-1.98-.568-.282-.095-.377-.095-.47.095l-.378.758c-.094.19%200%20.285.094.38.754.568%201.602.757%202.545.757.85%200%201.508-.19%202.074-.663.47-.474.754-.947.754-1.61%200-.38-.095-.664-.19-.948%200-.19-.187-.474-.47-.663m3.392-4.073h-.942c-.094%200-.188%200-.283.095-.094.095-.094.19-.094.284v7.01c0%20.096%200%20.19.095.285.095.096.19.096.283.096h.942c.095%200%20.19%200%20.283-.095.094-.094.094-.188.094-.283v-7.01c0-.095%200-.19-.094-.285-.094%200-.188-.095-.283-.095m6.785%206.158c-.094-.19-.283-.284-.47-.19-.378.285-.85.38-1.226.38a.718.718%200%200%201-.472-.19c-.095-.094-.19-.284-.19-.663V7.674h2.074c.094%200%20.19%200%20.283-.095.094%200%20.094-.096.094-.19v-.664c0-.094%200-.19-.095-.284-.094-.095-.19-.095-.283-.095H38.07v-2.18c0-.093%200-.188-.095-.283-.094%200-.094-.095-.283-.095h-.942c-.094%200-.189%200-.283.094s-.094.19-.094.284v2.18h-.942c-.282%200-.376.094-.376.378v.663c0%20.094%200%20.19.094.284.094.094.188.094.283.094h.943v4.264c0%20.757.188%201.326.47%201.705.284.38.85.568%201.51.568.376%200%20.847-.095%201.224-.19.377-.094.754-.283.942-.378.188-.095.282-.284.188-.474l-.283-.758m7.35-5.305c-.66-.663-1.508-1.042-2.544-1.042-1.13%200-2.072.38-2.826%201.23-.754.76-1.13%201.707-1.13%202.844%200%201.136.376%202.084%201.13%202.936.754.758%201.696%201.137%202.827%201.137%201.226%200%202.168-.284%202.922-.947.188-.19.188-.38%200-.568l-.47-.664c-.095-.19-.284-.19-.472%200-.66.474-1.225.664-1.885.664s-1.225-.19-1.696-.664c-.472-.473-.66-.947-.66-1.515h5.37c.19%200%20.377-.094.377-.378v-.57c.095-.946-.282-1.8-.942-2.462m-4.71%202.18c.093-.475.28-.948.658-1.233.377-.38.848-.473%201.414-.473.565%200%201.036.19%201.32.473.376.38.564.758.564%201.232h-3.957M3.77%206.346H1.13c-.093%200-.188%200-.282.095-.094.095-.094.19-.094.284v.948c0%20.094%200%20.19.094.284.094.095.19.095.283.095h1.32v6.82c0%20.664-.565%201.232-1.225%201.232H1.13c-.093%200-.188%200-.282.095-.094.095-.094.19-.094.284v.948c0%20.094%200%20.19.094.284.094.094.19.094.283.094h.095c1.602%200%202.92-1.326%202.92-2.842V6.82c0-.094%200-.188-.093-.283-.094-.095-.094-.19-.283-.19z%22%20fill-rule%3D%22evenodd%22%20fill%3D%22%233e414f%22%2F%3E%3Cpath%20d%3D%22M4.146%205.78C3.958.946.754.757.754.757c-.19%204.358%203.392%205.02%203.392%205.02z%22%20fill-rule%3D%22evenodd%22%20fill%3D%22%2344bb6e%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat}#jivo_copyright #jivosite-copyright.jivo-dark.jivo-en{width:54px;background-image:url("data:image/svg+xml,%3Csvg%20width%3D%2255%22%20height%3D%2218%22%20viewBox%3D%220%200%2055%2018%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cpath%20d%3D%22M3.5%206H.8c-.1%200-.2%200-.3.1%200%20.1-.1.1-.1.2v1c0%20.1%200%20.2.1.3.1.1.2.1.3.1h1.4v7.2c0%20.7-.6%201.3-1.2%201.3H.8c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3v1c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.1c1.6%200%202.9-1.4%202.9-3V6.3c0-.1%200-.2-.1-.3h-.2zM7%206H6c-.1%200-.1%200-.2.1s-.1.1-.1.2v7.4c0%20.1%200%20.2.1.3.1.1.2.1.3.1H7c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V6.3c0-.1%200-.2-.1-.3H7zm8.6%200h-.8c-.3%200-.5.1-.5.2l-2.2%205-2.1-5c0-.2-.2-.2-.3-.2h-1c-.2%200-.3%200-.3.1-.1.1-.1.2%200%20.3l3.4%207.7c.1.1.2.2.3.2h.1c.1%200%20.3-.1.3-.2l3.4-7.7c.1-.1.1-.2%200-.3-.1-.1-.2-.1-.3-.1zm4.6-.2c-1.1%200-2%20.4-2.8%201.3-.8.8-1.2%201.8-1.2%203s.4%202.2%201.2%203c.8.9%201.7%201.3%202.8%201.3%201.1%200%202-.4%202.8-1.3.8-.9%201.2-1.9%201.2-3%200-1.2-.4-2.2-1.2-3-.8-.9-1.8-1.3-2.8-1.3zm1.6%206.1c-.4.5-1%20.8-1.6.8-.7%200-1.2-.2-1.7-.7-.4-.5-.7-1.1-.7-1.9%200-.7.2-1.4.7-1.8.4-.5%201-.7%201.7-.7s1.2.2%201.6.7c.4.5.7%201.1.7%201.8s-.3%201.3-.7%201.8zm9.6-.3c-.2-.2-.4-.1-.5%200l-.2.2-.3.3c-.1.1-.2.1-.3.2-.1.1-.3.2-.4.2-.2%200-.3.1-.5.1-.7%200-1.2-.3-1.6-.8-.4-.5-.7-1.1-.7-1.9%200-.7.2-1.4.7-1.9.5-.5%201-.7%201.7-.7.6%200%201.1.3%201.6.8.2.2.4.2.5.1l.6-.6s0-.2-.2-.4c-.7-.9-1.7-1.4-2.8-1.4-1.1%200-2%20.4-2.8%201.3-.8.8-1.2%201.8-1.2%203s.4%202.2%201.2%203.1c.8.8%201.7%201.2%202.8%201.2%201.3%200%202.3-.6%203-1.7.1-.2.1-.4-.1-.6l-.5-.5zm5.8-5.8c-.8%200-1.5.3-2.3.9V2.5c0-.1%200-.2-.1-.3-.1-.1-.2-.1-.3-.1h-.9c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3v11.3c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9c.3%200%20.4-.1.4-.4V8.7c.1-.3.4-.5.7-.8.4-.3.9-.4%201.4-.4.5%200%20.9.2%201.2.6.3.4.4.9.4%201.6v4.2c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V9.8c-.1-2.7-1.1-4-3.1-4zm10.1%201c-.2-.4-.5-.6-.8-.8-.4-.2-.9-.3-1.5-.3-1%200-1.9.2-2.7.5-.2.1-.3.2-.3.5l.2.7c.1.3.2.4.4.3.8-.3%201.6-.4%202.2-.4.5%200%20.8.1%201%20.4.2.3.3.8.2%201.4l-.2-.1c-.1%200-.3-.1-.6-.1-.2.1-.4.1-.7.1-1%200-1.7.2-2.3.7-.6.5-.8%201.1-.8%201.9%200%20.8.2%201.5.7%202%20.5.5%201.1.7%201.8.7.9%200%201.7-.3%202.4-1l.2.6c.1.2.2.3.3.3h.6c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3V9.4c0-.6%200-1.1-.1-1.5-.1-.3-.2-.7-.4-1.1zm-1.2%205.1c-.1.2-.4.5-.7.7-.4.2-.7.3-1.1.3-.4%200-.7-.1-.9-.4-.2-.2-.3-.6-.3-.9%200-.4.1-.7.4-1%20.3-.2.7-.4%201.2-.4.3%200%20.6%200%20.9.1.3.1.5.1.5.2v1.4zm8.3%201.4l-.3-.8c-.1-.2-.2-.3-.5-.2-.4.3-.8.4-1.2.4-.2%200-.4-.1-.5-.2-.1-.1-.2-.3-.2-.7V7.5h2.1c.1%200%20.2%200%20.3-.1.1-.1.1-.2.1-.3v-.8c0-.1%200-.2-.1-.3h-2.4V3.7c0-.1%200-.2-.1-.3-.1-.1-.2-.1-.3-.1h-1c-.1%200-.2%200-.3.1-.1.1-.1.2-.1.3V6H49c-.2%200-.4.1-.4.4v.7c0%20.1%200%20.2.1.3.1.1.2.1.3.1h.9V12c0%20.8.1%201.4.4%201.8.3.4.8.6%201.5.6.4%200%20.8-.1%201.2-.2.4-.1.7-.3.9-.4.5-.1.6-.3.5-.5z%22%20fill%3D%22%233E414F%22%2F%3E%3Cpath%20d%3D%22M3.8%205.4C3.6.2.4%200%20.4%200%20.2%204.7%203.8%205.4%203.8%205.4z%22%20fill%3D%22%2344BB6E%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");margin-top:11px;display:inline-block;height:19px;vertical-align:top;background-size:50px 16px}#jivo_copyright #jivo_copyright_corner{position:absolute;width:0;height:0}#jivo_copyright #jivo_copyright_corner.jivo-top{top:-5px;left:10px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #414243}#jivo_copyright #jivo_copyright_corner.jivo-bottom{bottom:-5px;right:10px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #414243}#jivo_copyright #jivo_copyright_corner.jivo-left{top:50%;left:-5px;margin-top:-3px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #414243}#jivo_copyright #jivo_copyright_corner.jivo-right{top:50%;right:-5px;margin-top:-3px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #414243}';
! function() {
    function e() {
        var e = window.containerCSS + window.modularCSS,
            t = window.parent.document,
            n = t.getElementById("jivo-iframe-container"),
            i = t.createElement("style");
        i.type = "text/css", i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(t.createTextNode(e)), n.appendChild(i)
    }
    window.parent.__jivoBundleInit(window), e()
}();
window.base_langpack = {
    "byYandex": "G5@57 /=45:A",
    "cancel": "B<5=0",
    "continue": "@>4>;68BL",
    "cw_callAfter": "5@572>=8< 20< G5@57",
    "cw_callButtonText": "5@572>=8B5 <=5",
    "cw_call_to": "2>=>: =0",
    "cw_code_restrict": " A>60;5=8N, <K =5 <>65< ?>72>=8BL =0 MB>B =><5@",
    "cw_connecting": "!>548=O5<...",
    "cw_enterPhonePlaceholder": "2548B5 20H B5;5D>=",
    "cw_errInfoText": ">?@>1C9B5 ?>72>=8BL 5I5 @07, 8;8 =0?8H8B5 =0< 2 G0B.",
    "cw_form_second": "A5:C=4C",
    "cw_form_secondd": "A5:C=4",
    "cw_form_seconds": "A5:C=4K",
    "cw_pickUpPhone": ">7L<8B5 B@C1:C",
    "cw_rate_limit": "K7>2 =0 C:070==K9 =><5@ =52>7<>65=",
    "cw_repeatCall": "5@572>=8B5 <=5",
    "cw_repeatCallAgain": "5@572>=8BL 5I5 @07",
    "cw_thxForCall": "!?0A81> 20< 70 72>=>:!",
    "cw_typeInChat": "0?8A0BL 2 G0B",
    "cw_unableToConnect": "5 A<>3;8 A>548=8BLAO?",
    "cw_weCalling": "K 20< 72>=8<",
    "cw_weRecallAfter": "2548B5 =><5@ B5;5D>=0, 8 <K ?5@572>=8< 20< 70",
    "c_callDisconnected": "K7>2 7025@H5=",
    "defCallformTitle": "C6=0 ?><>IL? <br>K ?5@572>=8< G5@57 <span style='color: #40cd72'>_SEC_</span> A5:C=4!",
    "defOfflineFormText": "AB02LB5 A2>5 A>>1I5=85 2 MB>9 D>@<5, <K ?>;CG8< 53> =0 e-mail 8 >1O70B5;L=> >B25B8<!",
    "defOfflineWidgetLabel": "B?@02LB5 =0< A>>1I5=85",
    "defOfflineWidgetLabelMobile": "!>>1I5=85",
    "defOnlineWidgetLabel": "0?8H8B5 =0<, <K >=;09=!",
    "defOnlineWidgetLabelMobile": "'0B",
    "defRuleInvitationText": "4@02AB2C9B5! / <>3C 20< G5<-B> ?><>GL?",
    "defRuleRetaining": ">60;C9AB0, ?>4>648B5. !59G0A >?5@0B>@K 70=OBK, => A:>@> :B>-=81C4L >A2>1>48BAO 8 >B25B8B 20<!",
    "defRuleRetainingEmail": "5B 2@5<5=8 640BL >B25B? >;CG8B5 C254><;5=85 =0 ?>GBC!",
    "enterEmailPlaceholder": "2548B5 20H email",
    "error_send": "5 4>AB02;5=>",
    "eula_link": ">;L7>20B5;LA:>5 A>3;0H5=85",
    "file_upl_cancel": "03@C7:0 >B<5=5=0",
    "file_upl_download": "!:0G0BL",
    "file_upl_error": "H81:0 703@C7:8",
    "file_upl_error_max_size": "H81:0  D09; 4>;65= 1KBL =5 1>;LH5 _FILESIZE_",
    "file_upl_error_no_ext": "H81:0  2K15@8B5 D09; A @0AH8@5=85<",
    "invoiceEmail": "Email 4;O >B?@02:8 G5:0",
    "label_fb_text": "!>>1I5=85 2 Facebook",
    "label_vk_text": "!>>1I5=85 >=B0:B5",
    "lblCallMe": ">72>=8BL",
    "lblCaptcha": "2548B5 :>4 A :0@B8=:8",
    "lblCaptchaError": "525@=K9 :>4, 22548B5 5I5 @07",
    "lblConnectedToAgent": "0?8H8B5 20H5 A>>1I5=85",
    "lblDeclineFile": "B:;>=8BL",
    "lblDefaultCobrowseComment": "1@0B8B5 2=8<0=85",
    "lblEnterMessageHere": "2548B5 A>>1I5=85 8 =06<8B5 Enter",
    "lblEnterMessageOrPhoneHere": "2548B5 A>>1I5=85 8;8 =><5@ B5;5D>=0 (?5@572>=8< <3=>25==>)",
    "lblEvaluateCancel": "B<5=8BL",
    "lblEvaluatePlease": "F5=8B5 :0G5AB2> >1A;C6820=8O",
    "lblEvaluateThanks": "!?0A81> 70 >F5=:C!",
    "lblHangUp": "025@H8BL A>548=5=85",
    "lblIntroduceName": "0H5 8<O",
    "lblIntroduceRequest": "@54AB02LB5AL, ?>60;C9AB0",
    "lblIntroduceRequestBefore": "@54AB02LB5AL 8 =0G=8B5 G0B!",
    "lblLeaveMessage": "AB028BL A>>1I5=85",
    "lblMessageHere": "2548B5 A>>1I5=85",
    "lblNewMessage": ">2>5 A>>1I5=85!",
    "lblOfflineMessageSend": "!>>1I5=85 >B?@02;5=>",
    "lblOperatorsOnline": "?5@0B>@K >=;09=!",
    "lblPencilHint": "?5@0B>@ =018@05B A>>1I5=85",
    "lblPwrBy": "'0B ?@54>AB02;5= <a href=\"http://www.jivosite.ru/_URL_\" target=\"_blank\"><span class=\"j1\">Jivo</span><span class=\"j2\">Site</span></a>",
    "lblReceiveFile": "@8=OBL",
    "lblReply": "B25B8BL",
    "lblSelectDep": "K15@8B5 >B45;",
    "lblSend": "B?@028BL",
    "lblSendBefore": "0G0BL 480;>3",
    "lblSendingFile": "_AGENT_ ?5@5405B 20< D09;: _FILE_",
    "lblThanks": "!?0A81>!",
    "lblThankYouMessage": "!?0A81> 70 20H5 A>>1I5=85! K&nbsp;>1O70B5;L=> A2O65<AO A&nbsp;20<8 2 1;8609H55 2@5<O",
    "lblTransferred": "80;>3 ?5@540= >?5@0B>@C _AGENT_",
    "lblView": ">A<>B@5BL",
    "lblYourEmail": "0H e-mail",
    "lblYourMessage": "0H5 A>>1I5=85",
    "lblYourPhone": "0H B5;5D>=",
    "lnkCloseThisWindow": "0:@KBL",
    "onlineChat": "=;09= G0B",
    "paymentsInvoice": "!G5B ",
    "paymentsPay": "0?;0B8BL",
    "paymentsSuccess": "CA?5H=> >?;0G5=",
    "powerBtnMenuTitle": "0: 20< C4>1=55 A =0<8 A2O70BLAO?",
    "seo_copyrightTextNew": "'0B ?@54>AB02;5= {0}",
    "social_fb": "2 Facebook",
    "social_get_access": "5 E>B8B5 640BL? >;CG8B5 C254><;5=85 2 >=B0:B5!",
    "social_get_access_fb": "5 >1O70B5;L=> 640BL =0 A09B5! K >B?@028< >B25B 2 Facebook Messenger",
    "social_online_text": "?5@0B>@K 2 A5B8 8 A:>@> >B25BOB",
    "social_process_in": "@>4>;68BL 480;>3",
    "social_process_in_fb": "@>4>;68BL 2",
    "social_process_vk": "@>4>;68BL 480;>3 _ICON_>=B0:B5",
    "social_success_email": "!?0A81>, GB> >AB028;8 20H 04@5A! >340 ?@845B >B25B, >B?@028< 53> =0 _EMAIL_ 8 2 MB>B G0B.",
    "social_success_fb": "Facebook Messenger ?>4:;NG5=! =M A;8 2K C945B5 A A09B0, B> A>>1I5=8O ?@84CB 2 MB>B G0B 8 2 Facebook",
    "social_success_vk": "#254><;5=8O >=B0:B5 2:;NG5=K! =M A;8 2K C945B5 A A09B0, B> A>>1I5=8O ?@84CB 2 MB>B G0B 8 2> >=B0:B5",
    "social_text_1": "1KG=> >B25G05< <><5=B0;L=>",
    "social_text_2": "1KG=> >B25G05< 2 B5G5=85 =5A:>;L:8E <8=CB",
    "social_text_3": "1KG=> >B25G05< 2 B5G5=85 G0A0",
    "social_text_4": "1KG=> >B25G05< 2 B5G5=85 =5A:>;L:8E G0A>2",
    "social_text_5": "1KG=> >B25G05< 2 B5G5=85 >4=>3> 4=O",
    "social_vk": ">=B0:B5",
    "today": "!53>4=O",
    "yesterday": "G5@0"
};
! function(e) {
    function t(a) {
        if (i[a]) return i[a].exports;
        var n = i[a] = {
            exports: {},
            id: a,
            loaded: !1
        };
        return e[a].call(n.exports, n, n.exports, t), n.loaded = !0, n.exports
    }
    var i = {};
    return t.m = e, t.c = i, t.p = "", t(0)
}([function(e, t, i) {
    e.exports = i(195)
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e) {
        return y.default.isArray(e) ? e : e.replace(/^\s+|\s+$/g, "").split(/\s+/)
    }

    function o(e) {
        e.offsetHeight
    }

    function r(e) {
        return n(e.className)
    }

    function l(e, t) {
        var i = t.join(" ");
        e.className !== i && (e.className = i, o(e))
    }
    var s, u, d = i(32),
        c = a(d),
        f = i(118),
        p = a(f),
        h = i(35),
        m = a(h),
        g = i(28),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = i(9),
        y = a(w),
        x = i(10),
        k = a(x),
        j = i(198),
        C = a(j),
        E = i(199),
        M = i(14),
        S = a(M),
        T = i(15),
        z = a(T),
        O = i(13),
        N = a(O),
        I = i(79),
        A = a(I),
        P = i(173),
        L = a(P),
        B = k.default.name("utils"),
        D = "classList" in document.documentElement,
        F = 0,
        H = navigator.userAgent.search(/google/gi) >= 0,
        R = (s = {
            addListener: function(e, t, i) {
                e.addEventListener ? e.addEventListener(t, i, !1) : e.attachEvent && (e.attachEvent("on" + t, function(e) {
                    return function() {
                        i.call(e, window.event)
                    }
                }(e)), e = null)
            },
            cookie: A.default,
            removeEvent: function(e, t, i) {
                if (window.removeEventListener) e.removeEventListener(t, i, !1);
                else {
                    if (!window.detachEvent) return !1;
                    var a = function() {
                        i.call(e)
                    };
                    e.detachEvent("on" + t, a)
                }
            },
            showAd: function() {
                return !(8 & _.default.options && _.default.hide_ad)
            },
            css3AnimationIsSupported: function() {
                var e = C.default.name;
                return !!("Firefox" === e && C.default.mV > 23 || "Chrome" === e && C.default.mV > 28 || "Safari" === e && C.default.mV > 5)
            },
            isWixIframe: function() {
                return "undefined" != typeof R.getPageWindow().jivo_in_wix_iframe
            },
            isWixContext: function() {
                var e = R.getPageWindow().wix_context;
                return e && e.Utils && e.Utils.getViewMode()
            },
            isBitrix: function e() {
                var t = document.cookie.split(";"),
                    e = !1;
                return y.default.each(t, function(t) {
                    t.indexOf("BITRIX_") >= 0 && (e = !0)
                }), e && R.telemetry("Bitrix Skip Iframe"), e
            },
            hasClass: D ? function(e, t) {
                return e.classList.contains(t)
            } : function(e, t) {
                return "" !== e.className && y.default.contains(r(e), t)
            },
            addClass: D ? function(e, t) {
                y.default.each(n(t), function(t) {
                    e && e.classList.add(t)
                }), e && o(e)
            } : function(e, t) {
                var i = r(e),
                    a = y.default.union(i, n(t));
                l(e, a)
            },
            removeClass: D ? function(e, t) {
                y.default.each(n(t), function(t) {
                    e && e.classList.remove(t)
                }), e && o(e)
            } : function(e, t) {
                var i = r(e),
                    a = y.default.difference(i, n(t));
                l(e, a)
            },
            toggleClass: D ? function(e, t, i) {
                t = y.default.uniq(n(t)), y.default.each(t, function(t) {
                    e.classList.toggle(t, i)
                }), o(e)
            } : function(e, t, i) {
                var a, o = r(e),
                    s = [],
                    u = [];
                y.default.each(n(t), function(e) {
                    var t = y.default.contains(o, e) ? i !== !0 && u : i !== !1 && s;
                    t && t.push(e)
                }), a = y.default.union(y.default.difference(o, u), s), l(e, a)
            },
            isVisible: function(e) {
                return e && e.offsetWidth > 0 && e.offsetHeight > 0
            },
            pageVisible: function() {
                return "visibilityState" in document ? "visible" === document.visibilityState : "webkitVisibilityState" in document && "visible" === document.webkitVisibilityState
            },
            listenVisibility: function(e) {
                var t = y.default.debounce(e, 50);
                B.log("Installing visibility event handler");
                var i, a, n;
                "undefined" != typeof document.hidden ? (i = "hidden", n = "visibilitychange", a = "visibilityState") : "undefined" != typeof document.mozHidden ? (i = "mozHidden", n = "mozvisibilitychange", a = "mozVisibilityState") : "undefined" != typeof document.msHidden ? (i = "msHidden", n = "msvisibilitychange", a = "msVisibilityState") : "undefined" != typeof document.webkitHidden && (i = "webkitHidden", n = "webkitvisibilitychange", a = "webkitVisibilityState"), "addEventListener" in document && "undefined" != typeof n && (document.addEventListener(n, y.default.bind(t, this, a), !1), parent.document.addEventListener(n, y.default.bind(t, this, a), !1), parent.document.addEventListener("focus", y.default.bind(t, this, a), !1), parent.document.addEventListener("blur", y.default.bind(t, this, a), !1), parent.window.addEventListener("focus", y.default.bind(t, this, a), !1), parent.window.addEventListener("blur", y.default.bind(t, this, a), !1))
            },
            telemetry: function(e, t) {
                if (R.saveTelemetry(e), !_.default.disable_telemetry && !H) {
                    "object" != ("undefined" == typeof t ? "undefined" : (0, v.default)(t)) && (t = {}), t.event = e, t.widget_id = _.default.widget_id, t.chat_mode = _.default.chat_mode, t.site_id = _.default.site_id, t.device = N.default.getDevice(), t.visitor_id = S.default.visitorId, S.default.client_id && (t.client_id = S.default.client_id.split(".")[0]);
                    try {
                        R.getJSONPWithData("//telemetry.jivosite.com/w", t, B.log)
                    } catch (e) {
                        B.error(e.message)
                    }
                }
            },
            saveTelemetry: function(e) {
                5 === L.default.lastTelemetry.length && L.default.lastTelemetry.shift(), L.default.lastTelemetry.push(e.substr(0, 60))
            },
            getCurrentPage: function() {
                if (B.log("getCurrentPage", R._forcedCurrentPage, window.location.href, R.getPageWindow().document.title), R._forcedCurrentPage) return R._forcedCurrentPage;
                var e = R.getPageWindow(),
                    t = e.location.href,
                    i = e.document.title;
                return {
                    url: t,
                    title: i.substr(0, 255)
                }
            },
            getPageWindow: function() {
                return window.parent || window
            },
            setGetParam: function(e, t, i) {
                e = encodeURI(e), t = encodeURI(t);
                for (var a = i.split("&"), n = a.length, o = void 0; n--;)
                    if (o = a[n].split("="), o[0] === e) {
                        o[1] = t, a[n] = o.join("=");
                        break
                    }
                return n < 0 && (a[a.length] = [e, t].join("=")), a.join("&")
            },
            removeQueryParam: function(e, t) {
                t || (t = window.location.href);
                var i = t.split("#"),
                    a = new RegExp("([?&])" + e + "=.*?(&|#|$)", "i");
                return i[0].match(a) && (t = i[0].replace(a, "$1"), t = t.replace(/([?&])$/, ""), "undefined" != typeof i[1] && null !== i[1] && (t += "#" + i[1])), t
            },
            getURLParam: function(e, t) {
                for (var i = (t || window.location || "").search.substring(1), a = i.split("&"), n = 0; n < a.length; n++) {
                    var o = a[n].split("=");
                    if (o[0] == e) return decodeURIComponent(o[1])
                }
            },
            getCopyrightSiteByLocale: function(e) {
                var t = "https://www.jivochat.com";
                ["ru_RU", "be", "kk", "uk"].indexOf(e) != -1 ? t = "https://www.jivosite.ru" : ["pt", "pt_BR"].indexOf(e) != -1 ? t = "https://www.jivochat.com.br" : ["es"].indexOf(e) != -1 ? t = "https://www.jivochat.es" : ["de"].indexOf(_.default.locale) != -1 && (t = "https://www.jivochat.de");
                var i = location.hostname.split(".");
                return "de" == i[i.length - 1] && (t = "https://www.jivochat.de"), t
            },
            reportException: function(e) {
                if (_.default.disable_error_reporting || H) B.warn("REPORT", e);
                else {
                    if (++F > 3) return;
                    try {
                        L.default.reportError(e)
                    } catch (e) {
                        B.error(e.message)
                    }
                }
            },
            getRandomString: function() {
                var e = Math.floor(65536 * Math.random()).toString(16);
                return 4 === e.length ? e : R.getRandomString()
            },
            generateGUID: function() {
                var e = R.getRandomString;
                return e() + e() + "-" + e() + "-" + e() + "-" + e() + "-" + e() + e() + e()
            },
            generateGUIDCount: function(e) {
                for (var t = ""; e--;) t += R.getRandomString();
                return t
            },
            getJSONP: function(e, t) {
                var i = new E.JSONP;
                i.open("GET", e), i.onload = t, i.send()
            },
            getJSONPWithData: function(e, t, i) {
                e += "?cb=?", t.t = (new Date).getTime();
                for (var a in t) e += "&" + a + "=" + encodeURIComponent(t[a]);
                return R.getJSONP(e, i)
            },
            stripBrackets: function(e) {
                return y.default.isUndefined(e) ? "" : e.replace(/</g, "&lt;").replace(/>/g, "&gt;")
            },
            setNavigateHistory: function() {
                var e = window.parent.location.origin + window.parent.location.pathname,
                    t = sessionStorage.getItem("jv_store_navigate_history");
                t ? (t = t.split(","), t[t.length - 1] !== e && (t.push(e), t.length > 10 && t.shift())) : t = [e], sessionStorage.setItem("jv_store_navigate_history", t)
            },
            stripHashFromLocation: function(e) {
                var t = window.top;
                t.location.href.indexOf("#jvhs_" + e) > 0 && R.changeBrowserLocation(t.location.href.replace("#jvhs_" + e, ""), document.title, t)
            },
            changeBrowserLocation: function(e, t) {
                var i = window.top;
                "function" == typeof i.history.replaceState ? i.history.replaceState({}, t, e) : "function" == typeof i.history.pushState && i.history.pushState({}, t, e)
            },
            setSubstrTitle: function(e) {
                return e.substr(0, 255)
            },
            telephonyUrl: function(e) {
                var t = void 0,
                    i = "//telephony";
                return t = "https:", t + i + _.default.base_url.substr(_.default.base_url.indexOf(".")) + "/api/1" + e
            },
            staticUrl: function(e, t) {
                if (t || (e += "?rnd=" + (new Date).getTime()), globalStore.hasStorage) var i = parseInt(localStorage.getItem("jv_store_cdn_resolve_time"), 10);
                var a = i && i >= (new Date).getTime() || globalStore.cdnUnavailableState,
                    n = _.default.bundle_folder ? _.default.bundle_folder : "";
                return _.default.static_host && !a ? "//" + _.default.static_host + n + e : _.default.base_url + n + e
            },
            chatServerUrl: function() {
                var e = window.location.protocol + "//";
                return "comet" in _.default ? (e += _.default.comet.host, "https:" == window.location.protocol ? "secure_port" in _.default.comet && (e += ":" + _.default.comet.secure_port) : "plain_port" in _.default.comet && (e += ":" + _.default.comet.plain_port)) : e += "node.jivosite.com", e + "/jsonp/" + y.default.toArray(arguments).join("/")
            },
            callWidgetPing: function(e) {
                if (y.default.isEmpty(_.default.callback_settings)) return void B.log("callback disabled");
                if (!_.default.botmode) {
                    var t = (0, A.default)("callback_ping_response");
                    if (t) e(JSON.parse(t));
                    else {
                        var i = S.default.client_id ? S.default.client_id.split(".")[0] : "0";
                        E.AJAX.get(R.telephonyUrl("/sites/" + _.default.site_id + "/widgets/" + _.default.widget_id + "/clients/" + i + "/telephony/callback", !0), {}, function(t) {
                            var i = new Date,
                                a = void 0,
                                n = t;
                            n || (n = {
                                ok: !1
                            }), a = n.ok || n.error_list && "time_not_in_range" === n.error_list[0] ? 60 : 20, i.setTime(i.getTime() + 1e3 * a), (0, A.default)("callback_ping_response", (0, m.default)(n), {
                                expires: i
                            }), e(n)
                        })
                    }
                }
            },
            checkStartCall: function(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                    i = arguments[2],
                    a = S.default.client_id.split(".")[0],
                    n = {
                        phone: e,
                        invitation_text: t
                    };
                E.AJAX.post(R.telephonyUrl("/sites/" + _.default.site_id + "/widgets/" + _.default.widget_id + "/clients/" + a + "/telephony/callback", !0), n, function(e) {
                    i(e)
                })
            },
            setImplicitGuiMessage: function(e, t) {
                var i = 0,
                    a = t || "";
                return y.default.each(y.default.pairs(e), function(e) {
                    i < 10 && (a = a + e[0] + ": " + e[1] + "; \n", i += 1)
                }), a
            },
            _callUserFunction: function(e, t) {
                if (B.log("_callUserFunction", e, t), e = "jivo_" + e, "function" == typeof window.parent.window[e]) {
                    try {
                        B.log("JIVO: calling user function " + e), window.parent.window[e](t), B.log("JIVO: user function " + e + " returned")
                    } catch (e) {
                        B.log("ERROR: _callUserFunction", e)
                    }
                    R.telemetry(e)
                }
            },
            getTextColor: function() {
                return "dark" == _.default.widget_font_color ? "#222222" : "#F0F1F1"
            },
            getTextSeconds: function(e) {
                var t = [(0, z.default)("cw_form_second"), (0, z.default)("cw_form_seconds"), (0, z.default)("cw_form_secondd")],
                    i = [2, 0, 1, 1, 1, 2];
                return t[e % 100 > 4 && e % 100 < 20 ? 2 : i[e % 10 < 5 ? e % 10 : 5]]
            },
            getElementPosition: function(e) {
                if (!e) return {
                    width: 0,
                    height: 0,
                    top: 0,
                    left: 0,
                    windowWidth: 0,
                    windowHeight: 0
                };
                var t, i = e.ownerDocument,
                    a = i.defaultView || i.parentWindow,
                    n = {
                        left: 0,
                        top: 0
                    };
                if (e.getBoundingClientRect) n = y.default.extend(n, e.getBoundingClientRect());
                else
                    for (t = e; t;) n.left += t.offsetLeft, n.top += t.offsetTop, t = t.offsetParent;
                return n.width = e.offsetWidth, n.height = e.offsetHeight, n.windowWidth = a.innerWidth, n.windowHeight = a.innerHeight, n
            },
            getCobrowseElementPosition: function(e) {
                var t, i, a = 0,
                    n = 0,
                    o = 0,
                    r = 0,
                    l = {
                        top: 0,
                        left: 0
                    },
                    s = document,
                    u = s.body;
                return t = s.documentElement, e && "undefined" != typeof e.getBoundingClientRect ? (l = e.getBoundingClientRect(), e && !R.elementOrParentIsFixed(e) && (i = R.getPageWindow(), a = t.clientTop || u.clientTop || 0, n = t.clientLeft || u.clientLeft || 0, o = i.pageYOffset || t.scrollTop, r = i.pageXOffset || t.scrollLeft), {
                    top: l.top + o - a,
                    left: l.left + r - n,
                    width: e.offsetWidth,
                    height: e.offsetHeight,
                    windowWidth: u.innerWidth,
                    windowHeight: u.innerHeight
                }) : (R.telemetry("cobrowse_failed"), !1)
            },
            elementOrParentIsFixed: function(e) {
                var t = !1;
                if (e)
                    for (var i = e, a = []; i && "HTML" !== i.tagName;) {
                        if (a.unshift(i), window.parent.window.Polymer && !window.parent.jivo_cobrowse && i.treeScope_) {
                            var n = i[(0, p.default)(i)[0]];
                            "fixed" === getComputedStyle(n).position && (t = !0)
                        } else "fixed" === getComputedStyle(i).position && (t = !0);
                        i = i.parentNode
                    }
                return t
            },
            getNextSiblingNodeFocus: function(e) {
                if (e.keyCode && 13 == e.keyCode) {
                    var t = e.currentTarget.parentNode.nextSibling.childNodes[0];
                    if (t && "INPUT" === t.tagName && t.focus) t.focus();
                    else {
                        var i = N.default.tablet() ? "touchstart" : "mousedown",
                            a = document.createEvent("MouseEvents");
                        a.initEvent(i, !0, !0), document.getElementById("submit").dispatchEvent(a)
                    }
                }
            },
            isAnyRequired: function() {
                var e = !1;
                return (_.default.contacts_settings.phone.required || _.default.contacts_settings.email.required) && (e = !0), e
            },
            getScrollBarWidth: function() {
                if (void 0 !== u) return u;
                var e = document.createElement("div");
                e.style.visibility = "hidden", e.style.width = "100px", document.body.appendChild(e);
                var t = e.offsetWidth;
                e.style.overflow = "scroll";
                var i = document.createElement("div");
                i.style.width = "100%", e.appendChild(i);
                var a = i.offsetWidth;
                return e.parentNode.removeChild(e), u = t - a
            },
            getInnerHeight: function(e) {
                var t = e.clientHeight,
                    i = getComputedStyle(e),
                    a = i.paddingTop,
                    n = i.paddingBottom;
                return t - parseFloat(a) - parseFloat(n)
            },
            getInnerWidth: function(e) {
                var t = e.clientWidth,
                    i = getComputedStyle(e),
                    a = i.paddingLeft,
                    n = i.paddingRight;
                return t - parseFloat(a) - parseFloat(n)
            },
            hasScroll: function(e) {
                var t = R.getPageWindow().document,
                    i = t.getElementById("jivo_magic_iframe");
                return e ? t.body.scrollHeight > R.getPageWindow().window.innerHeight : !(!i || !i.contentDocument) && i.contentDocument.body.scrollHeight > R.getPageWindow().innerHeight
            },
            isValidValue_phone: function(e) {
                return e.trim().replace(/\D+/g, "").length >= 5 && /^\+?[0-9() -]+$/i.test(e)
            },
            isValidValue_client_name: function(e) {
                return e.length > 0 && e.length < 100
            },
            isValidValue_email: function(e) {
                return e.length >= 4 && /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test(e)
            },
            isValidValue_message: function(e) {
                return e.length > 0
            },
            isValidValue_description: function(e) {
                return e.length > 0
            },
            getPhoneNumberInfo: function(e) {
                var t = e.replace(/\D+/g, ""),
                    i = _.default.callback_settings.countries,
                    a = "",
                    n = void 0,
                    o = 1,
                    r = "",
                    l = void 0;
                if (_.default.geoip && (r = _.default.geoip.split(";")[0]), 10 === t.length && (l = {
                        code: r
                    }, n = y.default.findWhere(i, l), n && (t = n.phone_code + t)), t.length < 11 || t.length > 15) return null;
                for (; !n && a.length < 4;) a = t.slice(0, o++), l = {
                    phone_code: a
                }, n = y.default.where(i, l), n.length > 1 ? (l.code = r, n = y.default.findWhere(i, l)) : n = n[0];
                if (n) {
                    var s = t.slice(n.phone_code.length);
                    return {
                        countryCode: n.code,
                        countryName: n.name,
                        phoneCode: n.phone_code,
                        phoneFormat: n.phone_format,
                        innerNumber: s,
                        number: t
                    }
                }
                return null
            },
            onIframeWindowUnload: function() {
                var e = window.parent,
                    t = e.document.getElementById("jivo_container");
                if (t && "javascript:false" == t.getAttribute("src")) return void B.log("windowUnload src = js:false");
                try {
                    if (e.window != window.top && window.top.jivo_magic_var === e.window.jivo_magic_var && !N.default.mobile()) return void(0, k.default)("window.onunload INIFRAME")
                } catch (e) {
                    B.log(e)
                }
                R.telemetry("onIframeWindowUnload");
                var i = e.document.getElementById("jivo-iframe-container");
                i && (i.style.visibility = "hidden", i.style.display = "none");
                try {
                    window.top.postMessage({
                        name: "iframe_url_changed"
                    }, "*")
                } catch (e) {
                    B.log(e)
                }
            },
            fixSVGaddClass: function() {
                if (B.log("fixSVGaddClass"), window.parent && window.parent.Element.prototype && window.parent.Element.prototype.hasClass) try {
                    window.parent.Element.prototype.hasClass.call(document.getElementsByTagName("jivo-icon-closewidget"), "a")
                } catch (e) {
                    B.log("SVGaddClass fixed", e), window.parent.Element.prototype.hasClass = function(e) {
                        return "function" == typeof this.getAttribute && new RegExp("(\\s|^)" + e + "(\\s|$)").test(this.getAttribute("class"))
                    }
                }
            },
            hideOffline: function() {
                return _.default.hide_offline > 0
            },
            trackCallLogo: function() {
                var e = "https://www.jivochat.com/",
                    t = _.default.locale;
                return "ru_RU" === t ? e = "http://www.jivosite.ru/" : "pt_PT" !== t && "pt_BR" !== t || (e = "http://www.jivochat.com.br/"), e + "calls?utm_source=" + window.location.host + "&utm_medium=link&utm_content=callback_popup&utm_campaign=self_ad"
            },
            genSocialIframeUrl: function(e) {
                var t = ["mode=" + e];
                return _.default.joint.vk && (t.push("vk_app_id=" + _.default.joint.vk.app_id), t.push("vk_joint_id=" + _.default.joint.vk.joint_id), t.push("vk_key=" + R.genVkRandomKey())), _.default.joint.fb && (t.push("fb_app_id=" + _.default.joint.fb.app_id), t.push("fb_joint_id=" + _.default.joint.fb.joint_id), t.push("fb_key=" + S.default.client_id + "_" + _.default.widget_id)), R.staticUrl("/social.min.html?" + t.join("&"), !0)
            },
            genVkRandomKey: function() {
                return (S.default.client_id + "=" + _.default.widget_id).replace(/./g, function(e) {
                    return e.charCodeAt(0).toString(16)
                })
            },
            scrollPosition: !1,
            movedToCloseButton: !1,
            firstMessageTime: null,
            checkTimeConditions: function(e, t, i) {
                var a, n = !1;
                for (a = 0; a < e.length; a++)
                    if (R.checkCondition(e[a], i)) n = !0;
                    else if ("all" === t) return !1;
                return n
            },
            isTimeCondition: function(e) {
                return e.condition.indexOf("time") >= 0
            },
            isGoalCondition: function(e) {
                return "goal_close" === e || "goal_scroll" === e
            },
            checkCondition: function(e, t) {
                var i = R.getValue(e.condition);
                "page_url" === e.condition && (e.value = e.value.replace(/http(|s):\/\//, "")), "pages_count" === e.condition && (e.value = parseInt(e.value));
                var a = R.compare(i, e.value, e.comparator),
                    n = (t ? t : "") + "; " + (a ? "success" : "failed") + " condition " + e.condition + "; comparator=" + e.comparator;
                return B.info(n + "; expected=" + e.value + "; actual=" + i), a
            },
            getValue: function(e) {
                switch (e) {
                    case "online":
                        return "online" === _.default.chat_mode;
                    case "page_url":
                        return R.getPageWindow().location.href.replace("http://", "").replace("https://", "");
                    case "hour":
                        return (new Date).getHours();
                    case "page_title":
                        return R.getCurrentPage().title;
                    case "week_day":
                        var t = (new Date).getDay();
                        return 0 === t ? 7 : t;
                    case "time_after_close":
                        var i = (0, A.default)("close_time");
                        return i ? R.timeDiff(i) : Number.MAX_VALUE;
                    case "time_after_first_message":
                        return R.firstMessageTime ? R.timeDiff(R.firstMessageTime.getTime()) : NaN;
                    case "time_after_invitation":
                        var a = (0, A.default)("invitation_time");
                        return null === a || "" === a ? Number.MAX_VALUE : R.timeDiff(a);
                    case "time_on_page":
                        return R.timeDiff(R.pageEnterTime);
                    case "time_on_site":
                        return R.timeDiff((0, A.default)("enter_ts"));
                    case "number_of_visits":
                        return (0, A.default)("visits_count");
                    case "goal_close":
                        return R.movedToCloseButton;
                    case "goal_scroll":
                        return R.scrollPosition;
                    case "pages_count":
                        return parseInt((0, A.default)("pages_count"));
                    default:
                        return (0, A.default)(e)
                }
            },
            timeDiff: function(e) {
                return Math.round(((new Date).getTime() - e) / 1e3)
            },
            compare: function(e, t, i) {
                switch (i) {
                    case "contain":
                        return e.toLowerCase().indexOf(t.toLowerCase()) != -1;
                    case "greater":
                        return e > t;
                    case "greater_equal":
                        return e >= t;
                    case "lower":
                        return e < t;
                    case "lower_equal":
                        return e <= t;
                    case "not_contain":
                        return e.toLowerCase().indexOf(t.toLowerCase()) === -1;
                    case "not_equal":
                        return t != e;
                    case "regexp":
                        return new RegExp(e, "i").test(t);
                    default:
                        return t == e
                }
            }
        }, (0, c.default)(s, "genVkRandomKey", function() {
            return (S.default.client_id + "=" + _.default.widget_id).replace(/./g, function(e) {
                return e.charCodeAt(0).toString(16)
            })
        }), (0, c.default)(s, "addPageView", function() {
            (0, A.default)("pages_count") ? (0, A.default)("pages_count", parseInt((0, A.default)("pages_count")) + 1) : (0, A.default)("pages_count", 1)
        }), (0, c.default)(s, "setTimeStartConnection", function() {
            (0, A.default)("startsec", Math.round((new Date).getTime() / 1e3))
        }), (0, c.default)(s, "checkSocial", function() {
            if (_.default.joint) {
                var e = "check";
                _.default.joint.vk && !_.default.joint.fb && (e = "checkvk"), _.default.joint.fb && !_.default.joint.vk && (e = "checkfb");
                var t = document.getElementsByClassName("check-iframe");
                return !(t && t.length > 0) && (!(!_.default.joint.vk && !_.default.joint.fb) && e)
            }
        }), (0, c.default)(s, "humanFileSize", function(e) {
            if (!e || 0 == e) return "";
            var t = Math.floor(Math.log(e) / Math.log(1024));
            return 1 * (e / Math.pow(1024, t)).toFixed(2) + ["B", "KB", "MB", "gB", "tB"][t]
        }), (0, c.default)(s, "isMagicIframe", function() {
            if (R.isWixContext()) return !1;
            try {
                return !(!window.parent || window.parent.window == window.top || window.top.jivo_magic_var !== window.parent.window.jivo_magic_var || R.isWixIframe()) && !(!window.parent.window.parent || !window.parent.window.parent.jivo_api || window.parent.window.parent.__jivo_magic_frame_created !== !0)
            } catch (e) {
                return B.log(e), !1
            }
        }), (0, c.default)(s, "isCustomLabel", function() {
            return "function" == typeof window.parent.jivo_onLoadCallback && window.parent.jivo_onLoadCallback.toString().search(/jivo_custom_widget/gi) != -1
        }), s);
    e.exports = R
}, function(e, t) {
    "use strict";
    t.__esModule = !0, t.default = function(e, t) {
        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(80),
        o = a(n);
    t.default = function() {
        function e(e, t) {
            for (var i = 0; i < t.length; i++) {
                var a = t[i];
                a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), (0, o.default)(e, a.key, a)
            }
        }
        return function(t, i, a) {
            return i && e(t.prototype, i), a && e(t, a), t
        }
    }()
}, function(e, t, i) {
    (function(t) {
        ! function(t, a) {
            e.exports = a(i(304), i(302))
        }(this, function(e, i) {
            function a() {
                return null
            }

            function n(e) {
                var t = e.nodeName,
                    i = e.attributes;
                e.attributes = {}, t.defaultProps && y(e.attributes, t.defaultProps), i && y(e.attributes, i)
            }

            function o(e, t) {
                var i, a, n;
                if (t) {
                    for (n in t)
                        if (i = W.test(n)) break;
                    if (i) {
                        a = e.attributes = {};
                        for (n in t) t.hasOwnProperty(n) && (a[W.test(n) ? n.replace(/([A-Z0-9])/, "-$1").toLowerCase() : n] = t[n])
                    }
                }
            }

            function r(e, t, a) {
                var n = t && t._preactCompatRendered;
                n && n.parentNode !== t && (n = null), n || (n = t.children[0]);
                for (var o = t.childNodes.length; o--;) t.childNodes[o] !== n && t.removeChild(t.childNodes[o]);
                var r = i.render(e, t, n);
                return t && (t._preactCompatRendered = r), "function" == typeof a && a(), r && r._component || r.base
            }

            function l(e, t, a, n) {
                var o = i.h(Z, {
                        context: e.context
                    }, t),
                    l = r(o, a);
                return n && n(l), l
            }

            function s(e) {
                var t = e._preactCompatRendered;
                return !(!t || t.parentNode !== e) && (i.render(i.h(a), e, t), !0)
            }

            function u(e) {
                return h.bind(null, e)
            }

            function d(e, t) {
                for (var i = t || 0; i < e.length; i++) {
                    var a = e[i];
                    Array.isArray(a) ? d(a) : a && "object" == typeof a && !v(a) && (a.props && a.type || a.attributes && a.nodeName || a.children) && (e[i] = h(a.type || a.nodeName, a.props || a.attributes, a.children))
                }
            }

            function c(e) {
                return "function" == typeof e && !(e.prototype && e.prototype.render)
            }

            function f(e) {
                return C({
                    displayName: e.displayName || e.name,
                    render: function(t, i, a) {
                        return e(t, a)
                    }
                })
            }

            function p(e) {
                var t = e[H];
                return t ? t === !0 ? e : t : (t = f(e), Object.defineProperty(t, H, {
                    configurable: !0,
                    value: !0
                }), t.displayName = e.displayName, t.propTypes = e.propTypes, t.defaultProps = e.defaultProps, Object.defineProperty(e, H, {
                    configurable: !0,
                    value: t
                }), t)
            }

            function h() {
                for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
                return d(e, 2), m(i.h.apply(void 0, e))
            }

            function m(e) {
                e.preactCompatNormalized = !0, w(e), c(e.nodeName) && (e.nodeName = p(e.nodeName));
                var t = e.attributes.ref,
                    i = t && typeof t;
                return !Y || "string" !== i && "number" !== i || (e.attributes.ref = b(t, Y)), _(e), e
            }

            function g(e, t) {
                for (var a = [], n = arguments.length - 2; n-- > 0;) a[n] = arguments[n + 2];
                if (!v(e)) return e;
                var o = e.attributes || e.props,
                    r = i.h(e.nodeName || e.type, o, e.children || o && o.children);
                return m(i.cloneElement.apply(void 0, [r, t].concat(a)))
            }

            function v(e) {
                return e && (e instanceof U || e.$$typeof === F)
            }

            function b(e, t) {
                return t._refProxies[e] || (t._refProxies[e] = function(i) {
                    t && t.refs && (t.refs[e] = i, null === i && (delete t._refProxies[e], t = null))
                })
            }

            function _(e) {
                var t = e.nodeName,
                    i = e.attributes;
                if (i && "string" == typeof t) {
                    var a = {};
                    for (var n in i) a[n.toLowerCase()] = n;
                    if (a.ondoubleclick && (i.ondblclick = i[a.ondoubleclick], delete i[a.ondoubleclick]), a.onchange) {
                        t = t.toLowerCase();
                        var o = "input" === t && /^che|rad/i.test(i.type) ? "onclick" : "oninput",
                            r = a[o] || o;
                        i[r] || (i[r] = z([i[a[o]], i[a.onchange]]), delete i[a.onchange])
                    }
                }
            }

            function w(e) {
                var t = e.attributes;
                if (t) {
                    var i = t.className || t.class;
                    i && (t.className = i)
                }
            }

            function y(e, t) {
                for (var i in t) t.hasOwnProperty(i) && (e[i] = t[i]);
                return e
            }

            function x(e, t) {
                for (var i in e)
                    if (!(i in t)) return !0;
                for (var a in t)
                    if (e[a] !== t[a]) return !0;
                return !1
            }

            function k(e) {
                return e && e.base || e
            }

            function j() {}

            function C(e) {
                function t(e, t) {
                    S(this), P.call(this, e, t, V), O.call(this, e, t)
                }
                return e = y({
                    constructor: t
                }, e), e.mixins && M(e, E(e.mixins)), e.statics && y(t, e.statics), e.propTypes && (t.propTypes = e.propTypes), e.defaultProps && (t.defaultProps = e.defaultProps), e.getDefaultProps && (t.defaultProps = e.getDefaultProps()), j.prototype = P.prototype, t.prototype = y(new j, e), t.displayName = e.displayName || "Component", t
            }

            function E(e) {
                for (var t = {}, i = 0; i < e.length; i++) {
                    var a = e[i];
                    for (var n in a) a.hasOwnProperty(n) && "function" == typeof a[n] && (t[n] || (t[n] = [])).push(a[n])
                }
                return t
            }

            function M(e, t) {
                for (var i in t) t.hasOwnProperty(i) && (e[i] = z(t[i].concat(e[i] || K), "getDefaultProps" === i || "getInitialState" === i || "getChildContext" === i))
            }

            function S(e) {
                for (var t in e) {
                    var i = e[t];
                    "function" != typeof i || i.__bound || R.hasOwnProperty(t) || ((e[t] = i.bind(e)).__bound = !0)
                }
            }

            function T(e, t, i) {
                if ("string" == typeof t && (t = e.constructor.prototype[t]), "function" == typeof t) return t.apply(e, i)
            }

            function z(e, t) {
                return function() {
                    for (var i, a = arguments, n = this, o = 0; o < e.length; o++) {
                        var r = T(n, e[o], a);
                        if (t && null != r) {
                            i || (i = {});
                            for (var l in r) r.hasOwnProperty(l) && (i[l] = r[l])
                        } else "undefined" != typeof r && (i = r)
                    }
                    return i
                }
            }

            function O(e, t) {
                N.call(this, e, t), this.componentWillReceiveProps = z([N, this.componentWillReceiveProps || "componentWillReceiveProps"]), this.render = z([N, I, this.render || "render", A])
            }

            function N(e, t) {
                var i = this;
                if (e) {
                    var a = e.children;
                    if (a && Array.isArray(a) && 1 === a.length && (e.children = a[0], e.children && "object" == typeof e.children && (e.children.length = 1, e.children[0] = e.children)), q) {
                        var n = "function" == typeof this ? this : this.constructor,
                            o = this.propTypes || n.propTypes;
                        if (o)
                            for (var r in o)
                                if (o.hasOwnProperty(r) && "function" == typeof o[r]) {
                                    var l = i.displayName || n.name,
                                        s = o[r](e, r, l, "prop");
                                    s && console.error(new Error(s.message || s))
                                }
                    }
                }
            }

            function I(e) {
                Y = this
            }

            function A() {
                Y === this && (Y = null)
            }

            function P(e, t, a) {
                i.Component.call(this, e, t), this.state = this.getInitialState ? this.getInitialState() : {}, this.refs = {}, this._refProxies = {}, a !== V && O.call(this, e, t)
            }

            function L(e, t) {
                P.call(this, e, t)
            }
            e = "default" in e ? e.default : e;
            var B = "15.1.0",
                D = "a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan".split(" "),
                F = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103,
                H = "undefined" != typeof Symbol ? Symbol.for("__preactCompatWrapper") : "__preactCompatWrapper",
                R = {
                    constructor: 1,
                    render: 1,
                    shouldComponentUpdate: 1,
                    componentWillReceiveProps: 1,
                    componentWillUpdate: 1,
                    componentDidUpdate: 1,
                    componentWillMount: 1,
                    componentDidMount: 1,
                    componentWillUnmount: 1,
                    componentDidUnmount: 1
                },
                W = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/,
                V = {},
                q = "undefined" == typeof t || !t.env || "production" !== t.env.NODE_ENV,
                U = i.h("a", null).constructor;
            U.prototype.$$typeof = F, U.prototype.preactCompatUpgraded = !1, U.prototype.preactCompatNormalized = !1, Object.defineProperty(U.prototype, "type", {get: function() {
                    return this.nodeName
                },
                set: function(e) {
                    this.nodeName = e
                },
                configurable: !0
            }), Object.defineProperty(U.prototype, "props", {get: function() {
                    return this.attributes
                },
                set: function(e) {
                    this.attributes = e
                },
                configurable: !0
            });
            var G = i.options.event;
            i.options.event = function(e) {
                return G && (e = G(e)), e.persist = Object, e.nativeEvent = e, e
            };
            var X = i.options.vnode;
            i.options.vnode = function(e) {
                if (!e.preactCompatUpgraded) {
                    e.preactCompatUpgraded = !0;
                    var t = e.nodeName,
                        i = e.attributes;
                    i || (i = e.attributes = {}), "function" == typeof t ? (t[H] === !0 || t.prototype && "isReactComponent" in t.prototype) && (e.children && !e.children.length && (e.children = void 0), e.children && (i.children = e.children), e.preactCompatNormalized || m(e), n(e)) : (e.children && !e.children.length && (e.children = void 0), e.children && (i.children = e.children), i.defaultValue && (i.value || 0 === i.value || (i.value = i.defaultValue), delete i.defaultValue), o(e, i))
                }
                X && X(e)
            };
            var Z = function() {};
            Z.prototype.getChildContext = function() {
                return this.props.context
            }, Z.prototype.render = function(e) {
                return e.children[0]
            };
            for (var Y, K = [], J = {
                    map: function(e, t, i) {
                        return null == e ? null : (e = J.toArray(e), i && i !== e && (t = t.bind(i)), e.map(t))
                    },
                    forEach: function(e, t, i) {
                        return null == e ? null : (e = J.toArray(e), i && i !== e && (t = t.bind(i)), void e.forEach(t))
                    },
                    count: function(e) {
                        return e && e.length || 0
                    },
                    only: function(e) {
                        if (e = J.toArray(e), 1 !== e.length) throw new Error("Children.only() expects only one child.");
                        return e[0]
                    },
                    toArray: function(e) {
                        return Array.isArray && Array.isArray(e) ? e : K.concat(e)
                    }
                }, Q = {}, $ = D.length; $--;) Q[D[$]] = u(D[$]);
            y(P.prototype = new i.Component, {
                constructor: P,
                isReactComponent: {},
                replaceState: function(e, t) {
                    var i = this;
                    this.setState(e, t);
                    for (var a in i.state) a in e || delete i.state[a]
                },
                getDOMNode: function() {
                    return this.base
                },
                isMounted: function() {
                    return !!this.base
                }
            }), j.prototype = P.prototype, L.prototype = new j, L.prototype.shouldComponentUpdate = function(e, t) {
                return x(this.props, e) || x(this.state, t)
            };
            var ee = {
                version: B,
                DOM: Q,
                PropTypes: e,
                Children: J,
                render: r,
                createClass: C,
                createFactory: u,
                createElement: h,
                cloneElement: g,
                isValidElement: v,
                findDOMNode: k,
                unmountComponentAtNode: s,
                Component: P,
                PureComponent: L,
                unstable_renderSubtreeIntoContainer: l
            };
            return ee
        })
    }).call(t, i(57))
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = window.jivo_config || window.parent.jivo_config;
    i.callback_settings || (i.callback_settings = {}), t.default = i
}, function(e, t, i) {
    e.exports = {
        default: i(220),
        __esModule: !0
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(210),
        o = a(n),
        r = i(208),
        l = a(r),
        s = i(28),
        u = a(s);
    t.default = function(e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + ("undefined" == typeof t ? "undefined" : (0, u.default)(t)));
        e.prototype = (0, l.default)(t && t.prototype, {
            constructor: {
                value: e,
                enumerable: !1,
                writable: !0,
                configurable: !0
            }
        }), t && (o.default ? (0, o.default)(e, t) : e.__proto__ = t)
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(28),
        o = a(n);
    t.default = function(e, t) {
        if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
        return !t || "object" !== ("undefined" == typeof t ? "undefined" : (0, o.default)(t)) && "function" != typeof t ? e : t
    }
}, function(e, t, i) {
    var a, n;
    (function() {
        function i(e) {
            function t(t, i, a, n, o, r) {
                for (; o >= 0 && o < r; o += e) {
                    var l = n ? n[o] : o;
                    a = i(a, t[l], l, t)
                }
                return a
            }
            return function(i, a, n, o) {
                a = k(a, o, 4);
                var r = !z(i) && x.keys(i),
                    l = (r || i).length,
                    s = e > 0 ? 0 : l - 1;
                return arguments.length < 3 && (n = i[r ? r[s] : s], s += e), t(i, a, n, r, s, l)
            }
        }

        function o(e) {
            return function(t, i, a) {
                i = j(i, a);
                for (var n = T(t), o = e > 0 ? 0 : n - 1; o >= 0 && o < n; o += e)
                    if (i(t[o], o, t)) return o;
                return -1
            }
        }

        function r(e, t, i) {
            return function(a, n, o) {
                var r = 0,
                    l = T(a);
                if ("number" == typeof o) e > 0 ? r = o >= 0 ? o : Math.max(o + l, r) : l = o >= 0 ? Math.min(o + 1, l) : o + l + 1;
                else if (i && o && l) return o = i(a, n), a[o] === n ? o : -1;
                if (n !== n) return o = t(h.call(a, r, l), x.isNaN), o >= 0 ? o + r : -1;
                for (o = e > 0 ? r : l - 1; o >= 0 && o < l; o += e)
                    if (a[o] === n) return o;
                return -1
            }
        }

        function l(e, t) {
            var i = P.length,
                a = e.constructor,
                n = x.isFunction(a) && a.prototype || c,
                o = "constructor";
            for (x.has(e, o) && !x.contains(t, o) && t.push(o); i--;) o = P[i], o in e && e[o] !== n[o] && !x.contains(t, o) && t.push(o)
        }
        var s = this,
            u = s._,
            d = Array.prototype,
            c = Object.prototype,
            f = Function.prototype,
            p = d.push,
            h = d.slice,
            m = c.toString,
            g = c.hasOwnProperty,
            v = Array.isArray,
            b = Object.keys,
            _ = f.bind,
            w = Object.create,
            y = function() {},
            x = function(e) {
                return e instanceof x ? e : this instanceof x ? void(this._wrapped = e) : new x(e)
            };
        "undefined" != typeof e && e.exports && (t = e.exports = x), t._ = x, x.VERSION = "1.8.3";
        var k = function(e, t, i) {
                if (void 0 === t) return e;
                switch (null == i ? 3 : i) {
                    case 1:
                        return function(i) {
                            return e.call(t, i)
                        };
                    case 2:
                        return function(i, a) {
                            return e.call(t, i, a)
                        };
                    case 3:
                        return function(i, a, n) {
                            return e.call(t, i, a, n)
                        };
                    case 4:
                        return function(i, a, n, o) {
                            return e.call(t, i, a, n, o)
                        }
                }
                return function() {
                    return e.apply(t, arguments)
                }
            },
            j = function(e, t, i) {
                return null == e ? x.identity : x.isFunction(e) ? k(e, t, i) : x.isObject(e) ? x.matcher(e) : x.property(e)
            };
        x.iteratee = function(e, t) {
            return j(e, t, 1 / 0)
        };
        var C = function(e, t) {
                return function(i) {
                    var a = arguments.length;
                    if (a < 2 || null == i) return i;
                    for (var n = 1; n < a; n++)
                        for (var o = arguments[n], r = e(o), l = r.length, s = 0; s < l; s++) {
                            var u = r[s];
                            t && void 0 !== i[u] || (i[u] = o[u])
                        }
                    return i
                }
            },
            E = function(e) {
                if (!x.isObject(e)) return {};
                if (w) return w(e);
                y.prototype = e;
                var t = new y;
                return y.prototype = null, t
            },
            M = function(e) {
                return function(t) {
                    return null == t ? void 0 : t[e]
                }
            },
            S = Math.pow(2, 53) - 1,
            T = M("length"),
            z = function(e) {
                var t = T(e);
                return "number" == typeof t && t >= 0 && t <= S
            };
        x.each = x.forEach = function(e, t, i) {
            t = k(t, i);
            var a, n;
            if (z(e))
                for (a = 0, n = e.length; a < n; a++) t(e[a], a, e);
            else {
                var o = x.keys(e);
                for (a = 0,
                    n = o.length; a < n; a++) t(e[o[a]], o[a], e)
            }
            return e
        }, x.map = x.collect = function(e, t, i) {
            t = j(t, i);
            for (var a = !z(e) && x.keys(e), n = (a || e).length, o = Array(n), r = 0; r < n; r++) {
                var l = a ? a[r] : r;
                o[r] = t(e[l], l, e)
            }
            return o
        }, x.reduce = x.foldl = x.inject = i(1), x.reduceRight = x.foldr = i(-1), x.find = x.detect = function(e, t, i) {
            var a;
            if (a = z(e) ? x.findIndex(e, t, i) : x.findKey(e, t, i), void 0 !== a && a !== -1) return e[a]
        }, x.filter = x.select = function(e, t, i) {
            var a = [];
            return t = j(t, i), x.each(e, function(e, i, n) {
                t(e, i, n) && a.push(e)
            }), a
        }, x.reject = function(e, t, i) {
            return x.filter(e, x.negate(j(t)), i)
        }, x.every = x.all = function(e, t, i) {
            t = j(t, i);
            for (var a = !z(e) && x.keys(e), n = (a || e).length, o = 0; o < n; o++) {
                var r = a ? a[o] : o;
                if (!t(e[r], r, e)) return !1
            }
            return !0
        }, x.some = x.any = function(e, t, i) {
            t = j(t, i);
            for (var a = !z(e) && x.keys(e), n = (a || e).length, o = 0; o < n; o++) {
                var r = a ? a[o] : o;
                if (t(e[r], r, e)) return !0
            }
            return !1
        }, x.contains = x.includes = x.include = function(e, t, i, a) {
            return z(e) || (e = x.values(e)), ("number" != typeof i || a) && (i = 0), x.indexOf(e, t, i) >= 0
        }, x.invoke = function(e, t) {
            var i = h.call(arguments, 2),
                a = x.isFunction(t);
            return x.map(e, function(e) {
                var n = a ? t : e[t];
                return null == n ? n : n.apply(e, i)
            })
        }, x.pluck = function(e, t) {
            return x.map(e, x.property(t))
        }, x.where = function(e, t) {
            return x.filter(e, x.matcher(t))
        }, x.findWhere = function(e, t) {
            return x.find(e, x.matcher(t))
        }, x.max = function(e, t, i) {
            var a, n, o = -(1 / 0),
                r = -(1 / 0);
            if (null == t && null != e) {
                e = z(e) ? e : x.values(e);
                for (var l = 0, s = e.length; l < s; l++) a = e[l], a > o && (o = a)
            } else t = j(t, i), x.each(e, function(e, i, a) {
                n = t(e, i, a), (n > r || n === -(1 / 0) && o === -(1 / 0)) && (o = e, r = n)
            });
            return o
        }, x.min = function(e, t, i) {
            var a, n, o = 1 / 0,
                r = 1 / 0;
            if (null == t && null != e) {
                e = z(e) ? e : x.values(e);
                for (var l = 0, s = e.length; l < s; l++) a = e[l], a < o && (o = a)
            } else t = j(t, i), x.each(e, function(e, i, a) {
                n = t(e, i, a), (n < r || n === 1 / 0 && o === 1 / 0) && (o = e, r = n)
            });
            return o
        }, x.shuffle = function(e) {
            for (var t, i = z(e) ? e : x.values(e), a = i.length, n = Array(a), o = 0; o < a; o++) t = x.random(0, o), t !== o && (n[o] = n[t]), n[t] = i[o];
            return n
        }, x.sample = function(e, t, i) {
            return null == t || i ? (z(e) || (e = x.values(e)), e[x.random(e.length - 1)]) : x.shuffle(e).slice(0, Math.max(0, t))
        }, x.sortBy = function(e, t, i) {
            return t = j(t, i), x.pluck(x.map(e, function(e, i, a) {
                return {
                    value: e,
                    index: i,
                    criteria: t(e, i, a)
                }
            }).sort(function(e, t) {
                var i = e.criteria,
                    a = t.criteria;
                if (i !== a) {
                    if (i > a || void 0 === i) return 1;
                    if (i < a || void 0 === a) return -1
                }
                return e.index - t.index
            }), "value")
        };
        var O = function(e) {
            return function(t, i, a) {
                var n = {};
                return i = j(i, a), x.each(t, function(a, o) {
                    var r = i(a, o, t);
                    e(n, a, r)
                }), n
            }
        };
        x.groupBy = O(function(e, t, i) {
            x.has(e, i) ? e[i].push(t) : e[i] = [t]
        }), x.indexBy = O(function(e, t, i) {
            e[i] = t
        }), x.countBy = O(function(e, t, i) {
            x.has(e, i) ? e[i] ++ : e[i] = 1
        }), x.toArray = function(e) {
            return e ? x.isArray(e) ? h.call(e) : z(e) ? x.map(e, x.identity) : x.values(e) : []
        }, x.size = function(e) {
            return null == e ? 0 : z(e) ? e.length : x.keys(e).length
        }, x.partition = function(e, t, i) {
            t = j(t, i);
            var a = [],
                n = [];
            return x.each(e, function(e, i, o) {
                (t(e, i, o) ? a : n).push(e)
            }), [a, n]
        }, x.first = x.head = x.take = function(e, t, i) {
            if (null != e) return null == t || i ? e[0] : x.initial(e, e.length - t)
        }, x.initial = function(e, t, i) {
            return h.call(e, 0, Math.max(0, e.length - (null == t || i ? 1 : t)))
        }, x.last = function(e, t, i) {
            if (null != e) return null == t || i ? e[e.length - 1] : x.rest(e, Math.max(0, e.length - t))
        }, x.rest = x.tail = x.drop = function(e, t, i) {
            return h.call(e, null == t || i ? 1 : t)
        }, x.compact = function(e) {
            return x.filter(e, x.identity)
        };
        var N = function(e, t, i, a) {
            for (var n = [], o = 0, r = a || 0, l = T(e); r < l; r++) {
                var s = e[r];
                if (z(s) && (x.isArray(s) || x.isArguments(s))) {
                    t || (s = N(s, t, i));
                    var u = 0,
                        d = s.length;
                    for (n.length += d; u < d;) n[o++] = s[u++]
                } else i || (n[o++] = s)
            }
            return n
        };
        x.flatten = function(e, t) {
            return N(e, t, !1)
        }, x.without = function(e) {
            return x.difference(e, h.call(arguments, 1))
        }, x.uniq = x.unique = function(e, t, i, a) {
            x.isBoolean(t) || (a = i, i = t, t = !1), null != i && (i = j(i, a));
            for (var n = [], o = [], r = 0, l = T(e); r < l; r++) {
                var s = e[r],
                    u = i ? i(s, r, e) : s;
                t ? (r && o === u || n.push(s), o = u) : i ? x.contains(o, u) || (o.push(u), n.push(s)) : x.contains(n, s) || n.push(s)
            }
            return n
        }, x.union = function() {
            return x.uniq(N(arguments, !0, !0))
        }, x.intersection = function(e) {
            for (var t = [], i = arguments.length, a = 0, n = T(e); a < n; a++) {
                var o = e[a];
                if (!x.contains(t, o)) {
                    for (var r = 1; r < i && x.contains(arguments[r], o); r++);
                    r === i && t.push(o)
                }
            }
            return t
        }, x.difference = function(e) {
            var t = N(arguments, !0, !0, 1);
            return x.filter(e, function(e) {
                return !x.contains(t, e)
            })
        }, x.zip = function() {
            return x.unzip(arguments)
        }, x.unzip = function(e) {
            for (var t = e && x.max(e, T).length || 0, i = Array(t), a = 0; a < t; a++) i[a] = x.pluck(e, a);
            return i
        }, x.object = function(e, t) {
            for (var i = {}, a = 0, n = T(e); a < n; a++) t ? i[e[a]] = t[a] : i[e[a][0]] = e[a][1];
            return i
        }, x.findIndex = o(1), x.findLastIndex = o(-1), x.sortedIndex = function(e, t, i, a) {
            i = j(i, a, 1);
            for (var n = i(t), o = 0, r = T(e); o < r;) {
                var l = Math.floor((o + r) / 2);
                i(e[l]) < n ? o = l + 1 : r = l
            }
            return o
        }, x.indexOf = r(1, x.findIndex, x.sortedIndex), x.lastIndexOf = r(-1, x.findLastIndex), x.range = function(e, t, i) {
            null == t && (t = e || 0, e = 0), i = i || 1;
            for (var a = Math.max(Math.ceil((t - e) / i), 0), n = Array(a), o = 0; o < a; o++, e += i) n[o] = e;
            return n
        };
        var I = function(e, t, i, a, n) {
            if (!(a instanceof t)) return e.apply(i, n);
            var o = E(e.prototype),
                r = e.apply(o, n);
            return x.isObject(r) ? r : o
        };
        x.bind = function(e, t) {
            if (_ && e.bind === _) return _.apply(e, h.call(arguments, 1));
            if (!x.isFunction(e)) throw new TypeError("Bind must be called on a function");
            var i = h.call(arguments, 2),
                a = function() {
                    return I(e, a, t, this, i.concat(h.call(arguments)))
                };
            return a
        }, x.partial = function(e) {
            var t = h.call(arguments, 1),
                i = function() {
                    for (var a = 0, n = t.length, o = Array(n), r = 0; r < n; r++) o[r] = t[r] === x ? arguments[a++] : t[r];
                    for (; a < arguments.length;) o.push(arguments[a++]);
                    return I(e, i, this, this, o)
                };
            return i
        }, x.bindAll = function(e) {
            var t, i, a = arguments.length;
            if (a <= 1) throw new Error("bindAll must be passed function names");
            for (t = 1; t < a; t++) i = arguments[t], e[i] = x.bind(e[i], e);
            return e
        }, x.memoize = function(e, t) {
            var i = function(a) {
                var n = i.cache,
                    o = "" + (t ? t.apply(this, arguments) : a);
                return x.has(n, o) || (n[o] = e.apply(this, arguments)), n[o]
            };
            return i.cache = {}, i
        }, x.delay = function(e, t) {
            var i = h.call(arguments, 2);
            return setTimeout(function() {
                return e.apply(null, i)
            }, t)
        }, x.defer = x.partial(x.delay, x, 1), x.throttle = function(e, t, i) {
            var a, n, o, r = null,
                l = 0;
            i || (i = {});
            var s = function() {
                l = i.leading === !1 ? 0 : x.now(), r = null, o = e.apply(a, n), r || (a = n = null)
            };
            return function() {
                var u = x.now();
                l || i.leading !== !1 || (l = u);
                var d = t - (u - l);
                return a = this, n = arguments, d <= 0 || d > t ? (r && (clearTimeout(r), r = null), l = u, o = e.apply(a, n), r || (a = n = null)) : r || i.trailing === !1 || (r = setTimeout(s, d)), o
            }
        }, x.debounce = function(e, t, i) {
            var a, n, o, r, l, s = function() {
                var u = x.now() - r;
                u < t && u >= 0 ? a = setTimeout(s, t - u) : (a = null, i || (l = e.apply(o, n), a || (o = n = null)))
            };
            return function() {
                o = this, n = arguments, r = x.now();
                var u = i && !a;
                return a || (a = setTimeout(s, t)), u && (l = e.apply(o, n), o = n = null), l
            }
        }, x.wrap = function(e, t) {
            return x.partial(t, e)
        }, x.negate = function(e) {
            return function() {
                return !e.apply(this, arguments)
            }
        }, x.compose = function() {
            var e = arguments,
                t = e.length - 1;
            return function() {
                for (var i = t, a = e[t].apply(this, arguments); i--;) a = e[i].call(this, a);
                return a
            }
        }, x.after = function(e, t) {
            return function() {
                if (--e < 1) return t.apply(this, arguments)
            }
        }, x.before = function(e, t) {
            var i;
            return function() {
                return --e > 0 && (i = t.apply(this, arguments)), e <= 1 && (t = null), i
            }
        }, x.once = x.partial(x.before, 2);
        var A = !{
                toString: null
            }.propertyIsEnumerable("toString"),
            P = ["valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"];
        x.keys = function(e) {
            if (!x.isObject(e)) return [];
            if (b) return b(e);
            var t = [];
            for (var i in e) x.has(e, i) && t.push(i);
            return A && l(e, t), t
        }, x.allKeys = function(e) {
            if (!x.isObject(e)) return [];
            var t = [];
            for (var i in e) t.push(i);
            return A && l(e, t), t
        }, x.values = function(e) {
            for (var t = x.keys(e), i = t.length, a = Array(i), n = 0; n < i; n++) a[n] = e[t[n]];
            return a
        }, x.mapObject = function(e, t, i) {
            t = j(t, i);
            for (var a, n = x.keys(e), o = n.length, r = {}, l = 0; l < o; l++) a = n[l], r[a] = t(e[a], a, e);
            return r
        }, x.pairs = function(e) {
            for (var t = x.keys(e), i = t.length, a = Array(i), n = 0; n < i; n++) a[n] = [t[n], e[t[n]]];
            return a
        }, x.invert = function(e) {
            for (var t = {}, i = x.keys(e), a = 0, n = i.length; a < n; a++) t[e[i[a]]] = i[a];
            return t
        }, x.functions = x.methods = function(e) {
            var t = [];
            for (var i in e) x.isFunction(e[i]) && t.push(i);
            return t.sort()
        }, x.extend = C(x.allKeys), x.extendOwn = x.assign = C(x.keys), x.findKey = function(e, t, i) {
            t = j(t, i);
            for (var a, n = x.keys(e), o = 0, r = n.length; o < r; o++)
                if (a = n[o], t(e[a], a, e)) return a
        }, x.pick = function(e, t, i) {
            var a, n, o = {},
                r = e;
            if (null == r) return o;
            x.isFunction(t) ? (n = x.allKeys(r), a = k(t, i)) : (n = N(arguments, !1, !1, 1), a = function(e, t, i) {
                return t in i
            }, r = Object(r));
            for (var l = 0, s = n.length; l < s; l++) {
                var u = n[l],
                    d = r[u];
                a(d, u, r) && (o[u] = d)
            }
            return o
        }, x.omit = function(e, t, i) {
            if (x.isFunction(t)) t = x.negate(t);
            else {
                var a = x.map(N(arguments, !1, !1, 1), String);
                t = function(e, t) {
                    return !x.contains(a, t)
                }
            }
            return x.pick(e, t, i)
        }, x.defaults = C(x.allKeys, !0), x.create = function(e, t) {
            var i = E(e);
            return t && x.extendOwn(i, t), i
        }, x.clone = function(e) {
            return x.isObject(e) ? x.isArray(e) ? e.slice() : x.extend({}, e) : e
        }, x.tap = function(e, t) {
            return t(e), e
        }, x.isMatch = function(e, t) {
            var i = x.keys(t),
                a = i.length;
            if (null == e) return !a;
            for (var n = Object(e), o = 0; o < a; o++) {
                var r = i[o];
                if (t[r] !== n[r] || !(r in n)) return !1
            }
            return !0
        };
        var L = function(e, t, i, a) {
            if (e === t) return 0 !== e || 1 / e === 1 / t;
            if (null == e || null == t) return e === t;
            e instanceof x && (e = e._wrapped), t instanceof x && (t = t._wrapped);
            var n = m.call(e);
            if (n !== m.call(t)) return !1;
            switch (n) {
                case "[object RegExp]":
                case "[object String]":
                    return "" + e == "" + t;
                case "[object Number]":
                    return +e !== +e ? +t !== +t : 0 === +e ? 1 / +e === 1 / t : +e === +t;
                case "[object Date]":
                case "[object Boolean]":
                    return +e === +t
            }
            var o = "[object Array]" === n;
            if (!o) {
                if ("object" != typeof e || "object" != typeof t) return !1;
                var r = e.constructor,
                    l = t.constructor;
                if (r !== l && !(x.isFunction(r) && r instanceof r && x.isFunction(l) && l instanceof l) && "constructor" in e && "constructor" in t) return !1
            }
            i = i || [], a = a || [];
            for (var s = i.length; s--;)
                if (i[s] === e) return a[s] === t;
            if (i.push(e), a.push(t), o) {
                if (s = e.length, s !== t.length) return !1;
                for (; s--;)
                    if (!L(e[s], t[s], i, a)) return !1
            } else {
                var u, d = x.keys(e);
                if (s = d.length, x.keys(t).length !== s) return !1;
                for (; s--;)
                    if (u = d[s], !x.has(t, u) || !L(e[u], t[u], i, a)) return !1
            }
            return i.pop(), a.pop(), !0
        };
        x.isEqual = function(e, t) {
            return L(e, t)
        }, x.isEmpty = function(e) {
            return null == e || (z(e) && (x.isArray(e) || x.isString(e) || x.isArguments(e)) ? 0 === e.length : 0 === x.keys(e).length)
        }, x.isElement = function(e) {
            return !(!e || 1 !== e.nodeType)
        }, x.isArray = v || function(e) {
            return "[object Array]" === m.call(e)
        }, x.isObject = function(e) {
            var t = typeof e;
            return "function" === t || "object" === t && !!e
        }, x.each(["Arguments", "Function", "String", "Number", "Date", "RegExp", "Error"], function(e) {
            x["is" + e] = function(t) {
                return m.call(t) === "[object " + e + "]"
            }
        }), x.isArguments(arguments) || (x.isArguments = function(e) {
            return x.has(e, "callee")
        }), "function" != typeof /./ && "object" != typeof Int8Array && (x.isFunction = function(e) {
            return "function" == typeof e || !1
        }), x.isFinite = function(e) {
            return isFinite(e) && !isNaN(parseFloat(e))
        }, x.isNaN = function(e) {
            return x.isNumber(e) && e !== +e
        }, x.isBoolean = function(e) {
            return e === !0 || e === !1 || "[object Boolean]" === m.call(e)
        }, x.isNull = function(e) {
            return null === e
        }, x.isUndefined = function(e) {
            return void 0 === e
        }, x.has = function(e, t) {
            return null != e && g.call(e, t)
        }, x.noConflict = function() {
            return s._ = u, this
        }, x.identity = function(e) {
            return e
        }, x.constant = function(e) {
            return function() {
                return e
            }
        }, x.noop = function() {}, x.property = M, x.propertyOf = function(e) {
            return null == e ? function() {} : function(t) {
                return e[t]
            }
        }, x.matcher = x.matches = function(e) {
            return e = x.extendOwn({}, e),
                function(t) {
                    return x.isMatch(t, e)
                }
        }, x.times = function(e, t, i) {
            var a = Array(Math.max(0, e));
            t = k(t, i, 1);
            for (var n = 0; n < e; n++) a[n] = t(n);
            return a
        }, x.random = function(e, t) {
            return null == t && (t = e, e = 0), e + Math.floor(Math.random() * (t - e + 1))
        }, x.now = Date.now || function() {
            return (new Date).getTime()
        };
        var B = {
                "&": "&amp;",
                "<": "&lt;",
                ">": "&gt;",
                '"': "&quot;",
                "'": "&#x27;",
                "`": "&#x60;"
            },
            D = x.invert(B),
            F = function(e) {
                var t = function(t) {
                        return e[t]
                    },
                    i = "(?:" + x.keys(e).join("|") + ")",
                    a = RegExp(i),
                    n = RegExp(i, "g");
                return function(e) {
                    return e = null == e ? "" : "" + e, a.test(e) ? e.replace(n, t) : e
                }
            };
        x.escape = F(B), x.unescape = F(D), x.result = function(e, t, i) {
            var a = null == e ? void 0 : e[t];
            return void 0 === a && (a = i), x.isFunction(a) ? a.call(e) : a
        };
        var H = 0;
        x.uniqueId = function(e) {
            var t = ++H + "";
            return e ? e + t : t
        }, x.templateSettings = {
            evaluate: /<%([\s\S]+?)%>/g,
            interpolate: /<%=([\s\S]+?)%>/g,
            escape: /<%-([\s\S]+?)%>/g
        };
        var R = /(.)^/,
            W = {
                "'": "'",
                "\\": "\\",
                "\r": "r",
                "\n": "n",
                "\u2028": "u2028",
                "\u2029": "u2029"
            },
            V = /\\|'|\r|\n|\u2028|\u2029/g,
            q = function(e) {
                return "\\" + W[e]
            };
        x.template = function(e, t, i) {
            !t && i && (t = i), t = x.defaults({}, t, x.templateSettings);
            var a = RegExp([(t.escape || R).source, (t.interpolate || R).source, (t.evaluate || R).source].join("|") + "|$", "g"),
                n = 0,
                o = "__p+='";
            e.replace(a, function(t, i, a, r, l) {
                return o += e.slice(n, l).replace(V, q), n = l + t.length, i ? o += "'+\n((__t=(" + i + "))==null?'':_.escape(__t))+\n'" : a ? o += "'+\n((__t=(" + a + "))==null?'':__t)+\n'" : r && (o += "';\n" + r + "\n__p+='"), t
            }), o += "';\n", t.variable || (o = "with(obj||{}){\n" + o + "}\n"), o = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + o + "return __p;\n";
            try {
                var r = new Function(t.variable || "obj", "_", o)
            } catch (e) {
                throw e.source = o, e
            }
            var l = function(e) {
                    return r.call(this, e, x)
                },
                s = t.variable || "obj";
            return l.source = "function(" + s + "){\n" + o + "}", l
        }, x.chain = function(e) {
            var t = x(e);
            return t._chain = !0, t
        };
        var U = function(e, t) {
            return e._chain ? x(t).chain() : t
        };
        x.mixin = function(e) {
            x.each(x.functions(e), function(t) {
                var i = x[t] = e[t];
                x.prototype[t] = function() {
                    var e = [this._wrapped];
                    return p.apply(e, arguments), U(this, i.apply(x, e))
                }
            })
        }, x.mixin(x), x.each(["pop", "push", "reverse", "shift", "sort", "splice", "unshift"], function(e) {
            var t = d[e];
            x.prototype[e] = function() {
                var i = this._wrapped;
                return t.apply(i, arguments), "shift" !== e && "splice" !== e || 0 !== i.length || delete i[0], U(this, i)
            }
        }), x.each(["concat", "join", "slice"], function(e) {
            var t = d[e];
            x.prototype[e] = function() {
                return U(this, t.apply(this._wrapped, arguments))
            }
        }), x.prototype.value = function() {
            return this._wrapped
        }, x.prototype.valueOf = x.prototype.toJSON = x.prototype.value, x.prototype.toString = function() {
            return "" + this._wrapped
        }, a = [], n = function() {
            return x
        }.apply(t, a), !(void 0 !== n && (e.exports = n))
    }).call(this)
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(5),
        o = a(n),
        r = [];
    "undefined" == typeof window.console && (window.console = {
        log: function() {},
        warn: function() {},
        error: function() {},
        info: function() {}
    });
    var l = Array,
        s = function() {
            Array || (Array = l)
        },
        u = function(e, t, i) {
            c(e, t, i), o.default.logs && (t && (t += ":", "warn" == e && (t += " WARN"), "error" == e && (t += " ERROR"), i.unshift(t)), console[e].apply ? console[e].apply(console, i) : console[e](i.join()))
        },
        d = function(e) {
            return {
                log: function() {
                    s();
                    var t = Array.prototype.slice.call(arguments || []);
                    u("log", e, t)
                },
                info: function() {
                    s();
                    var t = Array.prototype.slice.call(arguments);
                    u("info", e, t)
                },
                warn: function() {
                    s();
                    var t = Array.prototype.slice.call(arguments || []);
                    u("warn", e, t)
                },
                error: function() {
                    s();
                    var t = Array.prototype.slice.call(arguments);
                    u("error", e, t)
                }
            }
        },
        c = function(e, t, i) {
            "Monitoring" != t && (5 == r.length && r.shift(), r.push("" + i.toString().substr(0, 60)))
        };
    t.default = {
        name: d,
        lastLog: r
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(9),
        y = a(w),
        x = _.default.name("BaseComponent"),
        k = i(39),
        j = k.EventEmitter,
        C = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.listeners = [], i.emitter = new j, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "subscribe",
                value: function(e, t) {
                    return this.emitter.addListener(e, t)
                }
            }, {
                key: "trigger",
                value: function(e, t) {
                    this.emitter.emit(e, t)
                }
            }, {
                key: "delegate",
                value: function(e, t) {
                    return function(i) {
                        for (var a = i.target; a !== i.currentTarget;) {
                            var n = a.getAttribute("dgName");
                            if (n && n === e) return i.delegateTarget = a, t(i);
                            a = a.parentNode
                        }
                    }
                }
            }, {
                key: "on",
                value: function() {
                    var e = Array.prototype.slice.call(arguments),
                        t = e[0],
                        i = "JivoStore" == t.__type ? e[1] : e[2],
                        a = "JivoStore" == t.__type ? "update" : e[1];
                    if ("object" != ("undefined" == typeof a ? "undefined" : (0, o.default)(a))) {
                        var n;
                        if ("function" == typeof t.on ? n = "on" : "function" == typeof t.addListener && (n = "addListener"), n) {
                            var r = t[n](a, i);
                            this.listeners.push({
                                type: n,
                                target: t,
                                event: a,
                                callback: i,
                                subscription: r
                            })
                        } else x.error("error cant find type")
                    } else
                        for (var l in a) "string" == typeof l && this.on(t, l, a[l])
                }
            }, {
                key: "off",
                value: function() {
                    for (var e; e = this.listeners.shift();) {
                        var t;
                        t = "on" == e.type ? "off" : "removeListener", e.target[t] ? e.target[t](e.event, e.callback) : e.subscription && "function" == typeof e.subscription.remove ? e.subscription.remove() : x.error("error cant find type")
                    }
                }
            }, {
                key: "getClasses",
                value: function(e) {
                    var t = {},
                        i = e.styles || {};
                    return y.default.each(i, function(i, a) {
                        t[a] = {};
                        var n = "";
                        i[1] && (t[a].style = i[1]), y.default.each(i[0], function(t, i) {
                            n += t ? (e.style ? e.style[i] : i) + " " : ""
                        }), " " === n.charAt(n.length - 1) && (n = n.substr(0, n.length - 1)), t[a].className = n
                    }), t
                }
            }, {
                key: "getRenderData",
                value: function() {}
            }, {
                key: "renderData",
                value: function() {}
            }, {
                key: "render",
                value: function() {
                    var e = this.getRenderData(),
                        t = this.getClasses(e);
                    return this.renderData(e.data || {}, t)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off(), this.emitter.removeAllListeners()
                }
            }]), t
        }(v.default.Component);
    t.default = C
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(5),
        o = a(n),
        r = i(9),
        l = a(r),
        s = i(14),
        u = a(s),
        d = i(27),
        c = (a(d), i(21)),
        f = (a(c), i(50)),
        p = a(f),
        h = i(13),
        m = a(h),
        g = i(1),
        v = a(g),
        b = {
            route: "label",
            is_online: 0,
            is_focused: 0,
            is_input_focused: 0,
            chat_started: !1,
            widget_color: o.default.widget_color,
            widget_font_color: o.default.widget_font_color,
            cap_id: null,
            cap_result: null,
            is_custom_label: !1,
            current_title: v.default.getCurrentPage().title,
            proactiveName: !1,
            forcedOffline: !1,
            callText: null,
            isSeparateWindow: !1,
            proactive: !1,
            isShowNativeMobileMenu: !1,
            eula_accepted: !1,
            show_eula: !1,
            width: !1,
            height: !1
        },
        _ = (0, p.default)(b, o.default.widget_id + "_app");
    _.widget_color = o.default.widget_color, _.widget_font_color = o.default.widget_font_color, _.is_online = "online" == o.default.chat_mode, ("offline" == o.default.chat_mode && _.chat_started || l.default.indexOf(["preview", "editor"], (0, g.isWixContext)()) !== -1) && (_.is_online = !0), l.default.indexOf(["preview", "editor"], (0, g.isWixContext)()) !== -1 && (_.chat_started = !1), _.chat_started ? "cw_call_end" != u.default.cw_call.status && "cw_error" != u.default.cw_call.status || (u.default.cw_call.status = !1) : (_.route = "label", u.default.evaluate = !1, u.default.cw_call.status = !1, u.default.cw_call.error = !1), m.default.mobile() && (_.isSeparateWindow = !1, _.route = "label"), l.default.defaults(o.default, {
        contacts_settings: {
            name: {
                show: !1,
                required: !1
            },
            phone: {
                show: !1,
                required: !1
            },
            email: {
                show: !1,
                required: !1
            }
        }
    });
    var w = !0;
    l.default.each(["name", "phone", "email"], function(e) {
        o.default.contacts_settings[e].show && (w = !1)
    }, void 0), w && (o.default.contacts_ask = 2), 1 != o.default.hide_offline || 512 & o.default.options || (o.default.hide_offline = 0), 1 != o.default.show_rate_form || 64 & o.default.options || (o.default.show_rate_form = 0);
    var y = !1;
    l.default.each(o.default.rules, function(e) {
        "hide" === e.commands[0].command && (0, g.checkTimeConditions)(e.conditions, e.type, e.name) && (y = !0)
    }), (!_.is_online && o.default.hide_offline || u.default.is_blacklisted || y || m.default.mobileOrTablet() && o.default.disable_mobile || window.parent.jivo_cobrowse || "cobrowser-iframe" === window.parent.name) && (_.route = "hidden"), !m.default.mobile() && _.zoom && (_.zoom = null), _.isShowNativeMobileMenu = !1, _.show_eula = !1, t.default = _
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = void 0,
        l = void 0,
        s = void 0,
        u = void 0,
        d = void 0;
    l = window.device, r = {}, window.device = r, d = window.navigator.userAgent.toLowerCase(), r.safari = function() {
        return s("safari") && !r.chrome()
    }, r.chrome = function() {
        return s("chrome")
    }, r.ios = function() {
        return r.iphone() || r.ipod() || r.ipad()
    }, r.iphone = function() {
        return !r.windows() && s("iphone")
    }, r.ipod = function() {
        return s("ipod")
    }, r.ipad = function() {
        return s("ipad")
    }, r.chromeIOS = function() {
        return s("crios")
    }, r.android = function() {
        return !r.windows() && s("android")
    }, r.androidPhone = function() {
        return r.android() && s("mobile")
    }, r.androidTablet = function() {
        return r.android() && !s("mobile")
    }, r.blackberry = function() {
        return s("blackberry") || s("bb10") || s("rim")
    }, r.blackberryPhone = function() {
        return r.blackberry() && !s("tablet")
    }, r.blackberryTablet = function() {
        return r.blackberry() && s("tablet")
    }, r.windows = function() {
        return s("windows")
    }, r.windowsPhone = function() {
        return r.windows() && s("phone")
    }, r.windowsTablet = function() {
        return r.windows() && s("touch") && !r.windowsPhone() && !s("trident")
    }, r.fxos = function() {
        return (s("(mobile;") || s("(tablet;")) && s("; rv:")
    }, r.fxosPhone = function() {
        return r.fxos() && s("mobile")
    }, r.fxosTablet = function() {
        return r.fxos() && s("tablet")
    }, r.meego = function() {
        return s("meego")
    }, r.cordova = function() {
        return window.cordova && "file:" === location.protocol
    }, r.svgSupportFix = function() {
        var e = "undefined" != typeof SVGRect;
        return window.parent.SVGElement && (window.parent.SVGElement.prototype.hasClass || (window.parent.SVGElement.prototype.hasClass = function(e) {
            return new RegExp("(\\s|^)" + e + "(\\s|$)").test(this.getAttribute("class"))
        }), window.parent.SVGElement.prototype.hasClass || (window.parent.SVGElement.prototype.addClass = function(e) {
            this.hasClass(e) || this.setAttribute("class", this.getAttribute("class") + " " + e)
        }), window.parent.SVGElement.prototype.removeClass || (window.parent.SVGElement.prototype.removeClass = function(e) {
            var t = this.getAttribute("class").replace(new RegExp("(\\s|^)" + e + "(\\s|$)", "g"), "$2");
            this.hasClass(e) && this.setAttribute("class", t)
        }), window.parent.SVGElement.prototype.toggleClass || (SVGElement.prototype.toggleClass = function(e) {
            this.hasClass(e) ? this.removeClass(e) : this.addClass(e)
        })), e
    }, r.nodeWebkit = function() {
        return "object" === (0, o.default)(window.process)
    }, r.mobile = function() {
        return r.androidPhone() || r.iphone() || r.ipod() || r.windowsPhone() || r.blackberryPhone() || r.fxosPhone() || r.meego()
    }, r.tablet = function() {
        return r.ipad() || r.androidTablet() || r.blackberryTablet() || r.windowsTablet() || r.fxosTablet()
    }, r.mobileOrTablet = function() {
        return r.tablet() || r.mobile()
    }, r.desktop = function() {
        return !r.tablet() && !r.mobile()
    }, r.television = function() {
        var e = void 0,
            t = ["googletv", "viera", "smarttv", "internet.tv", "netcast", "nettv", "appletv", "boxee", "kylo", "roku", "dlnadoc", "roku", "pov_tv", "hbbtv", "ce-html"];
        for (e = 0; e < t.length;) {
            if (s(t[e])) return !0;
            e++
        }
        return !1
    }, r.portrait = function() {
        return window.innerHeight / window.innerWidth > 1
    }, r.landscape = function() {
        return window.innerHeight / window.innerWidth < 1
    }, r.noConflict = function() {
        return window.device = l, this
    }, r.osVersion = function() {
        var e = null;
        if (r.ios) {
            var t = /OS (\d+)_(\d+)_?(\d+)?/.exec(window.navigator.appVersion);
            t && (e = parseFloat(t[1] + "." + t[2]))
        }
        return e
    }, r.getDevice = function() {
        return u ? u : (r.desktop() ? u = "desktop" : r.mobile() ? u = "mobile" : r.tablet() && (u = "tablet"), u)
    }, s = function(e) {
        return d.indexOf(e) !== -1
    };
    var c = r.noConflict();
    t.default = c
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(5),
        o = a(n),
        r = i(50),
        l = a(r),
        s = {
            jv_sess_id: null,
            client_id: null,
            pa_id: null,
            is_blacklisted: !1,
            is_introduced: !1,
            client_info: {
                client_name: null,
                phone: null,
                email: null,
                description: null
            },
            cw_call: {
                status: !1
            },
            cw_call_enabled: !1,
            department_id: null,
            evaluate: !1,
            last_message: null,
            last_typing: 0,
            has_integration: !1,
            utm: {},
            visitorId: 0
        },
        u = (0, l.default)(s, o.default.widget_id + "_client");
    o.default.callback_settings.time || (u.cw_call_enabled = !1), o.default.joint || (u.has_integration = !1), t.default = u
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e) {
        return window.base_langpack && window.base_langpack[e] ? window.base_langpack[e].replace(/\n/g, "<br />").replace(/&nbsp;/g, "�") : e
    }

    function o(e) {
        return "custom_langpack" in s.default && e in s.default.custom_langpack ? s.default.custom_langpack[e].replace(/\n/g, "<br />").replace(/&quot;/g, '"').replace(/&#039;/g, "'") : n(e)
    }

    function r(e) {
        var t = window.parent.currentDownloadLocale,
            i = window.parent.customLocale,
            a = window.parent.domKeys;
        return a && a[e] && t && t[e] ? i[e] || t[e] : "{{_" + e + "_}}"
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var l = i(5),
        s = a(l);
    t.default = function() {
        return window.parent && window.parent.__jivoPhraseappEditor ? r : o
    }()
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n, o = i(25),
        r = a(o),
        l = i(35),
        s = a(l),
        u = i(14),
        d = a(u),
        c = i(27),
        f = a(c),
        p = i(12),
        h = a(p),
        m = i(62),
        g = (a(m), i(24)),
        v = a(g),
        b = i(1),
        _ = a(b),
        w = i(5),
        y = a(w),
        x = i(13),
        k = a(x),
        j = i(61),
        C = a(j),
        E = i(9),
        M = a(E),
        S = i(26),
        T = a(S),
        z = i(52),
        O = a(z),
        N = i(23),
        I = a(N),
        A = i(102),
        P = a(A),
        L = i(21),
        B = a(L),
        D = i(31),
        F = a(D),
        H = i(15),
        R = a(H),
        W = i(10),
        V = a(W),
        q = V.default.name("Actions"),
        U = function() {
            var e = y.default.departments && y.default.departments.length && M.default.indexOf([-1, 0, 2, 3], y.default.contacts_ask) != -1;
            return !(!e || f.default.agent_id || h.default.chat_started || d.default.department_id || 1 != h.default.is_online) && (h.default.route = "chat/departments", !0)
        },
        G = null,
        X = null,
        Z = {
            result: null
        },
        Y = M.default.debounce(function() {
            if (!d.default.jv_sess_id) return void q.log("updateClient no session.");
            var e = !1;
            0 == h.default.route.indexOf("chat") && h.default.route.indexOf("min") == -1 && (e = !0);
            var t = {
                    name: "update_client",
                    chat_opened: e,
                    page_visible: !!(0, b.pageVisible)(),
                    jv_sess_id: d.default.jv_sess_id
                },
                i = B.default.getCurrentProactive();
            F.default.get("text") && (i = F.default), i && i.get("text") && i.get("body") && (t.proactive_rule = {
                invitation_text: i.get("text"),
                agent_id: i.get("body").agent_id
            }), q.log("sendUpdateClient", t), G != (0, s.default)(t) && (G = (0, s.default)(t), v.default.sendIfConnected(t))
        }, 50),
        K = "",
        J = 0,
        Q = !1,
        $ = {
            vk: !1,
            fb: !1
        };
    t.default = {
        systemMessage: function(e) {
            var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "text";
            B.default.push({
                text: e,
                type: "system",
                body: {
                    type: "text" !== t ? "call" : t,
                    name: t
                }
            })
        },
        checkConnection: function(e) {
            var t = function t(i) {
                !i || "startup_ok" != i.name && "resume_ok" != i.name || (i.jv_client_id && (d.default.client_id = i.jv_client_id), e(), v.default.off("socket_message", t))
            };
            v.default.isConnected() ? e() : (v.default.handle("startup"), v.default.on("socket_message", t))
        },
        requestCWAvailable: function(e) {
            _.default.callWidgetPing(function(t) {
                d.default.cw_call_enabled = t.ok, d.default.cw_call_enabled && "function" == typeof e && e()
            })
        },
        requestApiCWAvailable: function(e) {
            _.default.callWidgetPing(function(t) {
                d.default.cw_call_enabled = t.ok, e(d.default.cw_call_enabled && "function" == typeof e ? {
                    result: "ok"
                } : {
                    result: "fail",
                    reason: t.error_list.join(" ")
                })
            })
        },
        navigate: function(e) {
            return q.log("navigate", e, U()), "hidden" === e || "hidden" === h.default.route ? (q.log("Offline form disabled."), h.default.route = "hidden") : (k.default.mobile() && "label" !== e ? h.default.isSeparateWindow = !0 : k.default.tablet() && ("label" === e ? t.default.restoreScroll() : t.default.getScroll()), "chat" == e && 1 === y.default.contacts_ask && !d.default.is_introduced && 0 === B.default.store.length && h.default.is_focused ? h.default.route = "chat/introduce" : "chat" == e && U() || (h.default.route = e), k.default.mobile() && h.default.isSeparateWindow && U() && (h.default.route = "chat/departments"), (0, b._callUserFunction)("onChangeState", h.default.route), void(h.default.is_online || 0 != h.default.route.indexOf("chat") || t.default.offlineAck()))
        },
        setOnline: function() {
            h.default.is_online = !0
        },
        setOffline: function() {
            h.default.is_online = M.default.indexOf(["preview", "editor"], (0, b.isWixContext)()) !== -1 || !1
        },
        toggleCallChat: function() {
            h.default.is_online ? "chat" == h.default.route || "chat/departments" == h.default.route ? (h.default.route = "chat/call", (0, b.telemetry)("cw_online_header_button")) : "chat/min" == h.default.route ? h.default.route = "chat/call" : h.default.route = "chat" : (h.default.route = "call", (0, b.telemetry)("cw_offline_header_button")), q.log("toggleCallChat", h.default.route)
        },
        pingAndOpenCall: function() {
            q.info("pindAndOpenCall"), t.default.checkConnection(function() {
                _.default.callWidgetPing(function(e) {
                    d.default.cw_call_enabled = e.ok, !e.ok || "label" !== h.default.route && h.default.is_online ? e.ok && "label" !== h.default.route && h.default.is_online && (q.log("api toggle call form"), t.default.toggleCallChat()) : ((0, b.telemetry)("cw_api_call_open"), h.default.callText = null, t.default.navigate("call"), "function" == typeof cb && cb()), T.default.trackCallWidgetRequested("apiCall")
                }, {
                    title: !1,
                    invitation: "jivo_api.open"
                })
            })
        },
        openMobileNativeMenu: function() {
            h.default.isShowNativeMobileMenu = !0
        },
        closeMobileNativeMenu: function() {
            h.default.isShowNativeMobileMenu = !1
        },
        getScroll: function() {
            (0, b.getPageWindow)().document.body.scrollTop && (n = (0, b.getPageWindow)().document.body.scrollTop)
        },
        restoreScroll: function() {
            setTimeout(function() {
                n > 0 && ((0, b.getPageWindow)().document.body.scrollTop = n), n = null
            }, 50)
        },
        openChat: function() {
            h.default.chat_started = !0, F.default.get("text") && setTimeout(function() {
                F.default.destroy()
            }, 500)
        },
        restoreAgentInfo: function() {
            var e = {};
            if (f.default.agent_id) e = f.default;
            else {
                var t = B.default.getLastProactive(),
                    i = t ? t.get("body") : null;
                i && i.agent_id && (e = i)
            }
            return e
        },
        restoreAgentId: function() {
            var e = ruleManager.restoreAgentInfo();
            if (e.agent_id) return e.agent_id
        },
        closeWidget: function(e) {
            if (h.default.is_focused = 0, k.default.mobile()) h.default.route = "label", h.default.isSeparateWindow = !1, e || (0, b._callUserFunction)("onClose");
            else {
                if (h.default.chat_started && h.default.is_online ? 0 == h.default.route.indexOf("call") ? h.default.route = "label" : 0 == h.default.route.indexOf("chat") && f.default.agent_id && 0 != f.default.agent_id ? h.default.route = "chat/min" : h.default.route = "label" : h.default.route = "label", k.default.tablet()) {
                    var i = B.default.getCurrentProactive();
                    i || t.default.restoreScroll()
                }(0, b.cookie)("close_time", (new Date).getTime()), "chat/min" != h.default.route && "call/min" != h.default.route ? (F.default.get("proactiveName") && (T.default.trackProactiveInvitationRejected(F.default.get("proactiveName")), F.default.set("proactiveName", null)), (0, b._callUserFunction)("onClose")) : parent.document.getElementById("jivo_custom_widget") || (0, b._callUserFunction)("onClose")
            }(0, b._callUserFunction)("onChangeState", h.default.route)
        },
        hideWidget: function() {
            t.default.navigate("hidden")
        },
        setWidgetColor: function(e) {
            h.default.widget_color = e
        },
        setClientContactInfo: function(e) {
            q.log("setClientContactInfo", e), (0, r.default)(d.default.client_info, {
                client_name: e.name || e.client_name,
                phone: e.phone,
                email: e.email,
                description: e.description
            }), d.default.is_introduced = !0, h.default.is_online && (v.default.sendIfConnected((0, r.default)({
                name: "introduction"
            }, d.default.client_info)), T.default.trackGaveContacts(), (0, b._callUserFunction)("onIntroduction"))
        },
        sendClientMessage: function(e) {
            var i = _.default.generateGUID(),
                a = void 0;
            if (F.default.get("proactiveName")) T.default.trackProactiveInvitationAccepted(F.default.get("proactiveName")), F.default.set("proactiveName", null);
            else if (h.default.chat_started) {
                var n = B.default.getCurrentChatMessages();
                n && n.length && 1 == n.length && T.default.trackClientAnswerAgentChatRequest()
            } else T.default.trackClientInitChat();
            t.default.saveLastSystemMessage(), Q || (a = B.default.push({
                from: "client",
                text: e,
                type: "message",
                private_id: i,
                status: "sended"
            }));
            var o = {
                name: "client_message",
                message: e,
                private_id: i
            };
            d.default.department_id && (o.widget_department_id = d.default.department_id), 1 === B.default.getClientMessages().length && ((0, b._callUserFunction)("onMessageSent"), y.default.visitors_insight || v.default.isConnected() || a && a.set("status", "delivered")), setTimeout(function() {
                if (a && !a.get("msg_id")) {
                    a.set("status", "notDelivered");
                    var e = M.default.findWhere(v.default.msg_buf, {
                        private_id: i
                    });
                    e || v.default.msg_buf.push(o), (0, b.telemetry)("client_message_send_error")
                }
            }, 2e3), 3 == y.default.contacts_ask && ($.fb || $.vk) && t.default.initSocial(), Q && (o.media = Q.file, o.private_id = Q.privateId, Q = !1), h.default.chat_started = !0, v.default.send(o)
        },
        saveLastSystemMessage: function() {
            var e = B.default.getLastMessage();
            e && "system" == e.get("type") && e.get("body") && e.get("body").unsave && e.set("body", null)
        },
        storeMediaFile: function(e, t) {
            Q = {
                file: e,
                privateId: t
            }
        },
        setSocial: function(e) {
            $ = e
        },
        getSocial: function() {
            if ($.vk || $.fb) return $
        },
        initSocial: function() {
            B.default.getMessagesByType("social").length || k.default.mobileOrTablet() || setTimeout(function() {
                1 !== B.default.getCurrentClientMessages().length || d.default.has_integration || (B.default.push({
                    text: (0, R.default)("social_online_text"),
                    type: "system",
                    body: {
                        type: "social"
                    }
                }), setTimeout(function() {
                    t.default.addSocialMessage()
                }, 2e3))
            }, 2e3)
        },
        addSocialMessage: function() {
            y.default.joint && !d.default.client_info.email && !d.default.has_integration && !k.default.mobileOrTablet() && !B.default.getMessagesByType("social").length && B.default.getCurrentClientMessages().length > 0 && B.default.push({
                text: "",
                type: "social"
            })
        },
        sendOfflineMessage: function(e) {
            v.default.send({
                name: "offline_message",
                message: e.message,
                email: e.email,
                phone: e.phone,
                client_name: e.name || e.client_name,
                cap_symbols: e.cap_symbols || "",
                from_online: h.default.forcedOffline,
                description: d.default.client_info.description
            }), T.default.trackOfflineMessageSent()
        },
        setDepartmentId: function(e) {
            d.default.department_id = e, q.log("set department id", e)
        },
        startCall: function(e) {
            var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
                a = arguments[2];
            return q.log("startCall from chat", e), ["cw_wait", "cw_connecting", "cw_connected"].indexOf(d.default.cw_call.status) != -1 ? void q.log("already calling") : (d.default.client_info.phone = e, d.default.cw_call.status = "cw_wait", void t.default.checkConnection(function() {
                _.default.checkStartCall(e, i, function(i) {
                    i.ok ? (h.default.chat_started = !0, d.default.cw_call.status = "cw_wait", t.default.systemMessage((0, R.default)("cw_call_to") + " " + e, "callMessageStart"), (0, b._callUserFunction)("onCallStart"), T.default.trackCallWidgetRequested(), (0, b.telemetry)("cw_start_call", {
                        param1: a
                    })) : ((0, b.telemetry)("cw_call_error", {
                        param1: i.error_list.join(" ")
                    }), d.default.cw_call.status = "cw_error")
                })
            }))
        },
        pageVisible: function(e) {
            q.log("pageVisible", e), Y()
        },
        sendEvaluation: function(e) {
            (0, b.telemetry)("client_rate_form", {
                param1: e
            }), d.default.evaluate = "0" !== e;
            var t = B.default.getAgentMessages(),
                i = t[t.length - 1].get("chat_id");
            i ? v.default.send({
                name: "rate",
                chat_id: i,
                rate: e
            }) : q.log("sendEvaluation", "error: no chat_id for rate form")
        },
        markEvaluated: function() {
            d.default.evaluate = !0
        },
        markIntroduced: function() {
            d.default.is_introduced = !0
        },
        handleFile: function(e, t, i) {
            var a = {
                name: "client_service_message",
                service: "file_transfer",
                file_id: t,
                file_name: i,
                event: "file_received"
            };
            q.log("handleFile", e, t, i, a), e || (a.event = "file_declined"), v.default.send(a), C.default.stopBlink()
        },
        clientTyping: function e(t) {
            var e = t ? 1 : 0;
            1 == y.default.typing_insight && J != e && (J = e, v.default.sendIfConnected({
                name: "client_typing",
                typing: e
            }))
        },
        typingInsight: function(e) {
            1 == y.default.typing_insight && K != e && (K = e, v.default.sendIfConnected({
                name: "client_service_message",
                service: "typing_insight",
                event: "input_changed",
                new_val: e
            }))
        },
        agentTyping: function(e) {
            0 == e ? clearTimeout(X) : X = setTimeout(function() {
                t.default.agentTyping(0)
            }, 3e3), f.default.typing = e
        },
        updateTitle: function(e, t) {
            if (q.log("updateTitle", e), !window || !window.location) return void q.log("no window");
            if (!k.default.mobileOrTablet() || !h.default.isSeparateWindow) {
                var i = t || window.location.href;
                q.log("updateTitle url", i), !h.default.is_online || h.default.chat_started && O.default.isCreated() || ((0, b.changeBrowserLocation)(i, e), h.default.current_title = e, window.top && window.top.document && (window.top.document.title = e)), v.default.sendIfConnected({
                    name: "url_change",
                    url: i,
                    title: (0, b.setSubstrTitle)(e)
                })
            }
        },
        agentMessageAck: function(e) {
            v.default.sendIfConnected({
                name: "agent_message_ack",
                ack_msg_ids: e
            })
        },
        onFocus: function() {
            h.default.is_input_focused = 1, k.default.tablet() && t.default.onFocusTablet()
        },
        onFocusTablet: function() {
            I.default.addOverpay(), I.default.blockScroll(), I.default.addTabletPosition()
        },
        onBlur: function() {
            h.default.is_input_focused = 0, k.default.tablet() && t.default.onBlurTablet()
        },
        onBlurTablet: function() {
            I.default.removeOverpay(), I.default.unblockScroll(), I.default.removeTabletPosition()
        },
        offlineAck: function(e) {
            Z = e || Z, k.default.tablet() && document.activeElement && "function" == typeof document.activeElement.blur && document.activeElement.blur(), "ok" === Z.result ? (h.default.cap_result = null, h.default.route = "chat/msg") : "error" === Z.result ? (null === h.default.cap_result ? h.default.cap_result = "ok" : h.default.cap_result = "error", h.default.route = "chat/captcha") : (h.default.cap_result = null, h.default.route = "chat")
        },
        navigateServiceMessage: function() {
            !k.default.mobile() && ["label", "chat/min"].indexOf(h.default.route) >= 0 && t.default.navigate("chat")
        },
        showEula: function(e, t, i) {
            y.default.eula && (h.default.show_eula = e, t && P.default.setEulaLink(t), k.default.desktop() && document.activeElement && "function" == typeof document.activeElement.blur && document.activeElement.blur(), i && (globalStore.eulaContext = i, (0, b.telemetry)("eula_shown", {
                param1: i
            })))
        },
        acceptEula: function() {
            h.default.eula_accepted = !0, v.default.sendIfConnected({
                name: "accept_eula"
            }), (0, b.telemetry)("eula_accepted", {
                param1: globalStore.eulaContext
            })
        },
        reloadStories: function() {
            h.default.reload(), d.default.reload()
        }
    }
}, function(e, t) {
    e.exports = function() {
        var e = [];
        return e.toString = function() {
            for (var e = [], t = 0; t < this.length; t++) {
                var i = this[t];
                i[2] ? e.push("@media " + i[2] + "{" + i[1] + "}") : e.push(i[1])
            }
            return e.join("")
        }, e.i = function(t, i) {
            "string" == typeof t && (t = [
                [null, t, ""]
            ]);
            for (var a = {}, n = 0; n < this.length; n++) {
                var o = this[n][0];
                "number" == typeof o && (a[o] = !0)
            }
            for (n = 0; n < t.length; n++) {
                var r = t[n];
                "number" == typeof r[0] && a[r[0]] || (i && !r[2] ? r[2] = i : i && (r[2] = "(" + r[2] + ") and (" + i + ")"), e.push(r))
            }
        }, e
    }
}, function(e, t, i) {
    function a(e, t) {
        for (var i = 0; i < e.length; i++) {
            var a = e[i],
                n = p[a.id];
            if (n) {
                n.refs++;
                for (var o = 0; o < n.parts.length; o++) n.parts[o](a.parts[o]);
                for (; o < a.parts.length; o++) n.parts.push(u(a.parts[o], t))
            } else {
                for (var r = [], o = 0; o < a.parts.length; o++) r.push(u(a.parts[o], t));
                p[a.id] = {
                    id: a.id,
                    refs: 1,
                    parts: r
                }
            }
        }
    }

    function n(e) {
        for (var t = [], i = {}, a = 0; a < e.length; a++) {
            var n = e[a],
                o = n[0],
                r = n[1],
                l = n[2],
                s = n[3],
                u = {
                    css: r,
                    media: l,
                    sourceMap: s
                };
            i[o] ? i[o].parts.push(u) : t.push(i[o] = {
                id: o,
                parts: [u]
            })
        }
        return t
    }

    function o(e, t) {
        var i = g(),
            a = _[_.length - 1];
        if ("top" === e.insertAt) a ? a.nextSibling ? i.insertBefore(t, a.nextSibling) : i.appendChild(t) : i.insertBefore(t, i.firstChild), _.push(t);
        else {
            if ("bottom" !== e.insertAt) throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
            i.appendChild(t)
        }
    }

    function r(e) {
        e.parentNode.removeChild(e);
        var t = _.indexOf(e);
        t >= 0 && _.splice(t, 1)
    }

    function l(e) {
        var t = document.createElement("style");
        return t.type = "text/css", o(e, t), t
    }

    function s(e) {
        var t = document.createElement("link");
        return t.rel = "stylesheet", o(e, t), t
    }

    function u(e, t) {
        var i, a, n;
        if (t.singleton) {
            var o = b++;
            i = v || (v = l(t)), a = d.bind(null, i, o, !1), n = d.bind(null, i, o, !0)
        } else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (i = s(t), a = f.bind(null, i), n = function() {
            r(i), i.href && URL.revokeObjectURL(i.href)
        }) : (i = l(t), a = c.bind(null, i), n = function() {
            r(i)
        });
        return a(e),
            function(t) {
                if (t) {
                    if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;
                    a(e = t)
                } else n()
            }
    }

    function d(e, t, i, a) {
        var n = i ? "" : a.css;
        if (e.styleSheet) e.styleSheet.cssText = w(t, n);
        else {
            var o = document.createTextNode(n),
                r = e.childNodes;
            r[t] && e.removeChild(r[t]), r.length ? e.insertBefore(o, r[t]) : e.appendChild(o)
        }
    }

    function c(e, t) {
        var i = t.css,
            a = t.media;
        if (a && e.setAttribute("media", a), e.styleSheet) e.styleSheet.cssText = i;
        else {
            for (; e.firstChild;) e.removeChild(e.firstChild);
            e.appendChild(document.createTextNode(i))
        }
    }

    function f(e, t) {
        var i = t.css,
            a = t.sourceMap;
        a && (i += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(a)))) + " */");
        var n = new Blob([i], {
                type: "text/css"
            }),
            o = e.href;
        e.href = URL.createObjectURL(n), o && URL.revokeObjectURL(o)
    }
    var p = {},
        h = function(e) {
            var t;
            return function() {
                return "undefined" == typeof t && (t = e.apply(this, arguments)), t
            }
        },
        m = h(function() {
            return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase())
        }),
        g = h(function() {
            return document.head || document.getElementsByTagName("head")[0]
        }),
        v = null,
        b = 0,
        _ = [];
    e.exports = function(e, t) {
        t = t || {}, "undefined" == typeof t.singleton && (t.singleton = m()), "undefined" == typeof t.insertAt && (t.insertAt = "bottom");
        var i = n(e);
        return a(i, t),
            function(e) {
                for (var o = [], r = 0; r < i.length; r++) {
                    var l = i[r],
                        s = p[l.id];
                    s.refs--, o.push(s)
                }
                if (e) {
                    var u = n(e);
                    a(u, t)
                }
                for (var r = 0; r < o.length; r++) {
                    var s = o[r];
                    if (0 === s.refs) {
                        for (var d = 0; d < s.parts.length; d++) s.parts[d]();
                        delete p[s.id]
                    }
                }
            }
    };
    var w = function() {
        var e = [];
        return function(t, i) {
            return e[t] = i, e.filter(Boolean).join("\n")
        }
    }()
}, , function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(25),
        o = a(n);
    t.default = o.default || function(e) {
        for (var t = 1; t < arguments.length; t++) {
            var i = arguments[t];
            for (var a in i) Object.prototype.hasOwnProperty.call(i, a) && (e[a] = i[a])
        }
        return e
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(213),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(5),
        v = (a(g), i(143)),
        b = a(v),
        _ = i(112),
        w = a(_),
        y = i(9),
        x = a(y),
        k = i(14),
        j = a(k),
        C = i(1),
        E = a(C),
        M = i(58),
        S = a(M),
        T = i(59),
        z = a(T),
        O = i(12),
        N = a(O),
        I = i(31),
        A = (a(I), i(10)),
        P = a(A),
        L = P.default.name("MessagesStore"),
        B = function(e) {
            function t() {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, u.default)(t, [{
                key: "push",
                value: function(e) {
                    return (0, p.default)(t.prototype.__proto__ || (0, o.default)(t.prototype), "push", this).call(this, this.formatMessage(e))
                }
            }, {
                key: "pushAll",
                value: function(e) {
                    (0, p.default)(t.prototype.__proto__ || (0, o.default)(t.prototype), "pushAll", this).call(this, e)
                }
            }, {
                key: "sort",
                value: function() {
                    this.store = x.default.sortBy(this.store, function(e) {
                        return e.get("created_ts")
                    })
                }
            }, {
                key: "formatMessage",
                value: function(e) {
                    var t = ["private_id", "msg_id", "chat_id", "created_ts", "from", "from_id", "text", "type", "status", "body"],
                        i = x.default.pick(e, t),
                        a = e.meta || e.body;
                    if (void 0 !== a)
                        if ("tinkoffInvoice" === a.type) {
                            if ("SUCCESS" === a.status) {
                                var n = x.default.filter(this.store, function(t) {
                                    var i = t.get("body") ? t.get("body").invoice_id : t.get("invoice_id");
                                    return i === e.body.invoice_id
                                });
                                if (n.length) {
                                    var o = n[0].get("body");
                                    o ? (o.status = "SUCCESS", n[0].set("body", o)) : n[0].set("status", "SUCCESS")
                                }
                            }
                        } else if (a.chat_invoice_id) {
                        var r = {
                            type: "yandex",
                            status: a.invoice_status,
                            url: a.url,
                            userEmail: j.default.client_info.email || "",
                            invoiceId: a.chat_invoice_id,
                            amount: a.amount,
                            comment: a.invoice_comment
                        };
                        i.type = "invoice", i.body = r;
                        var l = r.status;
                        if ("pending" === l) {
                            var s = window.parent.location.href,
                                u = ["&shopSuccessURL", "shopFailURL", "shopDefaultUrl"],
                                d = S.default.parse(z.default.parse(r.url).query),
                                c = [];
                            d.ym_merchant_receipt && (r.url = E.default.removeQueryParam("ym_merchant_receipt", r.url));
                            for (var f in u) c.push(u[f] + "=" + encodeURIComponent(s));
                            r.cps_email = "", d.cps_email && "undefined" != d.params && (r.cps_email = d.cps_email || ""), j.default.client_info.email && (r.cps_email = j.default.client_info.email), r.url = E.default.removeQueryParam("cps_email", r.url), r.url = E.default.setGetParam("cps_email", r.cps_email, r.url), r.url += c.join("&")
                        } else if ("confirmed" === l) {
                            var p = x.default.filter(this.store, function(e) {
                                return "invoice" === e.get("type") && "yandex" === e.get("body.type") && e.get("body.invoiceId") === a.chat_invoice_id
                            });
                            p.length && p[0].set("body.status", "confirmed")
                        }
                    }
                    return "message" == e.type && e.media && (i.type = "media", i.body = e.media), i
                }
            }, {
                key: "getLastMessage",
                value: function() {
                    return this.store[this.store.length - 1] || null
                }
            }, {
                key: "getClientMessages",
                value: function() {
                    return x.default.filter(this.store, function(e) {
                        return "client" === e.get("from")
                    })
                }
            }, {
                key: "getAgentMessages",
                value: function() {
                    return x.default.filter(this.store, function(e) {
                        return "agent" === e.get("from")
                    })
                }
            }, {
                key: "getAgentTextMessages",
                value: function() {
                    return x.default.filter(this.store, function(e) {
                        return "agent" === e.get("from") && "message" === e.get("type")
                    })
                }
            }, {
                key: "getMessagesByType",
                value: function(e) {
                    return x.default.filter(this.store, function(t) {
                        return t.get("type") === e
                    })
                }
            }, {
                key: "getMessageById",
                value: function(e) {
                    return e ? x.default.find(this.store, function(t) {
                        return t.get("msg_id") === e
                    }) : null
                }
            }, {
                key: "closeChat",
                value: function() {
                    var e = (this.getChatId(), this.getLastMessage()),
                        t = this.getLastProactive();
                    t && t.set("chat_id", e.get("chat_id"))
                }
            }, {
                key: "getCurrentProactive",
                value: function() {
                    var e = this.getLastProactive(),
                        t = null;
                    return N.default.chat_started ? e && !e.get("chat_id") && (t = e) : t = null, L.log("getCurrentProactive", t), t
                }
            }, {
                key: "getLastProactive",
                value: function() {
                    var e = x.default.filter(this.store, function(e) {
                        return "proactive" === e.get("type")
                    });
                    return L.log("getLastProactive", e), e.length ? e[e.length - 1] : null
                }
            }, {
                key: "getTmpProactive",
                value: function() {
                    var e = x.default.filter(this.store, function(e) {
                        return "proactive" === e.get("type") && e.get("body") && e.get("body").unsave
                    });
                    return L.log("getTmpProactive", e), e.length ? e[e.length - 1] : null
                }
            }, {
                key: "getUnreadMessage",
                value: function() {
                    return x.default.filter(this.store, function(e) {
                        return "agent" === e.get("from") && "read" !== e.get("status")
                    })
                }
            }, {
                key: "getChatCounts",
                value: function() {
                    var e = 0,
                        t = void 0;
                    return x.default.each(this.store, function(i) {
                        i.get("chat_id") !== t && (t = i.get("chat_id"), e += 1)
                    }), e
                }
            }, {
                key: "getChatId",
                value: function() {
                    var e = this.getAgentMessages(),
                        t = this.filter(function(e) {
                            return e.get("chat_id") && "client" === e.get("from")
                        }),
                        i = e.length ? e[e.length - 1].get("chat_id") : null,
                        a = t.length ? t[t.length - 1].get("chat_id") : null;
                    return a > i && (i = a), i
                }
            }, {
                key: "getChatMessages",
                value: function(e) {
                    return x.default.filter(this.store, function(t) {
                        return t.get("chat_id") === e
                    })
                }
            }, {
                key: "getCurrentChatMessages",
                value: function() {
                    var e = this.getChatId();
                    return e ? this.getChatMessages(e) : []
                }
            }, {
                key: "getAgentChatMessages",
                value: function(e) {
                    return x.default.filter(this.store, function(t) {
                        return t.get("chat_id") === e && "agent" === t.get("from")
                    })
                }
            }, {
                key: "getCurrentClientMessages",
                value: function() {
                    return x.default.filter(this.getChatMessages(this.getChatId()), function(e) {
                        return "client" === e.get("from")
                    })
                }
            }, {
                key: "find",
                value: function(e) {
                    return x.default.find(this.store, function(t) {
                        return e(t)
                    })
                }
            }, {
                key: "filter",
                value: function(e) {
                    return x.default.filter(this.store, function(t) {
                        return e(t)
                    })
                }
            }]), t
        }(b.default),
        D = new B({
            type: "default",
            name: "messages",
            itemClass: w.default,
            keys: {
                private_id: function() {
                    return E.default.generateGUID()
                },
                msg_id: null,
                chat_id: null,
                created_ts: function() {
                    return (new Date).getTime()
                },
                from: null,
                from_id: null,
                text: null,
                type: null,
                status: "sended",
                body: {}
            }
        });
    t.default = D
}, , function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(2),
        o = a(n),
        r = i(3),
        l = a(r),
        s = i(5),
        u = (a(s), i(12)),
        d = a(u),
        c = i(14),
        f = (a(c), i(9)),
        p = a(f),
        h = i(13),
        m = a(h),
        g = i(1),
        v = a(g),
        b = i(62),
        _ = (a(b), function() {
            function e() {
                var t = this;
                (0, o.default)(this, e), this.window = v.default.getPageWindow(), this.document = this.window.document, this.bodyEl = this.document.body, this.documentEl = this.document.documentElement, this.pageZoom = null, this.userZoom = null, this.appZoom = null, this.isSiteOptimizedForMobile = !1, this.changeZoomSubscription = [], this.checkZoomsFn = p.default.throttle(function() {
                    t.checkZooms()
                }, 200), m.default.mobile() && (this.checkViewport(), this.initListenChangeZooms())
            }
            return (0, l.default)(e, [{
                key: "initListenChangeZooms",
                value: function() {
                    var e = this;
                    v.default.addListener(this.window, "scroll", this.checkZoomsFn), v.default.addListener(this.window, "resize", this.checkZoomsFn), v.default.addListener(this.window, "orientationchange", this.checkZoomsFn), d.default.addListener("update", function() {
                        "label" !== d.default.route && "hidden" !== d.default.route ? e.setZoomChangeIterval(500) : e.setZoomChangeIterval(1e3)
                    })
                }
            }, {
                key: "setZoomChangeIterval",
                value: function(e) {
                    e !== this.intervalTime && (clearInterval(this.intervalId), this.intervalTime = e, this.intervalId = setInterval(this.checkZoomsFn, e))
                }
            }, {
                key: "checkZooms",
                value: function() {
                    var e = this.getUserZoom(),
                        t = this.getPageZoom(),
                        i = this.getAppZoom();
                    e === this.userZoom && t === this.pageZoom && i === this.appZoom || (this.userZoom = e, this.pageZoom = t, this.appZoom = i, this.triggerChangeZoom())
                }
            }, {
                key: "checkViewport",
                value: function() {
                    var e = this.document.querySelector("meta[name=viewport]");
                    if (e && e.content)
                        for (var t = e.getAttribute("content").toLowerCase().split(","), i = 0; i < t.length; i++) {
                            t[i] = t[i].replace(/^\s+/, "");
                            var a = t[i].split("=");
                            "width" == a[0] && "device-width" === a[1] && (this.isSiteOptimizedForMobile = !0)
                        }
                }
            }, {
                key: "triggerChangeZoom",
                value: function() {
                    var e = this;
                    p.default.each(this.changeZoomSubscription, function(t) {
                        t({
                            userZoom: e.userZoom,
                            pageZoom: e.pageZoom,
                            appZoom: e.appZoom
                        })
                    })
                }
            }, {
                key: "blockScroll",
                value: function() {
                    v.default.addClass(this.bodyEl, "jivo-block-scroll"), v.default.addListener(this.window, "scroll", this.preventDefault), v.default.addListener(this.document, "touchmove", this.preventDefault)
                }
            }, {
                key: "unblockScroll",
                value: function() {
                    v.default.removeClass(this.bodyEl, "jivo-block-scroll"), v.default.removeEvent(this.window, "scroll", this.preventDefault), v.default.removeEvent(this.document, "touchmove", this.preventDefault)
                }
            }, {
                key: "addOverpay",
                value: function() {
                    v.default.addClass(this.documentEl, "jivo-mobile-overlay")
                }
            }, {
                key: "removeOverpay",
                value: function() {
                    v.default.removeClass(this.documentEl, "jivo-mobile-overlay")
                }
            }, {
                key: "addTabletPosition",
                value: function() {
                    var e = this;
                    v.default.addClass(this.documentEl, "jivo-mobile-widget"), m.default.ipad() && setTimeout(function() {
                        if ("label" !== d.default.route && "chat/min" !== d.default.route) {
                            var t = e.document.getElementById("jivo-iframe-container"),
                                i = t.offsetTop;
                            t.style.setProperty("position", "absolute", "important"), t.style.setProperty("top", i + "px", "important"), e.bodyEl.style.position = "relative"
                        }
                    }, 500)
                }
            }, {
                key: "removeTabletPosition",
                value: function() {
                    var e = this;
                    v.default.removeClass(this.documentEl, "jivo-mobile-widget"), m.default.ipad() && setTimeout(function() {
                        var t = e.document.getElementById("jivo-iframe-container");
                        t.style.setProperty("position", null), t.style.setProperty("top", null), e.bodyEl.style.position = null
                    }, 10)
                }
            }, {
                key: "blockSite",
                value: function() {
                    void 0 === this.blockState && (this.resetScrollPositions(), v.default.addClass(this.documentEl, "jivo-site-full-block"), this.blockState = !0)
                }
            }, {
                key: "unblockSite",
                value: function() {
                    v.default.removeClass(this.documentEl, "jivo-site-full-block"), this.restoreScrollPositions(), delete this.blockState
                }
            }, {
                key: "resetScrollPositions",
                value: function() {
                    this.originalScrollTop = this.bodyEl.scrollTop, this.originalScrollLeft = this.bodyEl.scrollLeft, this.bodyEl.scrollTop = 0, this.bodyEl.scrollLeft = 0
                }
            }, {
                key: "restoreScrollPositions",
                value: function() {
                    (this.originalScrollTop || this.originalScrollleft) && (this.bodyEl.scrollTop = this.originalScrollTop, this.bodyEl.scrollLeft = this.originalScrollLeft, delete this.originalScrollTop, delete this.originalScrollLeft)
                }
            }, {
                key: "preventDefault",
                value: function(e) {
                    return e.preventDefault(), e.stopPropagation(), !1
                }
            }, {
                key: "getUserZoom",
                value: function() {
                    var e = this.documentEl.clientWidth / this.window.innerWidth;
                    return !this.isSiteOptimizedForMobile && e >= .97 && e <= 1.03 && (e = 1), e
                }
            }, {
                key: "getPageZoom",
                value: function() {
                    return m.default.ios() && "landscape" === this.getOrientation() ? this.window.screen.height / this.window.innerWidth : this.window.screen.width / this.window.innerWidth
                }
            }, {
                key: "getAppZoom",
                value: function() {
                    return m.default.ios() && "landscape" === this.getOrientation() ? this.window.innerWidth / this.window.screen.height : this.window.innerWidth / this.window.screen.width
                }
            }, {
                key: "getTextSize",
                value: function() {
                    var e = null;
                    if (!m.default.mobile()) return e;
                    var t = this.getAppZoom();
                    return 1 !== t && (e = 100 * t + "%"), e
                }
            }, {
                key: "getLineHeight",
                value: function() {
                    var e = null,
                        t = this.getAppZoom();
                    return 1 !== t && (e = 1.25 / t + "em"), e
                }
            }, {
                key: "getOrientation",
                value: function() {
                    var e, t = 0;
                    switch (this.window.orientation ? t = this.window.orientation : this.window.screen && this.window.screen.orientation && (t = this.window.screen.orientation.angle), t) {
                        case -90:
                        case 90:
                            e = "landscape";
                            break;
                        default:
                            e = "portrait"
                    }
                    return e
                }
            }, {
                key: "listenChangeZoom",
                value: function(e) {
                    this.changeZoomSubscription.push(e)
                }
            }]), e
        }());
    t.default = new _
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(35),
        o = a(n),
        r = i(28),
        l = a(r),
        s = i(78),
        u = a(s),
        d = i(164),
        c = a(d),
        f = i(10),
        p = a(f),
        h = i(5),
        m = a(h),
        g = i(9),
        v = a(g),
        b = i(1),
        _ = a(b),
        w = i(13),
        y = a(w),
        x = i(14),
        k = a(x),
        j = i(27),
        C = (a(j), i(12)),
        E = a(C),
        M = i(21),
        S = a(M),
        T = i(31),
        z = a(T),
        O = i(190),
        N = a(O),
        I = navigator.appVersion,
        A = I.indexOf("MSIE") !== -1,
        P = p.default.name("CONNECTION"),
        L = _.default.cookie,
        B = _.default.telemetry,
        D = new u.default({
            namespace: "CONNECTION",
            msg_buf: [],
            jconnection: null,
            send: function(e) {
                P.log("SEND: ", e), this.handle("send", e), this.trigger("send", e)
            },
            sendIfConnected: function(e) {
                P.log("sendIfConnected", this.isConnected(), e), this.isConnected() && (this.handle("send", e), this.trigger("send", e))
            },
            setupConnection: function() {
                var e = this;
                if (!this.jconnection && v.default.indexOf(["preview", "editor"], (0, b.isWixContext)()) === -1) {
                    var t = [];
                    t.unshift("https://" + m.default.comet.host + "/cometcn"), L("use_lp") || A || t.unshift("wss://" + m.default.comet.host + "/cometcn"), P.log("url", t), this.jconnection = new c.default(t), this.jconnection.on("connecting", function() {
                        e.handle("socket_connecting")
                    }), this.jconnection.on("open", function() {
                        e.handle("socket_connect")
                    }), this.jconnection.on("close", function(t) {
                        e.handle("socket_disconnect", t)
                    }), this.jconnection.on("error", function(e) {
                        P.error(e)
                    }), this.jconnection.on("message", function(e) {
                        var t = void 0;
                        try {
                            t = JSON.parse(e)
                        } catch (e) {
                            return P.error("parse error", e)
                        }
                        return t && "object" === ("undefined" == typeof t ? "undefined" : (0, l.default)(t)) ? (t.name && P.log(t.name, t), void D.handle("socket_message", t)) : P.error("bad message")
                    }), this.jconnection.open()
                }
            },
            _sendSocketEvent: function(e) {
                var t = void 0;
                try {
                    t = (0, o.default)(e)
                } catch (e) {
                    return P.error("stringify error", e)
                }
                if ("object" == ("undefined" == typeof e ? "undefined" : (0, l.default)(e)))
                    if ("name" in e) {
                        P.log("Sending " + e.name);
                        var i = this.jconnection.send(t);
                        i && ("client_message" == e.name && this._bufferMessage(e), P.error("send error", i))
                    } else P.error("Attempt to send event without name");
                else P.error("Socket event must be object")
            },
            _bufferMessage: function(e) {
                this.msg_buf.push(e)
            },
            _flushMessageBuffer: function() {
                var e = void 0;
                for (this.msg_buf.length > 0 && B("client_message_flush_buffer"); e = this.msg_buf.shift();) this._sendSocketEvent(e)
            },
            isConnected: function() {
                return "CONNECTED" === this.state
            },
            setCustomData: function(e) {
                P.log("setCustomData", e, this.isConnected()), this.isConnected() ? this.send({
                    name: "update_custom_data",
                    custom_data: e
                }) : this.custom_data = e
            },
            setUserToken: function(e) {
                P.log("setUserToken", e, this.isConnected()), this.isConnected() ? this.send({
                    name: "update_user_token",
                    user_token: e
                }) : this.user_token = e
            },
            requestTelemetry: function(e) {
                var t = this.jconnection,
                    i = {};
                t && (i.state = t.state, i.url = t.url, i.health = t.health), B(e, i)
            },
            states: {
                uninitialized: {
                    _onEnter: function() {
                        this.jconnection && (this.jconnection.off(), this.jconnection.close(), this.jconnection = null)
                    },
                    send: function(e) {
                        this._bufferMessage(e), this.transition("CONNECTING")
                    },
                    startup: function() {
                        this.transition("CONNECTING")
                    }
                },
                CONNECTING: {
                    _onEnter: function() {
                        this.setupConnection()
                    },
                    socket_connect: function() {
                        0 == this.jconnection.url.indexOf("http") && L("use_lp", 1), this.transition("STARTING_UP")
                    },
                    send: function(e) {
                        this._bufferMessage(e)
                    },
                    socket_disconnect: function() {
                        this.requestTelemetry("Disconnected while connecting"), this.transition("uninitialized")
                    },
                    socket_connecting: function() {}
                },
                STARTING_UP: {
                    _onEnter: function() {
                        var e = {
                            name: "startup",
                            jv_widget_id: m.default.widget_id,
                            site_id: m.default.site_id,
                            current_page: _.default.getCurrentPage(),
                            is_mobile: y.default.mobileOrTablet(),
                            visits_count: L("visits_count") - 0,
                            separate_window: E.default.isSeparateWindow,
                            can_resume: 1,
                            jv_client_id: k.default.client_id,
                            pa_id: k.default.pa_id,
                            client_name: k.default.client_info.client_name,
                            email: k.default.client_info.email,
                            phone: k.default.client_info.phone,
                            description: k.default.client_info.description,
                            page_visible: (0, b.pageVisible)(),
                            chat_opened: 0 == E.default.route.indexOf("chat") && E.default.route.indexOf("min") == -1
                        };
                        P.log("STARTING_UP", k.default.client_id), L("__utmz") && (e.g_utmz = L("__utmz")), L("refer") && (e.refer = L("refer")), L("utm") && (e.utm = L("utm")), v.default.isEmpty(k.default.utm) || (e.new_utm = k.default.utm), P.log("proactive on startup", z.default.get("text"));
                        var t = S.default.getCurrentProactive();
                        z.default.get("text") && (t = z.default), t && t.get("text") && t.get("body") && (e.proactive_rule = {
                            invitation_text: t.get("text"),
                            agent_id: t.get("body").agent_id
                        });
                        var i = S.default.filter(function(e) {
                            return "notDelivered" === e.get("status")
                        });
                        i.length && v.default.each(i, function(e) {
                            D.msg_buf.push({
                                name: "client_message",
                                message: e.get("text"),
                                private_id: e.get("private_id")
                            })
                        }), this.custom_data && (e.custom_data = this.custom_data), this.user_token && (e.user_token = this.user_token), (k.default.is_blacklisted || 1 == m.default.hide_offline && !E.default.is_online && !E.default.chat_started) && this.transition("DISCONNECTING"), this._sendSocketEvent(e), this._scheduleEvent("startup_timeout", 3e3)
                    },
                    startup_timeout: function() {
                        this.requestTelemetry("Startup Timeout")
                    },
                    send: function(e) {
                        this._bufferMessage(e)
                    },
                    socket_message: function(e) {
                        "startup_ok" === e.name ? (this._cancelEvent("startup_timeout"), this.transition("CONNECTED")) : "resume_ok" == e.name ? this.transition("CONNECTED") : "startup_error" === e.name && this.transition("DISCONNECTING"), this.emit(e.name, e), this.emit("socket_message", e)
                    }
                },
                CONNECTED: {
                    _onEnter: function() {
                        this.emit("startup_ok"), this._flushMessageBuffer()
                    },
                    socket_message: function(e) {
                        switch (e.name) {
                            case "agent_chat_close":
                                1 !== m.default.visitors_insight && this.transition("DISCONNECTING");
                                break;
                            case "force_offline":
                                this.transition("DISCONNECTING");
                                break;
                            case "blacklist":
                                this.transition("DISCONNECTING");
                                break;
                            case "cw_call_end":
                            case "cw_error":
                                break;
                            case "offline_ack":
                                "cap_id" in e ? E.default.cap_id = e.cap_id : this.transition("DISCONNECTING")
                        }
                        this.emit(e.name, e), this.emit("socket_message", e)
                    },
                    send: function(e) {
                        this._sendSocketEvent(e)
                    },
                    socket_disconnect: function(e) {
                        P.log("close", e), 1e3 == e.code && this.trigger("disconnecting"), this.transition("uninitialized")
                    },
                    startup: function() {
                        this.emit("startup_ok")
                    },
                    socket_connecting: function() {
                        var e = this;
                        setTimeout(function() {
                            e.requestTelemetry("JC reconnect")
                        }, 2e3), this.transition("CONNECTING")
                    }
                },
                DISCONNECTING: {
                    _onEnter: function() {
                        this.jconnection.close(), this.trigger("disconnecting")
                    },
                    socket_disconnect: function(e) {
                        this.transition("uninitialized")
                    }
                }
            }
        });
    D.ifNeedConnect = function() {
        return P.log("connect", (0, b.pageVisible)()), y.default.mobile() && E.default.isSeparateWindow && !E.default.is_online && "chat/msg" == E.default.route ? (P.log("Page visible but ignore startup in offline"), !1) : !(k.default.is_blacklisted || !E.default.is_online && 1 == m.default.hide_offline && !E.default.chat_started) && (E.default.is_online || E.default.chat_started ? y.default.mobileOrTablet() && 1 == m.default.disable_mobile ? (P.log("Widget disabled on mobile devices."), !1) : m.default.visitors_insight || !k.default.jv_sess_id || E.default.chat_started ? k.default.jv_sess_id || E.default.chat_started || !m.default.botmode ? !(D.isConnected() || !(0, b.pageVisible)()) && (v.default.indexOf(["preview", "editor"], (0, b.isWixContext)()) === -1 && (!(!k.default.jv_sess_id && !m.default.visitors_insight || "col_old_page" === window.parent.name) || void 0)) : (P.log('Connection disabled for "Google bots".'), !1) : (P.log('Connection disabled for "Disable Visitors Insight".'), !1) : (P.log("Offline and chat not started from online."), !1))
    };
    var F = function() {
        D.ifNeedConnect() && D.handle("startup")
    };
    F(), (0, b.listenVisibility)(F), D.on("socket_message", function(e) {
        e.method && N.default[e.params.type] && N.default[e.params.type](e.params.body), N.default[e.name] && N.default[e.name](e)
    }), D.on("disconnecting", function() {
        N.default.disconnecting && N.default.disconnecting()
    }), t.default = D
}, function(e, t, i) {
    e.exports = {
        default: i(216),
        __esModule: !0
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(9),
        o = a(n),
        r = i(10),
        l = a(r),
        s = i(1),
        u = a(s),
        d = i(5),
        c = a(d),
        f = l.default.name("analytics"),
        p = {
            _yaCounter: [],
            _trackedEvents: [],
            init: function() {
                try {
                    var e = u.default.getPageWindow();
                    for (var t in e) 0 === t.indexOf("yaCounter") && "function" == typeof e[t].reachGoal && this._yaCounter.push(t);
                    f.log("Active Yandex counters: ", this._yaCounter.length)
                } catch (e) {
                    f.log(e.toString())
                }
            },
            _trackEvent: function(e, t) {
                if (!(o.default.indexOf(this._trackedEvents, e) >= 0)) {
                    this._trackedEvents.push(e), f.info("_trackEvent: " + e + "/" + t);
                    var i = u.default.getPageWindow();
                    if ("undefined" != typeof i._gaq && i._gaq.push(["_trackEvent", "JivoSite", e, t, void 0, !0]), "function" == typeof i.ga && "function" == typeof i.ga.getAll && o.default.each(i.ga.getAll(), function(i) {
                            i.send("event", "JivoSite", e, t, {
                                nonInteraction: 1
                            })
                        }), i._gaUA_real && "function" == typeof i._gaUA_real.getAll) {
                        var a = i._gaUA_real.getAll();
                        2 == a.length && (a[1].send("event", "JivoSite", e, t, {
                            nonInteraction: 1
                        }), f.log("Track event to custom tiu client counter", a[1].get("trackingId"), e, t))
                    }
                    if (this._yaCounter.length > 0) {
                        e = ["Jivo"].concat(e.split(" ")).join("_");
                        var n = u.default.getPageWindow();
                        o.default.each(this._yaCounter, function(t) {
                            n && n[t] && "function" == typeof n[t].reachGoal && n[t].reachGoal(e)
                        })
                    }
                    this.trackFBEvents(e)
                }
            },
            _setCustomVar: function(e, t) {
                f.log("_setCustomVar: " + e + "/" + t);
                var i = u.default.getPageWindow();
                if ("undefined" != typeof i._gaq && i._gaq.push(["_setCustomVar", 1, e, t, 1]), "function" == typeof i.ga && i.ga("set", e, t), this._yaCounter.length > 0) {
                    var a = {};
                    a[e] = t, o.default.each(this._yaCounter, function(e) {
                        i[e].params(a)
                    })
                }
            },
            trackFBEvents: function(e) {
                if (!u.default.getPageWindow().fbq || 1 === c.default.site_id) return !1;
                var t = u.default.getPageWindow().fbq;
                "Chat established" == e && t("track", "Lead", {
                    content_name: "Chat_established",
                    content_category: "JivoSite"
                }), "Offline message sent" == e && t("track", "Lead", {
                    content_name: "Offline_message_sent",
                    content_category: "JivoSite"
                })
            },
            trackChatOpenedByClick: function() {
                this._trackEvent("Chat requested", "User clicked chat widget")
            },
            trackOfflineFormOpenedByClick: function() {
                this._trackEvent("Offline form shown", "User offline form")
            },
            trackOfflineMessageSent: function() {
                this._trackEvent("Offline message sent", "User sent message via offline form")
            },
            trackProactiveInvitationShown: function(e) {
                this._trackEvent("Proactive invitation shown", e)
            },
            trackProactiveInvitationAccepted: function(e) {
                this._trackEvent("Proactive invitation accepted", e)
            },
            trackProactiveInvitationRejected: function(e) {
                this._trackEvent("Proactive invitation rejected", e)
            },
            trackChatConnected: function() {
                this._trackEvent("Chat established", "User connected to agent")
            },
            trackGaveContacts: function() {
                this._trackEvent("User gave contacts during chat", "User gave contacts during chat")
            },
            trackCallWidgetInvitationShown: function(e) {
                this._trackEvent("Callback invitation shown", e)
            },
            trackCallWidgetRequested: function() {
                this._trackEvent("Callback requested", "User request callback.")
            },
            setABTestGroupContacts: function(e, t) {
                this._setCustomVar(e, t)
            },
            trackSystemMessageEmailShown: function() {
                this._trackEvent("In-chat email form shown", "In-chat email form shown.")
            },
            trackSystemMessageEmailSubmitted: function() {
                this._trackEvent("In-chat email form submitted", "In-chat email form submitted.")
            },
            trackContinueInSocial: function() {
                this._trackEvent("Continue in VK", "User clicked VK button")
            },
            trackClientInitChat: function() {
                this._trackEvent("Client initiate chat", "Client initiate chat")
            },
            trackClientAnswerAgentChatRequest: function() {
                this._trackEvent("Client answer on agent request", "Client answer on agent request")
            },
            trackMobileCallClick: function() {
                this._trackEvent("Mobile call", "Mobile call")
            }
        };
    t.default = p
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(50),
        o = a(n),
        r = i(5),
        l = (a(r), {
            agent_id: 0,
            display_name: null,
            title: null,
            avatar_url: null,
            typing: !1
        }),
        s = (0, o.default)(l);
    t.default = s
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(212),
        o = a(n),
        r = i(211),
        l = a(r),
        s = "function" == typeof l.default && "symbol" == typeof o.default ? function(e) {
            return typeof e
        } : function(e) {
            return e && "function" == typeof l.default && e.constructor === l.default && e !== l.default.prototype ? "symbol" : typeof e
        };
    t.default = "function" == typeof l.default && "symbol" === s(o.default) ? function(e) {
        return "undefined" == typeof e ? "undefined" : s(e)
    } : function(e) {
        return e && "function" == typeof l.default && e.constructor === l.default && e !== l.default.prototype ? "symbol" : "undefined" == typeof e ? "undefined" : s(e)
    }
}, , function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(295),
        _ = a(b),
        w = i(319),
        y = a(w),
        x = i(323),
        k = a(x),
        j = i(135),
        C = a(j),
        E = i(134),
        M = a(E),
        S = i(337),
        T = a(S),
        z = i(338),
        O = a(z),
        N = i(322),
        I = a(N),
        A = i(328),
        P = a(A),
        L = i(327),
        B = a(L),
        D = i(70),
        F = a(D),
        H = i(69),
        R = a(H),
        W = i(326),
        V = a(W),
        q = i(320),
        U = a(q),
        G = i(311),
        X = a(G),
        Z = i(318),
        Y = a(Z),
        K = i(313),
        J = a(K),
        Q = i(314),
        $ = a(Q),
        ee = i(133),
        te = a(ee),
        ie = i(325),
        ae = a(ie),
        ne = i(317),
        oe = a(ne),
        re = i(310),
        le = a(re),
        se = i(333),
        ue = a(se),
        de = i(334),
        ce = a(de),
        fe = i(329),
        pe = a(fe),
        he = i(331),
        me = a(he),
        ge = i(330),
        ve = a(ge),
        be = i(332),
        _e = a(be),
        we = i(308),
        ye = a(we),
        xe = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                i.initIcons();
                var a = _.default[i.props.iconName + "Icon"];
                return i.className = i.props.className + (a ? " " + a : ""), i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "initIcons",
                value: function() {
                    this.iconsMap = {
                        vk: C.default,
                        fb: M.default,
                        viber: O.default,
                        telegram: T.default,
                        phone: I.default,
                        "phone-outgoing": k.default,
                        "message-text": y.default,
                        "logo-jivosite-white": P.default,
                        "logo-jivochat-white": B.default,
                        logo_jivosite: F.default,
                        logo_jivochat: R.default,
                        "logo-j-white": V.default,
                        "mobile-cloud": U.default,
                        hand: Y.default,
                        arrow: J.default,
                        arrow2: $.default,
                        "callback-btn": X.default,
                        "icon-ok-white": te.default,
                        "icon-v-email": ae.default,
                        envelope: oe.default,
                        mobileBack: le.default,
                        "icon-photo": ue.default,
                        "icon-video": ce.default,
                        "icon-audio": pe.default,
                        "icon-document": me.default,
                        "icon-error": _e.default,
                        "icon-cancel": ve.default,
                        leafBottom: ye.default
                    }
                }
            }, {
                key: "getIcon",
                value: function() {
                    return this.iconsMap[this.props.iconName]
                }
            }, {
                key: "render",
                value: function() {
                    return v.default.createElement("jdiv", (0, o.default)({
                        dangerouslySetInnerHTML: {
                            __html: this.getIcon()
                        }
                    }, this.props, {
                        className: this.className
                    }))
                }
            }]), t
        }(v.default.Component);
    t.default = xe
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(60),
        o = a(n),
        r = new o.default({
            type: "memory",
            name: "proactive",
            keys: {
                created_ts: function() {
                    return (new Date).getTime()
                },
                text: null,
                status: null,
                body: {},
                proactiveName: null
            }
        });
    t.default = r
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    t.__esModule = !0;
    var n = i(80),
        o = a(n);
    t.default = function(e, t, i) {
        return t in e ? (0, o.default)(e, t, {
            value: i,
            enumerable: !0,
            configurable: !0,
            writable: !0
        }) : e[t] = i, e
    }
}, function(e, t) {
    var i = e.exports = {
        version: "2.4.0"
    };
    "number" == typeof __e && (__e = i)
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(70),
        _ = a(b),
        w = i(69),
        y = a(w),
        x = i(96),
        k = a(x),
        j = i(132),
        C = a(j),
        E = i(321),
        M = a(E),
        S = i(133),
        T = a(S),
        z = i(335),
        O = a(z),
        N = i(312),
        I = a(N),
        A = i(324),
        P = a(A),
        L = i(316),
        B = a(L),
        D = i(315),
        F = a(D),
        H = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.displayName = "JivoSvg", i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getIcon",
                value: function() {
                    var e;
                    switch (this.props.src) {
                        case "icon_ok.svg":
                            e = M.default;
                            break;
                        case "icon_ok_white.svg":
                            e = T.default;
                            break;
                        case "logo_jivosite.svg":
                            e = _.default;
                            break;
                        case "logo_jivochat.svg":
                            e = y.default;
                            break;
                        case "icon_closewidget_dark.svg":
                            e = k.default;
                            break;
                        case "callback_connect.svg":
                            e = C.default;
                            break;
                        case "mobile_send_button.svg":
                            e = O.default;
                            break;
                        case "icon_anonymous.svg":
                            e = I.default;
                            break;
                        case "icon_ruble.svg":
                            e = P.default;
                            break;
                        case "icon_emoji.svg":
                            e = B.default;
                            break;
                        case "icon_attach.svg":
                            e = F.default
                    }
                    return e
                }
            }, {
                key: "render",
                value: function() {
                    return this.rawIcon = this.getIcon(), v.default.createElement("div", (0, o.default)({
                        dangerouslySetInnerHTML: {
                            __html: this.rawIcon
                        }
                    }, this.props))
                }
            }]), t
        }(v.default.Component);
    t.default = H
}, function(e, t, i) {
    e.exports = {
        default: i(215),
        __esModule: !0
    }
}, , function(e, t) {
    var i = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
    "number" == typeof __g && (__g = i)
}, function(e, t, i) {
    var a = i(123),
        n = i(81);
    e.exports = function(e) {
        return a(n(e))
    }
}, function(e, t, i) {
    var a = {
        EventEmitter: i(296),
        EmitterSubscription: i(130)
    };
    e.exports = a
}, function(e, t, i) {
    e.exports = !i(45)(function() {
        return 7 != Object.defineProperty({}, "a", {get: function() {
                return 7
            }
        }).a
    })
}, function(e, t, i) {
    var a = i(37),
        n = i(33),
        o = i(120),
        r = i(46),
        l = "prototype",
        s = function(e, t, i) {
            var u, d, c, f = e & s.F,
                p = e & s.G,
                h = e & s.S,
                m = e & s.P,
                g = e & s.B,
                v = e & s.W,
                b = p ? n : n[t] || (n[t] = {}),
                _ = b[l],
                w = p ? a : h ? a[t] : (a[t] || {})[l];
            p && (i = t);
            for (u in i) d = !f && w && void 0 !== w[u], d && u in b || (c = d ? w[u] : i[u], b[u] = p && "function" != typeof w[u] ? i[u] : g && d ? o(c, a) : v && w[u] == c ? function(e) {
                var t = function(t, i, a) {
                    if (this instanceof e) {
                        switch (arguments.length) {
                            case 0:
                                return new e;
                            case 1:
                                return new e(t);
                            case 2:
                                return new e(t, i)
                        }
                        return new e(t, i, a)
                    }
                    return e.apply(this, arguments)
                };
                return t[l] = e[l], t
            }(c) : m && "function" == typeof c ? o(Function.call, c) : c, m && ((b.virtual || (b.virtual = {}))[u] = c, e & s.R && _ && !_[u] && r(_, u, c)))
        };
    s.F = 1, s.G = 2, s.S = 4, s.P = 8, s.B = 16, s.W = 32, s.U = 64, s.R = 128, e.exports = s
}, function(e, t) {
    var i = {}.hasOwnProperty;
    e.exports = function(e, t) {
        return i.call(e, t)
    }
}, function(e, t, i) {
    var a = i(55),
        n = i(122),
        o = i(93),
        r = Object.defineProperty;
    t.f = i(40) ? Object.defineProperty : function(e, t, i) {
        if (a(e), t = o(t, !0), a(i), n) try {
            return r(e, t, i)
        } catch (e) {}
        if ("get" in i || "set" in i) throw TypeError("Accessors not supported!");
        return "value" in i && (e[t] = i.value), e
    }
}, function(e, t) {
    "use strict";

    function i(e) {
        return parseInt(r(e).substring(0, 2), 16)
    }

    function a(e) {
        return parseInt(r(e).substring(2, 4), 16)
    }

    function n(e) {
        return parseInt(r(e).substring(4, 6), 16)
    }

    function o(e) {
        return 3 == e.length && (e = e.split("").map(function(e) {
            return e.toString() + e.toString()
        }).join("")), e
    }

    function r(e) {
        return e = "#" == e.charAt(0) ? e.substring(1, 7) : e, o(e)
    }

    function l(e) {
        var t = i(e),
            o = a(e),
            r = n(e),
            l = -.5,
            s = c.toHSV(new u(t, o, r));
        return s.v + s.s * l
    }

    function s(e, t, i) {
        e <= 0 && (e = 0), t <= 0 && (t = 0), i <= 0 && (i = 0), e > 360 && (e = 360), t > 100 && (t = 100), i > 100 && (i = 100), this.h = e, this.s = t, this.v = i
    }

    function u(e, t, i) {
        e <= 0 && (e = 0), t <= 0 && (t = 0), i <= 0 && (i = 0), e > 255 && (e = 255), t > 255 && (t = 255), i > 255 && (i = 255), this.r = e, this.g = t, this.b = i
    }

    function d(e, t, i, a) {
        e <= 0 && (e = 0), t <= 0 && (t = 0), i <= 0 && (i = 0), a <= 0 && (a = 0), e > 100 && (e = 100), t > 100 && (t = 100), i > 100 && (i = 100), a > 100 && (a = 100), this.c = e, this.m = t, this.y = i, this.k = a
    }
    var c = {
        isLightColor: function(e) {
            var t = 58;
            return l(e) > t
        },
        _RGBtoHSV: function(e) {
            var t = new s(0, 0, 0),
                i = e.r / 255,
                a = e.g / 255,
                n = e.b / 255,
                o = Math.min(i, a, n),
                r = Math.max(i, a, n),
                l = r - o;
            if (t.v = r, 0 == l) t.h = 0, t.s = 0;
            else {
                t.s = l / r;
                var u = ((r - i) / 6 + l / 2) / l,
                    d = ((r - a) / 6 + l / 2) / l,
                    c = ((r - n) / 6 + l / 2) / l;
                i == r ? t.h = c - d : a == r ? t.h = 1 / 3 + u - c : n == r && (t.h = 2 / 3 + d - u), t.h < 0 && (t.h += 1), t.h > 1 && (t.h -= 1)
            }
            return t.h = Math.round(360 * t.h), t.s = Math.round(100 * t.s), t.v = Math.round(100 * t.v), t
        },
        _HSVtoRGB: function(e) {
            var t = new u(0, 0, 0),
                i = e.h / 360,
                a = e.s / 100,
                n = e.v / 100;
            if (0 == a) t.r = 255 * n, t.g = 255 * n, t.b = 255 * n;
            else {
                var o, r, l, s = 6 * i,
                    d = Math.floor(s),
                    c = n * (1 - a),
                    f = n * (1 - a * (s - d)),
                    p = n * (1 - a * (1 - (s - d)));
                0 == d ? (o = n, r = p, l = c) : 1 == d ? (o = f, r = n, l = c) : 2 == d ? (o = c, r = n, l = p) : 3 == d ? (o = c, r = f, l = n) : 4 == d ? (o = p, r = c, l = n) : (o = n, r = c, l = f), t.r = 255 * o, t.g = 255 * r, t.b = 255 * l, t.r = Math.round(t.r), t.g = Math.round(t.g), t.b = Math.round(t.b)
            }
            return t
        },
        _CMYKtoRGB: function(e) {
            var t = new u(0, 0, 0),
                i = e.c / 100,
                a = e.m / 100,
                n = e.y / 100,
                o = e.k / 100;
            return t.r = 1 - Math.min(1, i * (1 - o) + o), t.g = 1 - Math.min(1, a * (1 - o) + o), t.b = 1 - Math.min(1, n * (1 - o) + o), t.r = Math.round(255 * t.r), t.g = Math.round(255 * t.g), t.b = Math.round(255 * t.b), t
        },
        _RGBtoCMYK: function(e) {
            var t = new d(0, 0, 0, 0),
                i = e.r / 255,
                a = e.g / 255,
                n = e.b / 255;
            return t.k = Math.min(1 - i, 1 - a, 1 - n), t.c = (1 - i - t.k) / (1 - t.k), t.m = (1 - a - t.k) / (1 - t.k), t.y = (1 - n - t.k) / (1 - t.k), t.c = Math.round(100 * t.c), t.m = Math.round(100 * t.m), t.y = Math.round(100 * t.y), t.k = Math.round(100 * t.k), t
        },
        toRGB: function(e) {
            return e instanceof u ? e : e instanceof s ? this._HSVtoRGB(e) : e instanceof d ? this._CMYKtoRGB(e) : void 0
        },
        toHSV: function(e) {
            return e instanceof s ? e : e instanceof u ? this._RGBtoHSV(e) : e instanceof d ? this._RGBtoHSV(this._CMYKtoRGB(e)) : void 0
        },
        toCMYK: function(e) {
            return e instanceof d ? e : e instanceof u ? this._RGBtoCMYK(e) : e instanceof s ? this._RGBtoCMYK(this._HSVtoRGB(e)) : void 0
        }
    };
    e.exports = c
}, function(e, t) {
    e.exports = function(e) {
        try {
            return !!e()
        } catch (e) {
            return !0
        }
    }
}, function(e, t, i) {
    var a = i(43),
        n = i(65);
    e.exports = i(40) ? function(e, t, i) {
        return a.f(e, t, n(1, i))
    } : function(e, t, i) {
        return e[t] = i, e
    }
}, function(e, t, i) {
    var a = i(127),
        n = i(82);
    e.exports = Object.keys || function(e) {
        return a(e, n)
    }
}, function(e, t, i) {
    var a = i(91)("wks"),
        n = i(67),
        o = i(37).Symbol,
        r = "function" == typeof o,
        l = e.exports = function(e) {
            return a[e] || (a[e] = r && o[e] || (r ? o : n)("Symbol." + e))
        };
    l.store = a
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(374),
        k = a(x),
        j = i(51),
        C = a(j),
        E = i(23),
        M = a(E),
        S = i(21),
        T = a(S),
        z = i(13),
        O = a(z),
        N = (i(1), i(26)),
        I = (a(N), i(16)),
        A = (a(I), i(24)),
        P = (a(A), i(12)),
        L = (a(P), i(14)),
        B = (a(L), i(5)),
        D = a(B),
        F = i(9),
        H = a(F),
        R = function(e) {
            function t(e) {
                (0, c.default)(this, t);
                var i = (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e));
                return i.state = {
                    textSize: M.default.getTextSize(),
                    transparent: e.isPreview
                }, i
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    M.default.listenChangeZoom(function() {
                        e.setState({
                            textSize: M.default.getTextSize()
                        })
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e, t = void 0,
                        i = this.props.messages[0],
                        a = void 0;
                    return t = this.props.messages && "invoice" === i.get("type") ? "while" : D.default.bubble_color || "green", H.default.each(T.default.store, function(e, t) {
                        i.get("private_id") === e.get("private_id") && (a = t)
                    }), {
                        styles: {
                            main: [(e = {
                                main: !0,
                                _mobile: O.default.mobile()
                            }, (0, l.default)(e, "__" + t, !0), (0, l.default)(e, "_transparent", this.state.transparent), e), {
                                "-webkit-text-size-adjust": this.state.textSize,
                                marginTop: T.default.store.length && a && "proactive" === i.get("type") ? 50 : null
                            }],
                            time: [{
                                time: !0,
                                _mobile: O.default.mobile()
                            }, {
                                "-webkit-text-size-adjust": this.state.textSize
                            }]
                        },
                        style: k.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.time;
                    return _.default.createElement("jdiv", t.main, _.default.createElement("jdiv", {
                        class: k.default.content
                    }, this.props.children), _.default.createElement("jdiv", {
                        className: k.default.pip
                    }), _.default.createElement("jdiv", (0, o.default)({}, t.time, {
                        title: (0, C.default)(i, "dd.mm.yy H:MM:ss")
                    }), (0, C.default)(i, "H:MM")))
                }
            }]), t
        }(y.default);
    t.default = R
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e, t) {
        for (var i in t) t[i] && t[i].constructor && t[i].constructor === Object ? (e[i] = e[i] || {}, n(e[i], t[i])) : v.indexOf(["isSeparateWindow", "route"], i) !== -1 && g.default.mobile() || (e[i] = t[i]);
        return e
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = i(28),
        r = a(o),
        l = i(80),
        s = a(l),
        u = i(35),
        d = a(u),
        c = i(79),
        f = a(c),
        p = i(5),
        h = a(p),
        m = i(13),
        g = a(m),
        v = i(9),
        b = i(39),
        _ = b.EventEmitter,
        w = function() {
            var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
                t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
            if ("JivoStore" == e.__type) return e;
            var i = globalStore.hasStorage,
                a = new _,
                o = v.debounce(function() {
                    a.emit("update", e)
                }, 10),
                l = v.debounce(function() {
                    i && !h.default.cookie_domain ? window.parent.localStorage.setItem("jv_store_" + t, (0, d.default)(e)) : (0, f.default)("store_" + t, (0, d.default)(e))
                }, 10),
                u = function(e, i) {
                    var a = e[i];
                    (0, s.default)(e, i, {set: function(e) {
                            a != e && (a = e, o(), t && l())
                        },
                        get: function() {
                            return a
                        }
                    })
                },
                c = function e(t) {
                    v.each(t, function(i, a) {
                        "function" != typeof i && (i && "object" == ("undefined" == typeof i ? "undefined" : (0, r.default)(i)) && "number" != typeof i.length ? e(i) : u(t, a))
                    })
                },
                p = function() {
                    if (t) try {
                        i && !h.default.cookie_domain ? (n(e, JSON.parse(window.parent.localStorage.getItem("jv_store_" + t))), n(e, JSON.parse((0, f.default)("store_" + t))), (0, f.default)("store_" + t, null)) : (n(e, JSON.parse((0, f.default)("store_" + t))), i && (n(e, JSON.parse(window.parent.localStorage.getItem("jv_store_" + t))), window.parent.localStorage.removeItem("jv_store_" + t)))
                    } catch (e) {
                        console.error(e)
                    }
                };
            return c(e), p(), Object.defineProperty(e, "__type", {
                enumerable: !1,
                configurable: !1,
                writable: !1,
                value: "JivoStore"
            }), Object.defineProperty(e, "addListener", {
                enumerable: !1,
                configurable: !1,
                writable: !1,
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "update",
                        t = arguments[1];
                    return "function" == typeof e && (t = e, e = "update"), a.addListener(e, t)
                }
            }), Object.defineProperty(e, "dispatch", {
                enumerable: !1,
                configurable: !1,
                writable: !1,
                value: function() {
                    o()
                }
            }), Object.defineProperty(e, "reload", {
                enumerable: !1,
                configurable: !1,
                writable: !1,
                value: function() {
                    p()
                }
            }), e
        };
    t.default = w
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function() {
        var e = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
            t = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
            a = /[^-+\dA-Z]/g,
            n = function(e, t) {
                for (e = String(e), t = t || 2; e.length < t;) e = "0" + e;
                return e
            };
        return function(o, r, l) {
            var s = i;
            if (1 != arguments.length || "[object String]" != Object.prototype.toString.call(o) || /\d/.test(o) || (r = o, o = void 0), "string" == typeof o && isNaN(new Date(o)) && (o = o.replace(/-/g, "/").replace("T", " ").split(".").shift() + "Z"), o = o ? new Date(o) : new Date, isNaN(o)) throw SyntaxError("invalid date");
            r = String(s.masks[r] || r || s.masks.default), "UTC:" == r.slice(0, 4) && (r = r.slice(4), l = !0);
            var u = l ? "getUTC" : "get",
                d = o[u + "Date"](),
                c = o[u + "Day"](),
                f = o[u + "Month"](),
                p = o[u + "FullYear"](),
                h = o[u + "Hours"](),
                m = o[u + "Minutes"](),
                g = o[u + "Seconds"](),
                v = o[u + "Milliseconds"](),
                b = l ? 0 : o.getTimezoneOffset(),
                _ = {
                    d: d,
                    dd: n(d),
                    ddd: s.i18n.dayNames[c],
                    dddd: s.i18n.dayNames[c + 7],
                    m: f + 1,
                    mm: n(f + 1),
                    mmm: s.i18n.monthNames[f],
                    mmmm: s.i18n.monthNames[f + 12],
                    yy: String(p).slice(2),
                    yyyy: p,
                    h: h % 12 || 12,
                    hh: n(h % 12 || 12),
                    H: h,
                    HH: n(h),
                    M: m,
                    MM: n(m),
                    s: g,
                    ss: n(g),
                    l: n(v, 3),
                    L: n(v > 99 ? Math.round(v / 10) : v),
                    t: h < 12 ? "a" : "p",
                    tt: h < 12 ? "am" : "pm",
                    T: h < 12 ? "A" : "P",
                    TT: h < 12 ? "AM" : "PM",
                    Z: l ? "UTC" : (String(o).match(t) || [""]).pop().replace(a, ""),
                    o: (b > 0 ? "-" : "+") + n(100 * Math.floor(Math.abs(b) / 60) + Math.abs(b) % 60, 4),
                    S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
                };
            return r.replace(e, function(e) {
                return e in _ ? _[e] : e.slice(1, e.length - 1)
            })
        }
    }();
    i.masks = {
        default: "ddd mmm dd yyyy HH:MM:ss",
        shortDate: "m/d/yy",
        mediumDate: "mmm d, yyyy",
        longDate: "mmmm d, yyyy",
        fullDate: "dddd, mmmm d, yyyy",
        shortTime: "h:MM TT",
        mediumTime: "h:MM:ss TT",
        longTime: "h:MM:ss TT Z",
        isoDate: "yyyy-mm-dd",
        isoTime: "HH:MM:ss",
        isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
        isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
    }, i.i18n = {
        dayNames: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
        monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
    }, t.default = i
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e, t) {
        e.readyState ? (_.log("Using readyState callback"), e.onreadystatechange = function() {
            "loaded" != e.readyState && "complete" != e.readyState || (e.onreadystatechange = null, t())
        }) : (_.log("Using onload callback"), (0, o.addListener)(e, "load", function() {
            "about:blank" != e.contentWindow.location.href && (t(), e.onload = null, (0, o.removeEvent)(e, "load"))
        }))
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = i(1),
        r = i(10),
        l = a(r),
        s = i(63),
        u = a(s),
        d = i(12),
        c = a(d),
        f = i(5),
        p = a(f),
        h = i(9),
        m = (a(h), i(13)),
        g = a(m),
        v = i(21),
        b = a(v),
        _ = l.default.name("magicIframe"),
        w = !1,
        y = !1,
        x = (0, o.getPageWindow)(),
        k = x.history;
    (0, o.isMagicIframe)() && (w = !0);
    var j = {
            frm: 0,
            isCreated: function() {
                return w
            },
            isLoaded: function() {
                return y
            },
            create: function() {
                this.frm || g.default.mobile() || g.default.tablet() || c.default.isSeparateWindow || (0, o.isWixIframe)() || (0, o.isWixContext)() || (0, o.isBitrix)() || this.init()
            },
            init: function() {
                if (p.default.disable_iframe || (0, o.isWixContext)()) return void _.log("Magic iframe is disabled");
                var e = window.parent.document.getElementById("jivo_magic_iframe");
                return e || this.frm ? void _.log("Magic iframe already created") : (0, o.cookie)("mframe_protected") ? (_.log("Magic iframe create cancelled, page may be protected from iframe"), void(0, o.telemetry)("iframe protected")) : ((0, o.cookie)("mframe_protected", 1), _.log("Creating iframe"), e = window.parent.document.createElement("iframe"), e.setAttribute("id", "jivo_magic_iframe"), e.setAttribute("class", "jivo-frame-hidden"), e.setAttribute("frameborder", "0px"), e.setAttribute("name", "col_old_page"), window.parent.document.body.appendChild(e), e.contentWindow.location = window.parent.window.location, window.parent.__jivo_magic_frame_created = !0, this.frm = e, (0, o.addListener)(x, "popstate", function(e) {
                    e.preventDefault(), k.back()
                }, !1), (0, o.addListener)(window, "popstate", function(e) {
                    e.preventDefault()
                }, !1), void n(e, this.onFrameLoaded.bind(this)))
            },
            onFrameLoaded: function() {
                _.log("Magic frame content loaded. Time to show the frame...");
                var e = window.parent.document,
                    t = e.getElementById("jivo-iframe-container"),
                    i = (0, o.getScrollBarWidth)(),
                    a = (0, o.hasScroll)(!0);
                _.log("Page has scroll", a), y && (a = (0, o.hasScroll)()), (0, o.addClass)(t, "jivo-no-transition"), e.body.setAttribute("id", "jivo_outer_body"), e.body.style.overflow = "hidden", e.body.scroll = "no", "label" !== c.default.route && ((100 == p.default.widget_padding || 50 == p.default.widget_padding) && i > 0 && a ? u.default.right ? t.style.right = parseInt(u.default.right) + i + "px" : t.style.right = 30 + i + "px" : t.style.right = u.default.right ? u.default.right : "30px");
                for (var n = e.getElementsByTagName("iframe"), r = 0; r < n.length; r++) {
                    var l = n[r];
                    "jivo_magic_iframe" != l.id && "jivo_container" != l.id && (l.style.display = "none")
                }
                this.frm.setAttribute("class", "jivo-frame-visible"), this.frm.style.display = "block", this.hasScroll().vScrollbar && (i += "px", _.log("Adjusting right margin. Scroll width=" + i), document.getElementById("jivo-chat").style.marginRight = i), this.syncPageScroll(), (0, o.cookie)("mframe_protected", null), y = !0
            },
            navigate: function(e) {
                _.log("navigating iframe to ", e), j.frm.contentDocument.location.href = e
            },
            getDoc: function() {
                var e = this.frm.contentWindow.document;
                return e || (e = this.frm.contentDocument), e ? e : (_.log("Cannot find document!! :("), 0)
            },
            syncPageScroll: function() {
                var e = 0,
                    t = 0,
                    i = window.parent.window;
                "number" == typeof i.pageYOffset ? (t = i.pageYOffset, e = i.pageXOffset) : i.document.body && (i.document.body.scrollLeft || i.document.body.scrollTop) ? (t = i.document.body.scrollTop, e = i.document.body.scrollLeft) : i.document.documentElement && (i.document.documentElement.scrollLeft || i.document.documentElement.scrollTop) && (t = i.document.documentElement.scrollTop, e = i.document.documentElement.scrollLeft), _.log("scroll pos x=" + e + " y=" + t), this.frm.contentWindow.scrollTo(e, t)
            },
            hasScroll: function() {
                var e = {
                    vScrollbar: !0,
                    hScrollbar: !0
                };
                try {
                    var t = "BackCompat" == document.compatMode ? document.body : document.documentElement;
                    e.vScrollbar = t.scrollHeight > t.clientHeight, e.hScrollbar = t.scrollWidth > t.clientWidth
                } catch (e) {}
                return e
            }
        },
        C = !1;
    b.default.on("create", function() {
        !C && b.default.getClientMessages().length > 0 && (j.create(), C = !0)
    }), t.default = j
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(25),
        l = a(r),
        s = i(9),
        u = a(s),
        d = i(1),
        c = a(d),
        f = i(10),
        p = a(f),
        h = i(5),
        m = a(h),
        g = i(12),
        v = a(g),
        b = i(14),
        _ = a(b),
        w = i(27),
        y = a(w),
        x = i(13),
        k = a(x),
        j = i(26),
        C = a(j),
        E = i(191),
        M = a(E),
        S = i(16),
        T = a(S),
        z = i(21),
        O = a(z),
        N = i(31),
        I = a(N),
        A = p.default.name("ruleManager"),
        P = i(39),
        L = P.EventEmitter,
        B = new L,
        D = (0, l.default)(B, {
            rules: [],
            canInvite: !0,
            init: function() {
                var e = u.default.defaults(this.rules, m.default.rules);
                m.default.botmode || (c.default.pageEnterTime = (new Date).getTime(), c.default.addPageView(), y.default.agent_id && v.default.chat_started && v.default.is_online || (0 === e.length && u.default.isArray(m.default.proactive_rules) && m.default.proactive_rules.length > 0 ? (this.importLegacy(), this.ready()) : this.needGeo() ? this.geoData() : this.ready()))
            },
            needGeo: function() {
                for (var e, t, i = 0; i < this.rules.length; i++)
                    if (e = this.rules[i], e.conditions)
                        for (var a = 0; a < e.conditions.length; a++)
                            if (t = e.conditions[a], ("country" === t.condition || "city" === t.condition) && null === (0, d.cookie)("country")) return !0;
                return !1
            },
            geoData: function() {
                A.log("RULE MANAGER GEO DATA");
                var e = m.default.geoip && m.default.geoip.split(";");
                e && e.length ? ((0, d.cookie)("country", e[0], {
                    expires: 1
                }), (0, d.cookie)("city", e[2], {
                    expires: 1
                }), this.ready()) : A.log("Need geodata is missing.")
            },
            ready: function() {
                A.log("RULE MANAGER READY");
                for (var e = 0; e < this.rules.length; e++) this.rules[e] = new H(this.rules[e])
            },
            importLegacy: function() {
                A.log("importing from proactive_rules"), (0, d.telemetry)("import legacy");
                for (var e, t = ["contain", "equal", "regexp"], i = 0; i < m.default.proactive_rules.length; i++) {
                    e = m.default.proactive_rules[i], u.default.defaults(e, {
                        name: e.invitationText,
                        urlPrefix: [{
                            url: "/",
                            mm: 0
                        }],
                        page_timeout: 20,
                        close_timeout: 300,
                        enter_timeout: 0,
                        pages_count: 0
                    });
                    for (var a = 0; a < e.urlPrefix.length; a++) this.rules.push({
                        legacyId: e.id,
                        name: e.name,
                        type: "all",
                        conditions: [{
                            condition: "online",
                            value: !0
                        }, {
                            condition: "time_on_page",
                            comparator: "greater_equal",
                            value: e.page_timeout
                        }, {
                            condition: "time_after_close",
                            comparator: "greater_equal",
                            value: e.close_timeout
                        }, {
                            condition: "time_on_site",
                            comparator: "greater_equal",
                            value: e.enter_timeout
                        }, {
                            condition: "pages_count",
                            comparator: "greater_equal",
                            value: e.pages_count
                        }, {
                            condition: "page_url",
                            comparator: t[e.urlPrefix[a].mm],
                            value: e.urlPrefix[a].url
                        }],
                        commands: [{
                            command: "proactive",
                            params: {
                                message: e.invitationText
                            }
                        }]
                    })
                }
            },
            moveCloseButton: function() {
                u.default.each(this.rules, function(e) {
                    c.default.movedToCloseButton = !0, e.tick()
                }, this)
            },
            mouseScroll: function(e) {
                u.default.each(this.rules, function(t) {
                    c.default.scrollPosition = e, t.tick()
                }, this)
            },
            cancelRule: function(e) {
                for (var t = 0; t < this.rules.length; t += 1) !this.rules[t].isTriggered && this.rules[t].cancel && this.rules[t].commands[0].command === e && this.rules[t].cancel();
                "proactive" === e && (this.canInvite = !1)
            },
            allRulesCancel: function() {
                A.log("allRulesCancel");
                for (var e = 0; e < this.rules.length; e++) !this.rules[e].isTriggered && this.rules[e].cancel && this.rules[e].cancel()
            },
            restoreAgentInfo: function() {
                var e = {};
                if (y.default.agent_id) e = y.default;
                else {
                    var t = O.default.getLastProactive(),
                        i = t ? t.get("body") : null;
                    i && i.agent_id && (e = i)
                }
                return e
            },
            restoreAgentId: function() {
                var e = D.restoreAgentInfo();
                if (e.agent_id) return e.agent_id
            },
            addOnceADayCookie: function(e) {
                (0, d.cookie)(e, 1, {
                    expires: 1,
                    path: "/"
                })
            },
            showProactive: function(e, t, i, a) {
                A.log("showProactive");
                var n = O.default.getCurrentChatMessages();
                if (!this.canInvite || I.default.get("text") || O.default.getCurrentProactive() || v.default.chat_started && n && n.length) return void A.log("showProactive cant invite");
                var o = {
                    name: "active_agent"
                };
                t && m.default.departments && u.default.findWhere(m.default.departments, {
                    id: t
                }) && (o.department = t), c.default.pageVisible() || _.default.reload(), _.default.client_id && (o.jv_client_id = _.default.client_id), _.default.pa_id && (o.agent_id = _.default.pa_id), c.default.getJSONPWithData(c.default.chatServerUrl(m.default.widget_id, m.default.site_id), o, u.default.bind(function(t) {
                    t && "label" === v.default.route ? (M.default.proactive(e, t, i), (0, d.cookie)("invitation_time", (new Date).getTime()), this.emit("play_sound"), _.default.pa_id || (_.default.pa_id = t.agent_id), a && this.addOnceADayCookie(a), C.default.trackProactiveInvitationShown(i)) : A.log('invitation failed, no agent OR route != "label"')
                }, this))
            },
            showCallForm: function(e, t, i) {
                var a = this;
                M.default.showCallForm(e, function() {
                    a.emit("play_sound"), (0, d.cookie)("invitation_time", (new Date).getTime()), C.default.trackCallWidgetInvitationShown(i), t && a.addOnceADayCookie(t)
                })
            }
        }),
        F = (0, l.default)(B, {
            inited: !1,
            initialize: function() {
                this.inited || (this.initScroll(), this.initClose(), this.inited = !0)
            },
            initScroll: function() {
                c.default.addListener(window.parent, "scroll", u.default.throttle(u.default.bind(this._scroll, this), 150))
            },
            initClose: function() {
                this.last_position = {}, c.default.addListener(window.parent, "mousemove", u.default.throttle(u.default.bind(this._mouse, this), 150))
            },
            _mouse: function(e) {
                if ("undefined" != typeof this.last_position.x) {
                    var t = this.last_position.x - e.clientX,
                        i = this.last_position.y - e.clientY;
                    Math.abs(i) > Math.abs(t) && i > 0 && e.clientY < 30 && D.moveCloseButton()
                }
                this.last_position = {
                    x: e.clientX,
                    y: e.clientY
                }
            },
            _scroll: function() {
                var e = window.parent.document,
                    t = e.documentElement.clientHeight;
                t === e.documentElement.scrollHeight && (t = e.body.clientHeight), D.mouseScroll(Math.round((e.documentElement.scrollTop + e.body.scrollTop) / (e.documentElement.scrollHeight - t) * 100))
            }
        }),
        H = function(e) {
            var t = {
                initialize: function() {
                    u.default.defaults(this, e), u.default.each(this.conditions, function(e) {
                        "week_day" === e.condition && "0" === e.value && (e.value = "7")
                    });
                    var t = [],
                        i = !1,
                        a = this.commands[0];
                    if (!(0, d.cookie)(a.command + "_onceADay")) {
                        if (this.conditions)
                            for (var n = 0; n < this.conditions.length; n++) {
                                var o = this.conditions[n];
                                if (c.default.isGoalCondition(o.condition) && F.initialize(), c.default.isTimeCondition(o) || c.default.isGoalCondition(o)) {
                                    var r = c.default.getValue(o.condition);
                                    A.info(this.name + "; init condition " + o.condition + "; expected=" + o.value + "; actual=" + r), t.push(o)
                                } else {
                                    if ("page_url" === o.condition) o.value = o.value.replace(/http(|s):\/\//, "");
                                    else if ("ab_test_group" === o.condition && !(0, d.cookie)("ab_test_group")) {
                                        var l = Math.round(Math.random()),
                                            s = o.group_name ? o.group_name : "JivoSite A/B Group";
                                        (0, d.cookie)("ab_test_group", l ? "group_a" : "group_b"), C.default.setABTestGroupContacts(s, l ? "Group A" : "Group B")
                                    }
                                    if (c.default.checkCondition(o, this.name)) i = !0;
                                    else if ("all" === this.type) return
                                }
                            }
                        t.length > 0 ? (this.conditions = t, c.default.checkTimeConditions(this.conditions, this.type, this.name) ? this.triggered() : this.timeWait()) : i && this.triggered()
                    }
                },
                timeWait: function() {
                    var e = this;
                    clearTimeout(this.timeWaitTimeout), this.timeWaitTimeout = setTimeout(function() {
                        e.tick()
                    }, 1e3)
                },
                tick: function() {
                    !this.isTriggered && c.default.checkTimeConditions(this.conditions, this.type, this.name) ? this.triggered() : this.timeWait()
                },
                cancel: function() {
                    clearTimeout(this.timeWaitTimeout), this.isTriggered = !0
                },
                triggered: function() {
                    var e, t = this.commands[0];
                    if (clearTimeout(this.timeWaitTimeout), this.isTriggered = !0, "object" === (0, o.default)(t.params) && t.params.onceADay && (e = t.command + "_onceADay"), "label" === v.default.route || u.default.indexOf(["proactive", "open_offline", "show_callform"], t.command) === -1) switch (t.command) {
                        case "proactive":
                            D.showProactive(t.params.message, t.params.department, this.name, e);
                            break;
                        case "open_offline":
                            if ("online" === m.default.chat_mode) return;
                            (0, d.cookie)("invitation_time", (new Date).getTime()), t.params && (t.params.title && (m.default.offline_form_title = t.params.title), t.params.message && (m.default.offline_form_text = t.params.message)), (0, d.telemetry)("offline invite"), e && D.addOnceADayCookie(e), M.default.openOffline(t), D.emit("play_sound"), C.default.trackProactiveInvitationShown(this.name);
                            break;
                        case "hide":
                            T.default.hideWidget();
                            break;
                        case "system_message":
                            v.default.is_online && ((0, d.cookie)("invitation_time", (new Date).getTime()), M.default.systemMessage(t.params.message), D.cancelRule("system_message"));
                            break;
                        case "system_message_email":
                            if (_.default.client_info.email && v.default.is_online && 3 != m.default.contacts_ask) return void A.log("Cant show system message email.");
                            (0, d.cookie)("invitation_time", (new Date).getTime()), M.default.systemMessageEmail(t.params.message);
                            break;
                        case "show_callform":
                            k.default.mobileOrTablet() || D.showCallForm(t.params.title, e, this.name)
                    }
                }
            };
            return t.initialize(), t
        };
    y.default.addListener(function() {
        y.default.agent_id && v.default.chat_started && v.default.is_online && D.allRulesCancel()
    }), O.default.on("create", function() {
        var e = O.default.getClientMessages();
        e.length && !c.default.firstMessageTime && (c.default.firstMessageTime = new Date, A.log("cancelRules, we have client messsages."), D.cancelRule("proactive"), D.cancelRule("show_callform"));
        var t = O.default.getLastMessage();
        t && "proactive" === t.get("type") && D.cancelRule("proactive"), O.default.getChatId() && O.default.getAgentTextMessages().length && D.cancelRule("system_message")
    }), t.default = D
}, function(e, t, i) {
    "use strict";
    var a = {
        widget_color: "#5e5f61",
        widget_font_color: "light",
        widget_padding: "50",
        widget_height: "33",
        widget_orientation: "right",
        widget_id: "6P8TZsgT6T",
        site_id: 15,
        font_size: "16",
        font_family: "Tahoma",
        font_type: "normal",
        locale: "ru_RU",
        show_rate_form: 1,
        hide_ad: 0,
        secure: 0,
        contacts_ask: 0,
        style_string: "jivo_shadow jivo_rounded_corners jivo_gradient",
        chat_mode: "online",
        options: 1016,
        hide_offline: 0,
        avatar_url: "//s3-eu-west-1.amazonaws.com/jivo-dev",
        online_widget_label: "Custom online1111sdf sdf",
        offline_widget_label: "Custom offline2",
        offline_form_text: "AB02LB5 A2>5 A>>1I5=85 2 MB>9 D>@<5, 8 <K ?>;CG8< 53> =0 e-mail 8 >1O70B5;L=> >B25B8<!",
        base_url: "",
        logs: 1,
        disable_iframe: 1,
        comet: {
            host: "devlocal.jivosite.com"
        },
        departments: [],
        rules: [{
            name: ":B82=>5 ?@83;0H5=85 2 480;>3",
            enabled: !0,
            type: "all",
            conditions: [{
                condition: "online",
                value: !0
            }, {
                condition: "time_on_page",
                comparator: "greater",
                value: 10
            }, {
                condition: "time_on_site",
                comparator: "greater",
                value: 20
            }, {
                condition: "time_after_close",
                comparator: "greater",
                value: 300
            }, {
                condition: "time_after_invitation",
                comparator: "greater",
                value: 60
            }],
            commands: [{
                command: "proactive",
                params: {
                    message: "4@02AB2C9B5! / <>3C 20< G5<-B> ?><>GL?\n"
                }
            }]
        }, {
            name: "!1>@ :>=B0:B>2 2 @568<5 >DD;09=",
            enabled: !0,
            type: "all",
            conditions: [],
            commands: [{
                command: "open_offline",
                params: {
                    title: "B?@02LB5 =0< A>>1I5=85",
                    message: "AB02LB5 A2>5 A>>1I5=85 2 MB>9 D>@<5, 8 <K ?>;CG8< 53> =0 e-mail 8 >1O70B5;L=> >B25B8<!"
                }
            }]
        }, {
            name: "#45@6820NI0O D@070",
            enabled: !0,
            type: "all",
            conditions: [],
            commands: [{
                command: "system_message",
                params: {
                    message: ">60;C9AB0, ?>4>648B5. !59G0A >?5@0B>@K 70=OBK, => A:>@> :B>-=81C4L >A2>1>48BAO 8 >B25B8B 20<!"
                }
            }]
        }, {
            name: "0:07 72>=:0  ?> B09<5@C",
            enabled: !0,
            type: "all",
            conditions: [],
            commands: [{
                command: "show_callform",
                params: {
                    onceADay: !0,
                    title: "C6=0 ?><>IL? <br>K ?5@572>=8< G5@57 <span style='color: #40cd72'>28</span> A5:C=4!"
                }
            }]
        }, {
            name: "!1>@ :>=B0:B>2 5A;8 >?5@0B>@ =5 >B25G05B",
            enabled: !0,
            type: "all",
            conditions: [{
                condition: "online",
                value: !0
            }, {
                condition: "time_after_first_message",
                comparator: "greater",
                value: "1"
            }],
            commands: [{
                command: "system_message_email",
                params: {
                    message: "5 E>B8B5 640BL >B25B0? AB02LB5 e-mail 8 ?>;CG8B5 >B25B =0 ?>GBC!"
                }
            }]
        }],
        proactive_rules: [],
        typing_insight: 1,
        contacts_settings: {
            name: {
                show: !0,
                required: !0
            },
            email: {
                show: !0,
                required: !1
            },
            phone: {
                show: !0,
                required: !1
            }
        },
        iconLocale: "ru_RU",
        bubble_color: "green",
        offline_form_title: "B?@02LB5 =0< A>>1I5=85",
        geoip: "RU;16;Novocheboksarsk",
        callback_settings: {
            time: 27,
            button: !0,
            countries: [{
                code: "PT",
                name: "Portugal",
                phone_code: "49"
            }, {
                code: "PL",
                name: "Poland",
                phone_code: "19"
            }, {
                code: "PR",
                name: "Puerto Rico",
                phone_code: "53"
            }, {
                code: "RU",
                phone_code: "7",
                name: "Russia"
            }]
        }
    };
    e.exports = a
}, function(e, t, i) {
    var a = i(56);
    e.exports = function(e) {
        if (!a(e)) throw TypeError(e + " is not an object!");
        return e
    }
}, function(e, t) {
    e.exports = function(e) {
        return "object" == typeof e ? null !== e : "function" == typeof e
    }
}, function(e, t) {
    function i() {
        throw new Error("setTimeout has not been defined")
    }

    function a() {
        throw new Error("clearTimeout has not been defined")
    }

    function n(e) {
        if (d === setTimeout) return setTimeout(e, 0);
        if ((d === i || !d) && setTimeout) return d = setTimeout, setTimeout(e, 0);
        try {
            return d(e, 0)
        } catch (t) {
            try {
                return d.call(null, e, 0)
            } catch (t) {
                return d.call(this, e, 0)
            }
        }
    }

    function o(e) {
        if (c === clearTimeout) return clearTimeout(e);
        if ((c === a || !c) && clearTimeout) return c = clearTimeout, clearTimeout(e);
        try {
            return c(e)
        } catch (t) {
            try {
                return c.call(null, e)
            } catch (t) {
                return c.call(this, e)
            }
        }
    }

    function r() {
        m && p && (m = !1, p.length ? h = p.concat(h) : g = -1, h.length && l())
    }

    function l() {
        if (!m) {
            var e = n(r);
            m = !0;
            for (var t = h.length; t;) {
                for (p = h, h = []; ++g < t;) p && p[g].run();
                g = -1, t = h.length
            }
            p = null, m = !1, o(e)
        }
    }

    function s(e, t) {
        this.fun = e, this.array = t
    }

    function u() {}
    var d, c, f = e.exports = {};
    ! function() {
        try {
            d = "function" == typeof setTimeout ? setTimeout : i
        } catch (e) {
            d = i
        }
        try {
            c = "function" == typeof clearTimeout ? clearTimeout : a
        } catch (e) {
            c = a
        }
    }();
    var p, h = [],
        m = !1,
        g = -1;
    f.nextTick = function(e) {
            var t = new Array(arguments.length - 1);
            if (arguments.length > 1)
                for (var i = 1; i < arguments.length; i++) t[i - 1] = arguments[i];
            h.push(new s(e, t)), 1 !== h.length || m || n(l)
        }, s.prototype.run = function() {
            this.fun.apply(null, this.array)
        }, f.title = "browser", f.browser = !0, f.env = {}, f.argv = [], f.version = "", f.versions = {}, f.on = u, f.addListener = u, f.once = u,
        f.off = u, f.removeListener = u, f.removeAllListeners = u, f.emit = u, f.prependListener = u, f.prependOnceListener = u, f.listeners = function(e) {
            return []
        }, f.binding = function(e) {
            throw new Error("process.binding is not supported")
        }, f.cwd = function() {
            return "/"
        }, f.chdir = function(e) {
            throw new Error("process.chdir is not supported")
        }, f.umask = function() {
            return 0
        }
}, function(e, t, i) {
    "use strict";
    t.decode = t.parse = i(305), t.encode = t.stringify = i(306)
}, function(e, t, i) {
    "use strict";

    function a() {
        this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null
    }

    function n(e, t, i) {
        if (e && u.isObject(e) && e instanceof a) return e;
        var n = new a;
        return n.parse(e, t, i), n
    }

    function o(e) {
        return u.isString(e) && (e = n(e)), e instanceof a ? e.format() : a.prototype.format.call(e)
    }

    function r(e, t) {
        return n(e, !1, !0).resolve(t)
    }

    function l(e, t) {
        return e ? n(e, !1, !0).resolveObject(t) : t
    }
    var s = i(389),
        u = i(390);
    t.parse = n, t.resolve = r, t.resolveObject = l, t.format = o, t.Url = a;
    var d = /^([a-z0-9.+-]+:)/i,
        c = /:[0-9]*$/,
        f = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
        p = ["<", ">", '"', "`", " ", "\r", "\n", "\t"],
        h = ["{", "}", "|", "\\", "^", "`"].concat(p),
        m = ["'"].concat(h),
        g = ["%", "/", "?", ";", "#"].concat(m),
        v = ["/", "?", "#"],
        b = 255,
        _ = /^[+a-z0-9A-Z_-]{0,63}$/,
        w = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
        y = {
            javascript: !0,
            "javascript:": !0
        },
        x = {
            javascript: !0,
            "javascript:": !0
        },
        k = {
            http: !0,
            https: !0,
            ftp: !0,
            gopher: !0,
            file: !0,
            "http:": !0,
            "https:": !0,
            "ftp:": !0,
            "gopher:": !0,
            "file:": !0
        },
        j = i(58);
    a.prototype.parse = function(e, t, i) {
        if (!u.isString(e)) throw new TypeError("Parameter 'url' must be a string, not " + typeof e);
        var a = e.indexOf("?"),
            n = a !== -1 && a < e.indexOf("#") ? "?" : "#",
            o = e.split(n),
            r = /\\/g;
        o[0] = o[0].replace(r, "/"), e = o.join(n);
        var l = e;
        if (l = l.trim(), !i && 1 === e.split("#").length) {
            var c = f.exec(l);
            if (c) return this.path = l, this.href = l, this.pathname = c[1], c[2] ? (this.search = c[2], t ? this.query = j.parse(this.search.substr(1)) : this.query = this.search.substr(1)) : t && (this.search = "", this.query = {}), this
        }
        var p = d.exec(l);
        if (p) {
            p = p[0];
            var h = p.toLowerCase();
            this.protocol = h, l = l.substr(p.length)
        }
        if (i || p || l.match(/^\/\/[^@\/]+@[^@\/]+/)) {
            var C = "//" === l.substr(0, 2);
            !C || p && x[p] || (l = l.substr(2), this.slashes = !0)
        }
        if (!x[p] && (C || p && !k[p])) {
            for (var E = -1, M = 0; M < v.length; M++) {
                var S = l.indexOf(v[M]);
                S !== -1 && (E === -1 || S < E) && (E = S)
            }
            var T, z;
            z = E === -1 ? l.lastIndexOf("@") : l.lastIndexOf("@", E), z !== -1 && (T = l.slice(0, z), l = l.slice(z + 1), this.auth = decodeURIComponent(T)), E = -1;
            for (var M = 0; M < g.length; M++) {
                var S = l.indexOf(g[M]);
                S !== -1 && (E === -1 || S < E) && (E = S)
            }
            E === -1 && (E = l.length), this.host = l.slice(0, E), l = l.slice(E), this.parseHost(), this.hostname = this.hostname || "";
            var O = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
            if (!O)
                for (var N = this.hostname.split(/\./), M = 0, I = N.length; M < I; M++) {
                    var A = N[M];
                    if (A && !A.match(_)) {
                        for (var P = "", L = 0, B = A.length; L < B; L++) P += A.charCodeAt(L) > 127 ? "x" : A[L];
                        if (!P.match(_)) {
                            var D = N.slice(0, M),
                                F = N.slice(M + 1),
                                H = A.match(w);
                            H && (D.push(H[1]), F.unshift(H[2])), F.length && (l = "/" + F.join(".") + l), this.hostname = D.join(".");
                            break
                        }
                    }
                }
            this.hostname.length > b ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), O || (this.hostname = s.toASCII(this.hostname));
            var R = this.port ? ":" + this.port : "",
                W = this.hostname || "";
            this.host = W + R, this.href += this.host, O && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== l[0] && (l = "/" + l))
        }
        if (!y[h])
            for (var M = 0, I = m.length; M < I; M++) {
                var V = m[M];
                if (l.indexOf(V) !== -1) {
                    var q = encodeURIComponent(V);
                    q === V && (q = escape(V)), l = l.split(V).join(q)
                }
            }
        var U = l.indexOf("#");
        U !== -1 && (this.hash = l.substr(U), l = l.slice(0, U));
        var G = l.indexOf("?");
        if (G !== -1 ? (this.search = l.substr(G), this.query = l.substr(G + 1), t && (this.query = j.parse(this.query)), l = l.slice(0, G)) : t && (this.search = "", this.query = {}), l && (this.pathname = l), k[h] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
            var R = this.pathname || "",
                X = this.search || "";
            this.path = R + X
        }
        return this.href = this.format(), this
    }, a.prototype.format = function() {
        var e = this.auth || "";
        e && (e = encodeURIComponent(e), e = e.replace(/%3A/i, ":"), e += "@");
        var t = this.protocol || "",
            i = this.pathname || "",
            a = this.hash || "",
            n = !1,
            o = "";
        this.host ? n = e + this.host : this.hostname && (n = e + (this.hostname.indexOf(":") === -1 ? this.hostname : "[" + this.hostname + "]"), this.port && (n += ":" + this.port)), this.query && u.isObject(this.query) && Object.keys(this.query).length && (o = j.stringify(this.query));
        var r = this.search || o && "?" + o || "";
        return t && ":" !== t.substr(-1) && (t += ":"), this.slashes || (!t || k[t]) && n !== !1 ? (n = "//" + (n || ""), i && "/" !== i.charAt(0) && (i = "/" + i)) : n || (n = ""), a && "#" !== a.charAt(0) && (a = "#" + a), r && "?" !== r.charAt(0) && (r = "?" + r), i = i.replace(/[?#]/g, function(e) {
            return encodeURIComponent(e)
        }), r = r.replace("#", "%23"), t + n + i + r + a
    }, a.prototype.resolve = function(e) {
        return this.resolveObject(n(e, !1, !0)).format()
    }, a.prototype.resolveObject = function(e) {
        if (u.isString(e)) {
            var t = new a;
            t.parse(e, !1, !0), e = t
        }
        for (var i = new a, n = Object.keys(this), o = 0; o < n.length; o++) {
            var r = n[o];
            i[r] = this[r]
        }
        if (i.hash = e.hash, "" === e.href) return i.href = i.format(), i;
        if (e.slashes && !e.protocol) {
            for (var l = Object.keys(e), s = 0; s < l.length; s++) {
                var d = l[s];
                "protocol" !== d && (i[d] = e[d])
            }
            return k[i.protocol] && i.hostname && !i.pathname && (i.path = i.pathname = "/"), i.href = i.format(), i
        }
        if (e.protocol && e.protocol !== i.protocol) {
            if (!k[e.protocol]) {
                for (var c = Object.keys(e), f = 0; f < c.length; f++) {
                    var p = c[f];
                    i[p] = e[p]
                }
                return i.href = i.format(), i
            }
            if (i.protocol = e.protocol, e.host || x[e.protocol]) i.pathname = e.pathname;
            else {
                for (var h = (e.pathname || "").split("/"); h.length && !(e.host = h.shift()););
                e.host || (e.host = ""), e.hostname || (e.hostname = ""), "" !== h[0] && h.unshift(""), h.length < 2 && h.unshift(""), i.pathname = h.join("/")
            }
            if (i.search = e.search, i.query = e.query, i.host = e.host || "", i.auth = e.auth, i.hostname = e.hostname || e.host, i.port = e.port, i.pathname || i.search) {
                var m = i.pathname || "",
                    g = i.search || "";
                i.path = m + g
            }
            return i.slashes = i.slashes || e.slashes, i.href = i.format(), i
        }
        var v = i.pathname && "/" === i.pathname.charAt(0),
            b = e.host || e.pathname && "/" === e.pathname.charAt(0),
            _ = b || v || i.host && e.pathname,
            w = _,
            y = i.pathname && i.pathname.split("/") || [],
            h = e.pathname && e.pathname.split("/") || [],
            j = i.protocol && !k[i.protocol];
        if (j && (i.hostname = "", i.port = null, i.host && ("" === y[0] ? y[0] = i.host : y.unshift(i.host)), i.host = "", e.protocol && (e.hostname = null, e.port = null, e.host && ("" === h[0] ? h[0] = e.host : h.unshift(e.host)), e.host = null), _ = _ && ("" === h[0] || "" === y[0])), b) i.host = e.host || "" === e.host ? e.host : i.host, i.hostname = e.hostname || "" === e.hostname ? e.hostname : i.hostname, i.search = e.search, i.query = e.query, y = h;
        else if (h.length) y || (y = []), y.pop(), y = y.concat(h), i.search = e.search, i.query = e.query;
        else if (!u.isNullOrUndefined(e.search)) {
            if (j) {
                i.hostname = i.host = y.shift();
                var C = !!(i.host && i.host.indexOf("@") > 0) && i.host.split("@");
                C && (i.auth = C.shift(), i.host = i.hostname = C.shift())
            }
            return i.search = e.search, i.query = e.query, u.isNull(i.pathname) && u.isNull(i.search) || (i.path = (i.pathname ? i.pathname : "") + (i.search ? i.search : "")), i.href = i.format(), i
        }
        if (!y.length) return i.pathname = null, i.search ? i.path = "/" + i.search : i.path = null, i.href = i.format(), i;
        for (var E = y.slice(-1)[0], M = (i.host || e.host || y.length > 1) && ("." === E || ".." === E) || "" === E, S = 0, T = y.length; T >= 0; T--) E = y[T], "." === E ? y.splice(T, 1) : ".." === E ? (y.splice(T, 1), S++) : S && (y.splice(T, 1), S--);
        if (!_ && !w)
            for (; S--; S) y.unshift("..");
        !_ || "" === y[0] || y[0] && "/" === y[0].charAt(0) || y.unshift(""), M && "/" !== y.join("/").substr(-1) && y.push("");
        var z = "" === y[0] || y[0] && "/" === y[0].charAt(0);
        if (j) {
            i.hostname = i.host = z ? "" : y.length ? y.shift() : "";
            var C = !!(i.host && i.host.indexOf("@") > 0) && i.host.split("@");
            C && (i.auth = C.shift(), i.host = i.hostname = C.shift())
        }
        return _ = _ || i.host && y.length, _ && !z && y.unshift(""), y.length ? i.pathname = y.join("/") : (i.pathname = null, i.path = null), u.isNull(i.pathname) && u.isNull(i.search) || (i.path = (i.pathname ? i.pathname : "") + (i.search ? i.search : "")), i.auth = e.auth || i.auth, i.slashes = i.slashes || e.slashes, i.href = i.format(), i
    }, a.prototype.parseHost = function() {
        var e = this.host,
            t = c.exec(e);
        t && (t = t[0], ":" !== t && (this.port = t.substr(1)), e = e.substr(0, e.length - t.length)), e && (this.hostname = e)
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(35),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(79),
        p = a(f),
        h = i(9),
        m = a(h),
        g = i(5),
        v = (a(g), i(1)),
        b = a(v),
        _ = i(99),
        w = a(_),
        y = i(72),
        x = a(y),
        k = i(10),
        j = (a(k), i(39)),
        C = j.EventEmitter,
        E = (globalStore.hasStorage, 5e3),
        M = [],
        S = function() {
            function e(t) {
                (0, u.default)(this, e);
                var i = this.registrName(t.name);
                return i ? {} : (this.settings = t, this.store = this.getDefaultKeys(), this.emitter = new C, "session" === t.type ? this.initSessionStore() : "default" === t.type ? this.initDefaultStore() : "memory" === t.type && this.initMemoryStore(), this.protectOthersTabs(), void(this.allKeysUpdateDebounce = m.default.debounce(this.allKeysUpdate, 150)))
            }
            return (0, c.default)(e, [{
                key: "registrName",
                value: function(e) {
                    return M.indexOf(e) > -1 || (M.push(e), !1)
                }
            }, {
                key: "initDefaultStore",
                value: function() {
                    var e = x.default.get(this.settings.name) || {};
                    this.store = m.default.extend(this.store, e)
                }
            }, {
                key: "initMemoryStore",
                value: function() {}
            }, {
                key: "initSessionStore",
                value: function() {
                    var e = x.default.get(this.settings.name) || {};
                    if (e && e._id !== (0, p.default)(this.settings.name + "sess_id")) {
                        console.log("resetSession store");
                        var t = b.default.generateGUIDCount(2);
                        (0, p.default)(this.settings.name + "sess_id", t), e = this.store, e._id = t, e._clearTime = (new Date).getTime() + E, x.default.set(this.settings.name, e), w.default.sendEvent(this.settings.name + "_resetSessionStore")
                    }
                    this.store = e
                }
            }, {
                key: "getDefaultKeys",
                value: function() {
                    var e = {};
                    return m.default.each(this.settings.keys, function(t, i) {
                        "function" == typeof t ? e[i] = t() : null !== t && "{}" !== (0, l.default)(t) && (e[i] = t)
                    }), e
                }
            }, {
                key: "isDeepName",
                value: function(e) {
                    return "string" == typeof e && e.split(".").length > 1
                }
            }, {
                key: "getDeepName",
                value: function(e) {
                    var t = e.split(".");
                    return this.isDeepName(e) ? t : [e]
                }
            }, {
                key: "set",
                value: function(e, t) {
                    var i = this;
                    return "object" !== ("undefined" == typeof e ? "undefined" : (0, o.default)(e)) ? this.setKey(e, t) : void m.default.each(e, function(e, t) {
                        i.setKey(t, e)
                    })
                }
            }, {
                key: "setDeepKey",
                value: function(e, t, i) {
                    if ("string" == typeof i && (i = i.split(".")), !(i.length > 1)) return null === t ? delete e[i[0]] : e[i[0]] = t, t;
                    var a = i.shift();
                    null != e[a] && "object" === (0, o.default)(e[a]) || (e[a] = {}), this.setDeepKey(e[a], t, i)
                }
            }, {
                key: "setKey",
                value: function(e, t, i) {
                    return void 0 === this.settings.keys[this.getDeepName(e)[0]] ? (console.error("Error: set not initialized key " + e), null) : this.get(e) === t ? t : (this.isDeepName(e) ? this.setDeepKey(this.store, t, e) : null === t ? delete this.store[e] : this.store[e] = t, this.trigger(e, t), i || this.triggerAndBackup(e), t)
                }
            }, {
                key: "get",
                value: function(e) {
                    return this.isDeepName(e) ? void 0 === this.settings.keys[this.getDeepName(e)[0]] ? (console.error("Error: get not initialized key " + e), null) : this.findObj(this.store, e) : void 0 === this.settings.keys[e] ? (console.error("Error: get not initialized key " + e), null) : this.store[e] || null
                }
            }, {
                key: "findObj",
                value: function(e, t) {
                    var i = t.split("."),
                        a = e,
                        n = void 0;
                    for (n = 0; n < i.length; ++n) {
                        if (void 0 == a[i[n]]) return null;
                        a = a[i[n]]
                    }
                    return a
                }
            }, {
                key: "destroy",
                value: function() {
                    this.trigger("destroy"), x.default.removeKey(this.settings.name), this.store = {}, this.emitter.removeAllListeners()
                }
            }, {
                key: "toJSON",
                value: function() {
                    return this.store
                }
            }, {
                key: "triggerAndBackup",
                value: function(e) {
                    "memory" !== this.settings.type && (this.get(e) && (this.unStorage && this.unStorage() || x.default.set(this.settings.name, this.store)), w.default.sendEvent(this.settings.name + "_updateStore", {
                        name: this.settings.name,
                        keyName: e,
                        val: this.get(e) || null
                    }))
                }
            }, {
                key: "allKeysUpdate",
                value: function() {
                    this.emitter.emit(this.settings.name + "_change_all", this.store)
                }
            }, {
                key: "trigger",
                value: function(e, t) {
                    this.emitter.emit(this.settings.name + "_change_" + e, t), this.allKeysUpdateDebounce()
                }
            }, {
                key: "on",
                value: function(e, t) {
                    return this.emitter.addListener(this.settings.name + "_change_" + e, t)
                }
            }, {
                key: "protectOthersTabs",
                value: function() {
                    var e = this;
                    w.default.on(this.settings.name + "_updateStore", function(t) {
                        t.name === e.settings.name && e.setKey(t.keyName, t.val, !0)
                    }), w.default.on(this.settings.name + "_resetSessionStore", function() {
                        e.store = {}
                    })
                }
            }, {
                key: "getName",
                value: function() {
                    return this.settings.name
                }
            }]), e
        }();
    t.default = S
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(78),
        o = a(n),
        r = i(10),
        l = a(r),
        s = i(15),
        u = a(s),
        d = i(12),
        c = a(d),
        f = i(24),
        p = a(f),
        h = i(16),
        m = a(h),
        g = i(13),
        v = a(g),
        b = i(9),
        _ = (a(b), i(52)),
        w = a(_),
        y = i(1),
        x = l.default.name("Title"),
        k = new o.default({
            namespace: "TITLE",
            title: "",
            startBlink: function() {
                (0, y.pageVisible)() || this.handle("start")
            },
            stopBlink: function() {
                this.handle("stop")
            },
            _messageShown: !1,
            _showMessage: function() {
                (0, y.getPageWindow)().document.title = (0, u.default)("lblNewMessage"), this._messageShown = !0
            },
            _showTitle: function() {
                (0, y.getPageWindow)().document.title = this.title, this._messageShown = !1
            },
            states: {
                uninitialized: {
                    _onEnter: function() {
                        this.title = (0, y.getCurrentPage)().title, x.log("old title:", c.default.current_title, "new title:", this.title), c.default.current_title == this.title || v.default.mobileOrTablet() || (w.default.isCreated() ? ((0, y.addPageView)(), window.top && window.top.jivo_api && window.top.jivo_api.sendPageTitle(this.title, !1, (0, y.getCurrentPage)().url)) : m.default.updateTitle(this.title, (0, y.getCurrentPage)().url)), c.default.current_title = this.title
                    },
                    start: "blinking"
                },
                blinking: {
                    _onEnter: function() {
                        this._showMessage(), this._scheduleEvent("blink", 1e3)
                    },
                    blink: function() {
                        this._messageShown ? this._showTitle() : this._showMessage(), this._scheduleEvent("blink", 1e3)
                    },
                    stop: function() {
                        this._showTitle(), this._cancelEvent("blink"), this.transition("uninitialized")
                    }
                }
            }
        });
    c.default.addListener(function() {
        c.default.is_online || k.stopBlink()
    }), p.default.on("agent_message", function() {
        k.startBlink()
    }), p.default.on("agent_service_message", function() {
        k.startBlink()
    }), p.default.on("socket_disconnect", function() {
        k.stopBlink()
    }), p.default.on("receive_file", function() {
        k.stopBlink()
    }), (0, y.listenVisibility)(function() {
        (0, y.pageVisible)() && k.stopBlink()
    }), t.default = k
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(1),
        o = i(12),
        r = a(o),
        l = i(23),
        s = a(l),
        u = {
            tabletInit: function() {
                var e, t = (0, n.getPageWindow)();
                (0, n.addListener)(t.document, "touchstart", function() {
                    (0, n.hasClass)(t.document.body, "jivo-mobile-overlay") && (e = document.activeElement || document.getElementById("input-field"), e.blur())
                }), (0, n.addListener)(t.document, "touchmove", function(e) {
                    0 == r.default.route.indexOf("chat") && r.default.is_input_focused && (0, n.hasClass)(t.document.body, "jivo-mobile-overlay") && e.preventDefault()
                })
            },
            mobileInit: function() {
                (0, n.addListener)(document, "touchmove", function(e) {
                    var t = e.target;
                    t && "input-field" === t.id && t.scrollHeight > t.clientHeight || s.default.getUserZoom() <= 1 && "chat" === r.default.route && null === t.closest("#scrollbar-container") && e.preventDefault()
                })
            }
        };
    t.default = u
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(5),
        o = a(n),
        r = i(50),
        l = a(r),
        s = (i(1), {
            height: null,
            left: null,
            right: null
        }),
        u = (0, l.default)(s, o.default.widget_id + "_position");
    u.height && parseInt(u.height) < 302 && (u.height = "410px"), t.default = u
}, function(e, t) {
    t.f = {}.propertyIsEnumerable
}, function(e, t) {
    e.exports = function(e, t) {
        return {
            enumerable: !(1 & e),
            configurable: !(2 & e),
            writable: !(4 & e),
            value: t
        }
    }
}, function(e, t, i) {
    var a = i(81);
    e.exports = function(e) {
        return Object(a(e))
    }
}, function(e, t) {
    var i = 0,
        a = Math.random();
    e.exports = function(e) {
        return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++i + a).toString(36))
    }
}, function(e, t) {
    function i(e, t, i, a) {
        for (a = 0, t = t.split ? t.split(".") : t; e && a < t.length;) e = e[t[a++]];
        return void 0 === e ? i : e
    }

    function a(e, t, a) {
        var n = t.split(".");
        return function(t) {
            for (var o = t && t.target || this, r = {}, l = r, s = "string" == typeof a ? i(t, a) : o.nodeName ? o.type.match(/^che|rad/) ? o.checked : o.value : t, u = 0; u < n.length - 1; u++) l = l[n[u]] || (l[n[u]] = !u && e.state[n[u]] || {});
            l[n[u]] = s, e.setState(r)
        }
    }
    e.exports = a
}, function(e, t) {
    e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="108" height="36" viewBox="0 0 108 36">\n    <g>\n        <path id="text" d="M6.342 11.967H.957c-.2 0-.4 0-.6.2 0 .2-.198.2-.198.4v1.993c0 .2 0 .4.198.6.2.198.4.198.6.198h2.79v14.36c0 1.397-1.196 2.594-2.392 2.594h-.4c-.2 0-.398 0-.598.2-.2.2-.2.398-.2.598v1.994c0 .2 0 .4.2.6.2.198.4.198.6.198h.198c3.192 0 5.785-2.792 5.785-5.984V12.566c0-.2 0-.4-.2-.6h-.398m6.98 0H11.33c-.2 0-.2 0-.4.2s-.2.2-.2.4v14.76c0 .2 0 .398.2.598.2.2.4.2.598.2h1.795c.2 0 .4 0 .598-.2.2-.2.2-.4.2-.598v-14.76c0-.2 0-.4-.198-.6h-.6m17.154 0H28.88c-.598 0-.997.2-.997.4l-4.388 9.973-4.188-9.974c0-.4-.4-.4-.6-.4h-1.993c-.4 0-.598 0-.598.2-.2.2-.2.4 0 .6l6.78 15.357c.2.2.4.4.6.4h.2c.198 0 .597-.2.597-.4l6.782-15.358c.2-.2.2-.4 0-.598-.2-.2-.4-.2-.6-.2m9.176-.4c-2.193.002-3.988.8-5.584 2.594-1.595 1.597-2.393 3.592-2.393 5.985 0 2.393.798 4.388 2.393 5.984 1.596 1.794 3.39 2.592 5.585 2.592s3.99-.798 5.586-2.593c1.596-1.796 2.394-3.79 2.394-5.985 0-2.393-.798-4.388-2.394-5.984-1.596-1.794-3.59-2.591-5.585-2.591m3.193 12.165c-.798.998-1.995 1.596-3.192 1.596-1.395 0-2.392-.398-3.39-1.395-.797-.998-1.396-2.194-1.396-3.79 0-1.396.4-2.792 1.397-3.59.798-.997 1.995-1.396 3.39-1.396 1.398 0 2.395.398 3.193 1.395.797.997 1.396 2.194 1.396 3.59s-.6 2.593-1.397 3.59m19.147-.598c-.398-.4-.797-.2-.997 0l-.4.4-.597.597c-.2.2-.4.2-.6.4-.198.2-.597.398-.796.398-.4 0-.6.2-.998.2-1.396 0-2.393-.6-3.19-1.596-.8-.998-1.397-2.194-1.397-3.79 0-1.396.4-2.792 1.396-3.79.998-.997 1.996-1.396 3.392-1.396 1.197 0 2.194.6 3.19 1.596.4.4.8.4.998.2l1.197-1.197s0-.4-.4-.8c-1.395-1.794-3.39-2.79-5.584-2.79-2.194-.002-3.99.796-5.584 2.59-1.597 1.597-2.395 3.592-2.395 5.985 0 2.393.798 4.388 2.394 6.183 1.594 1.596 3.39 2.394 5.583 2.394 2.593 0 4.588-1.197 5.984-3.39.2-.4.2-.8-.2-1.198l-.997-.997m11.57-11.569c-1.597 0-2.993.6-4.59 1.796V4.986c0-.2 0-.4-.198-.598-.2-.2-.4-.2-.6-.2H66.38c-.2 0-.398 0-.598.2-.2.2-.2.4-.2.598v22.54c0 .198 0 .398.2.597.2.2.4.2.598.2h1.796c.598 0 .797-.2.797-.798V17.353c.2-.6.8-.998 1.398-1.596.797-.598 1.795-.798 2.792-.798.997 0 1.795.398 2.393 1.196.6.798.798 1.795.798 3.19v8.378c0 .2 0 .4.2.6.2.198.4.198.6.198h1.794c.2 0 .4 0 .6-.2.198-.2.198-.398.198-.598v-8.177c-.2-5.386-2.194-7.979-6.183-7.979m20.144 1.995c-.4-.798-.997-1.197-1.596-1.596-.798-.4-1.795-.598-2.992-.598-1.994 0-3.79.398-5.385.996-.398.2-.597.4-.597.998l.4 1.396c.198.598.398.798.796.598a12.823 12.823 0 0 1 4.388-.798c.997 0 1.595.2 1.994.798.4.598.598 1.596.4 2.793l-.4-.2c-.2 0-.598-.198-1.197-.198-.4.2-.797.2-1.396.2-1.995 0-3.392.398-4.588 1.395-1.197.997-1.596 2.194-1.596 3.79s.4 2.992 1.396 3.99c.998.996 2.194 1.395 3.59 1.395 1.796 0 3.39-.598 4.787-1.994l.398 1.196c.2.4.4.6.6.6h1.195c.2 0 .4 0 .6-.2.198-.2.198-.4.198-.6V18.75c0-1.198 0-2.195-.198-2.993-.2-.598-.4-1.396-.798-2.194M91.31 23.735c-.2.4-.797.998-1.396 1.396-.798.4-1.396.6-2.194.6s-1.396-.2-1.795-.798c-.4-.4-.598-1.197-.598-1.795 0-.798.2-1.396.798-1.995.598-.4 1.396-.797 2.393-.797.598 0 1.197 0 1.795.2.6.198.997.198.997.398v2.792m16.555 2.793l-.598-1.596c-.2-.4-.4-.598-.997-.4a3.834 3.834 0 0 1-2.394.8c-.4 0-.798-.2-.997-.4-.2-.2-.4-.598-.4-1.396V14.96h4.19c.198 0 .397 0 .597-.2.2-.2.2-.4.2-.6v-1.594c0-.2 0-.4-.2-.6h-4.788V7.38c0-.2 0-.4-.2-.598-.2-.2-.398-.2-.598-.2h-1.994c-.2 0-.4 0-.6.2-.198.2-.198.398-.198.598v4.587h-1.795c-.4 0-.798.2-.798.798v1.396c0 .2 0 .4.2.6.2.2.398.2.598.2h1.795v8.975c0 1.595.2 2.792.798 3.59.598.798 1.595 1.197 2.99 1.197.8 0 1.597-.2 2.395-.4s1.396-.598 1.795-.797c.997-.2 1.197-.598.997-.997z" fill-rule="evenodd" fill="#3e414f"/>\n        <path id="leaf" d="M6.94 10.77C6.543.4.16 0 .16 0c-.4 9.374 6.78 10.77 6.78 10.77z" fill-rule="evenodd" fill="#44bb6e"/>\n    </g>\n</svg>'
}, function(e, t) {
    e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="108" height="36" viewBox="0 0 108 36">\n  <g>\n    <path id="text" d="M14.118 11.775h-1.985c-.198 0-.397 0-.595.2-.2.2-.2.398-.2.598V27.34c0 .2 0 .4.2.6.198.2.397.2.595.2h1.985c.2 0 .397 0 .596-.2.198-.2.198-.4.198-.6V12.574c0-.2 0-.4-.198-.6-.2 0-.397-.198-.596-.198m18.262 0h-1.587c-.596 0-.993.2-1.19.4l-4.567 9.977-4.367-9.978c-.2-.4-.398-.4-.795-.4H17.69c-.396 0-.594 0-.594.2-.2.2-.2.4 0 .6l7.146 15.366c.198.2.397.4.794.4h.198c.397 0 .596-.2.596-.4l7.146-15.367c.2-.2.2-.4 0-.6 0 0-.198-.198-.596-.198m9.727-.4c-2.382 0-4.367.8-5.955 2.595-1.588 1.596-2.58 3.592-2.58 5.987s.793 4.39 2.58 5.987c1.588 1.796 3.573 2.594 5.955 2.594s4.367-.798 5.955-2.594c1.588-1.796 2.382-3.792 2.382-5.987 0-2.395-.794-4.39-2.58-5.987-1.588-1.597-3.573-2.595-5.757-2.595m3.375 12.374c-.993.997-2.184 1.595-3.573 1.595-1.39 0-2.582-.4-3.574-1.397-.993-.998-1.39-2.195-1.39-3.792 0-1.396.397-2.793 1.39-3.592.992-.998 2.183-1.397 3.573-1.397 1.388 0 2.58.4 3.572 1.397.992.998 1.39 2.195 1.39 3.592 0 1.398-.398 2.595-1.39 3.593m16.873-3.394c-.596-.4-1.19-.798-1.59-.998-.594-.2-1.19-.6-2.182-.998-.993-.4-1.588-.798-2.183-1.197-.398-.4-.795-.798-.795-1.197 0-.4.2-.8.596-.998.398-.2.795-.4 1.59-.4 1.19 0 2.182.2 3.572.8.595.198.794.198.992-.4l.596-1.198c.198-.4.198-.798-.397-1.197-1.19-.798-2.78-1.198-4.764-1.198-1.788 0-3.177.4-4.17 1.397-.992.998-1.39 1.996-1.39 3.194 0 1.197.398 2.195 1.192 2.993.794.797 1.787 1.396 3.374 2.194 1.19.6 2.184.998 2.78 1.397.595.4.794.8.794 1.398 0 .4-.2.8-.596 1.198-.397.2-.993.4-1.588.4-1.19 0-2.58-.4-4.17-1.2-.594-.198-.793-.198-.99.2l-.795 1.597c-.198.4 0 .6.2.8 1.587 1.196 3.374 1.595 5.36 1.595 1.785 0 3.175-.4 4.366-1.397.992-.997 1.588-1.994 1.588-3.39 0-.8-.198-1.398-.397-1.997 0-.4-.397-.998-.992-1.397m7.146-8.58h-1.984c-.2 0-.398 0-.596.198-.198.2-.198.4-.198.6V27.34c0 .2 0 .4.198.6.198.2.397.2.596.2H69.5c.2 0 .397 0 .596-.2.2-.2.2-.4.2-.6V12.574c0-.2 0-.4-.2-.6-.2 0-.397-.198-.595-.198m14.293 12.972c-.2-.4-.596-.6-.993-.4-.794.6-1.786.8-2.58.8-.397 0-.794-.2-.993-.4-.198-.2-.397-.6-.397-1.398v-8.782h4.367c.2 0 .397 0 .596-.2.198 0 .198-.2.198-.398v-1.397c0-.2 0-.4-.197-.6-.2-.198-.397-.198-.596-.198H78.83v-4.59c0-.2 0-.4-.198-.6-.2 0-.2-.2-.596-.2H76.05c-.197 0-.396 0-.594.2-.2.2-.2.4-.2.6v4.59h-1.984c-.595 0-.794.2-.794.798v1.397c0 .2 0 .4.2.598.197.2.395.2.594.2h1.985v8.98c0 1.597.397 2.795.993 3.593.595.8 1.786 1.198 3.176 1.198.794 0 1.786-.2 2.58-.4.794-.198 1.588-.598 1.985-.797.398-.2.597-.598.398-.997l-.595-1.596M99.276 13.57c-1.39-1.396-3.176-2.195-5.36-2.195-2.382 0-4.367.8-5.955 2.595-1.587 1.596-2.38 3.592-2.38 5.987s.793 4.39 2.38 6.186c1.59 1.597 3.574 2.395 5.957 2.395 2.58 0 4.565-.598 6.153-1.995.397-.4.397-.8 0-1.198l-.992-1.397c-.2-.4-.596-.4-.993 0-1.39.998-2.58 1.397-3.97 1.397-1.39 0-2.58-.4-3.573-1.397-.993-.998-1.39-1.996-1.39-3.193h11.315c.397 0 .794-.2.794-.798V18.76c.2-1.996-.595-3.792-1.984-5.19m-9.925 4.59c.2-.997.596-1.995 1.39-2.594.794-.798 1.787-.998 2.978-.998 1.19 0 2.183.4 2.78.998.793.8 1.19 1.597 1.19 2.595H89.35M6.576 11.776H1.017c-.198 0-.397 0-.595.2-.2.2-.2.398-.2.598v1.995c0 .2 0 .4.2.6.198.2.397.2.595.2h2.78v14.368c0 1.397-1.192 2.594-2.58 2.594h-.2c-.198 0-.397 0-.595.2-.2.2-.2.4-.2.598v1.996c0 .2 0 .4.2.6.198.198.397.198.595.198h.2c3.373 0 6.152-2.794 6.152-5.987V12.772c0-.2 0-.4-.2-.598-.198-.2-.198-.4-.595-.4z" fill-rule="evenodd" fill="#3e414f"/>\n    <path id="leaf" d="M7.37 10.577C6.97.4.222 0 .222 0-.174 9.18 7.37 10.577 7.37 10.577z" fill-rule="evenodd" fill="#44bb6e"/>\n  </g>\n</svg>'
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(15),
        y = a(w),
        x = i(12),
        k = a(x),
        j = i(1),
        C = a(j),
        E = i(5),
        M = a(E),
        S = C.default.getCopyrightSiteByLocale(M.default.locale) + "?utm_source=" + encodeURIComponent(location.hostname) + "&utm_medium=link&utm_content=widget_popup&utm_campaign=self_ad",
        T = (0, y.default)("seo_copyrightTextNew").split("{0}")[0],
        z = (0, y.default)("seo_copyrightTextNew").split("{0}")[1],
        O = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.widget_color = k.default.widget_color, this.on(k.default, function() {
                        e.widget_color != k.default.widget_color && e.forceUpdate()
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var e = (0, o.default)({
                            id: "jivosite-adword",
                            className: "jivosite-adword-" + M.default.locale
                        }, this.props),
                        t = "jivo-" + k.default.widget_font_color + "  jivo-" + ("ru_RU" === M.default.locale ? "ru" : "en");
                    return v.default.createElement("div", e, T, v.default.createElement("a", {
                        href: S,
                        rel: "nofollow",
                        target: "_blank",
                        id: "jivosite-copyright",
                        className: t
                    }), z)
                }
            }]), t
        }(_.default);
    t.default = O
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(35),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(100),
        c = a(d),
        f = i(5),
        p = a(f),
        h = i(1),
        m = a(h),
        g = function() {
            function e(t) {
                (0, l.default)(this, e), this.isWriteLS = globalStore.hasStorage && !p.default.cookie_domain, this.LS = this.isWriteLS ? m.default.getPageWindow().localStorage : null
            }
            return (0, u.default)(e, [{
                key: "get",
                value: function(e, t) {
                    var i;
                    if (this.LS) {
                        var a = "jv_" + e + (t ? "" : "_" + p.default.widget_id);
                        i = JSON.parse(this.LS.getItem(a)) || null
                    } else i = JSON.parse(c.default.get(e) || null);
                    return i
                }
            }, {
                key: "set",
                value: function(e, t, i) {
                    if (this.LS) {
                        var a = "jv_" + e + (i ? "" : "_" + p.default.widget_id);
                        this.LS.setItem(a, (0, o.default)(t))
                    } else c.default.set(e, (0, o.default)(t))
                }
            }, {
                key: "removeKey",
                value: function(e, t) {
                    if (this.LS) {
                        var i = "jv_" + e + (t ? "" : "_" + p.default.widget_id);
                        this.LS.removeItem(i)
                    } else c.default.set(e, null)
                }
            }]), e
        }();
    t.default = new g
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(10),
        y = a(w),
        x = i(15),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(14),
        M = a(E),
        S = i(16),
        T = a(S),
        z = i(1),
        O = a(z),
        N = i(13),
        I = a(N),
        A = i(5),
        P = a(A),
        L = i(9),
        B = a(L),
        D = (y.default.name("Buttons"), function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.successCallback = e.successCallback || function() {}, i.focusPopupInput = e.focusPopupInput || function() {}, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "submitForm",
                value: function(e) {
                    var t = document.getElementsByClassName("input-field"),
                        i = {};
                    this.focusPopupInput && this.focusPopupInput(), B.default.each(t, function(e) {
                        "name" == e.id && (e.id = "client_name"), i[e.id] = e.value ? e.value : null
                    }), this.isValid(i) ? P.default.eula && !C.default.eula_accepted ? (this.values = i, T.default.showEula(!0, null, "introduce")) : this.resetForm(i) : (e.preventDefault(), this.values = !1)
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(C.default, function() {
                        e.refs.submitBtn && e.refs.submitBtn.disabled && "chat/msg" == C.default.route && (e.refs.submitBtn.disabled = !1), P.default.eula && C.default.eula_accepted && e.values && (e.resetForm(e.values), e.values = !1)
                    }), O.default.addListener(v.default.findDOMNode(this.refs.submitBtn), I.default.tablet() ? "touchstart" : "mousedown", this.submitForm.bind(this))
                }
            }, {
                key: "cancel",
                value: function() {
                    M.default.is_introduced = !0, "chat/introduce" === C.default.route ? T.default.navigate("chat") : T.default.closeWidget()
                }
            }, {
                key: "isValid",
                value: function(e) {
                    for (var t in e)
                        if (t) {
                            var i = document.getElementById(t).parentNode,
                                a = t;
                            "client_name" == t && (a = "name"), e[t] || "message" === t || P.default.contacts_settings[a] && P.default.contacts_settings[a].required ? O.default["isValidValue_" + t](e[t] || "") ? O.default.removeClass(i, "error-field") : O.default.addClass(i, "error-field") : O.default.removeClass(i, "error-field")
                        }
                    return !(document.getElementsByClassName("error-field").length > 0)
                }
            }, {
                key: "resetForm",
                value: function(e) {
                    return P.default.eula ? void(C.default.eula_accepted && this.setInfo(e)) : void this.setInfo(e)
                }
            }, {
                key: "setInfo",
                value: function(e) {
                    this.refs.submitBtn.disabled = !0, T.default.setClientContactInfo((0, o.default)(M.default.client_info, e)), this.successCallback(e.message)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = 1 === P.default.contacts_ask && C.default.is_online ? (0, k.default)("lblSendBefore") : (0, k.default)("lblSend"),
                        i = "buttons";
                    return P.default.eula && !C.default.eula_accepted && (t = (0, k.default)("continue")), (C.default.is_online && 1 === P.default.contacts_ask || !C.default.is_online) && (i += " single"), v.default.createElement("div", {
                        className: i
                    }, 0 !== P.default.contacts_ask && P.default.contacts_ask !== -1 || !C.default.is_online ? v.default.createElement("div", {
                        className: "left-button"
                    }, v.default.createElement("a", {
                        id: "cancel",
                        className: "jivoBtn cancel",
                        href: "#",
                        onClick: function() {
                            return e.cancel()
                        }
                    }, (0, k.default)("lblEvaluateCancel"))) : "", v.default.createElement("div", null, v.default.createElement("input", {
                        id: "submit",
                        type: "button",
                        value: t,
                        className: "jivoBtn accept",
                        ref: "submitBtn"
                    })))
                }
            }]), t
        }(_.default));
    t.default = D
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(15),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(1),
        C = a(j),
        E = i(9),
        M = a(E),
        S = i(14),
        T = a(S),
        z = i(13),
        O = a(z),
        N = i(12),
        I = a(N),
        A = i(68),
        P = a(A),
        L = (_.default.name("Email"), function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    text: T.default.client_info.email ? T.default.client_info.email : ""
                }, i.onBlur = e.onBlur || function() {}, i.onFocus = function() {
                    C.default.removeClass(m.default.findDOMNode(i.refs.email).parentNode, "error-field"), e.onFocus && e.onFocus()
                }, (I.default.is_online || (0, j.isAnyRequired)()) && (I.default.is_online || k.default.contacts_settings.email.show || k.default.contacts_settings.phone.show && k.default.contacts_settings.phone.required) || (k.default.contacts_settings.email = {
                    show: !0,
                    required: !0
                }), I.default.is_online || (0, j.isAnyRequired)() || k.default.contacts_settings.email.show || !k.default.contacts_settings.phone.show || (k.default.contacts_settings.email = {
                    show: !1,
                    required: !1
                }), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(I.default, function() {
                        setTimeout(M.default.bind(function() {
                            I.default.is_focused && this.refs.email && !m.default.findDOMNode(this.refs.email).value && 0 == I.default.route.indexOf("chat") && I.default.route.indexOf("min") == -1 && !O.default.tablet() && (m.default.findDOMNode(this.refs.email).focus(), I.default.is_focused = 0)
                        }, e), 500)
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return k.default.contacts_settings && k.default.contacts_settings.email && k.default.contacts_settings.email.show ? m.default.createElement("div", {
                        className: "field-wrapper"
                    }, m.default.createElement("input", {
                        id: "email",
                        type: "email",
                        onKeyPress: j.getNextSiblingNodeFocus.bind(this),
                        onBlur: this.onBlur.bind(this),
                        onFocus: this.onFocus.bind(this),
                        className: "input-field",
                        placeholder: (0, y.default)("lblYourEmail") + (k.default.contacts_settings.email.required ? "*" : ""),
                        value: this.state.text,
                        onInput: (0, P.default)(this, "text"),
                        ref: "email"
                    })) : ""
                }
            }]), t
        }(v.default));
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(15),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(1),
        C = a(j),
        E = i(9),
        M = a(E),
        S = i(14),
        T = a(S),
        z = i(13),
        O = a(z),
        N = i(12),
        I = a(N),
        A = i(68),
        P = a(A),
        L = (_.default.name("Name"), function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    text: T.default.client_info.client_name ? T.default.client_info.client_name : ""
                }, i.onBlur = e.onBlur || function() {}, i.onFocus = function() {
                    C.default.removeClass(m.default.findDOMNode(i.refs.name).parentNode, "error-field"), e.onFocus && e.onFocus()
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(I.default, function() {
                        setTimeout(M.default.bind(function() {
                            I.default.is_focused && this.refs.name && !m.default.findDOMNode(this.refs.name).value && 0 == I.default.route.indexOf("chat") && I.default.route.indexOf("min") == -1 && !O.default.tablet() && (m.default.findDOMNode(this.refs.name).focus(),
                                I.default.is_focused = 0)
                        }, e), 500)
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return k.default.contacts_settings && k.default.contacts_settings.name && k.default.contacts_settings.name.show ? m.default.createElement("div", {
                        className: "field-wrapper"
                    }, m.default.createElement("input", {
                        id: "client_name",
                        type: "text",
                        onKeyPress: j.getNextSiblingNodeFocus.bind(this),
                        onBlur: this.onBlur.bind(this),
                        onFocus: this.onFocus.bind(this),
                        className: "input-field",
                        placeholder: (0, y.default)("lblIntroduceName") + (k.default.contacts_settings.name.required ? "*" : ""),
                        value: this.state.text,
                        onInput: (0, P.default)(this, "text"),
                        ref: "name"
                    })) : ""
                }
            }]), t
        }(v.default));
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(15),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(1),
        C = a(j),
        E = i(9),
        M = a(E),
        S = i(14),
        T = a(S),
        z = i(12),
        O = a(z),
        N = i(13),
        I = a(N),
        A = i(68),
        P = a(A),
        L = (_.default.name("Phone"), function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    text: T.default.client_info.phone ? T.default.client_info.phone : ""
                }, i.onBlur = e.onBlur || function() {}, i.onFocus = function() {
                    C.default.removeClass(m.default.findDOMNode(i.refs.phone).parentNode, "error-field"), e.onFocus && e.onFocus()
                }, O.default.is_online || (0, j.isAnyRequired)() || k.default.contacts_settings.email.show || !k.default.contacts_settings.phone.show || (k.default.contacts_settings.phone = {
                    show: !0,
                    required: !0
                }), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(O.default, function() {
                        setTimeout(M.default.bind(function() {
                            O.default.is_focused && this.refs.phone && !m.default.findDOMNode(this.refs.phone).value && 0 == O.default.route.indexOf("chat") && O.default.route.indexOf("min") == -1 && !I.default.tablet() && (m.default.findDOMNode(this.refs.phone).focus(), O.default.is_focused = 0)
                        }, e), 500)
                    }), this.on(T.default, function() {
                        T.default.client_info.phone && e.setState({
                            text: T.default.client_info.phone
                        })
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return k.default.contacts_settings && k.default.contacts_settings.phone && k.default.contacts_settings.phone.show ? m.default.createElement("div", {
                        className: "field-wrapper"
                    }, m.default.createElement("input", {
                        id: "phone",
                        type: "tel",
                        onKeyPress: j.getNextSiblingNodeFocus.bind(this),
                        onBlur: this.onBlur.bind(this),
                        onFocus: this.onFocus.bind(this),
                        className: "input-field",
                        placeholder: (0, y.default)("lblYourPhone") + (k.default.contacts_settings.phone.required ? "*" : ""),
                        value: this.state.text.replace(/^\s+/g, ""),
                        onInput: (0, P.default)(this, "text"),
                        ref: "phone"
                    })) : ""
                }
            }]), t
        }(v.default));
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e) {
        var t = o(e),
            i = O.querySelector(e);
        return i ? i : O.evaluate(t, O, null, C.default.XPathResultType.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
    }

    function o(e) {
        var t = "",
            i = e.split(" > ");
        return k.default.each(i, function(e) {
            t += "/*", e.indexOf(":") !== -1 && (t += "[" + e.substr(e.indexOf("(") + 1, e.indexOf(")") - e.indexOf("(") - 1) + "]")
        }), t
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = i(4),
        l = (a(r), i(4)),
        s = (a(l), i(15)),
        u = a(s),
        d = i(1),
        c = i(34),
        f = (a(c), i(10)),
        p = a(f),
        h = i(52),
        m = a(h),
        g = i(13),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = i(61),
        y = a(w),
        x = i(9),
        k = a(x),
        j = i(392),
        C = a(j),
        E = i(16),
        M = a(E),
        S = i(96),
        T = a(S),
        z = p.default.name("cobrowse"),
        O = window.parent.document,
        N = {
            init: function() {
                var e, t, i, a, n = !1,
                    o = {};
                C.default.install(window.parent), this._process = a = function(e, t) {
                    n ? (z.log("controller of childSandboxBridge set as for NodeWebkit"), i = A, i.setLangpack(o), i.init()) : i = I, i[e] && "is_node_webkit" !== e && i[e](t)
                }, (0, d.addListener)(window.parent, "message", function(i) {
                    if (i) {
                        var r = i.data;
                        null !== (0, d.cookie)("langpack") && (r.langpack = JSON.parse((0, d.cookie)("langpack"))), k.default.indexOf(["startSelection", "stopSelection", "in_node_webkit"], r.name) !== -1 && i.source && i.origin && (e = i.source, t = i.origin, n = !0, o = r.langpack, a(r.name, r))
                    }
                }, !1)
            },
            process: function(e, t) {
                this._process || this.init(), this._process(e, t)
            },
            create: function(e, t) {
                v.default.tablet() && (0, d.removeClass)(window.parent.document.body, "jivo-mobile-widget"), N.process("highlight", e), N.process("renderTooltip", e), (0, d.changeBrowserLocation)(t, O.title)
            },
            postMessage: function(e) {
                setTimeout(function() {
                    window.parent.jivo_cobrowse.source.postMessage(e, window.parent.jivo_cobrowse.origin)
                }, 0)
            },
            isNodeWebkit: function(e) {
                function t() {
                    return e.apply(this, arguments)
                }
                return t.toString = function() {
                    return e.toString()
                }, t
            }(function() {
                return isNodeWebkit
            }),
            getCobrowseData: function(e, t) {
                var i = _.default.base_url + "/script/cobrowsing?cb=?&hash=" + e;
                (0, d.getJSONP)(i, function(i) {
                    if (k.default.isObject(i)) {
                        0 === i.comment.length && (i.comment = (0, u.default)("lblDefaultCobrowseComment")), i.comment = (0, d.stripBrackets)(i.comment), y.default.stopBlink();
                        var a = O.location.href.split("#")[0],
                            n = t && t + "#jvhs_" + e,
                            o = O.getElementById("jivo_magic_iframe");
                        t && a !== t && a !== encodeURI(t) ? o ? m.default.navigate(n) : window.parent.document.location.href = n : v.default.mobile() ? (M.default.closeWidget(), setTimeout(function() {
                            N.create(i, n)
                        }, 1e3)) : v.default.tablet() ? (window.document.activeElement.blur(), M.default.onBlur(), setTimeout(function() {
                            N.create(i, n)
                        }, 1e3)) : N.create(i, n)
                    }
                })
            }
        },
        I = {
            is_inited: !1,
            isCobrowseVisible: function(e) {
                return (0, d.isVisible)(e) && "HTML" != e.tagName && "hidden" != e.style.visibility && "jivo-iframe-container" != e.id && "jivo_container" != e.id
            },
            highlight: function(e) {
                function t(e, t, i) {
                    l.style.width = t + 10 + "px", l.style.height = i + 10 + "px", l.style.left = e.left - 12 + "px", l.style.top = e.top - 3 + "px", (0, d.elementOrParentIsFixed)(r) && (l.style.position = "fixed")
                }

                function i() {
                    l || (l = O.createElement("div"), l.className = "jivo_cobrowsing_element", l.id = "jivo_cobrowsing_element_id_" + e.hash, O.body.appendChild(l))
                }

                function a() {
                    if (!l) {
                        var e = O.createElement("div");
                        l.className = "jivo_cobrowsing_element_inner", l.appendChild(e)
                    }
                }
                if (z.log("highlight"), !this.is_inited && !A.is_inited) {
                    var o = O.createElement("link");
                    o.setAttribute("rel", "stylesheet"), o.setAttribute("href", (0, d.staticUrl)("/css/for_app.css")), O.body.appendChild(o), this.is_inited = !0
                }
                var r;
                if (r = "string" == typeof e.element ? n(e.element) : e.element, !(0, d.getCobrowseElementPosition)(r)) return void z.log("cobrowse element position failed.");
                if (e.hash && null !== O.getElementById("#jivo_cobrowsing_element_id_" + e.hash)) return this.animateScroll(e);
                k.default.each(["jivo_cobrowsing_element", "jivo_cobrowsing_tooltip"], function(e) {
                    k.default.each(O.getElementsByClassName(e), function(e) {
                        e.parentNode.removeChild(e)
                    })
                });
                var l, s = (0, d.getCobrowseElementPosition)(r),
                    u = s.width,
                    c = s.height;
                if (z.log(r, e), !r || !this.isCobrowseVisible(r)) return void(0, d.telemetry)("cobrowse_failed");
                z.log("overlayCreate"), i(), z.log("overlayCss"), t(s, u, c), z.log("overlayAppend"), a(), (0, d.telemetry)("cobrowse_success");
                var f = function() {
                    var o;
                    if (o = "string" == typeof e.element ? n(e.element) : e.element, l || (i(), a()), o) {
                        var r = (0, d.getCobrowseElementPosition)(o),
                            s = r.width,
                            u = r.height;
                        t(r, s, u)
                    }
                    if (l) return l
                };
                return setTimeout(function() {
                    f()
                }, 50), (0, d.addListener)(window.parent, "resize", f), l ? l : void 0
            },
            renderTooltip: function(e) {
                z.log("renderTooltip");
                var t = null !== O.getElementById("#jivo_cobrowsing_element_id_" + e.hash);
                if (t !== !1) return this.animateScroll(e), t;
                var i;
                if (i = "string" == typeof e.element ? n(e.element) : e.element, !i || !this.isCobrowseVisible(i)) return void z.log("Error render tooltip, element not visible");
                var a = O.createElement("div");
                a.className = "", a.id = "jivo_content_cobrowsing_tooltip", a.style.width = "100%", a.style.height = "auto";
                var o = O.createElement("div");
                return o.className = "jivo_cobrowsing_tooltip", v.default.mobile() && (o.style.width = "200px"), o.id = "jivo_cobrowsing_tooltip_" + e.hash, (0, d.elementOrParentIsFixed)(i) && (o.style.position = "fixed"), o.appendChild(a), e.show && (o = this.addTooltipContent(o, e, i)), o
            },
            appendTooltip: function(e, t) {
                var i = e.childNodes[0];
                O.body.appendChild(e);
                var a = function() {
                    if ((0, d.addClass)(i, "bottom"), (0, d.removeClass)(i, "top left right"), t) {
                        var a = (0, d.getCobrowseElementPosition)(t),
                            n = 30,
                            o = a.width,
                            r = a.height,
                            l = a.left + o / 2 - n / 2,
                            s = a.top - n + 15,
                            u = (0, d.getCobrowseElementPosition)(e),
                            c = (0, d.getCobrowseElementPosition)(i),
                            f = window.parent.window.outerWidth || window.parent.window.innerWidth,
                            p = u.width / 2 * -1;
                        s < c.height + 10 ? (s = a.top + r, i.className += " top") : (i.style.position = "absolute", i.style.bottom = "10px"), l + p < 10 && (l = a.left, p = 0, i.className += " left"), v.default.mobile() ? l + u.width + p > f && (p = 0, l = f - u.width) : l + u.width > f && (p = u.width * -1, l = a.left + o - n, i.className += " right"), e.style.left = (0 !== l ? l : 35) + "px", e.style.top = s + "px", e.style.marginLeft = p + "px"
                    }
                };
                a(), e.style.opacity = 1, this.animateScroll(null, t, i), setTimeout(function() {
                    a()
                }, 50), (0, d.addListener)(window.parent, "resize", a)
            },
            addTooltipContent: function(e, t, i) {
                var a = e.childNodes[0],
                    n = 32 & _.default.options && "string" == typeof t.agent.avatar_url && t.agent.avatar_url.length > 0;
                n && _.default.avatar_url && (t.agent.avatar_url = _.default.avatar_url + "/avatars/" + t.agent.avatar_url);
                var o = O.createElement("div");
                o.dir = "ltr", o.id = "jivo_action", o.className = "jivo-desktop";
                var r = window.parent.document.createElement("div");
                r.id = "jivo_close_button", r.innerHTML = T.default, o.appendChild(r), a.appendChild(o), r.addEventListener("click", function(i) {
                    i.preventDefault();
                    var a = O.getElementsByClassName("jivo_cobrowsing_element")[0];
                    a.parentNode.removeChild(a), (0, d.stripHashFromLocation)(t.hash), e.parentNode.removeChild(e)
                });
                var l = O.createElement("div");
                l.innerText = t.agent.display_name, l.className = "jivo_cobrowsing_tooltip_agent", a.appendChild(l);
                var s = O.createElement("div");
                return s.innerHTML = t.comment.split("\n").join("<br />"), s.className = "jivo_cobrowsing_tooltip_text", a.appendChild(s), this.appendTooltip(e, i), e
            },
            animateScroll: function(e, t, i) {
                function a(e, t, i) {
                    if (!(i <= 0)) {
                        var n = t - e.scrollTop,
                            o = n / i * 10;
                        setTimeout(function() {
                            e.scrollTop = e.scrollTop + o, e.scrollTop !== t && a(e, t, i - 10)
                        }, 10)
                    }
                }
                var n;
                e && (t = O.getElementById("#jivo_cobrowsing_element_id_" + e.hash), i = O.getElementById("#jivo_cobrowsing_tooltip_" + e.hash).childNodes[0]), n = i && (0, d.hasClass)(i, "top") ? (0, d.getCobrowseElementPosition)(t).top : (0, d.getCobrowseElementPosition)(i.parentNode).top, a(O.documentElement, n - 300, 300), a(O.body, n - 300, 300)
            }
        },
        A = {
            is_selecting: !1,
            is_tooltip_open: !1,
            is_inited: !1,
            langpack: {},
            init: function() {
                if (!this.is_inited) {
                    var e = O.createElement("link");
                    e.setAttribute("rel", "stylesheet"), e.setAttribute("href", (0, d.staticUrl)("/css/for_app.css")), O.body.appendChild(e), (0, d.removeEvent)(window.parent, "keydown", this.keydownListener), (0, d.addListener)(window.parent, "keydown", this.keydownListener), this.is_inited = !0
                }
            },
            keydownListener: function(e) {
                27 === e.keyCode && A.onEsc()
            },
            setLangpack: function(e) {
                this.langpack = e
            },
            i18n: function(e) {
                return this.langpack[e] ? this.langpack[e] : e
            },
            startSelection: function() {
                var e = A;
                (0, d.addClass)(O.body, "jivo_selecting"), e.is_selecting = !0, k.default.each(["input", "textarea", "select", "button"], function(e) {
                    k.default.each(O.getElementsByTagName(e), function(e) {
                        var t = O.createElement("div"),
                            i = (0, d.getCobrowseElementPosition)(e);
                        t.style.width = i.width + "px", t.style.height = i.height + "px", t.style.left = i.left + "px", t.style.top = i.top + "px", t.style.position = "absolute", t.realNode = e, e.disabled = !0, O.body.appendChild(t)
                    })
                }), k.default.each(O.getElementsByTagName("*"), function(t) {
                    (0, d.addListener)(t, "mouseover", e.mouseoverListener), (0, d.addListener)(t, "mouseout", e.clearSelection)
                })
            },
            stopTagsA: function() {
                k.default.each(O.getElementsByTagName("a"), function(e) {
                    (0, d.addListener)(e, "click", function(e) {
                        return e.preventDefault(), e.stopPropagation(), !1
                    })
                })
            },
            mouseoverListener: function(e) {
                var t = A;
                return "OPTION" !== this.tagName && (t.clearSelection(), I.highlight({
                    element: e.target
                }), t.stopTagsA(), (0, d.removeEvent)(e.currentTarget, "click", t.clickListener), void(0, d.addListener)(e.currentTarget, "click", t.clickListener))
            },
            clickListener: function(e) {
                var t = A;
                e.preventDefault(), e.stopPropagation();
                var i = this.realNode ? this.realNode : this;
                t.stopSelection(), t.toolTip(i)
            },
            stopSelection: function() {
                var e = A;
                (0, d.removeClass)(O.body, "jivo_selecting"), k.default.each(["input", "textarea", "select", "button"], function(e) {
                    k.default.each(O.getElementsByTagName(e), function(e) {
                        e.disabled = !1
                    })
                }), k.default.each(O.getElementsByClassName("fake_cb_element"), function(e) {
                    e.parentNode.removeChild(e)
                }), k.default.each(O.getElementsByTagName("*"), function(t) {
                    (0, d.removeEvent)(t, "mouseover", e.mouseoverListener), (0, d.removeEvent)(t, "mouseout", e.clearSelection), (0, d.removeEvent)(t, "click", e.clickListener)
                }), e.is_selecting = !1
            },
            clearSelection: function() {
                k.default.each(["jivo_cobrowsing_element", "jivo_cobrowsing_tooltip"], function(e) {
                    k.default.each(O.getElementsByClassName(e), function(e) {
                        e.parentNode.removeChild(e)
                    })
                })
            },
            toolTip: function(e) {
                var t = A,
                    i = I.renderTooltip({
                        element: e
                    }),
                    a = i.childNodes[0];
                i.className += " air", i.style.width = "auto", a.style.padding = "8px", a.style.width = "auto", a.style.backgroundColor = "";
                var n = O.createElement("textarea");
                n.id = "cobrowsing_textarea_comment", n.placeholder = t.i18n("cb_enterComment"), n.value = "", n.onkeypress = function(i) {
                    13 === i.keyCode && (i.preventDefault(), i.stopPropagation(), t.send(e))
                }, t.textInput = n;
                var o = O.createElement("button");
                o.className = "btn btn-mimi blue on_dark large", o.innerText = t.i18n("cb_send"), o.style.float = "right", o.style.position = "relative", o.style.marginRight = "8px", o.onclick = function() {
                    t.send(e)
                };
                var r = O.createElement("button");
                r.className = "btn btn-mimi grey on_dark large", r.innerText = t.i18n("cb_cancel"), r.style.float = "right", r.style.position = "relative", r.style.marginRight = "5px", r.onclick = function() {
                    t.closeTooltip()
                };
                var l = O.createElement("div");
                l.style.clear = "both", a.appendChild(n), a.appendChild(r), a.appendChild(o), a.appendChild(l), I.appendTooltip(i, e), n.focus(), n.select(), t.is_tooltip_open = !0
            },
            send: function(e) {
                function t(e) {
                    for (var t = []; e.parentNode;) {
                        if (e.id) {
                            t.unshift("#" + e.id);
                            break
                        }
                        if (e == e.ownerDocument.documentElement) t.unshift(e.tagName);
                        else {
                            for (var i = 1, a = e; a.previousElementSibling; a = a.previousElementSibling, i++);
                            t.unshift(e.tagName + ":nth-child(" + i + ")")
                        }
                        e = e.parentNode
                    }
                    return t.join(" > ")
                }
                var i = this.textInput.value;
                i.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
                var a = t(e),
                    n = {
                        name: "on_send",
                        page_element: a,
                        page_url: window.parent.location.href,
                        comment: i
                    };
                N.postMessage(n)
            },
            closeTooltip: function() {
                var e = A;
                e.stopSelection(), e.is_tooltip_open = !1, e.startSelection(), N.postMessage({
                    name: "on_cancel"
                })
            },
            onEsc: function() {
                this.is_tooltip_open ? this.closeTooltip() : this.is_selecting ? (this.stopSelection(), N.postMessage({
                    name: "reset"
                })) : N.postMessage({
                    name: "close"
                })
            }
        };
    t.default = N
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(9),
        o = a(n),
        r = i(200),
        l = a(r),
        s = i(10),
        u = a(s),
        d = u.default.name(!1);
    l.default.on("newfsm", function(e) {
        e.on("handling", function(e) {
            d.log(this.namespace + ": handling " + e.inputType + " in state " + this.state)
        }), e.on("nohandler", function(e) {
            d.log(this.namespace + ": unhandled " + e.inputType + " in state " + this.state)
        }), e.on("transition", function(e) {
            d.log([this.namespace + ":", "transition from:", e.fromState, "to:", e.toState, "action:", e.action].join(" "))
        })
    }), t.default = l.default.Fsm.extend({
        _fireEvent: function(e) {
            delete this._scheduled_events[e], this.handle(e)
        },
        _scheduleEvent: function(e, t) {
            e in this._scheduled_events ? d.log(this.namespace + ": attempt to re-schedule event" + e) : (d.log(this.namespace + ": scheduling " + e + " for " + t), this._scheduled_events[e] = setTimeout(o.default.bind(this._fireEvent, this, e), t))
        },
        _cancelEvent: function(e) {
            e in this._scheduled_events ? (clearTimeout(this._scheduled_events[e]), delete this._scheduled_events[e]) : d.log(this.namespace + ": attempt to cancel not scheduled event", e)
        },
        constructor: function() {
            this._scheduled_events = {}, l.default.Fsm.apply(this, arguments)
        }
    })
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(5),
        o = a(n),
        r = i(10),
        l = a(r),
        s = l.default.name("COOKIE"),
        u = function(e, t, i) {
            var a = function(e) {
                var t = null;
                try {
                    t = decodeURIComponent(e)
                } catch (e) {
                    s.log(e)
                }
                return t
            };
            if ("__utmz" != e && (e = ["jv", e, o.default.widget_id].join("_")), arguments.length > 1 && "[object Object]" !== String(t)) {
                if ("undefined" == typeof i && (i = {}), null === t || void 0 === t ? (s.log("Clearing COOKIE " + e), i.expires = -1) : s.log("Set COOKIE " + e + " with value " + t), "number" == typeof i.expires) {
                    var n = i.expires,
                        r = i.expires = new Date;
                    r.setDate(r.getDate() + n)
                }
                return t = String(t), document.cookie = [encodeURIComponent(e), "=", encodeURIComponent(t), i.expires ? "; expires=" + i.expires.toUTCString() : "", o.default.cookie_domain ? "; domain=" + o.default.cookie_domain : "", "; path=/"].join("")
            }
            i = t || {};
            var l, u = i.raw ? function(e) {
                return e
            } : a;
            l = new RegExp("(?:^|; )" + encodeURIComponent(e) + "=([^;]*)").exec(document.cookie);
            try {
                l = l && l.length ? u(l[1]) : null
            } catch (e) {
                l = l[1]
            }
            return l
        };
    t.default = u
}, function(e, t, i) {
    e.exports = {
        default: i(218),
        __esModule: !0
    }
}, function(e, t) {
    e.exports = function(e) {
        if (void 0 == e) throw TypeError("Can't call method on  " + e);
        return e
    }
}, function(e, t) {
    e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
}, function(e, t) {
    e.exports = {}
}, function(e, t) {
    e.exports = !0
}, function(e, t, i) {
    var a = i(55),
        n = i(236),
        o = i(82),
        r = i(90)("IE_PROTO"),
        l = function() {},
        s = "prototype",
        u = function() {
            var e, t = i(121)("iframe"),
                a = o.length,
                n = "<",
                r = ">";
            for (t.style.display = "none", i(229).appendChild(t), t.src = "javascript:", e = t.contentWindow.document, e.open(), e.write(n + "script" + r + "document.F=Object" + n + "/script" + r), e.close(), u = e.F; a--;) delete u[s][o[a]];
            return u()
        };
    e.exports = Object.create || function(e, t) {
        var i;
        return null !== e ? (l[s] = a(e), i = new l, l[s] = null, i[r] = e) : i = u(), void 0 === t ? i : n(i, t)
    }
}, function(e, t, i) {
    var a = i(64),
        n = i(65),
        o = i(38),
        r = i(93),
        l = i(42),
        s = i(122),
        u = Object.getOwnPropertyDescriptor;
    t.f = i(40) ? u : function(e, t) {
        if (e = o(e), t = r(t, !0), s) try {
            return u(e, t)
        } catch (e) {}
        if (l(e, t)) return n(!a.f.call(e, t), e[t])
    }
}, function(e, t) {
    t.f = Object.getOwnPropertySymbols
}, function(e, t, i) {
    var a = i(41),
        n = i(33),
        o = i(45);
    e.exports = function(e, t) {
        var i = (n.Object || {})[e] || Object[e],
            r = {};
        r[e] = t(i), a(a.S + a.F * o(function() {
            i(1)
        }), "Object", r)
    }
}, function(e, t, i) {
    var a = i(43).f,
        n = i(42),
        o = i(48)("toStringTag");
    e.exports = function(e, t, i) {
        e && !n(e = i ? e : e.prototype, o) && a(e, o, {
            configurable: !0,
            value: t
        })
    }
}, function(e, t, i) {
    var a = i(91)("keys"),
        n = i(67);
    e.exports = function(e) {
        return a[e] || (a[e] = n(e))
    }
}, function(e, t, i) {
    var a = i(37),
        n = "__core-js_shared__",
        o = a[n] || (a[n] = {});
    e.exports = function(e) {
        return o[e] || (o[e] = {})
    }
}, function(e, t) {
    var i = Math.ceil,
        a = Math.floor;
    e.exports = function(e) {
        return isNaN(e = +e) ? 0 : (e > 0 ? a : i)(e)
    }
}, function(e, t, i) {
    var a = i(56);
    e.exports = function(e, t) {
        if (!a(e)) return e;
        var i, n;
        if (t && "function" == typeof(i = e.toString) && !a(n = i.call(e))) return n;
        if ("function" == typeof(i = e.valueOf) && !a(n = i.call(e))) return n;
        if (!t && "function" == typeof(i = e.toString) && !a(n = i.call(e))) return n;
        throw TypeError("Can't convert object to primitive value")
    }
}, function(e, t, i) {
    var a = i(37),
        n = i(33),
        o = i(84),
        r = i(95),
        l = i(43).f;
    e.exports = function(e) {
        var t = n.Symbol || (n.Symbol = o ? {} : a.Symbol || {});
        "_" == e.charAt(0) || e in t || l(t, e, {
            value: r.f(e)
        })
    }
}, function(e, t, i) {
    t.f = i(48)
}, function(e, t) {
    e.exports = '<svg id="jivo-icon-closewidget" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><style>.jivo-st0{opacity:.8;fill:#FFF;stroke:#000;enable-background:new}.jivo-st0,.jivo-st1{stroke-width:1.5;stroke-linecap:round}.jivo-st1{fill:none;stroke:#383d45}</style><circle class="jivo-st0" cx="12" cy="12" r="11"/><path class="jivo-st1" d="M7.5 16.5l9-9M16.5 16.5l-9-9"/></svg>'
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(78),
        o = a(n),
        r = i(10),
        l = a(r),
        s = i(1),
        u = i(9),
        d = a(u),
        c = l.default.name("CallTimer"),
        f = new o.default({
            timer: 0,
            seconds: 0,
            callTimerText: !1,
            initialState: "unitialized",
            namespace: "CALLTIMER",
            setTimerNull: function() {
                clearInterval(this.timer), (0, s.cookie)("cw_timer", null)
            },
            initialize: function() {
                c.log("CallTimer initalized.")
            },
            states: {
                unitialized: {
                    start_timer: "STARTTIMER"
                },
                STARTTIMER: {
                    _onEnter: function() {
                        this.handle("start_timer")
                    },
                    start_timer: function() {
                        var e = this.seconds,
                            t = 1e3 * e,
                            i = this.callTimerText;
                        i.innerText = t / 1e3;
                        var a = this.seconds;
                        clearInterval(this.timer), this.timer = setInterval(d.default.bind(function() {
                            if ((0, s.cookie)("cw_timer")) {
                                var e = parseInt((new Date).getTime()) - parseInt((0, s.cookie)("cw_timer"));
                                if (t = 1e3 * this.seconds - e, t = 1e3 * (t / 1e3).toFixed(1), t <= 0) return clearInterval(this.timer), this.timer = !1, void this.handle("timer_finished")
                            } else(0, s.cookie)("cw_timer", (new Date).getTime());
                            a = t / 1e3 % 1 === 0 && Number(t) === t ? t / 1e3 + ".0" : t / 1e3, t -= 100, t <= 0 && (a = t, clearInterval(this.timer), this.timer = !1, this.handle("timer_finished")), this.emit("tick", a)
                        }, this), 100)
                    },
                    timer_finished: "STOP",
                    cancel_timer: "unitialized"
                },
                STOP: {
                    _onEnter: function() {
                        c.log("STOP, timer_finished")
                    },
                    start_timer: "STARTTIMER"
                }
            }
        });
    t.default = f
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = i(12),
        y = a(w),
        x = i(14),
        k = a(x);
    i(368);
    var j = function(e) {
        function t(e) {
            return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e))
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "render",
            value: function() {
                var e = {},
                    t = {},
                    i = "jivo-bottom-left-square",
                    a = "chat" == this.props.state;
                switch (_.default.widget_orientation) {
                    case "right":
                        e = {
                            borderRightColor: y.default.widget_color
                        };
                        break;
                    case "left":
                        e = {
                            borderLeftColor: y.default.widget_color
                        };
                        break;
                    case "bottom":
                        e = {
                            borderLeftColor: y.default.widget_color
                        }
                }
                return a && (e = {
                    borderTopColor: "transparent",
                    borderLeftColor: y.default.widget_color
                }), 1 == y.default.is_online ? t = {
                    backgroundColor: "rgb(68, 187, 110)"
                } : (i += " jivo-offline", t = {
                    backgroundColor: y.default.widget_color
                }), "call" != y.default.route || "cw_wait" != k.default.cw_call.status && "cw_connecting" != k.default.cw_call.status || (t = {
                    backgroundColor: "rgb(68, 187, 110)"
                }, e = {
                    borderLeftColor: "#ffffff"
                }), m.default.createElement("div", {
                    className: "leaf"
                }, m.default.createElement("div", {
                    className: "jivo-triangle",
                    style: e
                }), m.default.createElement("div", {
                    id: "jivo-css-leaf",
                    className: "jivo-css-leaf jivo-online jivo-light",
                    style: "display: block;"
                }, m.default.createElement("div", {
                    className: "jivo-top-right-square"
                }, m.default.createElement("div", {
                    className: i,
                    style: t
                }))))
            }
        }]), t
    }(v.default);
    t.default = j
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(2),
        o = a(n),
        r = i(3),
        l = a(r),
        s = i(72),
        u = a(s),
        d = i(100),
        c = a(d),
        f = i(9),
        p = a(f),
        h = i(1),
        m = a(h),
        g = i(5),
        v = a(g),
        b = i(39),
        _ = b.EventEmitter,
        w = 1500,
        y = function() {
            function e(t) {
                var i = this;
                if ((0, o.default)(this, e), this.readMessages = {}, this.lastBufferUpdatedTime = (new Date).getTime(), this.initBufferFn = p.default.debounce(this.initBuffer.bind(this), 500), this.initBuffer(), this.emitter = new _, u.default.isWriteLS) {
                    var a = m.default.getPageWindow();
                    m.default.addListener(a, "storage", function(e) {
                        var t = e || a.event;
                        t.key === "jv_eBuffer_" + v.default.widget_id && i.parseNewEvents()
                    })
                } else setInterval(function() {
                    var e = c.default.get("eBufferUpdateTime");
                    e !== i.lastBufferUpdatedTime && (i.lastBufferUpdatedTime = e, i.parseNewEvents())
                }, 1e3)
            }
            return (0, l.default)(e, [{
                key: "initBuffer",
                value: function() {
                    var e = this,
                        t = u.default.get("eBuffer") || [],
                        i = this.filterOldEvents(t);
                    p.default.each(i, function(t) {
                        e.readMessages[t.id]
                    }), t.length !== i.length && u.default.set("eBuffer", i)
                }
            }, {
                key: "sendEvent",
                value: function(e, t) {
                    var i = this,
                        a = (new Date).getTime(),
                        n = {
                            time: a,
                            id: m.default.generateGUIDCount(2),
                            name: e,
                            data: t || {}
                        },
                        o = this.filterOldEvents(u.default.get("eBuffer") || []);
                    o.push(n), this.readMessages[n.id] = !0, u.default.set("eBuffer", o), u.default.isWriteLS || c.default.set("eBufferUpdateTime", a), setTimeout(function() {
                        i.initBufferFn()
                    }, w + 5)
                }
            }, {
                key: "filterOldEvents",
                value: function(e) {
                    var t = this,
                        i = [];
                    return p.default.each(e, function(e) {
                        (new Date).getTime() - e.time > w ? delete t.readMessages[e.id] : i.push(e)
                    }), i
                }
            }, {
                key: "parseNewEvents",
                value: function(e) {
                    var t = this,
                        e = u.default.get("eBuffer");
                    e && p.default.each(e, function(e) {
                        !t.readMessages[e.id] && (new Date).getTime() - e.time < w && t.triggerEvent(e)
                    })
                }
            }, {
                key: "triggerEvent",
                value: function(e) {
                    this.readMessages[e.id] = !0, this.emitter.emit("tabsEvent_" + e.name, e.data)
                }
            }, {
                key: "on",
                value: function(e, t) {
                    return this.emitter.addListener("tabsEvent_" + e, t)
                }
            }]), e
        }();
    t.default = new y
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(2),
        o = a(n),
        r = i(3),
        l = a(r),
        s = i(5),
        u = a(s),
        d = i(10),
        c = a(d),
        f = c.default.name("COOKIE"),
        p = function() {
            function e() {
                (0, o.default)(this, e)
            }
            return (0, l.default)(e, [{
                key: "get",
                value: function(e) {
                    return this.cookie(e)
                }
            }, {
                key: "set",
                value: function(e, t, i) {
                    return this.cookie(e, t, i)
                }
            }, {
                key: "cookie",
                value: function(e, t, i) {
                    if ("__utmz" != e && (e = ["jv", e, u.default.widget_id].join("_")), arguments.length > 1 && "[object Object]" !== String(t)) {
                        if ("undefined" == typeof i && (i = {}), null === t || void 0 === t ? (f.log("Clearing COOKIE " + e), i.expires = -1) : f.log("Set COOKIE " + e + " with value " + t), "number" == typeof i.expires) {
                            var a = i.expires,
                                n = i.expires = new Date;
                            n.setDate(n.getDate() + a)
                        }
                        return t = String(t), document.cookie = [encodeURIComponent(e), "=", encodeURIComponent(t), i.expires ? "; expires=" + i.expires.toUTCString() : "", u.default.cookie_domain ? "; domain=" + u.default.cookie_domain : "", "; path=/"].join("")
                    }
                    i = t || {};
                    var o, r = i.raw ? function(e) {
                        return e
                    } : decodeURIComponent;
                    o = new RegExp("(?:^|; )" + encodeURIComponent(e) + "=([^;]*)").exec(document.cookie);
                    try {
                        o = o && o.length ? r(o[1]) : null
                    } catch (e) {
                        o = o[1]
                    }
                    return o
                }
            }]), e
        }();
    t.default = new p
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e, t) {
        return o(e, t)
    }

    function o(e, t) {
        return String(e).replace(P, t)
    }

    function r(e) {
        var t = "string" == typeof e ? parseInt(e, 16) : e;
        return t < 65536 ? L(t) : (t -= 65536, L(55296 + (t >> 10), 56320 + (1023 & t)))
    }

    function l(e, t) {
        for (var i = [], a = 0, n = 0, o = 0; o < e.length;) a = e.charCodeAt(o++), n ? (i.push((65536 + (n - 55296 << 10) + (a - 56320)).toString(16)), n = 0) : 55296 <= a && a <= 56319 ? n = a : i.push(a.toString(16));
        return i.join(t || "-")
    }

    function s(e) {
        return (0, O.staticUrl)("/images/emoji/" + e + ".svg", !0)
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var u = i(20),
        d = a(u),
        c = i(32),
        f = a(c),
        p = i(6),
        h = a(p),
        m = i(2),
        g = a(m),
        v = i(3),
        b = a(v),
        _ = i(8),
        w = a(_),
        y = i(7),
        x = a(y),
        k = i(4),
        j = a(k),
        C = i(11),
        E = a(C),
        M = i(9),
        S = a(M),
        T = i(370),
        z = a(T),
        O = i(1),
        N = i(145),
        I = a(N),
        A = {
            angel: "1f607",
            unicorn_face: "1f984",
            confused: "1f615",
            rage: "1f621",
            imp: "1f608",
            disappointed: "1f61e",
            kissing_heart: "1f618",
            yum: "1f60b",
            disappointed_relieved: "1f625",
            weary: "1f629",
            grin: "1f601",
            laughing: "1f606",
            wink: "1f609",
            sunglasses: "1f60e",
            neutral_face: "1f610",
            winking_eye: "1f61c",
            hushed: "1f62e",
            thumbsup: "1f44d",
            thumbsdown: "1f44e",
            smile: "1f603"
        },
        P = /\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc41\u200d\ud83d\udde8|(?:[\u0023\u002a\u0030-\u0039])\ufe0f?\u20e3|(?:(?:[\u261d\u270c])(?:\ufe0f|(?!\ufe0e))|\ud83c[\udf85\udfc2-\udfc4\udfc7\udfca\udfcb]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd75\udd90\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4-\udeb6\udec0]|\ud83e\udd18|[\u26f9\u270a\u270b\u270d])(?:\ud83c[\udffb-\udfff]|)|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf21\udf24-\udf84\udf86-\udf93\udf96\udf97\udf99-\udf9b\udf9e-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcc-\udff0\udff3-\udff5\udff7-\udfff]|\ud83d[\udc00-\udc41\udc44\udc45\udc51-\udc65\udc6a-\udc6d\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udca9\udcab-\udcfd\udcff-\udd3d\udd49-\udd4e\udd50-\udd67\udd6f\udd70\udd73\udd74\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\udecb-\uded0\udee0-\udee5\udee9\udeeb\udeec\udef0\udef3]|\ud83e[\udd10-\udd17\udd80-\udd84\uddc0]|[\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\u2602-\u2604\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638\u2692\u2694\u2696\u2697\u2699\u269b\u269c\u26b0\u26b1\u26c8\u26ce\u26cf\u26d1\u26d3\u26e9\u26f0\u26f1\u26f4\u26f7\u26f8\u2705\u271d\u2721\u2728\u274c\u274e\u2753-\u2755\u2763\u2795-\u2797\u27b0\u27bf\ue50a]|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37]|[\u00a9\u00ae\u203c\u2049\u2122\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600\u2601\u260e\u2611\u2614\u2615\u2639\u263a\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2693\u26a0\u26a1\u26aa\u26ab\u26bd\u26be\u26c4\u26c5\u26d4\u26ea\u26f2\u26f3\u26f5\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u2733\u2734\u2744\u2747\u2757\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))/g,
        L = String.fromCharCode,
        B = /\uFE0F/g,
        D = String.fromCharCode(8205),
        F = function(e) {
            function t(e) {
                (0, g.default)(this, t);
                var i = (0, w.default)(this, (t.__proto__ || (0, h.default)(t)).call(this, e));
                return i.icon = e.icon, i.customStyle = e.style || {}, i.className = e.className || "", i.type = i.getTypeIcon(e.icon), i
            }
            return (0, x.default)(t, e), (0, b.default)(t, [{
                key: "getTypeIcon",
                value: function(e) {
                    var t = this,
                        i = "img";
                    return S.default.each(A, function(a, n) {
                        e !== a && e !== n || (i = "div", e === a && (t.icon = n))
                    }), i
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        data: {},
                        styles: {
                            emojiIcon: [(0, f.default)({
                                emojiIcon: !0
                            }, this.className, !0)]
                        },
                        style: z.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = encodeURIComponent((0, I.default)(this.icon)),
                        a = "data:image/svg+xml," + i,
                        n = j.default.createElement("img", (0, d.default)({}, t.emojiIcon, {
                            draggable: !1,
                            alt: r(this.icon),
                            style: this.customStyle,
                            src: s(this.icon)
                        })),
                        o = j.default.createElement("jdiv", (0, d.default)({}, t.emojiIcon, {
                            style: this.customStyle,
                            "data-name": this.icon
                        }), j.default.createElement("img", {
                            src: a,
                            alt: r(A[this.icon])
                        }));
                    return "img" === this.type ? n : o
                }
            }], [{
                key: "cdnLinkToEmoji",
                value: function(e) {
                    return s(e)
                }
            }, {
                key: "fromCodePoint",
                value: function(e) {
                    return r(e)
                }
            }, {
                key: "toCodePoint",
                value: function(e, t) {
                    return l(e.indexOf(D) < 0 ? e.replace(B, "") : e, t)
                }
            }, {
                key: "parse",
                value: function(e, t) {
                    return n(e, t)
                }
            }, {
                key: "replace",
                value: function(e, t) {
                    return o(e, t)
                }
            }, {
                key: "getEmojiList",
                value: function() {
                    return A
                }
            }]), t
        }(E.default);
    t.default = F
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(10),
        y = a(w),
        x = i(12),
        k = a(x),
        j = i(16),
        C = a(j),
        E = i(1),
        M = i(15),
        S = a(M),
        T = i(13),
        z = a(T),
        O = i(34),
        N = a(O),
        I = i(5),
        A = a(I),
        P = i(371),
        L = a(P),
        B = (y.default.name("EulaPopup"), window.parent.location.protocol + A.default.base_url + "/script/eula/" + A.default.widget_id),
        D = null,
        F = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {
                    show: !1,
                    animate: !1,
                    checked: !1,
                    text: !1,
                    url: A.default.eula && A.default.eula.external_link ? A.default.eula.external_link : B
                }, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(k.default, function() {
                        k.default.show_eula && !k.default.eula_accepted && (e.setState({
                            show: !0,
                            text: k.default.show_eula
                        }), z.default.tablet() && (0, E.hasClass)((0, E.getPageWindow)().document.documentElement, "jivo-mobile-overlay") && document.activeElement && document.activeElement.blur(), setTimeout(function() {
                            e.setState({
                                animate: !0
                            })
                        }, 200))
                    })
                }
            }, {
                key: "submitCheckbox",
                value: function() {
                    var e = this;
                    this.setState({
                        checked: !this.state.checked
                    }), this.state.checked && D && (window.open(D), D = null), setTimeout(function() {
                        e.state.checked && (C.default.acceptEula(), C.default.showEula(!1), e.cancel())
                    }, 500)
                }
            }, {
                key: "cancel",
                value: function(e) {
                    var t = this;
                    this.setState({
                        animate: !1
                    }), setTimeout(function() {
                        t.setState({
                            show: !1
                        }), C.default.showEula(!1), e && (0, E.telemetry)("eula_cancel_btn", {
                            param1: globalStore.eulaContext
                        })
                    }, 200)
                }
            }, {
                key: "trackClick",
                value: function() {
                    (0, E.telemetry)("eula_link_clicked", {
                        param1: globalStore.eulaContext
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = document.getElementById("chat-content");
                    return {
                        styles: {
                            wrap: [{
                                "eula-popup": !0,
                                "show-popup": this.state.animate,
                                "mobile-version": z.default.mobile()
                            }, {
                                display: this.state.show ? "block" : "none",
                                minHeight: e && !z.default.mobile() ? e.clientHeight : null
                            }],
                            checkbox: [{
                                checkbox: !0,
                                checked: this.state.checked
                            }],
                            error: [{
                                error: !0
                            }, {
                                display: this.state.error ? "block" : "none"
                            }]
                        },
                        style: L.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", t.wrap, v.default.createElement("jdiv", {
                        className: L.default.popupContent
                    }, "string" == typeof this.state.text && v.default.createElement("jdiv", {
                        className: L.default.title,
                        dangerouslySetInnerHTML: {
                            __html: this.state.text
                        }
                    }), v.default.createElement("jdiv", {
                        className: L.default.text
                    }, v.default.createElement("jdiv", {
                        className: L.default.formText
                    }, v.default.createElement("jdiv", {
                        className: L.default.popupCheckbox
                    }, v.default.createElement("jdiv", (0, o.default)({}, t.checkbox, {
                        onClick: this.submitCheckbox.bind(this)
                    }), v.default.createElement(N.default, {
                        src: "icon_ok_white.svg",
                        className: "eula-icon"
                    }))), "!>3;0A5= =0 >1@01>B:C ?5@A>=0;L=KE 40==KE"), "!B02O >B<5B:C, O 40N A2>5 A>3;0A85 =0 >1@01>B:C <>8E ?5@A>=0;L=KE 40==KE 2 A>>B25BAB288 A 70:>=>< 152-$ � ?5@A>=0;L=KE 40==KE� >B 27.07.2006 8 ?@8=8<0N CA;>28O ", v.default.createElement("a", {
                        href: this.state.url,
                        onClick: this.trackClick.bind(this),
                        target: "_blank"
                    }, ">;L7>20B5;LA:>3>�A>3;0H5=8O"))), z.default.tablet() && v.default.createElement("jdiv", {
                        className: L.default.cancel,
                        onTouchEnd: this.cancel.bind(this)
                    }, (0, S.default)("cancel")), !z.default.tablet() && v.default.createElement("jdiv", {
                        className: L.default.cancel,
                        onClick: this.cancel.bind(this)
                    }, (0, S.default)("cancel")))
                }
            }], [{
                key: "setEulaLink",
                value: function(e) {
                    D = e
                }
            }]), t
        }(_.default);
    t.default = F
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(118),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(9),
        k = a(x),
        j = i(1),
        C = a(j),
        E = i(14),
        M = a(E),
        S = i(5),
        T = a(S),
        z = i(201),
        O = a(z),
        N = i(108),
        I = a(N),
        A = i(373),
        P = a(A),
        L = function(e) {
            function t(e) {
                (0, c.default)(this, t);
                var i = (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e));
                return i.parseCurrentPhone(), i.initState(), i.documentOnClicked = i.documentOnClicked.bind(i), i.documentOnKeyPress = i.documentOnKeyPress.bind(i), i
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this,
                        t = void 0;
                    this.on(M.default, function() {
                        M.default.client_info.phone !== t && (t = M.default.client_info.phone, e.parseCurrentPhone(), e.initState())
                    }), this.state.currentCountry.phone_format && this.setNumber()
                }
            }, {
                key: "initState",
                value: function() {
                    this.state = {
                        number: this.getCurrentNumber(),
                        showList: !1,
                        errorPhone: !1,
                        countries: this.getAllowCountries(),
                        currentCountry: this.getCurrentCountry(),
                        placeholder: this.getCurrentCountry().phone_format
                    }
                }
            }, {
                key: "parseCurrentPhone",
                value: function() {
                    M.default.client_info.phone && (this.clientPhoneInfo = C.default.getPhoneNumberInfo(M.default.client_info.phone))
                }
            }, {
                key: "getCurrentNumber",
                value: function() {
                    return this.clientPhoneInfo ? this.clientPhoneInfo.innerNumber : ""
                }
            }, {
                key: "getAllowCountries",
                value: function() {
                    return this.countries = this.countries || k.default.sortBy(T.default.callback_settings.countries, "name")
                }
            }, {
                key: "getCurrentCountry",
                value: function() {
                    var e = void 0;
                    e = this.clientPhoneInfo ? this.clientPhoneInfo.countryCode : T.default.geoip.split(";")[0];
                    var t = k.default.findWhere(this.getAllowCountries(), {
                        code: e
                    });
                    return t || this.getAllowCountries()[0]
                }
            }, {
                key: "toggleCountriesList",
                value: function(e) {
                    this.state.countries.length < 2 || (this.state.showList ? this.hideCountriesList() : this.showCountriesList(), e.stopPropagation())
                }
            }, {
                key: "showCountriesList",
                value: function() {
                    this.setState({
                        showList: !0,
                        isFocusedInput: !0
                    }), C.default.addListener(window.document, "keypress", this.documentOnKeyPress), C.default.addListener(window.document, "click", this.documentOnClicked)
                }
            }, {
                key: "hideCountriesList",
                value: function() {
                    this.setState({
                        showList: !1,
                        isFocusedInput: !1
                    }), C.default.removeEvent(window.document, "click", this.documentOnClicked), C.default.removeEvent(window.document, "keypress", this.documentOnKeyPress)
                }
            }, {
                key: "validPhoneNumber",
                value: function() {
                    if (this.state.currentCountry.phone_format) {
                        var e = this.state.currentCountry.phone_format.length,
                            t = this.refs.input.value.toString().length;
                        return t >= e - 1 && t <= e + 1
                    }
                    return this.getFullPhoneNumber().length > 9 && this.getFullPhoneNumber().length < 16
                }
            }, {
                key: "getFullPhoneNumber",
                value: function() {
                    return this.state.currentCountry.phone_code + this.state.number.replace(/\D+/g, "")
                }
            }, {
                key: "isShowErrorState",
                value: function() {
                    var e = void 0;
                    return e = 0 !== this.state.number.length && !this.validPhoneNumber()
                }
            }, {
                key: "inputOnBlur",
                value: function() {
                    this.setState({
                        isFocusedInput: !1,
                        invalidPhone: this.isShowErrorState()
                    })
                }
            }, {
                key: "inputOnFocus",
                value: function() {
                    this.setState({
                        isFocusedInput: !0,
                        showList: !1
                    })
                }
            }, {
                key: "inputOnInput",
                value: function() {
                    this.setNumber(), this.setState({
                        invalidPhone: this.isShowErrorState()
                    }), this.trigger("onChange", this.refs.input.value.toString().replace(/\D+/g, ""))
                }
            }, {
                key: "inputPhoneKeyUp",
                value: function(e) {
                    if (this.setNumber(), "keyup" === e.type && (13 === e.keyCode || 13 === e.which)) {
                        var t = this.validPhoneNumber();
                        t ? this.trigger("onEnter", this.getFullPhoneNumber()) : this.setState({
                            invalidPhone: !0
                        })
                    }
                }
            }, {
                key: "codeOnClick",
                value: function() {
                    this.refs.input.focus()
                }
            }, {
                key: "documentOnKeyPress",
                value: function(e) {
                    var t = this.getChar(e),
                        i = k.default.filter((0, l.default)(this.refs), function(e) {
                            return "link_" === e.substr(0, 5)
                        }),
                        a = k.default.find(i, function(e) {
                            return e.substr(5, 1).toUpperCase() === t.toUpperCase()
                        });
                    a && this.refs[a].scrollIntoView(!0)
                }
            }, {
                key: "documentOnClicked",
                value: function(e) {
                    e.target.closest("#countryList") || this.hideCountriesList()
                }
            }, {
                key: "getChar",
                value: function(e) {
                    return null == e.which ? e.keyCode < 32 ? null : String.fromCharCode(e.keyCode) : 0 != e.which && 0 != e.charCode ? e.which < 32 ? null : String.fromCharCode(e.which) : null
                }
            }, {
                key: "countrySelect",
                value: function(e) {
                    var t = e.delegateTarget.getAttribute("data-code");
                    this.setState({
                        currentCountry: k.default.findWhere(this.state.countries, {
                            code: t
                        })
                    }), this.setState({
                        showList: !1
                    }), this.setNumber(), this.setState({
                        placeholder: this.state.currentCountry.phone_format
                    }), this.setState({
                        invalidPhone: this.isShowErrorState()
                    }), this.refs.input.focus()
                }
            }, {
                key: "getFlagIconLink",
                value: function(e) {
                    var t = "/images/flags/" + e + ".png",
                        i = C.default.staticUrl(t, !0);
                    return 'url("' + i + '")'
                }
            }, {
                key: "setNumber",
                value: function() {
                    var e = this.refs.input.value.toString();
                    this.setState({
                        number: this.getMaskedNumber(e)
                    })
                }
            }, {
                key: "getMaskedNumber",
                value: function(e) {
                    return this.state.currentCountry.phone_format ? O.default.toPattern(e, this.state.currentCountry.phone_format) : e.replace(/\D+/g, "")
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = this.state.currentCountry.phone_format ? this.state.currentCountry.phone_format.length : 15 - this.state.currentCountry.phone_code.length,
                        t = this.state.currentCountry.phone_code.length + e,
                        i = !1;
                    return "single" === this.props.type && (this.state.currentCountry.phone_code.length > 2 && t > 12 || t > 13) && (i = !0), {
                        data: {
                            numberMaxLength: e
                        },
                        styles: {
                            container: [{
                                container: !0,
                                __singleMod: "single" === this.props.type,
                                __inFormMod: "inForm" === this.props.type
                            }],
                            inputWrap: [{
                                inputWrap: !0,
                                __focused: this.state.isFocusedInput,
                                __error: this.state.invalidPhone,
                                __smallTextSize: i
                            }],
                            input: [{
                                phoneInput: !0
                            }]
                        },
                        style: P.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this;
                    return _.default.createElement("jdiv", t.container, _.default.createElement("jdiv", t.inputWrap, _.default.createElement("jdiv", {
                        className: P.default.flagWrap,
                        onClick: this.toggleCountriesList.bind(this)
                    }, _.default.createElement("jdiv", {
                        className: P.default.flagIcon,
                        style: {
                            backgroundImage: this.getFlagIconLink(this.state.currentCountry.code)
                        }
                    }), _.default.createElement("jdiv", {
                        className: P.default.flagArrow,
                        style: {
                            display: this.state.countries.length < 2 ? "none" : null
                        }
                    }, "�")), _.default.createElement("jdiv", {
                        className: P.default.phoneCodeWrap,
                        onClick: this.codeOnClick.bind(this)
                    }, "+" + this.state.currentCountry.phone_code), _.default.createElement("input", (0, o.default)({}, t.input, {
                        ref: "input",
                        onBlur: this.inputOnBlur.bind(this),
                        placeholder: this.state.placeholder,
                        onFocus: this.inputOnFocus.bind(this),
                        type: "text",
                        maxlength: e.numberMaxLength,
                        value: this.getMaskedNumber(this.state.number),
                        onInput: this.inputOnInput.bind(this),
                        onKeyUp: this.inputPhoneKeyUp.bind(this)
                    }))), _.default.createElement("jdiv", {
                        id: "countryList",
                        className: P.default.countryWrap,
                        style: {
                            display: this.state.showList ? "block" : "none"
                        }
                    }, _.default.createElement(I.default, {
                        ref: "scrollContainer"
                    }, _.default.createElement("jdiv", {
                        className: P.default.countryList,
                        onClick: this.delegate("listItem", this.countrySelect.bind(this))
                    }, this.state.countries.map(function(e, t) {
                        return _.default.createElement("jdiv", {
                            className: P.default.listItem,
                            key: t,
                            dgName: "listItem",
                            "data-code": e.code,
                            ref: "link_" + e.name
                        }, _.default.createElement("jdiv", {
                            className: P.default.flagIcon + " " + P.default.list,
                            style: {
                                backgroundImage: i.getFlagIconLink(e.code)
                            }
                        }), _.default.createElement("jdiv", {
                            className: P.default.countryName
                        }, e.name), _.default.createElement("jdiv", {
                            className: P.default.countryCode
                        }, "+" + e.phone_code))
                    })))))
                }
            }, {
                key: "focus",
                value: function() {
                    this.refs.input.focus()
                }
            }, {
                key: "getValue",
                value: function() {
                    return "+" + this.getFullPhoneNumber()
                }
            }, {
                key: "isValid",
                value: function e() {
                    var e = this.validPhoneNumber();
                    return this.setState({
                        invalidPhone: !e
                    }), e
                }
            }]), t
        }(y.default);
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(375),
        y = a(w),
        x = i(51),
        k = a(x),
        j = i(15),
        C = a(j),
        E = i(13),
        M = a(E),
        S = (i(1), i(9)),
        T = a(S),
        z = i(23),
        O = a(z),
        N = i(26),
        I = (a(N), i(16)),
        A = (a(I), i(24)),
        P = (a(A), i(12)),
        L = (a(P), i(14)),
        B = (a(L), i(5)),
        D = (a(B), function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {
                    textSize: O.default.getTextSize()
                }, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    O.default.listenChangeZoom(function() {
                        e.setState({
                            textSize: O.default.getTextSize()
                        })
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = T.default.find(this.props.messages, function(e) {
                        return "notDelivered" === e.get("status")
                    });
                    return {
                        styles: {
                            main: [{
                                main: !0,
                                _mobile: M.default.mobile()
                            }, {
                                "-webkit-text-size-adjust": this.state.textSize
                            }],
                            time: [{
                                time: !0,
                                _mobile: M.default.mobile()
                            }, {
                                "-webkit-text-size-adjust": this.state.textSize
                            }],
                            error: [{
                                sendErrorMessage: !0
                            }, {
                                display: e ? "block" : "none"
                            }]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.time;
                    return v.default.createElement("jdiv", t.main, v.default.createElement("jdiv", {
                        class: y.default.content
                    }, this.props.children), v.default.createElement("jdiv", t.error, (0, C.default)("error_send")), v.default.createElement("jdiv", {
                        class: y.default.pip
                    }), v.default.createElement("jdiv", (0, o.default)({}, t.time, {
                        title: (0, k.default)(i, "dd.mm.yy H:MM:ss")
                    }), (0, k.default)(i, "H:MM")))
                }
            }]), t
        }(_.default));
    t.default = D
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(378),
        _ = a(b),
        w = i(10),
        y = a(w),
        x = i(15),
        k = a(x),
        j = i(1),
        C = i(26),
        E = a(C),
        M = i(16),
        S = a(M),
        T = i(24),
        z = a(T),
        O = i(12),
        N = a(O),
        I = i(14),
        A = a(I),
        P = i(54),
        L = a(P),
        B = i(13),
        D = a(B),
        F = i(30),
        H = a(F),
        R = i(21),
        W = a(R),
        V = y.default.name("MessageEmail"),
        q = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    submit: !1,
                    email: !1,
                    emailForm: !0,
                    emailError: !0,
                    submittedOnce: !1
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    V.log("mounted"), this.on(N.default, function() {
                        N.default.eula_accepted && e.email && L.default.eula && e.saveChatEmail()
                    })
                }
            }, {
                key: "blurInput",
                value: function(e) {
                    S.default.onBlur(e)
                }
            }, {
                key: "focusInput",
                value: function(e) {
                    S.default.onFocus(e)
                }
            }, {
                key: "saveChatEmail",
                value: function(e) {
                    e && e.preventDefault(), V.log("saveChatEmail");
                    var t = this.refs.inputChatEmail.value;
                    (0, j.isValidValue_email)(t) ? !N.default.eula_accepted && L.default.eula ? (this.email = t, this.setState({
                        email: t
                    }), S.default.showEula(!0, null, "messageEmail")) : ((0, j.addClass)(this.refs.saveChatEmail, "emailSent"), this.setState({
                        submit: !0,
                        email: t
                    }), E.default.trackSystemMessageEmailSubmitted(), A.default.client_info.email = t, z.default.sendIfConnected({
                        name: "introduction",
                        client_name: A.default.client_info.client_name,
                        phone: A.default.client_info.phone,
                        email: t,
                        description: A.default.client_info.description
                    }), (0, j.telemetry)("Introduce message email submitted"), document.getElementById("input-field").focus(), this.email = !1, W.default.trigger("update")): this.setState({
                        emailError: !0,
                        submittedOnce: !0
                    })
                }
            }, {
                key: "typeEmail",
                value: function(e) {
                    return e.keyCode && 13 == e.keyCode ? void this.saveChatEmail() : void((0, j.isValidValue_email)(this.refs.inputChatEmail.value) ? this.setState({
                        emailError: !1
                    }) : this.state.submittedOnce && this.setState({
                        emailError: !0
                    }))
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = {
                        box: !0,
                        _finished: this.state.submit,
                        socialEmail: !0
                    };
                    e["_" + L.default.bubble_color] = !0, D.default.tablet() && (e._tablet = !0);
                    var t = {
                        pip: !0
                    };
                    return t["_" + L.default.bubble_color] = !0, {
                        styles: {
                            box: [e, {
                                display: this.state.emailForm ? "block" : "none"
                            }],
                            emailBlock: [{
                                emailBlock: !0,
                                _error: this.state.emailError && this.state.submittedOnce
                            }],
                            emailFinished: [{
                                emailFinished: !0
                            }, {
                                display: this.state.submit ? "block" : "none"
                            }],
                            pip: [t]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return m.default.createElement("jdiv", {
                        className: _.default.wrap
                    }, m.default.createElement("jdiv", t.box, m.default.createElement("jdiv", {
                        className: _.default.form,
                        ref: "saveChatEmail"
                    }, m.default.createElement("jdiv", {
                        className: _.default.emailText
                    }, this.props.messages[0].get("text")), m.default.createElement("jdiv", t.emailBlock, m.default.createElement("input", {
                        onKeyUp: this.typeEmail.bind(this),
                        onBlur: this.blurInput.bind(this),
                        onFocus: this.focusInput.bind(this),
                        placeholder: (0, k.default)("lblYourEmail"),
                        className: _.default.emailInput,
                        ref: "inputChatEmail"
                    }), m.default.createElement("jdiv", {
                        onTouchEnd: this.saveChatEmail.bind(this),
                        onClick: this.saveChatEmail.bind(this),
                        className: _.default.emailButton
                    }, m.default.createElement(H.default, {
                        iconName: "icon-ok-white",
                        className: _.default.emailOk
                    }), m.default.createElement(H.default, {
                        iconName: "icon-v-email",
                        className: _.default.emailError
                    })))), m.default.createElement("jdiv", t.emailFinished, m.default.createElement("jdiv", {
                        className: _.default.emailText
                    }, m.default.createElement("jdiv", {
                        dangerouslySetInnerHTML: {
                            __html: (0, k.default)("social_success_email").replace("_EMAIL_", this.state.email)
                        }
                    })))), m.default.createElement("jdiv", t.pip))
                }
            }]), t
        }(v.default);
    t.default = q
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(380),
        k = a(x),
        j = i(49),
        C = a(j),
        E = i(104),
        M = a(E),
        S = i(101),
        T = a(S),
        z = i(117),
        O = a(z),
        N = i(9),
        I = a(N),
        A = i(4),
        P = a(A),
        L = i(13),
        B = a(L),
        D = i(23),
        F = a(D),
        H = i(1),
        R = (a(H), i(51)),
        W = (a(R), i(59)),
        V = (a(W), i(10)),
        q = (a(V), i(15)),
        U = (a(q), i(26)),
        G = (a(U), i(16)),
        X = (a(G), i(24)),
        Z = (a(X), i(12)),
        Y = (a(Z), i(14)),
        K = (a(Y), i(54)),
        J = a(K),
        Q = i(34),
        $ = (a(Q), function(e) {
            function t(e) {
                (0, c.default)(this, t);
                var i = (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e));
                return i.state = {
                    lineHeight: B.default.iphone() ? F.default.getLineHeight() : null
                }, i
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    F.default.listenChangeZoom(function() {
                        e.setState({
                            lineHeight: B.default.iphone() ? F.default.getLineHeight() : null
                        })
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            main: [(0, l.default)({
                                main: !0,
                                __mobile: B.default.mobile()
                            }, this.isAgentMessage() ? "__agent" : "__client", !0)],
                            message: [{
                                message: !0
                            }, {
                                lineHeight: this.state.lineHeight
                            }]
                        },
                        style: k.default
                    }
                }
            }, {
                key: "isAgentMessage",
                value: function() {
                    var e = this.props.messages[0].toJSON();
                    return "agent" === e.from || "proactive" === e.type
                }
            }, {
                key: "replaceEmoji",
                value: function(e) {
                    var t = 0,
                        i = void 0,
                        a = !1;
                    return T.default.parse(e, function() {
                        return t++, ""
                    }), 1 === t && 1 === e.match(/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g).length && (a = !0), i = T.default.replace(e, function(e) {
                        var t = T.default.toCodePoint(e),
                            i = document.createElement("div"),
                            n = {};
                        return a && (n = {
                            width: "30px",
                            height: "30px",
                            lineHeight: "30px",
                            fontSize: "30px"
                        }), P.default.render(_.default.createElement(T.default, {
                            icon: t,
                            className: "emoji-messages",
                            style: n
                        }), i), i.childNodes[0].outerHTML
                    })
                }
            }, {
                key: "formatText",
                value: function(e) {
                    var t = e;
                    return t ? ("proactive" !== this.props.messages[0].get("type") && (t = I.default.escape(t)), t = t.replace(/(?:\r\n|\r|\n)/g, "<br />"), t = (0, O.default)(t), t = J.default.disable_emoji ? t : this.replaceEmoji(t)) : e
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this,
                        a = this.props.messages,
                        n = a[a.length - 1].get("created_ts"),
                        r = a[0].isAgentMessage() ? C.default : M.default;
                    return _.default.createElement(r, {
                        time: n,
                        messages: this.props.messages
                    }, _.default.createElement("jdiv", t.main, this.props.messages.map(function(e) {
                        return _.default.createElement("jdiv", (0, o.default)({}, t.message, {
                            dangerouslySetInnerHTML: {
                                __html: i.formatText(e.get("text"))
                            }
                        }))
                    })))
                }
            }]), t
        }(y.default));
    t.default = $
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(54),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(15),
        y = (a(w), i(13)),
        x = a(y),
        k = i(1),
        j = i(16),
        C = a(j),
        E = i(186),
        M = a(E),
        S = i(159),
        T = a(S),
        z = _.default.name("Social"),
        O = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                i.state = {
                    vk: !(!v.default.joint || !v.default.joint.vk),
                    fb: !(!v.default.joint || !v.default.joint.fb),
                    mode: !1
                };
                var a = C.default.getSocial();
                return a && i.checkLogin(!0, a), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentWillMount",
                value: function() {
                    return v.default.joint && !x.default.mobileOrTablet() || 3 != v.default.contacts_ask ? void(v.default.joint && (v.default.joint.vk || v.default.joint.fb) && (0, k.addListener)(window, "message", this.checkLogin.bind(this), !1)) : void this.setState({
                        mode: "email"
                    })
                }
            }, {
                key: "checkLogin",
                value: function(e, t) {
                    if (!e) return void z.log("postMessage from social failed: ", e);
                    if (t && (e = {
                            data: {
                                social: t
                            }
                        }), z.log(e.data), e.data && e.data.social) {
                        var i = {},
                            a = e.data.social;
                        a.fb && (i.fb = !0, i.vk = !1, i.mode = "fb", (0, k.telemetry)("social_show_facebook")), a.vk && (i.vk = !0, i.fb = !1, i.mode = "vk", (0, k.telemetry)("social_show_vk")), a.fb || a.vk || (i.vk = !1, i.fb = !1, i.show = !1, i.popup = !1, i.mode = "email", (0, k.telemetry)("social_configured_not_logged")), C.default.setSocial({
                            vk: i.vk,
                            fb: i.fb
                        }), this.setState(i)
                    }
                }
            }, {
                key: "renderCheckIframe",
                value: function() {
                    var e = (0, k.checkSocial)();
                    if (e) {
                        var t = (0, k.genSocialIframeUrl)(e) + "#rand=" + (new Date).getMilliseconds() + ",lang=" + v.default.locale,
                            i = document.createElement("iframe");
                        i.src = t, i.className = "check-iframe", document.body.appendChild(i)
                    }
                }
            }, {
                key: "render",
                value: function() {
                    return "input" == this.props.type && this.state.mode ? m.default.createElement("div", {
                        className: "wrap-render"
                    }, m.default.createElement(M.default, {
                        mode: this.state
                    })) : this.props.messages && this.state.mode ? m.default.createElement("div", {
                        className: "wrap-render"
                    }, m.default.createElement(T.default, {
                        mode: this.state,
                        classes: this.props.classes
                    })) : m.default.createElement("div", {
                        className: "wrap-render"
                    }, this.renderCheckIframe())
                }
            }]), t
        }(m.default.Component);
    t.default = O
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e) {
        return j.default.createElement("jdiv", e)
    }

    function o(e) {
        var t = e.style,
            i = (0, x.default)(e, ["style"]),
            a = (0, w.default)({}, t, {
                right: 2,
                bottom: 2,
                left: 2,
                borderRadius: 3
            });
        return j.default.createElement("jdiv", (0, w.default)({
            style: a
        }, i))
    }

    function r(e, t) {
        var i = e.style,
            a = (0, x.default)(e, ["style"]),
            n = (0, w.default)({}, i, {
                right: 7,
                bottom: 2,
                top: t || 2,
                borderRadius: 3
            });
        return j.default.createElement("jdiv", (0, w.default)({
            class: "scrollbar-rail",
            style: n
        }, a))
    }

    function l(e) {
        var t = e.style,
            i = (0, x.default)(e, ["style"]),
            a = (0, w.default)({}, t, {
                cursor: "pointer",
                borderRadius: "inherit",
                backgroundColor: "#d6dce4"
            });
        return j.default.createElement("jdiv", (0, w.default)({
            style: a
        }, i))
    }

    function s(e) {
        var t = e.style,
            i = (0, x.default)(e, ["style"]),
            a = (0, w.default)({}, t, {
                cursor: "pointer",
                borderRadius: "inherit",
                backgroundColor: "#d6dce4"
            });
        return j.default.createElement("jdiv", (0, w.default)({
            class: "scrollbar",
            style: a
        }, i))
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var u = i(6),
        d = a(u),
        c = i(2),
        f = a(c),
        p = i(3),
        h = a(p),
        m = i(8),
        g = a(m),
        v = i(7),
        b = a(v),
        _ = i(20),
        w = a(_),
        y = i(214),
        x = a(y),
        k = i(4),
        j = a(k),
        C = i(11),
        E = a(C),
        M = i(1),
        S = a(M),
        T = i(307),
        z = a(T),
        O = i(284),
        N = a(O),
        I = i(13),
        A = a(I),
        P = i(158),
        L = S.default.getInnerWidth,
        B = S.default.getInnerHeight,
        D = S.default.getScrollBarWidth,
        F = function() {
            return "string" == typeof maybe
        },
        H = function() {
            return !1
        },
        R = void 0,
        W = void 0,
        V = function(e) {
            function t(e) {
                var i;
                (0, f.default)(this, t);
                for (var a = arguments.length, n = Array(a > 1 ? a - 1 : 0), o = 1; o < a; o++) n[o - 1] = arguments[o];
                var r = (0, g.default)(this, (i = t.__proto__ || (0, d.default)(t)).call.apply(i, [this, e].concat(n)));
                return r.getScrollLeft = r.getScrollLeft.bind(r), r.getScrollTop = r.getScrollTop.bind(r), r.getScrollWidth = r.getScrollWidth.bind(r), r.getScrollHeight = r.getScrollHeight.bind(r), r.getClientWidth = r.getClientWidth.bind(r), r.getClientHeight = r.getClientHeight.bind(r), r.getValues = r.getValues.bind(r), r.getThumbHorizontalWidth = r.getThumbHorizontalWidth.bind(r), r.getThumbVerticalHeight = r.getThumbVerticalHeight.bind(r), r.getScrollLeftForOffset = r.getScrollLeftForOffset.bind(r), r.getScrollTopForOffset = r.getScrollTopForOffset.bind(r), r.scrollLeft = r.scrollLeft.bind(r), r.scrollTop = r.scrollTop.bind(r), r.scrollToLeft = r.scrollToLeft.bind(r), r.scrollToTop = r.scrollToTop.bind(r), r.scrollToRight = r.scrollToRight.bind(r), r.scrollToBottom = r.scrollToBottom.bind(r), r.handleTrackMouseEnter = r.handleTrackMouseEnter.bind(r), r.handleTrackMouseLeave = r.handleTrackMouseLeave.bind(r), r.handleHorizontalTrackMouseDown = r.handleHorizontalTrackMouseDown.bind(r), r.handleVerticalTrackMouseDown = r.handleVerticalTrackMouseDown.bind(r), r.handleHorizontalThumbMouseDown = r.handleHorizontalThumbMouseDown.bind(r), r.handleVerticalThumbMouseDown = r.handleVerticalThumbMouseDown.bind(r), r.handleWindowResize = r.handleWindowResize.bind(r), r.handleScroll = r.handleScroll.bind(r), r.handleMouseWheel = r.handleMouseWheel.bind(r), r.handleDrag = r.handleDrag.bind(r), r.handleDragEnd = r.handleDragEnd.bind(r), r.state = {
                    didMountUniversal: !1
                }, r
            }
            return (0, b.default)(t, e), (0, h.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    this.addListeners(), this.update(), this.componentDidMountUniversal()
                }
            }, {
                key: "componentDidMountUniversal",
                value: function() {
                    var e = this.props.universal;
                    e && this.setState({
                        didMountUniversal: !0
                    })
                }
            }, {
                key: "componentDidUpdate",
                value: function() {
                    this.update()
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.removeListeners(), (0, T.cancel)(this.requestFrame), clearTimeout(this.hideTracksTimeout), clearInterval(this.detectScrollingInterval)
                }
            }, {
                key: "getScrollLeft",
                value: function() {
                    return this.view.scrollLeft
                }
            }, {
                key: "getScrollTop",
                value: function() {
                    return this.view.scrollTop
                }
            }, {
                key: "getScrollWidth",
                value: function() {
                    return this.view.scrollWidth
                }
            }, {
                key: "getScrollHeight",
                value: function() {
                    return this.view.scrollHeight
                }
            }, {
                key: "getClientWidth",
                value: function() {
                    return this.view.clientWidth
                }
            }, {
                key: "getClientHeight",
                value: function() {
                    return this.view.clientHeight
                }
            }, {
                key: "getValues",
                value: function() {
                    var e = this.view,
                        t = e.scrollLeft,
                        i = e.scrollTop,
                        a = e.scrollWidth,
                        n = e.scrollHeight,
                        o = e.clientWidth,
                        r = e.clientHeight;
                    return {
                        left: t / (a - o) || 0,
                        top: i / (n - r) || 0,
                        scrollLeft: t,
                        scrollTop: i,
                        scrollWidth: a,
                        scrollHeight: n,
                        clientWidth: o,
                        clientHeight: r
                    }
                }
            }, {
                key: "getThumbHorizontalWidth",
                value: function() {
                    var e = this.props,
                        t = e.thumbSize,
                        i = e.thumbMinSize,
                        a = this.view,
                        n = a.scrollWidth,
                        o = a.clientWidth,
                        r = L(this.trackHorizontal),
                        l = Math.ceil(o / n * r);
                    return r === l ? 0 : t ? t : Math.max(l, i)
                }
            }, {
                key: "getThumbVerticalHeight",
                value: function() {
                    var e = this.props,
                        t = e.thumbSize,
                        i = e.thumbMinSize,
                        a = this.view,
                        n = a.scrollHeight,
                        o = a.clientHeight,
                        r = B(this.trackVertical),
                        l = Math.ceil(o / n * r);
                    return r === l ? 0 : t ? t : Math.max(l, i)
                }
            }, {
                key: "getScrollLeftForOffset",
                value: function(e) {
                    var t = this.view,
                        i = t.scrollWidth,
                        a = t.clientWidth,
                        n = L(this.trackHorizontal),
                        o = this.getThumbHorizontalWidth();
                    return e / (n - o) * (i - a)
                }
            }, {
                key: "getScrollTopForOffset",
                value: function(e) {
                    var t = this.view,
                        i = t.scrollHeight,
                        a = t.clientHeight,
                        n = B(this.trackVertical),
                        o = this.getThumbVerticalHeight();
                    return e / (n - o) * (i - a)
                }
            }, {
                key: "scrollLeft",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                    this.view.scrollLeft = e
                }
            }, {
                key: "scrollTop",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
                    this.view.scrollTop = e
                }
            }, {
                key: "scrollToLeft",
                value: function() {
                    this.view.scrollLeft = 0
                }
            }, {
                key: "scrollToTop",
                value: function() {
                    this.view.scrollTop = 0
                }
            }, {
                key: "scrollToRight",
                value: function() {
                    this.view.scrollLeft = this.view.scrollWidth
                }
            }, {
                key: "scrollToBottom",
                value: function() {
                    this.view.scrollTop = this.view.scrollHeight, A.default.ipad() && this.setBottomPosition()
                }
            }, {
                key: "setBottomPosition",
                value: function() {
                    R = this.view.childNodes[0].clientHeight - (this.container.parentNode.clientHeight || 254), this.view.style.bottom = R + "px"
                }
            }, {
                key: "addListeners",
                value: function() {
                    if ("undefined" != typeof document) {
                        var e = this.view,
                            t = this.trackHorizontal,
                            i = this.trackVertical,
                            a = this.thumbHorizontal,
                            n = this.thumbVertical;
                        e.addEventListener("scroll", this.handleScroll), A.default.ipad() && e.addEventListener("touchmove", this.handleTouchMove.bind(this)), A.default.ipad() && e.addEventListener("touchstart", this.handleTouchStart.bind(this)), e.addEventListener("mousewheel", this.handleMouseWheel), D() && (t && (t.addEventListener("mouseenter", this.handleTrackMouseEnter), t.addEventListener("mouseleave", this.handleTrackMouseLeave), t.addEventListener("mousedown", this.handleHorizontalTrackMouseDown)), i.addEventListener("mouseenter", this.handleTrackMouseEnter), i.addEventListener("mouseleave", this.handleTrackMouseLeave), i.addEventListener("mousedown", this.handleVerticalTrackMouseDown), a && a.addEventListener("mousedown", this.handleHorizontalThumbMouseDown), n.addEventListener("mousedown", this.handleVerticalThumbMouseDown), window.addEventListener("resize", this.handleWindowResize))
                    }
                }
            }, {
                key: "removeListeners",
                value: function() {
                    if ("undefined" != typeof document) {
                        var e = this.view,
                            t = this.trackHorizontal,
                            i = this.trackVertical,
                            a = this.thumbHorizontal,
                            n = this.thumbVertical;
                        e.removeEventListener("scroll", this.handleScroll), e.removeEventListener("mousewheel", this.handleMouseWheel), D() && (t && (t.removeEventListener("mouseenter", this.handleTrackMouseEnter), t.removeEventListener("mouseleave", this.handleTrackMouseLeave), t.removeEventListener("mousedown", this.handleHorizontalTrackMouseDown)), i && (i.removeEventListener("mouseenter", this.handleTrackMouseEnter), i.removeEventListener("mouseleave", this.handleTrackMouseLeave), i.removeEventListener("mousedown", this.handleVerticalTrackMouseDown)), a && a.removeEventListener("mousedown", this.handleHorizontalThumbMouseDown), n && n.removeEventListener("mousedown", this.handleVerticalThumbMouseDown), window.removeEventListener("resize", this.handleWindowResize), this.teardownDragging())
                    }
                }
            }, {
                key: "handleScroll",
                value: function(e) {
                    var t = this,
                        i = this.props,
                        a = i.onScroll,
                        n = i.onScrollFrame;
                    a && a(e), this.update(function(e) {
                        var i = e.scrollLeft,
                            a = e.scrollTop;
                        t.viewScrollLeft = i, t.viewScrollTop = a, n && n(e)
                    }), this.detectScrolling()
                }
            }, {
                key: "handleTouchMove",
                value: function(e) {
                    if (["INPUT", "TEXTAREA"].indexOf(e.target.tagName) === -1) {
                        e.stopPropagation(), e.preventDefault();
                        var t = this.view.childNodes[0].clientHeight - this.container.parentNode.clientHeight,
                            i = R - (e.touches[0].pageY + W);
                        t > i && 0 < i && (R -= e.touches[0].pageY + W, this.view.style.bottom = R + "px")
                    }
                }
            }, {
                key: "handleTouchStart",
                value: function(e) {
                    ["INPUT", "TEXTAREA"].indexOf(e.target.tagName) === -1 && (e.stopPropagation(), e.preventDefault(), W = -1 * e.touches[0].pageY)
                }
            }, {
                key: "handleMouseWheel",
                value: function(e) {
                    var t = e.wheelDelta || e.originalEvent && e.originalEvent.wheelDelta || -e.detail,
                        i = this.view.scrollTop + this.view.clientHeight - this.view.scrollHeight >= 0,
                        a = this.view.scrollTop <= 0;
                    (t < 0 && i || t > 0 && a) && e.preventDefault()
                }
            }, {
                key: "handleScrollStart",
                value: function() {
                    var e = this.props.onScrollStart;
                    e && e(), this.handleScrollStartAutoHide()
                }
            }, {
                key: "handleScrollStartAutoHide",
                value: function() {
                    var e = this.props.autoHide;
                    e && this.showTracks()
                }
            }, {
                key: "handleScrollStop",
                value: function() {
                    var e = this.props.onScrollStop;
                    e && e(), this.handleScrollStopAutoHide()
                }
            }, {
                key: "handleScrollStopAutoHide",
                value: function() {
                    var e = this.props.autoHide;
                    e && this.hideTracks()
                }
            }, {
                key: "handleWindowResize",
                value: function() {
                    this.update()
                }
            }, {
                key: "handleHorizontalTrackMouseDown",
                value: function(e) {
                    e.preventDefault();
                    var t = e.target,
                        i = e.clientX,
                        a = t.getBoundingClientRect(),
                        n = a.left,
                        o = this.getThumbHorizontalWidth(),
                        r = Math.abs(n - i) - o / 2;
                    this.view.scrollLeft = this.getScrollLeftForOffset(r)
                }
            }, {
                key: "handleVerticalTrackMouseDown",
                value: function(e) {
                    e.preventDefault();
                    var t = e.target,
                        i = e.clientY,
                        a = t.getBoundingClientRect(),
                        n = a.top,
                        o = this.getThumbVerticalHeight(),
                        r = Math.abs(n - i) - o / 2;
                    this.view.scrollTop = this.getScrollTopForOffset(r)
                }
            }, {
                key: "handleHorizontalThumbMouseDown",
                value: function(e) {
                    e.preventDefault(), this.handleDragStart(e);
                    var t = e.target,
                        i = e.clientX,
                        a = t.offsetWidth,
                        n = t.getBoundingClientRect(),
                        o = n.left;
                    this.prevPageX = a - (i - o)
                }
            }, {
                key: "handleVerticalThumbMouseDown",
                value: function(e) {
                    e.preventDefault(), this.handleDragStart(e);
                    var t = e.target,
                        i = e.clientY,
                        a = t.offsetHeight,
                        n = t.getBoundingClientRect(),
                        o = n.top;
                    this.prevPageY = a - (i - o)
                }
            }, {
                key: "setupDragging",
                value: function() {
                    (0, N.default)(document.body, P.disableSelectStyle), document.addEventListener("mousemove", this.handleDrag), document.addEventListener("mouseup", this.handleDragEnd), document.onselectstart = H
                }
            }, {
                key: "teardownDragging",
                value: function() {
                    (0, N.default)(document.body, P.disableSelectStyleReset), document.removeEventListener("mousemove", this.handleDrag), document.removeEventListener("mouseup", this.handleDragEnd), document.onselectstart = void 0
                }
            }, {
                key: "handleDragStart",
                value: function(e) {
                    this.dragging = !0, e.stopImmediatePropagation(), this.setupDragging()
                }
            }, {
                key: "handleDrag",
                value: function(e) {
                    if (this.prevPageX) {
                        var t = e.clientX,
                            i = this.trackHorizontal.getBoundingClientRect(),
                            a = i.left,
                            n = this.getThumbHorizontalWidth(),
                            o = n - this.prevPageX,
                            r = -a + t - o;
                        this.view.scrollLeft = this.getScrollLeftForOffset(r)
                    }
                    if (this.prevPageY) {
                        var l = e.clientY,
                            s = this.trackVertical.getBoundingClientRect(),
                            u = s.top,
                            d = this.getThumbVerticalHeight(),
                            c = d - this.prevPageY,
                            f = -u + l - c;
                        this.view.scrollTop = this.getScrollTopForOffset(f)
                    }
                    return !1
                }
            }, {
                key: "handleDragEnd",
                value: function() {
                    this.dragging = !1, this.prevPageX = this.prevPageY = 0, this.teardownDragging(), this.handleDragEndAutoHide()
                }
            }, {
                key: "handleDragEndAutoHide",
                value: function() {
                    var e = this.props.autoHide;
                    e && this.hideTracks()
                }
            }, {
                key: "handleTrackMouseEnter",
                value: function() {
                    this.trackMouseOver = !0, this.handleTrackMouseEnterAutoHide()
                }
            }, {
                key: "handleTrackMouseEnterAutoHide",
                value: function() {
                    var e = this.props.autoHide;
                    e && this.showTracks()
                }
            }, {
                key: "handleTrackMouseLeave",
                value: function() {
                    this.trackMouseOver = !1, this.handleTrackMouseLeaveAutoHide()
                }
            }, {
                key: "handleTrackMouseLeaveAutoHide",
                value: function() {
                    var e = this.props.autoHide;
                    e && this.hideTracks()
                }
            }, {
                key: "showTracks",
                value: function() {
                    clearTimeout(this.hideTracksTimeout), (0, N.default)(this.trackHorizontal, {
                        opacity: 1
                    }), (0, N.default)(this.trackVertical, {
                        opacity: 1
                    })
                }
            }, {
                key: "hideTracks",
                value: function() {
                    var e = this;
                    if (!this.dragging && !this.scrolling && !this.trackMouseOver) {
                        var t = this.props.autoHideTimeout;
                        clearTimeout(this.hideTracksTimeout), this.hideTracksTimeout = setTimeout(function() {
                            (0, N.default)(e.trackHorizontal, {
                                opacity: 0
                            }), (0, N.default)(e.trackVertical, {
                                opacity: 0
                            })
                        }, t)
                    }
                }
            }, {
                key: "detectScrolling",
                value: function() {
                    var e = this;
                    this.scrolling || (this.scrolling = !0, this.handleScrollStart(), this.detectScrollingInterval = setInterval(function() {
                        e.lastViewScrollLeft === e.viewScrollLeft && e.lastViewScrollTop === e.viewScrollTop && (clearInterval(e.detectScrollingInterval), e.scrolling = !1, e.handleScrollStop()), e.lastViewScrollLeft = e.viewScrollLeft, e.lastViewScrollTop = e.viewScrollTop
                    }, 100))
                }
            }, {
                key: "raf",
                value: function(e) {
                    var t = this;
                    this.requestFrame && z.default.cancel(this.requestFrame), this.requestFrame = (0, z.default)(function() {
                        t.requestFrame = void 0, e()
                    })
                }
            }, {
                key: "update",
                value: function(e) {
                    var t = this;
                    this.raf(function() {
                        return t._update(e)
                    })
                }
            }, {
                key: "_update",
                value: function(e) {
                    var t = this.props,
                        i = t.onUpdate,
                        a = t.hideTracksWhenNotNeeded,
                        n = this.getValues();
                    if (D() || A.default.ipad()) {
                        if (this.trackHorizontal) {
                            n.scrollLeft, n.clientWidth, n.scrollWidth, L(this.trackHorizontal), this.getThumbHorizontalWidth()
                        }
                        var o = n.scrollTop,
                            r = n.clientHeight,
                            l = n.scrollHeight,
                            s = B(this.trackVertical),
                            u = this.getThumbVerticalHeight();
                        A.default.ipad() && (r = this.container.parentNode.clientHeight, l = this.view.childNodes[0].clientHeight);
                        var d = o / (l - r) * (s - u),
                            c = {
                                height: u,
                                transform: "translateY(" + d + "px)"
                            };
                        if (a) {
                            if (this.trackHorizontal) {
                                var f = {
                                    visibility: scrollWidth > clientWidth ? "visible" : "hidden"
                                };
                                (0, N.default)(this.trackHorizontal, f)
                            }
                            var p = {
                                visibility: l > r ? "visible" : "hidden"
                            };
                            (0, N.default)(this.trackVertical, p)
                        }
                        this.thumbHorizontal && (0, N.default)(this.thumbHorizontal, thumbHorizontalStyle), (0, N.default)(this.thumbVertical, c)
                    }
                    i && i(n), "function" == typeof e && e(n)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = D(),
                        i = this.props,
                        a = (i.onScroll, i.onScrollFrame, i.onScrollStart, i.onScrollStop, i.onUpdate, i.renderView),
                        n = i.renderTrackHorizontal,
                        o = i.renderTrackVertical,
                        r = i.renderThumbHorizontal,
                        l = i.renderThumbVertical,
                        s = i.tagName,
                        u = (i.hideTracksWhenNotNeeded, i.autoHide),
                        d = (i.autoHideTimeout, i.autoHideDuration),
                        c = (i.thumbSize, i.thumbMinSize, i.onlyY),
                        f = i.universal,
                        p = i.autoHeight,
                        h = i.autoHeightMin,
                        m = i.autoHeightMax,
                        g = (i.scrollMarginTop, i.style),
                        v = i.children,
                        b = (0, x.default)(i, ["onScroll", "onScrollFrame", "onScrollStart", "onScrollStop", "onUpdate", "renderView", "renderTrackHorizontal", "renderTrackVertical", "renderThumbHorizontal", "renderThumbVertical", "tagName", "hideTracksWhenNotNeeded", "autoHide", "autoHideTimeout", "autoHideDuration", "thumbSize", "thumbMinSize", "onlyY", "universal", "autoHeight", "autoHeightMin", "autoHeightMax", "scrollMarginTop", "style", "children"]),
                        _ = this.state.didMountUniversal,
                        y = (0, w.default)({}, P.containerStyleDefault, p && (0, w.default)({}, P.containerStyleAutoHeight, {
                            minHeight: h,
                            maxHeight: m
                        }), g),
                        j = (0, w.default)({}, P.viewStyleDefault, {
                            display: A.default.ipad() ? "inline" : "block",
                            marginRight: t ? -t : 0,
                            marginBottom: !c && t ? -t : 0
                        }, p && (0, w.default)({}, P.viewStyleAutoHeight, {
                            minHeight: F(h) ? "calc(" + h + " + " + t + "px)" : h + t,
                            maxHeight: F(m) ? "calc(" + m + " + " + t + "px)" : m + t
                        }), p && f && !_ && {
                            minHeight: h,
                            maxHeight: m
                        }, f && !_ && P.viewStyleUniversalInitial);
                    c && (j.overflow = "hidden", j.overflowY = "scroll"), A.default.ipad() && (j.position = "relative", R ? j.bottom = R + "px" : j.bottom = "auto");
                    var C = {
                            transition: "opacity " + d + "ms",
                            opacity: 0
                        },
                        E = (0, w.default)({}, P.trackHorizontalStyleDefault, u && C, (!t || f && !_) && {
                            display: "none"
                        }),
                        M = (0, w.default)({}, P.trackVerticalStyleDefault, u && C, (!t || f && !_) && {
                            display: "none"
                        }),
                        S = [(0, k.cloneElement)(a({
                            style: j
                        }), {
                            key: "view",
                            ref: function(t) {
                                e.view = t
                            }
                        }, v)];
                    return c || S.push((0, k.cloneElement)(n({
                        style: E
                    }), {
                        key: "trackHorizontal",
                        ref: function(t) {
                            e.trackHorizontal = t
                        }
                    }, (0, k.cloneElement)(r({
                        style: P.thumbHorizontalStyleDefault
                    }), {
                        ref: function(t) {
                            e.thumbHorizontal = t
                        }
                    }))), S.push((0, k.cloneElement)(o({
                        style: M
                    }, this.props.scrollMarginTop), {
                        key: "trackVertical",
                        ref: function(t) {
                            e.trackVertical = t
                        }
                    }, (0, k.cloneElement)(l({
                        style: P.thumbVerticalStyleDefault
                    }), {
                        ref: function(t) {
                            e.thumbVertical = t
                        }
                    }))), (0, k.createElement)(s, (0, w.default)({}, b, {
                        style: y,
                        ref: function(t) {
                            e.container = t
                        }
                    }), S)
                }
            }]), t
        }(E.default);
    t.default = V, V.defaultProps = {
        renderView: n,
        renderTrackHorizontal: o,
        renderTrackVertical: r,
        renderThumbHorizontal: l,
        renderThumbVertical: s,
        tagName: "jdiv",
        thumbMinSize: 30,
        hideTracksWhenNotNeeded: !1,
        autoHide: !1,
        autoHideTimeout: 1e3,
        autoHideDuration: 200,
        autoHeight: !1,
        autoHeightMin: 0,
        autoHeightMax: 200,
        onlyY: !0,
        universal: !0
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(25),
        u = a(s),
        d = i(6),
        c = a(d),
        f = i(2),
        p = a(f),
        h = i(3),
        m = a(h),
        g = i(8),
        v = a(g),
        b = i(7),
        _ = a(b),
        w = i(4),
        y = a(w),
        x = i(11),
        k = a(x),
        j = i(10),
        C = a(j),
        E = i(1),
        M = i(12),
        S = a(M),
        T = i(16),
        z = (a(T), i(5)),
        O = a(z),
        N = i(9),
        I = a(N),
        A = i(15),
        P = a(A),
        L = i(286),
        B = a(L),
        D = i(30),
        F = a(D),
        H = (0, E.getCopyrightSiteByLocale)(O.default.locale) + "?utm_source=" + encodeURIComponent(location.hostname) + "&utm_medium=link&utm_content=widget_popup&utm_campaign=self_ad",
        R = (0, P.default)("seo_copyrightTextNew").split("{0}")[0],
        W = (0, P.default)("seo_copyrightTextNew").split("{0}")[1],
        V = C.default.name("OuterCopyright"),
        q = function(e) {
            function t(e) {
                (0, p.default)(this, t);
                var i = (0, v.default)(this, (t.__proto__ || (0, c.default)(t)).call(this, e));
                if (i.state = {
                        enabled: !0,
                        show: !1,
                        backgroundColor: i.props.color
                    }, i.custom_copyright = window.parent.document.getElementById("jivo_copyright"), i.custom_copyright) {
                    var a = window.parent.document.createElement("div");
                    a.id = "jivo_copyright_corner", i.custom_copyright_corner = a, i.custom_copyright_corner.className = "jivo-" + O.default.widget_orientation, i.custom_copyright.appendChild(i.custom_copyright_corner), (0, E.telemetry)("site_custom_copyright")
                }
                return i
            }
            return (0, _.default)(t, e), (0, m.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    if (V.log("mounted"), this.on(S.default, function() {
                            e.setState({
                                enabled: "label" == S.default.route,
                                backgroundColor: S.default.widget_color
                            })
                        }), this.custom_copyright) {
                        var t = void 0,
                            i = "jivo-" + S.default.widget_font_color + "  jivo-" + ("ru_RU" === O.default.locale ? "ru" : "en");
                        I.default.each(this.custom_copyright.childNodes, function(e) {
                            "A" === e.tagName && (t = e)
                        }), t && (t.id = "jivosite-copyright", t.rel = "nofollow", t.target = "_blank", t.className = i, t.innerHTML = ""), (0, E.addListener)(this.custom_copyright, "mouseover", function() {
                            return e.mouseOver()
                        }), (0, E.addListener)(this.custom_copyright, "mouseout", function() {
                            return e.mouseOut()
                        })
                    }
                }
            }, {
                key: "getTooltipPosition",
                value: function() {
                    var e = {
                            top: 0,
                            left: 0
                        },
                        t = void 0,
                        i = void 0;
                    switch (null !== this.custom_copyright && (i = (0, E.getElementPosition)(window.parent.document.getElementById("jivo-iframe-container"))), O.default.widget_orientation) {
                        case "left":
                            t = 10, e = {
                                top: 20 + (i ? i.top : 0) + "px",
                                left: 40 + t + "px"
                            };
                            break;
                        case "right":
                            t = "en" === O.default.iconLocale ? 80 : 60, e = {
                                top: 20 + (i ? i.top : 0) + "px",
                                right: "50px"
                            };
                            break;
                        case "bottom":
                            e = {
                                bottom: "48px",
                                right: (i ? i.windowWidth - i.width - i.left + 30 : 42) + "px"
                            }
                    }
                    return e
                }
            }, {
                key: "getCopyStyles",
                value: function() {
                    var e = this.getTooltipPosition(),
                        t = {
                            color: (0, E.getTextColor)(),
                            backgroundColor: S.default.widget_color,
                            display: this.props.show || this.state.show ? "block" : "none"
                        };
                    return (0, u.default)(t, e)
                }
            }, {
                key: "mouseOver",
                value: function() {
                    V.log("over"), this.setState({
                        show: !0
                    })
                }
            }, {
                key: "mouseOut",
                value: function() {
                    V.log("out"), this.setState({
                        show: !1
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e, t = [(e = {
                            copyright: !0
                        }, (0, l.default)(e, "_" + this.props.orientation, !0), (0, l.default)(e, "_offline", !S.default.is_online), (0, l.default)(e, "_light", "light" == O.default.widget_font_color), e), {
                            backgroundColor: this.state.backgroundColor
                        }],
                        i = {};
                    switch (this.props.orientation) {
                        case "right":
                            i = {
                                borderLeftColor: this.props.color
                            };
                            break;
                        case "left":
                            i = {
                                borderRightColor: this.props.color
                            };
                            break;
                        case "bottom":
                            i = {
                                borderTopColor: this.props.color
                            }
                    }
                    return {
                        styles: {
                            copyright: t,
                            hide: [{
                                hide: !0
                            }],
                            text: [{
                                text: !0
                            }, {
                                color: (0, E.getTextColor)()
                            }],
                            corner: [{
                                corner: !0
                            }, i]
                        },
                        style: B.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    if (this.custom_copyright) {
                        var i = this.getCopyStyles();
                        return this.custom_copyright.className = t.copyright.className, (0, u.default)(this.custom_copyright.style, i), V.log("render custom copy:", i), (0, u.default)(this.custom_copyright_corner.style, t.corner.style), y.default.createElement("jdiv", t.hide)
                    }
                    return y.default.createElement("jdiv", (0, o.default)({}, t.copyright, {
                        onMouseOver: this.mouseOver.bind(this),
                        onMouseOut: this.mouseOut.bind(this)
                    }), y.default.createElement("jdiv", t.text, R, y.default.createElement("a", {
                        href: H,
                        rel: "nofollow",
                        target: "_blank",
                        id: "jivosite-copyright",
                        className: B.default.link
                    }, "ru_RU" === O.default.locale ? y.default.createElement(F.default, {
                        iconName: "logo_jivosite",
                        className: B.default.logoIcon
                    }) : y.default.createElement(F.default, {
                        iconName: "logo_jivochat",
                        className: B.default.logoIcon
                    })), W), y.default.createElement("jdiv", t.corner))
                }
            }]), t
        }(k.default);
    t.default = q
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(25),
        u = a(s),
        d = i(6),
        c = a(d),
        f = i(2),
        p = a(f),
        h = i(3),
        m = a(h),
        g = i(8),
        v = a(g),
        b = i(7),
        _ = a(b),
        w = i(4),
        y = a(w),
        x = i(4),
        k = (a(x), i(11)),
        j = a(k),
        C = i(109),
        E = a(C),
        M = i(168),
        S = a(M),
        T = i(287),
        z = a(T),
        O = i(10),
        N = a(O),
        I = i(5),
        A = a(I),
        P = i(15),
        L = (a(P), i(1)),
        B = a(L),
        D = i(13),
        F = a(D),
        H = i(12),
        R = a(H),
        W = i(14),
        V = (a(W), i(16)),
        q = a(V),
        U = i(26),
        G = a(U),
        X = i(30),
        Z = (a(X), i(167)),
        Y = a(Z),
        K = i(166),
        J = a(K),
        Q = N.default.name("Label"),
        $ = function(e) {
            function t(e) {
                (0, p.default)(this, t);
                var i = (0, v.default)(this, (t.__proto__ || (0, c.default)(t)).call(this, e));
                return i.state = {
                    inited: !1,
                    online: e.app.is_online,
                    tablet: F.default.tablet(),
                    text: e.app.is_online ? e.config.online_widget_label : e.config.offline_widget_label,
                    color: e.app.widget_color,
                    chat: !1,
                    orientation: e.config.widget_orientation,
                    padding: e.config.widget_padding
                }, i
            }
            return (0, _.default)(t, e), (0, m.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    Q.log("mounted"), this.on(R.default, function() {
                        e.state.color !== R.default.widget_color && e.setState({
                            color: R.default.widget_color
                        }), e.checkState()
                    }), B.default.isCustomLabel() || this._getLabelSize()
                }
            }, {
                key: "checkState",
                value: function() {
                    "label" == R.default.route ? this.setState({
                        chat: !1,
                        inited: !B.default.isCustomLabel()
                    }) : this.setState({
                        chat: !0,
                        inited: !1
                    })
                }
            }, {
                key: "_getLabelSize",
                value: function() {
                    var e = {},
                        t = {};
                    "left" == this.state.orientation || "right" == this.state.orientation ? (t.width = B.default.getElementPosition(this.refs.labelWrap).height, t.height = B.default.getElementPosition(this.refs.labelWrap).width) : (t.width = B.default.getElementPosition(this.refs.labelWrap).width, t.height = B.default.getElementPosition(this.refs.labelWrap).height), R.default.height = t.height, R.default.width = t.width, "bottom" == A.default.widget_orientation && "50" == A.default.widget_padding && (this.refs.labelWrap.style.marginRight = -1 * (t.width / 2).toFixed(0) + "px"), "left" != A.default.widget_orientation && "right" != A.default.widget_orientation || "50" != A.default.widget_padding || (this.refs.labelWrap.style.marginBottom = -1 * (t.height / 2).toFixed(0) + "px"), this.props.el ? (e.backgroundColor = this.props.config.widget_color, (0, u.default)(this.refs.labelWrap.style, e)) : (0, u.default)(B.default.getPageWindow().document.getElementById("jivo-iframe-container").style, t), this.setState({
                        inited: !0
                    })
                }
            }, {
                key: "showChat",
                value: function(e) {
                    B.default.hasClass(e.target, z.default.hoverl) && (R.default.is_focused = 1, q.default.navigate("chat"), R.default.is_online ? G.default.trackChatOpenedByClick() : G.default.trackOfflineFormOpenedByClick())
                }
            }, {
                key: "mouseOver",
                value: function() {
                    this.refs.Copyright.mouseOver()
                }
            }, {
                key: "mouseOut",
                value: function() {
                    this.refs.Copyright.mouseOut()
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e, t = [(e = {
                            label: !0,
                            _chat: this.state.chat
                        }, (0, l.default)(e, "_" + this.state.orientation, !0), (0, l.default)(e, "_pad" + this.state.padding, !0), (0, l.default)(e, "_tablet", F.default.tablet()), (0, l.default)(e, "_init", this.state.inited), e), {
                            backgroundColor: this.props.app.widget_color
                        }],
                        i = {};
                    "label" != R.default.route && (i = {
                        display: "none"
                    });
                    var a = this.props.config.font_type.split(" ");
                    return {
                        styles: {
                            wrap: t,
                            text: [(0, l.default)({
                                text: !0
                            }, "_noAd", !B.default.showAd()), {
                                fontSize: this.props.config.font_size + "px",
                                fontFamily: this.props.config.font_family + ", Arial",
                                fontWeight: a.length > 1 ? a[0] : a,
                                fontStyle: a.length > 1 ? a[1] : a,
                                color: B.default.getTextColor()
                            }],
                            copy: [{
                                copy: !0
                            }, {
                                color: B.default.getTextColor()
                            }],
                            labelStatus: [{
                                labelStatus: !0,
                                _dark: "dark" == this.props.app.widget_font_color
                            }],
                            hoverl: [{
                                hoverl: !0,
                                _ad: !!B.default.showAd()
                            }],
                            lbContainer: [{
                                lbContainer: !0
                            }, i],
                            leafCont: [{
                                leafCont: !0
                            }]
                        },
                        style: z.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return y.default.createElement("jdiv", (0, o.default)({}, t.wrap, {
                        ref: "labelWrap"
                    }), !this.state.online && y.default.createElement("jdiv", t.labelStatus), y.default.createElement("jdiv", (0, o.default)({}, t.hoverl, {
                        ref: "hoverL",
                        onClick: this.showChat.bind(this)
                    }), F.default.desktop() && (A.default.joint || A.default.callback_settings.time) && y.default.createElement("jdiv", t.lbContainer, y.default.createElement(S.default, null))), y.default.createElement("jdiv", (0, o.default)({}, t.text, {
                        ref: "labelText"
                    }), this.state.text), B.default.showAd() && y.default.createElement("jdiv", (0, o.default)({}, t.copy, {
                        ref: "labelCopy",
                        onMouseOver: this.mouseOver.bind(this),
                        onMouseOut: this.mouseOut.bind(this)
                    }), y.default.createElement(Y.default, {
                        orientation: this.props.config.widget_orientation,
                        fontColor: this.props.config.widget_font_color,
                        online: this.props.app.is_online
                    })), y.default.createElement("jdiv", (0, o.default)({}, t.leafCont, {
                        ref: "leaf"
                    }), y.default.createElement(J.default, {
                        orientation: this.props.config.widget_orientation,
                        color: this.props.config.widget_color
                    })), F.default.desktop() && y.default.createElement("jdiv", {
                        className: z.default.copyContainer
                    }, y.default.createElement(E.default, {
                        ref: "Copyright",
                        color: A.default.widget_color,
                        orientation: A.default.widget_orientation
                    })))
                }
            }]), t
        }(j.default);
    t.default = $
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(11),
        m = a(h),
        g = i(5),
        v = a(g),
        b = i(16),
        _ = a(b),
        w = i(1),
        y = a(w),
        x = i(26),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(62),
        M = (a(E), i(13)),
        S = a(M),
        T = i(23),
        z = a(T),
        O = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.jointsCount = i.getJoints(), 0 === i.jointsCount ? (0, c.default)(i) : (i.state = {
                    isShow: !i.props.hideOnRender,
                    orientation: null
                }, i.linkProps = {
                    target: "_blank",
                    onClick: i.openMenuItem
                }, i.getCopyrightInfo(), i.getOrientation(), y.default.addListener(window, "orientationchange", i.onOrientationChange.bind(i)), i)
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "onOrientationChange",
                value: function() {
                    var e = this;
                    setTimeout(function() {
                        e.getOrientation()
                    }, 300)
                }
            }, {
                key: "getOrientation",
                value: function() {
                    this.setState({
                        orientation: z.default.getOrientation()
                    })
                }
            }, {
                key: "getCopyrightInfo",
                value: function() {
                    y.default.showAd() && (this.logoIconName = "ru_RU" === v.default.locale ? "logo-jivosite-white" : "logo-jivochat-white", this.jivoLink = y.default.getCopyrightSiteByLocale(v.default.locale) + "?utm_source=" + encodeURIComponent(location.hostname) + "&utm_medium=link&utm_content=mobile_widget&utm_campaign=self_ad")
                }
            }, {
                key: "getJoints",
                value: function() {
                    var e, t = 0;
                    this.joints = {};
                    var i = y.default.getPageWindow(),
                        a = i.screen.height * (i.devicePixelRatio || 1),
                        n = 50 * i.devicePixelRatio;
                    return a = S.default.safari() ? a - n : a, e = a <= 960 ? 3 : a <= 1150 ? 4 : 5, v.default.power_button_phone && (this.joints.cbUrl = v.default.power_button_phone, t++), v.default.joint ? (v.default.joint.fb && v.default.joint.fb.joint_id && (this.joints.fbUrl = "https://m.me/" + v.default.joint.fb.joint_id, t++), v.default.joint.vk && v.default.joint.vk.joint_id && (this.joints.vkUrl = "https://vk.me/club" + v.default.joint.vk.joint_id, t++), v.default.joint.vb && v.default.joint.vb.botname && t < e && (this.joints.vbUrl = "viber://pa?chatURI=" + v.default.joint.vb.botname, t++), v.default.joint.tg && v.default.joint.tg.botname && t < e && (this.joints.tgUrl = "https://telegram.me/" + v.default.joint.tg.botname, t++), t) : t
                }
            }, {
                key: "openMenuItem",
                value: function(e) {
                    var t = e.currentTarget.getAttribute("data-name");
                    "call" === t && k.default.trackMobileCallClick(), y.default.telemetry("powerbtn_open_" + t)
                }
            }, {
                key: "openChat",
                value: function() {
                    this.close(!0), setTimeout(function() {
                        C.default.is_focused = 1, _.default.navigate("chat"), y.default.telemetry("powerbtn_open_chat"), k.default.trackChatOpenedByClick()
                    }, 100)
                }
            }, {
                key: "show",
                value: function() {
                    return 0 === this.jointsCount ? this.openChat() : void this.setState({
                        isShow: !0,
                        left: "100%",
                        extraPadding: z.default.getUserZoom() > 1
                    })
                }
            }, {
                key: "close",
                value: function(e) {
                    var t = this;
                    _.default.closeMobileNativeMenu(), this.setState({
                        isShow: !1
                    }, function() {
                        setTimeout(function() {
                            t.setState({
                                left: "-100%"
                            })
                        }, 300)
                    }), !e && y.default.telemetry("powerbtn_close_menu")
                }
            }]), t
        }(m.default);
    t.default = O
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(60),
        m = a(h),
        g = i(9),
        v = a(g),
        b = function(e) {
            function t() {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).apply(this, arguments))
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "isAgentMessage",
                value: function() {
                    var e = this.store;
                    return "agent" === e.from
                }
            }, {
                key: "unStorage",
                value: function() {
                    var e = this.store,
                        t = v.default.indexOf(["email", "social"], e.type) !== -1 || e.body && e.body.unsave || !1;
                    return t
                }
            }]), t
        }(m.default);
    t.default = b
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(12),
        _ = a(b),
        w = i(14),
        y = a(w),
        x = i(13),
        k = a(x),
        j = i(16),
        C = a(j),
        E = i(15),
        M = a(E),
        S = i(9),
        T = a(S),
        z = i(1),
        O = a(z),
        N = i(68),
        I = a(N),
        A = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    text: y.default.last_message ? y.default.last_message : ""
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(_.default, function() {
                        setTimeout(T.default.bind(function() {
                            _.default.is_focused && this.refs.message && 0 == _.default.route.indexOf("chat") && _.default.route.indexOf("min") == -1 && !k.default.tablet() && (m.default.findDOMNode(this.refs.message).focus(), _.default.is_focused = 0)
                        }, e), 500)
                    }), this.on(y.default, function() {
                        y.default.last_message && e.setState({
                            text: y.default.last_message
                        })
                    })
                }
            }, {
                key: "onFocus",
                value: function() {
                    O.default.removeClass(m.default.findDOMNode(this.refs.message).parentNode, "error-field"), C.default.onFocus()
                }
            }, {
                key: "render",
                value: function() {
                    return m.default.createElement("div", {
                        className: "field-wrapper message"
                    }, m.default.createElement("textarea", {
                        id: "message",
                        maxLength: "1000",
                        className: "input-field",
                        value: this.state.text,
                        onInput: (0, I.default)(this, "text"),
                        onFocus: this.onFocus.bind(this),
                        onBlur: C.default.onBlur.bind(C.default),
                        placeholder: (0, M.default)("lblYourMessage") + "*",
                        ref: "message"
                    }))
                }
            }]), t
        }(v.default);
    t.default = A
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = (i(1), i(9)),
        y = a(w),
        x = i(13),
        k = a(x),
        j = i(146),
        C = a(j),
        E = i(177),
        M = a(E),
        S = i(188),
        T = a(S),
        z = i(181),
        O = a(z),
        N = i(138),
        I = a(N),
        A = i(139),
        P = a(A),
        L = i(98),
        B = a(L),
        D = i(140),
        F = a(D),
        H = i(102),
        R = a(H),
        W = i(12),
        V = a(W),
        q = i(14),
        U = a(q),
        G = i(16),
        X = a(G),
        Z = i(44),
        Y = a(Z),
        K = i(30),
        J = a(K);
    i(367);
    var Q = !k.default.mobileOrTablet() && _.default.callback_settings.time,
        $ = function(e) {
            function t() {
                (0, l.default)(this, t);
                var e = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this));
                return e.state = {
                    visible: !k.default.mobileOrTablet() || k.default.mobileOrTablet() && "label" !== V.default.route,
                    route: V.default.route,
                    online: V.default.is_online,
                    showHeader: !0
                }, e
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(V.default, function() {
                        var t = !0;
                        "call" === V.default.route && y.default.indexOf(["form", "cw_error", "cw_call_end"], U.default.client_info.cw_call) !== -1 && (t = !1), k.default.mobileOrTablet() && (e.state.visible = "label" !== V.default.route), V.default.is_online === e.state.online && V.default.route === e.state.route && t === e.state.showHeader || e.setState({
                            online: V.default.is_online,
                            route: V.default.route,
                            showHeader: t
                        })
                    }), this.on(U.default, function() {
                        "call" === V.default.route && e.setState({
                            hideHeader: y.default.indexOf(["form", "cw_error", "cw_call_end"], U.default.client_info.cw_call) !== -1
                        })
                    })
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "render",
                value: function() {
                    var e = "jivo-fixed-bottom jivo-" + (V.default.is_online ? "online" : "offline") + " jivo-orientation-" + _.default.widget_orientation,
                        t = _.default.bubble_color + " ",
                        i = {
                            backgroundColor: "call" === V.default.route && y.default.indexOf(["cw_connecting", "cw_wait"], U.default.cw_call.status) !== -1 ? "#fff" : V.default.widget_color
                        },
                        a = {
                            display: this.state.visible ? "table" : "none"
                        },
                        n = "relative",
                        o = "mobileBack " + (Y.default.isLightColor(_.default.power_button_color || "#44BB6E") && "_dark");
                    return k.default.mobile() || (e += " container-with-leaf  jivo-animated " + (V.default.is_online ? "online" : "offline") + " jivo-orientation-" + _.default.widget_orientation), k.default.mobile() && V.default.isSeparateWindow && (t += "mobile-version"), k.default.tablet() && (e += " mobile-tablet"), "call" !== V.default.route && "call/min" !== V.default.route || y.default.indexOf(["cw_connecting", "cw_wait", "cw_connected"], U.default.cw_call.status) === -1 || (i.overflow = "hidden", i.borderTopRightRadius = "27px", n = "static"), m.default.createElement("div", {
                        id: "jivo-chat",
                        style: !k.default.mobile() && i,
                        className: e
                    }, k.default.mobile() ? "" : m.default.createElement(B.default, {
                        state: "chat"
                    }), m.default.createElement("div", {
                        id: "jivo_iframe_wrap"
                    }, m.default.createElement("div", {
                        id: "jivo_iframe_placeholder"
                    }, m.default.createElement("table", {
                        id: "inner-chat",
                        style: a,
                        className: t
                    }, m.default.createElement("tbody", null, m.default.createElement("tr", null, m.default.createElement("td", {
                        id: "inner-chat-table",
                        style: {
                            display: this.state.showHeader ? "block" : "none"
                        }
                    }, m.default.createElement(C.default, null), Q && 0 === this.state.route.indexOf("call") ? m.default.createElement(F.default, null) : "", k.default.mobile() && m.default.createElement("div", {
                        id: "jivo_action"
                    }, m.default.createElement(J.default, {
                        onClick: function() {
                            X.default.closeWidget()
                        },
                        iconName: "mobileBack",
                        className: o
                    })))), m.default.createElement("tr", null, m.default.createElement("td", {
                        id: "chat-content",
                        style: {
                            height: "100%",
                            position: n,
                            backgroundColor: 1 === V.default.is_online ? "transparent" : "#ffffff"
                        }
                    }, _.default.eula && !V.default.eula_accepted ? m.default.createElement(R.default, null) : "", this.state.online ? m.default.createElement(M.default, null) : m.default.createElement(T.default, null), Q ? m.default.createElement(I.default, {
                        display: 0 === this.state.route.indexOf("call")
                    }) : "", Q ? m.default.createElement(P.default, {
                        display: 0 !== this.state.route.indexOf("call") && V.default.is_online
                    }) : "", m.default.createElement(O.default, null))))))))
                }
            }]), t
        }(v.default);
    t.default = $
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(1),
        l = window.parent ? window.parent.document : null,
        s = 0,
        u = 0,
        d = i(39),
        c = d.EventEmitter,
        f = new c,
        p = (0, o.default)(f, {
            attach: function(e) {
                e.style.cursor = "move", (0, r.addListener)(e, "mousedown", function(e) {
                    e.preventDefault(), s = e.screenX, u = e.screenY, _()
                })
            }
        }),
        h = void 0,
        m = void 0;
    if (l && l.body) {
        var g = l.getElementById("jivo-mouse-tracker");
        g && g.parentNode && g.parentNode.removeChild(g), m = l.createElement("div"), m.setAttribute("id", "jivo-mouse-tracker"), m.style.display = "none", l.body.appendChild(m)
    }
    var v = function(e) {
            e.preventDefault(), p.emit("move", e, s - e.screenX, u - e.screenY), clearTimeout(h), h = setTimeout(function() {
                w()
            }, 500)
        },
        b = function(e) {
            e.preventDefault(), w()
        },
        _ = function() {
            l && (p.emit("start"), m.style.display = "block", (0, r.addListener)(m, "mousemove", v), (0, r.addListener)(m, "mouseup", b))
        },
        w = function() {
            l && (p.emit("stop"), m.style.display = "none", (0, r.removeEvent)(m, "mousemove", v), (0, r.removeEvent)(m, "mouseup", b), clearTimeout(h))
        };
    t.default = p
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(4),
        l = (a(r), i(5)),
        s = a(l),
        u = i(10),
        d = a(u),
        c = i(9),
        f = a(c),
        p = i(15),
        h = a(p),
        m = i(51),
        g = (a(m), i(1)),
        v = d.default.name("fileUploader"),
        b = 10485760,
        _ = "1",
        w = ["rar", "tar"],
        y = "https://api.jivosite.com",
        x = i(39),
        k = x.EventEmitter,
        j = new k,
        C = {
            isInited: !1,
            xhr: !1,
            getFileInfo: function(e) {
                if (e.size > b) return void E.emit("error", (0, h.default)("file_upl_error_max_size").replace("_FILESIZE_", (0, g.humanFileSize)(b)), e, !0);
                var t = e.name.substr(e.name.lastIndexOf(".") + 1);
                if (e.name.lastIndexOf(".") == -1 || !t) return E.emit("error", (0, h.default)("file_upl_error_no_ext"), e, !0), void(0, g.telemetry)("file_upload_error", {
                    param1: "no_ext"
                });
                if (w.indexOf(t) == -1 && "" == e.type) return E.emit("error", (0, h.default)("file_upl_error"), e, !0), void(0, g.telemetry)("file_upload_error", {
                    param1: "no_mime_type"
                });
                if (w.indexOf(t) == -1 && "" == e.type) return E.emit("error", (0, h.default)("file_upl_error"), e, !0), void(0, g.telemetry)("file_upload_error_no_mime_type");
                t = t.toLowerCase();
                var i = "/api/" + _ + "/sites/" + s.default.site_id + "/widgets/" + s.default.widget_id + "/media/transfer/access/gain?extension=" + t,
                    a = new XMLHttpRequest;
                a.open("GET", y + i), a.onload = function() {
                    if (200 === a.status) {
                        v.log("API responce:", JSON.parse(a.responseText));
                        var t = JSON.parse(a.responseText);
                        C.uploadFileS3(e, t)
                    } else v.error("API Request failed.  Returned status of ", a.status), E.emit("error", (0, h.default)("file_upl_error"), e), (0, g.telemetry)("file_upload_error", {
                        param1: "api_status_failed"
                    })
                }, a.addEventListener("error", f.default.bind(function(t) {
                    v.log("API error:", t), E.emit("error", (0, h.default)("file_upl_error"), e, !0), (0, g.telemetry)("file_upload_error", {
                        param1: "api_xhr_error"
                    })
                }, void 0), !1), a.send()
            },
            readFile: function(e, t, i) {
                var a = new FileReader;
                a.onload = function(a) {
                    i(e, a.target.result, t)
                }, a.readAsBinaryString(e)
            },
            uploadFileS3: function(e, t) {
                v.log("uploadFileS3", e, t), C.startUpload(e, !1, t)
            },
            abort: function() {
                v.log("abort upload", C.xhr), C.xhr && (C.xhr.abort(), E.emit("abort"))
            },
            startUpload: function(e, t, i) {
                var a = C.buildBodyFormData(i, e),
                    n = new XMLHttpRequest;
                n.upload.addEventListener("progress", f.default.bind(function(e) {
                    e.lengthComputable && E.emit("progress", e.loaded, e.total)
                }, void 0), !1), n.addEventListener("load", f.default.bind(function(t) {
                    t.target && 204 == t.target.status ? (v.log("complete", t), e.icon_type = C.detectType(e.type), E.emit("complete", e, i.url + "/" + a.url)) : (v.log("not received response", t), E.emit("error", (0, h.default)("file_upl_error"), e), (0, g.telemetry)("file_upload_error", {
                        param1: "s3_no_responce"
                    }))
                }, void 0), !1), n.addEventListener("error", f.default.bind(function(t) {
                    v.log("upload error", t), setTimeout(function() {
                        E.emit("error", (0, h.default)("file_upl_error"), e), (0, g.telemetry)("file_upload_error", {
                            param1: "s3_xhr"
                        })
                    }, 50)
                }, void 0), !1), n.addEventListener("abort", f.default.bind(function(e) {
                    E.emit("cancel")
                }, void 0), !1), n.open("POST", i.url), n.send(a.formData), v.log("upload started."), E.emit("uploading", e, a, t), C.xhr = n
            },
            detectType: function(e) {
                return e.indexOf("image") >= 0 ? "photo" : e.indexOf("video") >= 0 ? "video" : e.indexOf("audio") >= 0 ? "audio" : "document"
            },
            getEscapedFileName: function(e) {
                var t = void 0;
                try {
                    t = encodeURIComponent(e)
                } catch (e) {
                    v.log("too ugly file name", e), t = !1
                }
                return t
            },
            buildBodyFormData: function(e, t) {
                v.log("buildBody", e, t);
                var i = {
                        signature: "X-Amz-Signature",
                        credential: "X-Amz-Credential",
                        algorithm: "X-Amz-Algorithm",
                        policy: "Policy",
                        date: "X-Amz-Date"
                    },
                    a = (new Date, e.key.split("/")[4]),
                    n = new FormData;
                return n.append("acl", "public-read"), n.append("key", e.key), n.append("Content-disposition", "attachment; filename*=UTF-8''" + C.getEscapedFileName(t.name)), f.default.each(e, function(e, t) {
                    i[t] && n.append(i[t], e)
                }), n.append("file", t, a), {
                    fileName: a,
                    url: e.key,
                    formData: n
                }
            },
            isPreviewImage: function(e) {
                var t = e.toLowerCase();
                return /\.(gif|jpg|jpeg|png)$/i.test(t)
            },
            getUrlEmoji: function(e, t) {
                var i = "";
                return i = e.indexOf("image") >= 0 ? "=�" : e.indexOf("video") >= 0 ? "=�" : e.indexOf("audio") >= 0 ? "=	" : "=�", i + " " + t
            }
        },
        E = (0, o.default)(j, C);
    t.default = E
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = function e(t) {
        return linkify(t, {
            callback: function(t, i) {
                var a = t.indexOf("://");
                return i && a > 0 && (t = e.getShortText(t.substring(a + 3))), i ? '<a class="msg_link" target="_blank" href="' + i + '" title="' + i + '">' + t + "</a>" : t
            }
        })
    };
    i.getShortText = function(e) {
            var t = 30;
            return e.length > 80 ? e.slice(0, t) + "..." + e.slice(-t) : e
        },
        /*!
         * linkify - v0.3 - 6/27/2009
         * http://benalman.com/code/test/js-linkify/
         *
         * Copyright (c) 2009 "Cowboy" Ben Alman
         * Licensed under the MIT license
         * http://benalman.com/about/license/
         *
         * Some regexps adapted from http://userscripts.org/scripts/review/7122
         */
        window.linkify = function() {
            var e = "[a-z\\d.-]+://",
                t = "(?:(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])\\.){3}(?:[0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])",
                i = "(?:(?:[^\\s!@#$%^&*()_=+[\\]{}\\\\|;:'\",.<>/?]+)\\.)+",
                a = "(?:ac|ad|aero|ae|af|ag|ai|al|am|an|ao|aq|arpa|ar|asia|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|biz|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|cat|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|coop|com|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|info|int|in|io|iq|ir|is|it|je|jm|jobs|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mil|mk|ml|mm|mn|mobi|mo|mp|mq|mr|ms|mt|museum|mu|mv|mw|mx|my|mz|name|na|nc|net|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pro|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|travel|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|xn--0zwm56d|xn--11b5bs3a9aj6g|xn--80akhbyknj4f|xn--9t4b11yi5a|xn--deba0ad|xn--g6w251d|xn--hgbk6aj7f53bba|xn--hlcj6aya9esc7a|xn--jxalpdlp|xn--kgbechtv|xn--zckzah|ye|yt|yu|za|zm|zw|win)",
                n = "(?:" + i + a + "|" + t + ")",
                o = "(?:[;/][^#?<>\\s]*)?",
                r = "(?:\\?[^#<>\\s]*)?(?:#[^<>\\s]*)?",
                l = "\\b" + e + "[^<>\\s]+",
                s = "\\b" + n + o + r + "(?!\\w)",
                u = "mailto:",
                d = "(?:" + u + ")?[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@" + n + r + "(?!\\w)",
                c = new RegExp("(?:" + l + "|" + s + "|" + d + ")", "ig"),
                f = new RegExp("^" + e, "i"),
                p = {
                    "'": "`",
                    ">": "<",
                    ")": "(",
                    "]": "[",
                    "}": "{",
                    "�": "�",
                    "2T": "2"
                },
                h = {
                    callback: function(e, t) {
                        return t ? '<a href="' + t + '" title="' + t + '">' + e + "</a>" : e
                    },
                    punct_regexp: /(?:[!?.,:;'"]|(?:&|&amp;)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)$/
                };
            return function(e, t) {
                t = t || {};
                var i, a, n, o, r, l, s, d, m, g, v, b, _ = "",
                    w = [];
                for (a in h) void 0 === t[a] && (t[a] = h[a]);
                for (; i = c.exec(e);)
                    if (n = i[0], l = c.lastIndex, s = l - n.length, !/[\/:]/.test(e.charAt(s - 1))) {
                        do d = n, b = n.substr(-1), v = p[b], v && (m = n.match(new RegExp("\\" + v + "(?!$)", "g")), g = n.match(new RegExp("\\" + b, "g")), (m ? m.length : 0) < (g ? g.length : 0) && (n = n.substr(0, n.length - 1), l--)), t.punct_regexp && (n = n.replace(t.punct_regexp, function(e) {
                            return l -= e.length, ""
                        })); while (n.length && n !== d);
                        if (o = n, !f.test(o)) {
                            var y = /^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/;
                            o = (y.test(o) ? o.indexOf(u) ? u : "" : o.indexOf("irc.") ? o.indexOf("ftp.") ? "http://" : "ftp://" : "irc://") + o
                        }
                        r != s && (w.push([e.slice(r, s)]), r = l), w.push([n, o])
                    }
                for (w.push([e.substr(r)]), a = 0; a < w.length; a++) _ += t.callback.apply(window, w[a]);
                return _ || e
            }
        }(), t.default = i
}, function(e, t, i) {
    e.exports = {
        default: i(221),
        __esModule: !0
    }
}, function(e, t) {
    var i = {}.toString;
    e.exports = function(e) {
        return i.call(e).slice(8, -1)
    }
}, function(e, t, i) {
    var a = i(225);
    e.exports = function(e, t, i) {
        if (a(e), void 0 === t) return e;
        switch (i) {
            case 1:
                return function(i) {
                    return e.call(t, i)
                };
            case 2:
                return function(i, a) {
                    return e.call(t, i, a)
                };
            case 3:
                return function(i, a, n) {
                    return e.call(t, i, a, n)
                }
        }
        return function() {
            return e.apply(t, arguments)
        }
    }
}, function(e, t, i) {
    var a = i(56),
        n = i(37).document,
        o = a(n) && a(n.createElement);
    e.exports = function(e) {
        return o ? n.createElement(e) : {}
    }
}, function(e, t, i) {
    e.exports = !i(40) && !i(45)(function() {
        return 7 != Object.defineProperty(i(121)("div"), "a", {get: function() {
                return 7
            }
        }).a
    })
}, function(e, t, i) {
    var a = i(119);
    e.exports = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
        return "String" == a(e) ? e.split("") : Object(e)
    }
}, function(e, t, i) {
    "use strict";
    var a = i(84),
        n = i(41),
        o = i(128),
        r = i(46),
        l = i(42),
        s = i(83),
        u = i(231),
        d = i(89),
        c = i(126),
        f = i(48)("iterator"),
        p = !([].keys && "next" in [].keys()),
        h = "@@iterator",
        m = "keys",
        g = "values",
        v = function() {
            return this
        };
    e.exports = function(e, t, i, b, _, w, y) {
        u(i, t, b);
        var x, k, j, C = function(e) {
                if (!p && e in T) return T[e];
                switch (e) {
                    case m:
                        return function() {
                            return new i(this, e)
                        };
                    case g:
                        return function() {
                            return new i(this, e)
                        }
                }
                return function() {
                    return new i(this, e)
                }
            },
            E = t + " Iterator",
            M = _ == g,
            S = !1,
            T = e.prototype,
            z = T[f] || T[h] || _ && T[_],
            O = z || C(_),
            N = _ ? M ? C("entries") : O : void 0,
            I = "Array" == t ? T.entries || z : z;
        if (I && (j = c(I.call(new e)), j !== Object.prototype && (d(j, E, !0), a || l(j, f) || r(j, f, v))), M && z && z.name !== g && (S = !0, O = function() {
                return z.call(this)
            }), a && !y || !p && !S && T[f] || r(T, f, O), s[t] = O, s[E] = v, _)
            if (x = {
                    values: M ? O : C(g),
                    keys: w ? O : C(m),
                    entries: N
                }, y)
                for (k in x) k in T || o(T, k, x[k]);
            else n(n.P + n.F * (p || S), t, x);
        return x
    }
}, function(e, t, i) {
    var a = i(127),
        n = i(82).concat("length", "prototype");
    t.f = Object.getOwnPropertyNames || function(e) {
        return a(e, n)
    }
}, function(e, t, i) {
    var a = i(42),
        n = i(66),
        o = i(90)("IE_PROTO"),
        r = Object.prototype;
    e.exports = Object.getPrototypeOf || function(e) {
        return e = n(e), a(e, o) ? e[o] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? r : null
    }
}, function(e, t, i) {
    var a = i(42),
        n = i(38),
        o = i(227)(!1),
        r = i(90)("IE_PROTO");
    e.exports = function(e, t) {
        var i, l = n(e),
            s = 0,
            u = [];
        for (i in l) i != r && a(l, i) && u.push(i);
        for (; t.length > s;) a(l, i = t[s++]) && (~o(u, i) || u.push(i));
        return u
    }
}, function(e, t, i) {
    e.exports = i(46)
}, function(e, t) {
    e.exports = {
        globalClass: "globalClass_ET"
    }
}, function(e, t, i) {
    "use strict";

    function a(e, t) {
        if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }

    function n(e, t) {
        if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
        e.prototype = Object.create(t && t.prototype, {
            constructor: {
                value: e,
                enumerable: !1,
                writable: !0,
                configurable: !0
            }
        }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
    }
    var o = i(297),
        r = function(e) {
            function t(i, n, o) {
                a(this, t), e.call(this, i), this.listener = n, this.context = o
            }
            return n(t, e), t
        }(o);
    e.exports = r
}, function(e, t, i) {
    (function(t) {
        "use strict";

        function i(e, t, i, n, o, r, l, s) {
            if (a(t), !e) {
                var u;
                if (void 0 === t) u = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
                else {
                    var d = [i, n, o, r, l, s],
                        c = 0;
                    u = new Error(t.replace(/%s/g, function() {
                        return d[c++]
                    })), u.name = "Invariant Violation"
                }
                throw u.framesToPop = 1, u
            }
        }
        var a = function(e) {};
        "production" !== t.env.NODE_ENV && (a = function(e) {
            if (void 0 === e) throw new Error("invariant requires an error message argument")
        }), e.exports = i
    }).call(t, i(57))
}, function(e, t) {
    e.exports = '<svg width="73px" height="51px" viewBox="0 0 73 51" version="1.1" xmlns="http://www.w3.org/2000/svg">\n    <style>\n      @-webkit-keyframes ochange {\n        0%   {opacity: 0}\n        50%  {opacity: 1}\n        100% {opacity: 0}\n      }\n      @keyframes ochange {\n        0%   {opacity: 0}\n        50%  {opacity: 1}\n        100% {opacity: 0}\n      }\n      #dot-1 {\n        opacity: 0;\n        animation-duration: 1.5s;\n        animation-name: ochange;\n        animation-iteration-count: infinite;\n        animation-delay: 0s;\n      }\n      #dot-2 {\n        opacity: 0;\n        animation-duration: 1.5s;\n        animation-name: ochange;\n        animation-iteration-count: infinite;\n        animation-delay: .3s;\n      }\n      #dot-3 {\n        opacity: 0;\n        animation-duration: 1.5s;\n        animation-name: ochange;\n        animation-iteration-count: infinite;\n        animation-delay: 0.6s;\n      }\n    </style>\n    <g>\n        <path d="M48.2,35.7 C44.5,35.7 41.1,35.1 38,34 C37.2,33.4 36,33.7 35.2,34.6 L29,40.8 C21,36.5 14.2,30 10.2,22.1 L16.7,15.9 C17.3,15 17.5,13.9 17.3,13.1 C16.2,9.7 15.6,6.3 15.6,2.9 C15.6,1.2 14.5,0.1 12.8,0.1 L2.8,0.1 C1.1,-1.52655666e-16 0,1.1 0,2.8 C0,29.5 21.5,51 48.2,51 C49.9,51 51,49.9 51,48.2 L51,38.6 C51,36.8 49.9,35.7 48.2,35.7 L48.2,35.7 Z" id="Shape" fill="#44BB6E"></path>\n        <path d="M35.8,20 C37.9,20 39.6,18.2 39.6,16 C39.6,13.8 37.9,12 35.8,12 C33.7,12 32,13.8 32,16 C32,18.2 33.7,20 35.8,20 L35.8,20 Z" id="dot-1" fill="#44BB6E"></path>\n        <path d="M52.2,12 C50.1,12 48.4,13.8 48.4,16 C48.4,18.2 50.1,20 52.2,20 C54.3,20 56,18.2 56,16 C56,13.8 54.3,12 52.2,12 L52.2,12 Z" id="dot-2" fill="#44BB6E"></path>\n        <path d="M69.2,12 C67.1,12 65.4,13.8 65.4,16 C65.4,18.2 67.1,20 69.2,20 C71.3,20 73,18.2 73,16 C73,13.8 71.3,12 69.2,12 L69.2,12 Z" id="dot-3" fill="#44BB6E"></path>\n    </g>\n</svg>'
}, function(e, t) {
    e.exports = '<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 15"><style>.st0{fill:none;stroke:#FFF;stroke-width:2;stroke-linecap:round}</style><path id="icon_ok" class="st0" d="M1 6.3l7 7 12-12"/></svg>'
}, function(e, t) {
    e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">\n  <defs>\n    <style>\n      .cls-1 {\n        fill-rule: evenodd;\n      }\n    </style>\n  </defs>\n  <path id="icon_fb.svg" class="cls-1" d="M1166.99,805.011a5.791,5.791,0,0,0-6,5.551,5.383,5.383,0,0,0,2.24,4.323V817l2.04-1.12a6.4,6.4,0,0,0,1.72.232A5.568,5.568,0,1,0,1166.99,805.011Zm0.6,7.475-1.53-1.628L1163,812l3.36-2.992,1.56,1.628L1171,809Z" transform="translate(-1161 -805)"/>\n</svg>\n'
}, function(e, t) {
    e.exports = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="9" viewBox="0 0 16 9">\n  <defs>\n    <style>\n      .cls-1 {\n        fill-rule: evenodd;\n      }\n    </style>\n  </defs>\n  <path id="icon_vk.svg" class="cls-1" d="M562.914,739.129a0.922,0.922,0,0,0-.054-0.1,8.161,8.161,0,0,0-1.591-1.816l-0.016-.017-0.009-.008-0.008-.008h-0.009a9.477,9.477,0,0,1-.674-0.674,0.626,0.626,0,0,1-.117-0.666,6.276,6.276,0,0,1,.75-1.076q0.34-.435.541-0.7,1.442-1.89,1.25-2.415l-0.05-.082a0.48,0.48,0,0,0-.258-0.136,1.319,1.319,0,0,0-.533-0.02l-2.4.016a0.317,0.317,0,0,0-.167,0l-0.108.025-0.042.02-0.033.025a0.37,0.37,0,0,0-.092.086,0.56,0.56,0,0,0-.083.144,13.359,13.359,0,0,1-.891,1.849c-0.206.339-.394,0.634-0.567,0.883a4.233,4.233,0,0,1-.433.55,3.067,3.067,0,0,1-.316.284,0.31,0.31,0,0,1-.217.09l-0.141-.033a0.543,0.543,0,0,1-.188-0.2,0.908,0.908,0,0,1-.1-0.321c-0.016-.128-0.026-0.239-0.029-0.332s0-.225,0-0.395,0.009-.285.009-0.345q0-.312.012-0.678c0.009-.243.015-0.436,0.021-0.579s0.008-.293.008-0.452a1.834,1.834,0,0,0-.029-0.374,1.24,1.24,0,0,0-.087-0.262,0.448,0.448,0,0,0-.171-0.2,1,1,0,0,0-.279-0.111A5.631,5.631,0,0,0,554.7,731a5.522,5.522,0,0,0-1.991.2,1.121,1.121,0,0,0-.317.246c-0.1.121-.114,0.187-0.041,0.2a1.027,1.027,0,0,1,.708.354l0.05,0.1a1.637,1.637,0,0,1,.116.378,3.75,3.75,0,0,1,.075.6,6.245,6.245,0,0,1,0,1.027q-0.042.428-.079,0.665a1.325,1.325,0,0,1-.112.387,1.789,1.789,0,0,1-.1.18,0.139,0.139,0,0,1-.042.041,0.615,0.615,0,0,1-.225.041,0.528,0.528,0,0,1-.283-0.115,1.987,1.987,0,0,1-.346-0.316,4.255,4.255,0,0,1-.4-0.563,9.676,9.676,0,0,1-.466-0.854l-0.134-.238q-0.124-.231-0.341-0.67t-0.383-.85a0.545,0.545,0,0,0-.2-0.263l-0.042-.025a0.56,0.56,0,0,0-.133-0.07,0.939,0.939,0,0,0-.192-0.053l-2.282.016a0.587,0.587,0,0,0-.475.156l-0.033.05a0.257,0.257,0,0,0-.025.131,0.659,0.659,0,0,0,.05.222q0.5,1.158,1.087,2.235t1.02,1.733q0.433,0.657.883,1.241c0.3,0.388.5,0.638,0.6,0.747s0.173,0.192.229,0.247l0.208,0.2a4.926,4.926,0,0,0,.587.472,10.12,10.12,0,0,0,.858.543,4.675,4.675,0,0,0,1.1.435,3.869,3.869,0,0,0,1.216.136h0.958a0.669,0.669,0,0,0,.441-0.181l0.033-.041a0.55,0.55,0,0,0,.063-0.152,0.847,0.847,0,0,0,.029-0.226,2.638,2.638,0,0,1,.054-0.637,1.632,1.632,0,0,1,.142-0.427,1.021,1.021,0,0,1,.179-0.242,0.663,0.663,0,0,1,.142-0.119,0.517,0.517,0,0,1,.066-0.029,0.536,0.536,0,0,1,.471.127,2.762,2.762,0,0,1,.508.477q0.237,0.283.57,0.637a3.975,3.975,0,0,0,.583.525l0.167,0.1a2.052,2.052,0,0,0,.433.181,0.95,0.95,0,0,0,.467.041l2.132-.033a0.967,0.967,0,0,0,.491-0.1,0.411,0.411,0,0,0,.209-0.226,0.634,0.634,0,0,0,0-.279A0.994,0.994,0,0,0,562.914,739.129Z" transform="translate(-547 -731)"/>\n</svg>\n'
}, function(e, t, i) {
    var a = i(276);
    "string" == typeof a && (a = [
        [e.id, a, ""]
    ]);
    i(18)(a, {});
    a.locals && (e.exports = a.locals)
}, function(e, t) {
    var i = {
        animationIterationCount: !0,
        boxFlex: !0,
        boxFlexGroup: !0,
        boxOrdinalGroup: !0,
        columnCount: !0,
        flex: !0,
        flexGrow: !0,
        flexPositive: !0,
        flexShrink: !0,
        flexNegative: !0,
        flexOrder: !0,
        gridRow: !0,
        gridColumn: !0,
        fontWeight: !0,
        lineClamp: !0,
        lineHeight: !0,
        opacity: !0,
        order: !0,
        orphans: !0,
        tabSize: !0,
        widows: !0,
        zIndex: !0,
        zoom: !0,
        fillOpacity: !0,
        stopOpacity: !0,
        strokeDashoffset: !0,
        strokeOpacity: !0,
        strokeWidth: !0
    };
    e.exports = function(e, t) {
        return "number" != typeof t || i[e] ? t : t + "px"
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(9),
        _ = a(b),
        w = i(16),
        y = a(w),
        x = i(12),
        k = a(x),
        j = i(14),
        C = a(j),
        E = i(27),
        M = a(E),
        S = i(1),
        T = a(S),
        z = i(5),
        O = a(z),
        N = i(15),
        I = a(N),
        A = i(10),
        P = a(A),
        L = i(98),
        B = a(L),
        D = i(97),
        F = a(D),
        H = i(103),
        R = a(H),
        W = i(70),
        V = a(W),
        q = i(69),
        U = a(q),
        G = i(132),
        X = a(G),
        Z = i(309),
        Y = a(Z),
        K = P.default.name("Call");
    i(359);
    var J = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = {
                mode: null,
                percent: 0,
                deg: 0,
                agent: null,
                error: !1,
                hide_content: !1,
                hide_form: !1,
                circleDeg: null,
                timerValue: ""
            }, i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "getState",
            value: function() {
                var e = {
                    mode: C.default.cw_call.status,
                    agent: M.default,
                    message: !1
                };
                return "cw_error" == e.mode && (e.message = C.default.cw_call.error, e.message || (e.message = (0, I.default)("cw_unableToConnect") + " " + (0, I.default)("cw_errInfoText")), this.callTimer.setTimerNull()), "cw_connected" == e.mode && this.callTimer.setTimerNull(), "call" != k.default.route && "call/min" != k.default.route || (e.hide_content = !1, e.hide_form = !1), e
            }
        }, {
            key: "componentDidMount",
            value: function() {
                var e = this;
                O.default.callback_settings.time && (this.on(C.default, function() {
                    e.setState(e.getState())
                }), this.on(M.default, function() {
                    e.setState({
                        agent: M.default
                    })
                }), this.on(k.default, function() {
                    e.setState(e.getState()), "call" == k.default.route && _.default.indexOf(["form", !1], e.state.mode) !== -1 && setTimeout(function() {
                        e.refs.inputPhone.focus()
                    }, 300), k.default.eula_accepted && e.phone && O.default.eula && (e.callTimer.setTimerNull(), e.setState({
                        phone: e.phone
                    }), e.startCall(e.phone), e.phone = !1)
                }), this.initialConfig = O.default.callback_settings, this.initTimer(), this.setState(this.getState()), this.refs.inputPhone.subscribe("onEnter", this.submitPhone.bind(this)))
            }
        }, {
            key: "initTimer",
            value: function() {
                this.callTimer = F.default, this.callTimer.callTimerText = this.refs.timer, this.callTimer.seconds = O.default.callback_settings.time, this.callTimer.on("handling", _.default.bind(function(e) {
                    K.log("timer_finished", this.state.mode), "timer_finished" == e.inputType && "cw_wait" == this.state.mode && this.showConnecting()
                }, this)), this.callTimer.on("tick", _.default.bind(function(e) {
                    if ("call" == k.default.route && "cw_wait" == C.default.cw_call.status) {
                        this.setState({
                            timerValue: e
                        });
                        var t = 100 - 1e3 * e / 1e3 / O.default.callback_settings.time * 100;
                        this.drawTimer(t)
                    }
                }, this))
            }
        }, {
            key: "startChat",
            value: function() {
                this.setState({
                    hide_content: !0
                });
                var e = window.parent.document;
                e && e.getElementById("jivo-iframe-container") && (e.getElementById("jivo-iframe-container").style.height = k.default.offline_height), this.setState({
                    hide_form: !0
                }), setTimeout(function() {
                    k.default.is_focused = 1, y.default.navigate("chat"), (0, S.removeClass)(document.getElementById("call-header"), "hide-content")
                }, 300)
            }
        }, {
            key: "submitPhone",
            value: function() {
                if (this.refs.inputPhone.isValid()) {
                    var e = this.refs.inputPhone.getValue();
                    !k.default.eula_accepted && O.default.eula ? (this.phone = e, y.default.showEula("5@572>=8BL =0 =><5@<br/>" + e, null, "cb")) : (this.callTimer.setTimerNull(), this.startCall(e))
                }
            }
        }, {
            key: "startCall",
            value: function(e) {
                K.log("start call", e), y.default.startCall(e, "", "callback_screen")
            }
        }, {
            key: "showConnecting",
            value: function() {
                this.setState({
                    mode: "cw_connecting"
                })
            }
        }, {
            key: "drawTimer",
            value: function(e) {
                "call" === k.default.route && this.setState({
                    circleDeg: 3.6 * e
                })
            }
        }, {
            key: "renderLogo",
            value: function() {
                return m.default.createElement("a", {
                    href: (0, S.trackCallLogo)(),
                    target: "_blank",
                    title: "Jivo" + ("ru_RU" == O.default.locale ? "site" : "chat"),
                    className: "jivo-logo jivo-logo-dark",
                    style: {
                        display: "cw_connected" != this.state.mode && T.default.showAd() ? "block" : "none"
                    },
                    dangerouslySetInnerHTML: {
                        __html: "ru_RU" == O.default.locale ? V.default : U.default
                    }
                })
            }
        }, {
            key: "render",
            value: function() {
                if (!O.default.callback_settings.time) return m.default.createElement("div", null);
                var e, t, i = {};
                this.state.circleDeg && (e = "rotate(" + this.state.circleDeg + "deg)", t = 100 * this.state.circleDeg / 360, i = {
                    transform: e,
                    OTransform: e,
                    msTransform: e,
                    MozTransform: e,
                    webkitTransform: e
                });
                var a = !this.state.mode || _.default.indexOf(["cw_error", "cw_call_end"], this.state.mode) !== -1,
                    n = _.default.indexOf(["cw_connected"], this.state.mode) !== -1,
                    o = "";
                this.state.agent && this.state.agent.avatar_url && (o = {
                    backgroundImage: 'url("' + O.default.avatar_url + "/avatars/" + this.state.agent.avatar_url + '")'
                });
                var r = "jivo-call-form jivo-call-form-low" + (this.state.hide_content ? " hide-content" : ""),
                    l = k.default.is_online ? " jivo-call-content-animate" : " jivo-call-content-animate-offline",
                    s = (0, I.default)("cw_callButtonText");
                return O.default.eula && !k.default.eula_accepted && (s = (0, I.default)("continue")), m.default.createElement("div", {
                    id: "jivo-call",
                    className: "jivo-animated",
                    style: {
                        position: "absolute",
                        top: 0,
                        left: 0,
                        width: "100%",
                        height: "100%",
                        zIndex: 0,
                        display: this.props.display ? "block" : "none",
                        backgroundColor: n ? k.default.widget_color : "#ffffff",
                        borderTopLeftRadius: "3px",
                        borderTopRightRadius: k.default.show_eula ? "0px" : "30px"
                    }
                }, a ? "" : m.default.createElement(B.default, {
                    state: "chat"
                }), m.default.createElement("div", {
                    className: r,
                    style: "display:block;"
                }, m.default.createElement("div", {
                    className: "jivo-form-box"
                }, m.default.createElement("div", {
                    className: "jivo-form-inner",
                    style: {
                        display: a ? "block" : "none"
                    }
                }, m.default.createElement("div", {
                    className: "jivo-call-content" + (this.state.hide_form ? l : "")
                }, m.default.createElement("div", {
                    id: "jivo-call-form"
                }, m.default.createElement("div", {
                    className: "jivo-call-form-shadow"
                }, m.default.createElement(R.default, {
                    ref: "inputPhone",
                    type: "single"
                })), m.default.createElement("a", {
                    id: "jivo-save-tel",
                    title: "cw_call_end" == this.state.mode ? (0, I.default)("cw_repeatCallAgain") : (0, I.default)("cw_callButtonText"),
                    onClick: this.submitPhone.bind(this)
                }, m.default.createElement("i", {
                    className: "jivo-call-icon"
                }), "cw_call_end" == this.state.mode ? (0, I.default)("cw_repeatCallAgain") : s))), m.default.createElement("div", {
                    className: "jivo-call-copy"
                }, m.default.createElement("a", {
                    href: "#",
                    className: "jivo-start-chat",
                    onClick: this.startChat.bind(this)
                }, m.default.createElement("i", {
                    className: "jivo-ico-start-chat"
                }), "online" === O.default.chat_mode ? (0, I.default)("cw_typeInChat") : (0, I.default)("lblLeaveMessage")))), m.default.createElement("div", {
                    id: "jivo-call-container"
                }, m.default.createElement("div", {
                    className: "jivo-call-action",
                    style: {
                        display: this.state.mode ? "block" : "none"
                    }
                }, m.default.createElement("div", {
                    className: "jivo-call-step jivo-call-wait",
                    style: {
                        display: "cw_wait" == this.state.mode ? "block" : "none"
                    }
                }, m.default.createElement("div", {
                    className: "jivo-text-ca " + (1 == O.default.hide_ad ? "hide-logo" : "")
                }, (0, I.default)("cw_callAfter")), m.default.createElement("div", {
                    id: "jivo-timer-block",
                    className: "cw_wait" == this.state.mode ? "jivo-timer-block jivo-timer-show" : "jivo-timer-block"
                }, m.default.createElement("div", {
                    className: (t && t > 50 ? "gt50" : "") + " jivo-call-loader",
                    "data-anim": "base wrapper",
                    ref: "callLoader"
                }, m.default.createElement("div", {
                    className: (t && t > 50 ? "fill" : "") + " jivo-call-circle",
                    "data-anim": "base left",
                    ref: "callCircle1"
                }), m.default.createElement("div", {
                    id: "callCircle2",
                    className: "jivo-call-circle",
                    "data-anim": "base right",
                    style: i
                })), m.default.createElement("div", {
                    className: "jivo-action-timer"
                }, m.default.createElement("span", {
                    id: "jivo-time",
                    className: "jivo-time",
                    ref: "timer"
                }, this.state.timerValue))), (0, I.default)("cw_form_secondd"), this.renderLogo()), m.default.createElement("div", {
                    className: "jivo-call-step jivo-call-connecting",
                    style: {
                        display: "cw_connecting" == this.state.mode ? "block" : "none"
                    }
                }, m.default.createElement("div", {
                    className: "jivo-call-box-wrap " + (1 == O.default.hide_ad ? "hide-logo" : "")
                }, m.default.createElement("div", {
                    className: "jivo-call-box",
                    dangerouslySetInnerHTML: {
                        __html: X.default
                    }
                })), m.default.createElement("div", {
                    className: "jivo-text-conn"
                }, (0, I.default)("cw_connecting")), this.renderLogo()), m.default.createElement("div", {
                    className: "jivo-call-step jivo-call-connected",
                    style: {
                        display: "cw_connected" == this.state.mode ? "block" : "none"
                    }
                }, m.default.createElement("div", {
                    className: "jivo-call-box"
                }, m.default.createElement("div", {
                    className: "jivo-call-up",
                    style: "display: none;"
                }, m.default.createElement("div", {
                    dangerouslySetInnerHTML: {
                        __html: Y.default
                    }
                }), (0, I.default)("cw_weCalling"), m.default.createElement("br", null), m.default.createElement("span", {
                    className: "jivo-calling-up-phone"
                }, (0, I.default)("cw_pickUpPhone"))), m.default.createElement("div", {
                    className: "jivo-call-online",
                    style: "display: block;"
                }, m.default.createElement("div", {
                    className: "jivo-operator-icon"
                }, m.default.createElement("div", {
                    id: "jivo-operator-icon",
                    style: o,
                    className: (n ? "dark" : "light") + "-avatar"
                }), m.default.createElement("i", {
                    className: "jivo-operator-icon-mobile"
                })), m.default.createElement("div", {
                    className: "jivo-operator-name " + k.default.widget_font_color
                }, m.default.createElement("div", {
                    className: "operator-title"
                }, this.state.agent ? this.state.agent.display_name : ""), m.default.createElement("small", null, this.state.agent ? this.state.agent.title : "")), m.default.createElement("div", {
                    className: "jivo-connected-show-chat",
                    onClick: this.startChat.bind(this)
                }, m.default.createElement("i", {
                    className: "jivo-ico-start-chat"
                }), "online" === O.default.chat_mode ? (0, I.default)("cw_typeInChat") : (0, I.default)("lblLeaveMessage"))))))))))
            }
        }]), t
    }(v.default);
    t.default = J
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(9),
        y = a(w),
        x = i(14),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(1),
        M = i(5),
        S = a(M),
        T = i(15),
        z = a(T),
        O = i(10),
        N = a(O),
        I = i(97),
        A = a(I),
        P = i(34),
        L = a(P),
        B = i(16),
        D = a(B),
        F = i(103),
        H = a(F),
        R = N.default.name("CallChat");
    i(360);
    var W = (0, E.getTextSeconds)(S.default.callback_settings),
        V = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {
                    mode: !1,
                    pin: !0,
                    close: !0,
                    error: !1,
                    hide: !0,
                    is_invalid_phone: !1,
                    submit: !1
                }, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    R.log("mounted"), this.on(C.default, function() {
                        "label" != C.default.route && ("chat/call" != C.default.route || e.props.display && !e.state.hide || setTimeout(function() {
                            e.refs.inputPhone.focus()
                        }, 20), C.default.eula_accepted && e.phone && S.default.eula && (e.callTimer.setTimerNull(), e.setState({
                            phone: e.phone,
                            is_invalid_phone: 0
                        }), e.startCall(e.phone), e.values = !1, e.phone = !1), e.setState(e.getState()))
                    }), this.on(k.default, function() {
                        e.setState(e.getState())
                    }), this.initTimer(), this.setState(this.getState(!0)), this.refs.inputPhone.subscribe("onEnter", this.submitPhone.bind(this)), this.refs.inputPhone.subscribe("onChange", function() {
                        e.setState({
                            is_invalid_phone: !e.refs.inputPhone.isValid()
                        })
                    })
                }
            }, {
                key: "getState",
                value: function(e) {
                    var t = {
                        mode: k.default.cw_call.status,
                        error: !1,
                        hide: "chat/call" != C.default.route
                    };
                    switch (k.default.cw_call.status) {
                        case "cw_wait":
                            if (e) {
                                var i = (0, z.default)("cw_call_to") + " " + k.default.client_info.phone;
                                D.default.systemMessage(i, "callStart")
                            }(0, o.default)(t, {
                                hide: !1,
                                pin: !1,
                                close: !1,
                                submit: !1
                            }), this.callTimer.handle("start_timer");
                            break;
                        case "cw_connecting":
                            (0, o.default)(t, {
                                pin: !1,
                                close: !1,
                                hide: !1
                            });
                            break;
                        case "cw_connected":
                            t.hide = !0;
                            break;
                        case "cw_error":
                            (0, o.default)(t, {
                                pin: !0,
                                close: !0,
                                submit: !1,
                                error: k.default.cw_call.error
                            });
                            break;
                        case "cw_call_end":
                            this.callTimer.setTimerNull(), (0, o.default)(t, {
                                pin: !0,
                                close: !0,
                                submit: !1
                            })
                    }
                    return t
                }
            }, {
                key: "initTimer",
                value: function() {
                    this.callTimer = A.default, this.callTimer.callTimerText = this.refs.timer, this.callTimer.seconds = S.default.callback_settings.time, this.callTimer.on("handling", y.default.bind(function(e) {
                        R.log("timer_finished", this.state.mode), "timer_finished" == e.inputType && "cw_wait" == this.state.mode && this.setState({
                            mode: "cw_connecting"
                        })
                    }, this)), this.callTimer.on("tick", y.default.bind(function(e) {
                        this.refs.timer.innerText = e
                    }, this))
                }
            }, {
                key: "submitPhone",
                value: function() {
                    if (this.refs.inputPhone.isValid()) {
                        var e = this.refs.inputPhone.getValue();
                        !C.default.eula_accepted && S.default.eula ? (this.phone = e, D.default.showEula("5@572>=8BL =0 =><5@<br/>" + e, null, "cb")) : (this.state.submit || (this.callTimer.setTimerNull(), this.startCall(e)), this.setState({
                            submit: !0
                        }))
                    }
                }
            }, {
                key: "startCall",
                value: function(e) {
                    R.log("start call", e), D.default.startCall(e, "", "chat_popup")
                }
            }, {
                key: "render",
                value: function() {
                    var e = "cw_wait" == this.state.mode || "cw_connecting" == this.state.mode;
                    return y.default.isEmpty(S.default.callback_settings) && R.log("Callwidget not configured yet."), v.default.createElement("div", {
                        id: "callme-form",
                        style: {
                            display: this.props.display && !this.state.hide ? "block" : "none"
                        }
                    }, e ? v.default.createElement("div", null) : this.renderInputForm(), v.default.createElement("div", {
                        className: "call-wait call-tab",
                        style: {
                            display: "cw_wait" === this.state.mode ? "block" : "none"
                        }
                    }, v.default.createElement("div", {
                        className: "callme-text"
                    }, " ", (0, z.default)("cw_callAfter")), v.default.createElement("div", {
                        className: "callme-timer",
                        ref: "timer"
                    }, this.state.timer || S.default.callback_settings.time), v.default.createElement("div", {
                        className: "callme-seconds"
                    }, " ", (0, z.default)(W))), v.default.createElement("div", {
                        className: "call-connecting call-tab",
                        style: {
                            display: "cw_connecting" === this.state.mode ? "block" : "none"
                        }
                    }, v.default.createElement("div", {
                        className: "callme-text"
                    }, (0, z.default)("cw_connecting")), v.default.createElement(L.default, {
                        src: "callback_connect.svg",
                        className: "callme-icon"
                    })), v.default.createElement("div", {
                        className: "pin",
                        style: {
                            display: this.state.pin ? "block" : "none"
                        }
                    }), v.default.createElement("div", {
                        className: "callme-close",
                        onClick: function(e) {
                            e.stopPropagation(), D.default.toggleCallChat()
                        },
                        style: {
                            display: this.state.close ? "block" : "none"
                        }
                    }))
                }
            }, {
                key: "renderInputForm",
                value: function() {
                    return v.default.createElement("div", {
                        className: "call-form call-tab",
                        style: {
                            display: "block"
                        }
                    }, v.default.createElement("div", {
                        className: "callme-text"
                    }, this.state.error ? v.default.createElement("div", null, this.state.error) : v.default.createElement("div", null, (0, z.default)("cw_weRecallAfter"), v.default.createElement("span", {
                        className: "jivo-text-time"
                    }, " ", S.default.callback_settings.time), v.default.createElement("span", {
                        className: "jivo-text-sec"
                    }, " ", (0, z.default)(W)), "!")), v.default.createElement("div", {
                        className: "callme-box"
                    }, v.default.createElement("div", {
                        className: "callme-inputphone-ctr"
                    }, v.default.createElement(H.default, {
                        ref: "inputPhone",
                        type: "inForm"
                    })), v.default.createElement("div", {
                        id: "callme-start-call",
                        className: this.state.is_invalid_phone || this.state.submit ? "" : "can-call",
                        onClick: this.submitPhone.bind(this),
                        ref: "submitCall"
                    })))
                }
            }]), t
        }(_.default);
    t.default = V
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(9),
        _ = a(b),
        w = i(12),
        y = a(w),
        x = i(14),
        k = a(x),
        j = i(27),
        C = a(j),
        E = i(1),
        M = a(E),
        S = i(5),
        T = a(S),
        z = i(15),
        O = a(z),
        N = i(10),
        I = a(N),
        A = i(70),
        P = a(A),
        L = i(69),
        B = a(L),
        D = (I.default.name("CallHeader"), function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = i.getState(), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "getState",
                value: function() {
                    var e = {
                        mode: k.default.cw_call.status || !1,
                        agent: C.default,
                        message: !1
                    };
                    return "cw_error" == k.default.cw_call.status && (e.message = k.default.cw_call.error, e.message || (e.message = (0, O.default)("cw_unableToConnect") + " " + (0, O.default)("cw_errInfoText"))), e
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(C.default, function() {
                        e.setState(e.getState())
                    }), this.on(k.default, function() {
                        e.setState(e.getState())
                    }), this.on(y.default, function() {
                        e.setState(e.getState())
                    })
                }
            }, {
                key: "render",
                value: function() {
                    var e = _.default.indexOf(["cw_wait", "cw_connecting"], this.state.mode) !== -1,
                        t = "jivo-form-header header-color-" + y.default.widget_font_color + " " + (M.default.showAd() ? "" : "hide-logo"),
                        i = y.default.callText ? m.default.createElement("span", {
                            className: "jivo-text-center",
                            dangerouslySetInnerHTML: {
                                __html: y.default.callText
                            }
                        }) : m.default.createElement("span", {
                            className: "jivo-text-center"
                        }, (0, O.default)("cw_weRecallAfter"), " ", m.default.createElement("span", {
                            className: "jivo-text-time"
                        }, T.default.callback_settings.time), " ", m.default.createElement("span", {
                            className: "jivo-text-sec"
                        }, (0, O.default)("cw_form_secondd")), "!"),
                        a = y.default.show_eula && !y.default.eula_accepted;
                    return m.default.createElement("div", {
                        id: "call-header",
                        className: t,
                        style: {
                            height: a ? "70px" : "auto"
                        }
                    }, a && m.default.createElement("div", {
                        className: "call-eula-title " + y.default.widget_font_color
                    }, (0, O.default)("cw_callAfter"), " ", T.default.callback_settings.time, " ", (0, O.default)("cw_form_secondd")), m.default.createElement("a", {
                        href: (0, E.trackCallLogo)(),
                        target: "_blank",
                        title: "Jivo" + ("ru_RU" == T.default.locale ? "site" : "chat"),
                        className: "jivo-logo jivo-logo-" + (e || !this.state.mode && "dark" == y.default.widget_font_color ? "dark" : "light"),
                        style: {
                            display: "cw_connected" == this.state.mode || !M.default.showAd() || a ? "none" : "block"
                        },
                        dangerouslySetInnerHTML: {
                            __html: "ru_RU" == T.default.locale ? P.default : B.default
                        }
                    }), m.default.createElement("div", {
                        className: "jivo-call-text",
                        style: {
                            display: this.state.mode || a ? "none" : "block"
                        }
                    }, i), m.default.createElement("div", {
                        className: "jivo-error-header",
                        style: {
                            display: "cw_error" == this.state.mode ? "block" : "none"
                        }
                    }, m.default.createElement("div", {
                        className: "jivo-error-header-wrapper"
                    }, m.default.createElement("div", {
                        className: "jivo-title-ce"
                    }, this.state.message && (0, O.default)("cw_unableToConnect") + " " + (0, O.default)("cw_errInfoText")))), m.default.createElement("div", {
                        className: "jivo-call-end",
                        style: {
                            display: "cw_call_end" == this.state.mode ? "block" : "none"
                        }
                    }, m.default.createElement("div", {
                        className: "jivo-thx-text"
                    }, (0, O.default)("cw_thxForCall"))))
                }
            }]), t
        }(v.default));
    t.default = D
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n, o = i(2),
        r = a(o),
        l = i(3),
        s = a(l),
        u = i(142),
        d = a(u),
        c = i(5),
        f = a(c),
        p = i(14),
        h = a(p),
        m = i(9),
        g = a(m),
        v = "1.0",
        b = "https://api.jivosite.com",
        _ = function() {
            function e() {
                (0, r.default)(this, e)
            }
            return (0, s.default)(e, null, [{
                key: "getMessages",
                value: function(e, t) {
                    var i = h.default.client_id,
                        a = i.split(".")[0],
                        n = {
                            limit: 30
                        };
                    g.default.isNumber(e.offset_msg_id) || delete e.offset_msg_id, g.default.extend(n, e), this.sendApiRequest("/clients/" + a + "/chats/messages", n, t)
                }
            }, {
                key: "sendApiRequest",
                value: function(e, t, i) {
                    var a = n + "/api/" + v + "/sites/" + f.default.site_id + "/widgets/" + f.default.widget_id + e;
                    d.default.get({
                        url: a,
                        params: t,
                        headers: {
                            Authorization: this.getAuthToken()
                        }
                    }, i)
                }
            }, {
                key: "getAuthToken",
                value: function() {
                    return f.default.widget_id + "." + h.default.client_id
                }
            }, {
                key: "getApiHost",
                value: function() {
                    return b
                }
            }]), e
        }();
    t.default = _, n = _.getApiHost()
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(2),
        o = a(n),
        r = i(3),
        l = a(r),
        s = i(9),
        u = a(s),
        d = i(10),
        c = a(d),
        f = c.default.name("HttpProvider"),
        p = function() {
            function e() {
                (0, o.default)(this, e)
            }
            return (0, l.default)(e, null, [{
                key: "get",
                value: function(t, i) {
                    return e.sendXMLHttpRequest("GET", t, i)
                }
            }, {
                key: "post",
                value: function(t, i) {
                    return e.sendXMLHttpRequest("POST", t, i)
                }
            }, {
                key: "jsonp",
                value: function() {}
            }, {
                key: "sendXMLHttpRequest",
                value: function(t, i, a) {
                    var n = new XMLHttpRequest,
                        o = i.headers;
                    return "GET" === t && (i.url += "?", u.default.each(i.params, function(e, t) {
                        i.url += t + "=" + e + "&"
                    }), i.url = i.url.substr(0, i.url.length - 1)), n.open(t, i.url, !0), e.setXhrHeaders(n, o), n.onreadystatechange = function() {
                        4 === n.readyState && (200 !== n.status ? a({
                            code: n.status,
                            text: n.statusText
                        }, null) : a(null, JSON.parse(n.responseText)))
                    }, f.log("XHR params: ", i.params), n.send(i.params), n
                }
            }, {
                key: "setXhrHeaders",
                value: function(e, t) {
                    return u.default.each(t, function(t, i) {
                        e.setRequestHeader(i, t);
                    }), e
                }
            }]), e
        }();
    t.default = p
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(2),
        o = a(n),
        r = i(3),
        l = a(r),
        s = i(60),
        u = a(s),
        d = i(1),
        c = a(d),
        f = i(5),
        p = a(f),
        h = i(9),
        m = a(h),
        g = i(72),
        v = a(g),
        b = i(99),
        _ = a(b),
        w = i(31),
        y = a(w),
        x = i(39),
        k = x.EventEmitter,
        j = function() {
            function e(t) {
                (0, o.default)(this, e), this.settings = t, this.emitter = new k, this.store = [], this.initArrayStore(), this.protectOthersTabs(), this.triggerFn = m.default.debounce(this.trigger, 100)
            }
            return (0, l.default)(e, [{
                key: "initArrayStore",
                value: function() {
                    var e = this,
                        t = v.default.get(this.settings.name + "_items") || [];
                    m.default.each(t, function(t) {
                        if (v.default.get(t)) {
                            var i = new(e.settings.itemClass || u.default)({
                                type: e.settings.type,
                                name: t,
                                keys: e.settings.keys
                            });
                            e.addTriggers(i), e.store.push(i), e.sort()
                        }
                    }), this.cleanOldProactive(), this.cleanDublicates(), this.removeOldLocalStorageProactive()
                }
            }, {
                key: "addTriggers",
                value: function(e) {
                    var t = this;
                    e.on("all", function() {
                        t.trigger("update", e)
                    }), e.on("destroy", this.onRemoveItem.bind(this, e))
                }
            }, {
                key: "push",
                value: function(e) {
                    this.settings.uniqueKey;
                    var t = this.settings.type;
                    e.body && e.body.unsave && (t = "memory");
                    var i = new(this.settings.itemClass || u.default)({
                        type: t,
                        name: c.default.generateGUIDCount(1),
                        keys: this.settings.keys
                    });
                    return this.addTriggers(i), i.set(e), this.store.push(i), this.sort(), this.backup(i), this.triggerFn("create", i), !(i.unStorage && i.unStorage()) && _.default.sendEvent(this.settings.name + "_addArrayItem", {
                        name: i.getName()
                    }), i
                }
            }, {
                key: "sort",
                value: function() {}
            }, {
                key: "pushAll",
                value: function(e) {
                    var t = this,
                        i = [];
                    return m.default.each(e, function(e) {
                        i.push(t.push(e))
                    }), i
                }
            }, {
                key: "getAll",
                value: function() {
                    return this.store
                }
            }, {
                key: "toJSON",
                value: function() {
                    var e = [];
                    return m.default.each(this.store, function(t) {
                        e.push(t.toJSON())
                    }), e
                }
            }, {
                key: "each",
                value: function(e) {
                    m.default.each(this.store, function(t) {
                        e(t.toJSON(), t)
                    })
                }
            }, {
                key: "cleanDublicates",
                value: function() {
                    var e = this.store;
                    if (e.length) {
                        var t = m.default.groupBy(e, function(e) {
                            return e.get("msg_id")
                        });
                        m.default.each(t, function(e, t) {
                            e.length && +t && m.default.each(e, function(e, t) {
                                t > 0 && e.destroy()
                            })
                        })
                    }
                }
            }, {
                key: "cleanOldProactive",
                value: function() {
                    var e = this.store;
                    e.length && m.default.each(e, function(t, i) {
                        if (t && ("proactive" == t.get("type") || "system" == t.get("type")))
                            if (i + 1 !== e.length) {
                                var a = e[i + 1];
                                "proactive" == t.get("type") && "proactive" == a.get("type") && t.destroy();
                                var n = t.get("body") && ("call" == t.get("body").type || "social" == t.get("body").type),
                                    o = !t.get("body") && t.get("from") && "system" == t.get("from");
                                "system" != t.get("type") || "system" != a.get("type") || n || o || t.destroy()
                            } else "proactive" != t.get("type") || y.default.get("text") || t.destroy()
                    })
                }
            }, {
                key: "removeOldLocalStorageProactive",
                value: function() {
                    var e = v.default.get("messages_items");
                    for (var t in localStorage) {
                        var i = new RegExp("jv_[a-z0-9]{4}_" + p.default.widget_id, "ig");
                        if (t.search(i) != -1) {
                            var a = t.split("_")[1],
                                n = v.default.get(a);
                            n && e && "proactive" === n.type && e.indexOf(a) === -1 && v.default.removeKey(a)
                        }
                    }
                }
            }, {
                key: "onRemoveItem",
                value: function(e) {
                    var t = m.default.findIndex(this.store, function(t) {
                        return t === e
                    });
                    this.store.splice(t, 1), this.trigger("remove"), this.backup(), _.default.sendEvent(this.settings.name + "_removeArrayItem", {
                        name: e.getName()
                    })
                }
            }, {
                key: "backup",
                value: function() {
                    var e = [];
                    m.default.each(this.store, function(t) {
                        t.unStorage && t.unStorage() || e.push(t.getName())
                    }), v.default.set(this.settings.name + "_items", e.length ? e : [])
                }
            }, {
                key: "protectOthersTabs",
                value: function() {
                    var e = this;
                    c.default.isMagicIframe() || (_.default.on(this.settings.name + "_addArrayItem", function(t) {
                        var i = new(e.settings.itemClass || u.default)({
                            type: e.settings.type,
                            name: t.name,
                            keys: e.settings.keys
                        });
                        e.store.push(i), e.sort(), e.trigger("create", i, !0)
                    }), _.default.on("removeArrayItem", function(t) {
                        var i = m.default.findIndex(e.store, function(e) {
                            return e.getName() === t.name
                        });
                        e.store.splice(i, 1), e.sort(), e.trigger("remove")
                    }))
                }
            }, {
                key: "trigger",
                value: function(e, t, i) {
                    var a = this;
                    setTimeout(function() {
                        a.emitter.emit(e, t, i)
                    }, 0)
                }
            }, {
                key: "itemTrigger",
                value: function() {}
            }, {
                key: "on",
                value: function(e, t) {
                    return this.emitter.addListener(e, t)
                }
            }, {
                key: "onItem",
                value: function(e) {
                    return this.emitter.addListener(this.settings.name + "_update", cb)
                }
            }]), e
        }();
    t.default = j
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(27),
        y = a(w),
        x = i(14),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(5),
        M = a(E),
        S = i(10),
        T = a(S),
        z = i(44),
        O = a(z),
        N = i(13),
        I = a(N),
        A = i(369),
        P = a(A),
        L = (T.default.name("Avatar"), function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {}, i.state = i.getState(), i.state.expanded = C.default.route.indexOf("/min") !== -1, i.state.connected = i.props.connected, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getState",
                value: function() {
                    var e = "cw_connected" === k.default.cw_call.status;
                    if (C.default.is_online) {
                        var t = !!y.default.agent_id && y.default.avatar_url;
                        return {
                            avatar_url: t,
                            avatar_url_load: this.state.avatar_url_load || !1,
                            connected: e,
                            expanded: C.default.route.indexOf("/min") !== -1
                        }
                    }
                    return {
                        avatar_url: !1,
                        connected: e
                    }
                }
            }, {
                key: "processState",
                value: function() {
                    this.setState(this.getState())
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    this.on(C.default, this.processState.bind(this)), this.on(k.default, this.processState.bind(this)), this.on(y.default, this.processState.bind(this))
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = !!this.state.avatar_url && M.default.avatar_url + "/avatars/" + this.state.avatar_url,
                        t = C.default.is_online && "chat/introduce" !== C.default.route && "chat/departments" !== C.default.route && y.default.agent_id,
                        i = O.default.isLightColor(M.default.power_button_color || "#44BB6E"),
                        a = {
                            display: "none"
                        };
                    return e && (a = {
                        display: "block"
                    }), {
                        data: {
                            avatarUrl: e ? e : ""
                        },
                        styles: {
                            avatar: [{
                                avatar: !0,
                                _connected: this.state.connected,
                                _expanded: this.state.expanded,
                                _mobile: I.default.mobile()
                            }, {
                                display: t ? "table-cell" : "none"
                            }],
                            avatarColor: [{
                                darkAvatar: i,
                                lightAvatar: !i
                            }],
                            avatarImg: [{
                                avatarImg: !0
                            }, a]
                        },
                        style: P.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", t.avatar, v.default.createElement("jdiv", t.avatarColor, v.default.createElement("img", (0, o.default)({}, t.avatarImg, {
                        ref: "avatar",
                        src: e.avatarUrl
                    }))))
                }
            }]), t
        }(_.default));
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n(e) {
        var t = {
            angel: r.default,
            unicorn_face: s.default,
            confused: d.default,
            rage: f.default,
            imp: h.default,
            disappointed: g.default,
            kissing_heart: b.default,
            yum: w.default,
            disappointed_relieved: x.default,
            weary: j.default,
            grin: E.default,
            laughing: S.default,
            wink: z.default,
            sunglasses: N.default,
            neutral_face: A.default,
            winking_eye: L.default,
            hushed: D.default,
            thumbsup: q.default,
            thumbsdown: H.default,
            smile: W.default
        };
        return t[e]
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = i(344),
        r = a(o),
        l = i(358),
        s = a(l),
        u = i(350),
        d = a(u),
        c = i(354),
        f = a(c),
        p = i(345),
        h = a(p),
        m = i(353),
        g = a(m),
        v = i(351),
        b = a(v),
        _ = i(347),
        w = a(_),
        y = i(355),
        x = a(y),
        k = i(356),
        j = a(k),
        C = i(341),
        E = a(C),
        M = i(343),
        S = a(M),
        T = i(346),
        z = a(T),
        O = i(348),
        N = a(O),
        I = i(349),
        A = a(I),
        P = i(352),
        L = a(P),
        B = i(357),
        D = a(B),
        F = i(340),
        H = a(F),
        R = i(342),
        W = a(R),
        V = i(339),
        q = a(V);
    t.default = n
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(9),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(16),
        k = a(x),
        j = i(27),
        C = a(j),
        E = i(14),
        M = a(E),
        S = i(12),
        T = a(S),
        z = i(5),
        O = a(z),
        N = i(10),
        I = a(N),
        A = i(1),
        P = a(A),
        L = i(13),
        B = a(L),
        D = i(15),
        F = a(D),
        H = i(372),
        R = a(H),
        W = i(144),
        V = a(W),
        q = i(44),
        U = a(q),
        G = i(21),
        X = a(G),
        Z = i(31),
        Y = (a(Z), I.default.name("Header")),
        K = function(e) {
            function t() {
                (0, u.default)(this, t);
                var e = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this));
                return e.state = {}, e.state = e.getState(), e.state.fadeState = "fade-in", e.state.expanded = T.default.route.indexOf("/min") !== -1, e
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getState",
                value: function() {
                    var e = O.default.callback_settings.time && M.default.cw_call_enabled && !B.default.mobile() && "chat/departments" !== T.default.route && "cw_wait" !== M.default.cw_call.status && "cw_connecting" !== M.default.cw_call.status && "cw_connected" !== M.default.cw_call.status,
                        t = void 0,
                        i = "call" === T.default.route;
                    if (T.default.is_online) {
                        var a = void 0,
                            n = "cw_connected" === M.default.cw_call.status;
                        return "chat/departments" !== T.default.route || n || C.default.agent_id || M.default.department_id ? "chat/introduce" !== T.default.route || n ? v.default.indexOf(["preview", "editor"], P.default.isWixContext()) !== -1 && (O.default.wix_agent_display_name || O.default.wix_agent_title) ? (t = O.default.wix_agent_display_name || (0, F.default)("lblConnectedToAgent"), a = O.default.wix_agent_title || (0, F.default)("lblOperatorsOnline")) : (t = C.default.agent_id ? C.default.display_name : (0, F.default)("lblConnectedToAgent"), a = C.default.agent_id ? C.default.title : (0, F.default)("lblOperatorsOnline")) : (t = (0, F.default)("lblIntroduceRequestBefore"), a = "", e = !1) : (t = (0, F.default)("lblSelectDep"), a = ""), {
                            head: t,
                            hide: i,
                            subhead: a,
                            callMe: e,
                            connected: n,
                            chat_started: T.default.chat_started,
                            expanded: T.default.route.indexOf("/min") !== -1
                        }
                    }
                    return t = O.default.offline_form_title || O.default.offline_widget_label, "chat/msg" === T.default.route && (t = (0, F.default)("lblOfflineMessageSend")), {
                        head: t,
                        hide: i,
                        subhead: !1,
                        expanded: !1,
                        callMe: e
                    }
                }
            }, {
                key: "stripAgentName",
                value: function(e) {
                    return !C.default.agent_id || B.default.mobile() ? e : (e.length > 49 && (e = e.substr(0, 49) + "..."), e.length > 38 && this.state.callMe && (e = e.substr(0, 38) + "..."), e)
                }
            }, {
                key: "processState",
                value: function() {
                    var e = this,
                        t = this.getState(),
                        i = !1;
                    t.head === this.state.head && t.subhead === this.state.subhead || (i = !0), i ? (this.setState({
                        fadeState: "fade-out"
                    }), setTimeout(function() {
                        e.setState({
                            fadeState: ""
                        }), setTimeout(function() {
                            var t = e.getState();
                            t.fadeState = "fade-in", e.setState(t)
                        }, 30)
                    }, 150)) : this.setState(this.getState())
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    Y.log("mounted");
                    var e = v.default.debounce(this.processState.bind(this), 50);
                    this.on(T.default, e), this.on(M.default, e), this.on(C.default, e), X.default.on("create", e)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "headerClick",
                value: function(e) {
                    Y.log("headerClick", T.default.route), e && e.stopPropagation(), B.default.mobile() || "offline" === O.default.chat_mode && "chat/call" === T.default.route || !this.state.expanded || "chat" === T.default.route || (this.setState({
                        expanded: !1
                    }), k.default.navigate("chat"))
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = {
                            width: "100%"
                        },
                        t = O.default.power_button_color || "#44BB6E",
                        i = B.default.mobile() ? U.default.isLightColor(t) : "dark" === T.default.widget_font_color;
                    B.default.mobileOrTablet() || (e = {
                        width: this.state.callMe ? "80%" : "94%"
                    });
                    var a = {
                        display: this.state.hide ? "none" : "block"
                    };
                    return T.default.isSeparateWindow && (B.default.mobile() && (a = {
                        backgroundColor: t
                    }), B.default.tablet() && (a.borderTopRightRadius = "30px")), {
                        styles: {
                            header: [{
                                header: !0,
                                _expanded: this.state.expanded,
                                _light: !i,
                                _dark: i,
                                _mobile: B.default.mobile(),
                                _offline: "offline" === O.default.chat_mode
                            }, a],
                            headerContainer: [{
                                headerContainer: !0,
                                "_fade-out": "fade-out" === this.state.fadeState,
                                "_fade-in": "fade-in" === this.state.fadeState
                            }],
                            info: [{
                                info: !0
                            }],
                            title: [{
                                title: !0
                            }],
                            callMe: [{
                                callMe: !0
                            }, {
                                display: this.state.callMe ? "block" : "none"
                            }],
                            agentName: [{
                                agentName: !0
                            }, e]
                        },
                        style: R.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return _.default.createElement("jdiv", (0, o.default)({
                        className: t.headerClass
                    }, t.header, {
                        onClick: this.headerClick.bind(this),
                        ref: "header"
                    }), _.default.createElement("jdiv", t.headerContainer, _.default.createElement(V.default, {
                        connected: this.state.connected
                    }), _.default.createElement("jdiv", t.info, this.state.head && _.default.createElement("jdiv", t.agentName, this.stripAgentName(this.state.head)), this.state.subhead && _.default.createElement("jdiv", t.title, this.state.subhead))), !B.default.mobileOrTablet() && _.default.createElement("jdiv", (0, o.default)({}, t.callMe, {
                        ref: "callMe",
                        onClick: function(e) {
                            e.stopPropagation(), k.default.toggleCallChat()
                        }
                    }), _.default.createElement("jdiv", null)))
                }
            }]), t
        }(y.default);
    t.default = K
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(376),
        _ = a(b),
        w = i(108),
        y = a(w),
        x = i(60),
        k = a(x),
        j = i(112),
        C = (a(j), i(21)),
        E = a(C),
        M = i(154),
        S = a(M),
        T = i(106),
        z = a(T),
        O = i(150),
        N = a(O),
        I = i(148),
        A = a(I),
        P = i(156),
        L = a(P),
        B = i(107),
        D = a(B),
        F = i(105),
        H = a(F),
        R = i(153),
        W = a(R),
        V = i(13),
        q = a(V),
        U = i(9),
        G = a(U),
        X = i(1),
        Z = a(X),
        Y = i(117),
        K = (a(Y), i(23)),
        J = (a(K), i(10)),
        Q = a(J),
        $ = i(15),
        ee = (a($), i(26)),
        te = (a(ee), i(16)),
        ie = (a(te), i(24)),
        ae = (a(ie), i(12)),
        ne = a(ae),
        oe = i(14),
        re = (a(oe), i(27)),
        le = a(re),
        se = i(5),
        ue = (a(se), i(31)),
        de = a(ue),
        ce = Q.default.name("MessagesMain"),
        fe = {
            message: z.default,
            proactive: z.default,
            separator: S.default,
            invoice: N.default,
            cobrowse: A.default,
            system: L.default,
            social: D.default,
            media: W.default,
            email: H.default
        },
        pe = q.default.mobile() ? 40 : 30,
        he = !1,
        me = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    messagesGroups: i.getMessagesGroup()
                }, ce.log("messagesGroups: ", i.state.messagesGroups), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    de.default.on("text", function() {
                        ce.log("proactive update"), e.setState({
                            messagesGroups: e.getMessagesGroup()
                        }, function() {
                            e.scrollToBottom()
                        }), e.unReadMessages()
                    }), E.default.on("create", function(t, i) {
                        i && e.cleanTempProactive(), e.setState({
                            messagesGroups: e.getMessagesGroup()
                        }, function() {
                            e.scrollToBottom()
                        }), e.unReadMessages()
                    }), E.default.on("update", function() {
                        e.setState({
                            messagesGroups: e.getMessagesGroup()
                        }, function() {
                            ne.default.is_online && e.scrollToBottom()
                        })
                    });
                    var t = void 0;
                    this.on(ne.default, function() {
                        t !== ne.default.route && setTimeout(function() {
                            e.scrollToBottom(), t = ne.default.route
                        }, 500)
                    }), setTimeout(function() {
                        q.default.mobile() || e.scrollToBottom()
                    }, this.refs.scrollContainer ? 0 : 500)
                }
            }, {
                key: "scrollToBottom",
                value: function() {
                    this.refs.scrollContainer && this.refs.scrollContainer.scrollToBottom()
                }
            }, {
                key: "getMessagesGroup",
                value: function() {
                    var e = [],
                        t = void 0,
                        i = void 0,
                        a = void 0,
                        n = 0,
                        o = E.default.getLastProactive(),
                        r = E.default.getLastMessage();
                    if (de.default.get("text") && !he ? (E.default.push({
                            from: "agent",
                            from_id: le.default && le.default.agent_id,
                            status: "read",
                            text: de.default.get("text"),
                            created_ts: de.default.get("created_ts"),
                            type: "proactive",
                            body: {
                                unsave: !0
                            }
                        }), he = !0) : o && o.get("body") && o.get("body").unsave && ("client" === r.get("from") || "agent" === r.get("from")) && o !== r && (E.default.push({
                            created_ts: o.get("created_ts"),
                            from: "agent",
                            from_id: le.default && le.default.agent_id,
                            status: "read",
                            text: o.get("text"),
                            type: "proactive",
                            body: le.default
                        }), o.destroy(), de.default.destroy()), G.default.each(E.default.getAll(), function(o) {
                            var r = o.toJSON(),
                                l = new Date(r.created_ts),
                                s = !1;
                            !i || i.getMonth() === l.getMonth() && i.getDate() === l.getDate() || (s = !0), "message" !== r.type || "media" == a || r.from !== t || s ? (s && (e.push([{
                                type: "separator",
                                time: l.getTime(),
                                from: "system"
                            }]), n++), e.push([o])) : e[e.length - 1].push(o), t = r.from, a = r.type, i = l
                        }), E.default.store.length > 0 && e.length > 0) {
                        var l = e[0][0].get("created_ts"),
                            s = this.getDiffDays(l);
                        (n > 0 || s >= 1) && e.unshift([{
                            type: "separator",
                            time: l,
                            from: "system"
                        }])
                    }
                    return ce.log(e), e
                }
            }, {
                key: "cleanTempProactive",
                value: function() {
                    var e = E.default.getTmpProactive(),
                        t = E.default.getLastMessage();
                    e && e.get("body") && e.get("body").unsave && ("client" === t.get("from") || "agent" === t.get("from")) && e !== t && (e.destroy(), de.default.destroy(), le.default.reload(), le.default.agent_id = 0)
                }
            }, {
                key: "getDiffDays",
                value: function(e) {
                    return Math.round(Math.abs((e - (new Date).getTime()) / 864e5))
                }
            }, {
                key: "unReadMessages",
                value: function() {
                    return
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            container: [{
                                container: !0
                            }, {
                                paddingTop: Z.default.showAd() ? pe : 0
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return m.default.createElement("jdiv", {
                        class: _.default.main
                    }, m.default.createElement("jdiv", {
                        class: _.default.wrap
                    }, m.default.createElement(y.default, {
                        ref: "scrollContainer",
                        id: "scrollbar-container",
                        scrollMarginTop: Z.default.showAd() ? pe : 0
                    }, m.default.createElement("jdiv", t.container, this.state.messagesGroups.map(function(e) {
                        var t = void 0,
                            i = e[0] instanceof k.default ? e[0].toJSON() : e[0];
                        return t = fe[i.type], m.default.createElement(t, {
                            messages: e
                        })
                    })))))
                }
            }]), t
        }(v.default);
    t.default = me
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(149),
        _ = a(b),
        w = function(e) {
            function t() {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).apply(this, arguments))
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "render",
                value: function(e, t) {
                    if ("highlight" === this.props.messages[0].get("body").type) return m.default.createElement(_.default, {
                        messages: this.props.messages
                    })
                }
            }]), t
        }(v.default);
    t.default = w
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(32),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(377),
        y = a(w),
        x = i(49),
        k = a(x),
        j = i(77),
        C = a(j),
        E = i(15),
        M = a(E),
        S = i(1),
        T = a(S),
        z = i(5),
        O = a(z),
        N = i(13),
        I = a(N),
        A = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "openCobrowseHighlight",
                value: function(e) {
                    e.preventDefault();
                    var t = e.currentTarget.getAttribute("data-hash"),
                        i = e.currentTarget.getAttribute("data-url"),
                        a = window.parent.document.getElementById("jivo_magic_iframe");
                    T.default.telemetry("cobrowse_click_button"), a ? a.contentWindow.jivo_api.highlightCobrowse(t, i) : C.default.getCobrowseData(t, i)
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e;
                    return {
                        styles: {
                            main: [(e = {
                                main: !0
                            }, (0, o.default)(e, "__" + O.default.bubble_color || "", !0), (0, o.default)(e, "_mobile", I.default.mobile()), e)]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.messages[0].toJSON(),
                        a = i.created_ts;
                    return v.default.createElement(k.default, {
                        time: a,
                        messages: this.props.messages
                    }, v.default.createElement("jdiv", t.main, v.default.createElement("jdiv", {
                        class: y.default.text
                    }, i.text), v.default.createElement("jdiv", {
                        class: y.default.showBtn
                    }, v.default.createElement("a", {
                        href: "#",
                        onClick: this.openCobrowseHighlight.bind(this),
                        onTouchEnd: this.openCobrowseHighlight.bind(this),
                        "data-url": i.body.page_url,
                        "data-hash": i.body.hash
                    }, v.default.createElement("jdiv", null, (0, M.default)("lblView"))))))
                }
            }]), t
        }(_.default);
    t.default = A
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(152),
        _ = a(b),
        w = i(151),
        y = a(w),
        x = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {}, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "render",
                value: function(e, t) {
                    var i = this.props.messages[0].toJSON().body;
                    return "yandex" === i.type ? m.default.createElement(_.default, {
                        messages: this.props.messages
                    }) : "tinkoffInvoice" === i.type ? m.default.createElement(y.default, {
                        messages: this.props.messages
                    }) : void 0
                }
            }]), t
        }(v.default);
    t.default = x
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(136),
        _ = a(b),
        w = i(49),
        y = a(w),
        x = i(15),
        k = a(x),
        j = i(34),
        C = a(j),
        E = function(e) {
            function t(e) {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e))
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            main: [{
                                main: !0
                            }],
                            invoice: [{
                                message: !0,
                                __success: "SUCCESS" === this.props.messages[0].get("body").status
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.messages[0].toJSON(),
                        a = i.body;
                    return m.default.createElement(y.default, {
                        messages: this.props.messages
                    }, m.default.createElement("jdiv", {
                        class: _.default.main
                    }, m.default.createElement("jdiv", t.invoice, m.default.createElement("jdiv", {
                        class: _.default.successIcon
                    }), m.default.createElement("jdiv", {
                        class: _.default.info
                    }, m.default.createElement("jdiv", {
                        class: _.default.text
                    }, (0, k.default)("paymentsInvoice"), a.invoice_id, ":"), m.default.createElement("jdiv", {
                        class: _.default.productName
                    }, a.comment, ", "), m.default.createElement("jdiv", {
                        class: _.default.amountWrap
                    }, m.default.createElement("jdiv", {
                        class: _.default.amount
                    }, " " + a.amount), m.default.createElement(C.default, {
                        src: "icon_ruble.svg",
                        class: _.default.rubleIcon
                    })), m.default.createElement("jdiv", {
                        class: _.default.successText
                    }, (0, k.default)("paymentsSuccess"))), m.default.createElement("a", {
                        href: a.payment_url,
                        onTouchEnd: function() {
                            window.open(a.payment_url)
                        },
                        class: _.default.actionBtn,
                        "data-css": "notreset",
                        rel: "nofollow noopener noreferrer",
                        target: "_blank"
                    }, m.default.createElement("jdiv", {
                        class: _.default.actionText
                    }, (0, k.default)("paymentsPay")))), m.default.createElement("jdiv", {
                        class: _.default.pip
                    }), m.default.createElement("jdiv", {
                        class: _.default.time
                    })))
                }
            }]), t
        }(v.default);
    t.default = E
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(136),
        y = a(w),
        x = i(1),
        k = a(x),
        j = i(49),
        C = a(j),
        E = i(59),
        M = a(E),
        S = i(24),
        T = a(S),
        z = i(13),
        O = a(z),
        N = i(15),
        I = a(N),
        A = i(16),
        P = a(A),
        L = i(12),
        B = a(L),
        D = i(14),
        F = a(D),
        H = i(54),
        R = a(H),
        W = i(34),
        V = a(W),
        q = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {
                    isValidEmail: !0,
                    userEmail: i.props.messages[0].get("body").userEmail || ""
                }, i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "proceedToInvoice",
                value: function(e) {
                    var t = !k.default.isValidValue_email(this.state.userEmail);
                    k.default.isValidValue_email(this.state.userEmail) ? R.default.eula && !B.default.eula_accepted ? (e.preventDefault(), P.default.showEula(!0, e.currentTarget.getAttribute("href"), "invoice")) : O.default.tablet() && window.open(e.currentTarget.getAttribute("href")) : (e.preventDefault(), this.setState({
                        isValidEmail: !1
                    })), t && !F.default.client_info.email && (F.default.client_info.email = this.state.userEmail, T.default.sendIfConnected((0, o.default)({
                        name: "introduction"
                    }, F.default.client_info)))
                }
            }, {
                key: "onChangeYandexEmail",
                value: function(e) {
                    var t = e.target.value,
                        i = this.props.messages[0].toJSON(),
                        a = M.default.parse(i.body.url),
                        n = this.refs.actionBtn;
                    this.setState({
                        userEmail: t
                    }), k.default.isValidValue_email(t) ? (this.setState({
                        isValidEmail: !0
                    }), i.body.userEmail = t, n.href = a.protocol + "//" + a.host + a.pathname + k.default.setGetParam("cps_email", t, a.search)) : this.setState({
                        isValidEmail: !1
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            main: [{
                                main: !0
                            }],
                            invoice: [{
                                message: !0,
                                __success: "confirmed" === this.props.messages[0].get("body").status,
                                __emailError: !this.state.isValidEmail
                            }]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.messages[0].toJSON(),
                        a = i.body,
                        n = "confirmed" === a.status;
                    return v.default.createElement(C.default, {
                        messages: this.props.messages
                    }, v.default.createElement("jdiv", {
                        class: y.default.main
                    }, v.default.createElement("jdiv", t.invoice, v.default.createElement("jdiv", {
                        class: y.default.successIcon
                    }), v.default.createElement("jdiv", {
                        class: y.default.info
                    }, v.default.createElement("jdiv", {
                        class: y.default.text
                    }, (0, I.default)("paymentsInvoice"), a.invoiceId, ":"), v.default.createElement("jdiv", {
                        class: y.default.productName
                    }, a.comment, ", "), v.default.createElement("jdiv", {
                        class: y.default.amountWrap
                    }, v.default.createElement("jdiv", {
                        class: y.default.amount
                    }, " " + a.amount), v.default.createElement(V.default, {
                        src: "icon_ruble.svg",
                        class: y.default.rubleIcon
                    })), v.default.createElement("jdiv", {
                        class: y.default.successText
                    }, (0, I.default)("paymentsSuccess"))), v.default.createElement("a", {
                        onClick: this.proceedToInvoice.bind(this),
                        onTouchEnd: this.proceedToInvoice.bind(this),
                        ref: "actionBtn",
                        href: a.url,
                        class: y.default.actionBtn,
                        "data-css": "notreset",
                        rel: "nofollow noopener noreferrer",
                        target: "_blank"
                    }, v.default.createElement("jdiv", {
                        class: y.default.actionText
                    }, (0, I.default)("paymentsPay")), v.default.createElement("jdiv", {
                        class: y.default.byYandex
                    }, (0, I.default)("byYandex"))), !n && v.default.createElement("jdiv", {
                        class: y.default.emailLabel
                    }, (0, I.default)("invoiceEmail")), !n && v.default.createElement("input", {
                        onInput: this.onChangeYandexEmail.bind(this),
                        class: y.default.emailInput,
                        value: this.state.userEmail,
                        placeholder: (0, I.default)("enterEmailPlaceholder")
                    })), v.default.createElement("jdiv", {
                        class: y.default.pip
                    }), v.default.createElement("jdiv", {
                        class: y.default.time
                    })))
                }
            }]), t
        }(_.default);
    t.default = q
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(10),
        k = a(x),
        j = i(15),
        C = a(j),
        E = i(49),
        M = a(E),
        S = i(104),
        T = a(S),
        z = i(379),
        O = a(z),
        N = i(54),
        I = a(N),
        A = i(1),
        P = (a(A), i(9)),
        L = (a(P), i(116)),
        B = a(L),
        D = i(23),
        F = a(D),
        H = i(30),
        R = a(H),
        W = i(13),
        V = a(W),
        q = i(21),
        U = a(q),
        G = i(16),
        X = a(G),
        Z = k.default.name("MediaMessage"),
        Y = function(e) {
            function t(e) {
                (0, c.default)(this, t);
                var i = (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e)),
                    a = i.props.messages[0].toJSON().body,
                    n = !1;
                return (a.sign || a.error) && (n = !1), (a.file_url || a.file) && (n = !0), Z.log("media props:", e), i.state = {
                    percentComplete: 0,
                    uploading: !n,
                    complete: n,
                    url: !!n && (a.file_url || a.file),
                    type: !!n && (a.icon_type || a.type || B.default.detectType(a.mime_type)),
                    error: !1,
                    loaded: 0,
                    total: n ? (a.size || a.file_size) >> 0 : 0,
                    file: !1
                }, i
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this,
                        t = this.props.messages[0].toJSON().body;
                    this.state.complete || (t.name ? this.on(B.default, {
                        uploading: function(t) {
                            Z.log("uploading", t), e.state.complete || e.setState({
                                uploading: !0,
                                percentComplete: 0,
                                loaded: 0,
                                total: t.size
                            })
                        },
                        error: function(t, i, a) {
                            Z.log("ERROR:", t), !a && e.state.complete || e.setState({
                                complete: !1,
                                uploading: !1,
                                error: t,
                                file: i
                            }), e.offListeners()
                        },
                        complete: function(t, i) {
                            if (Z.log("complete", t, i), !e.state.complete) {
                                e.setState({
                                    uploading: !1,
                                    complete: !0,
                                    url: i,
                                    type: t.icon_type,
                                    error: !1,
                                    total: t.size
                                });
                                var a = e.props.messages[0].toJSON().private_id,
                                    n = U.default.find(function(e) {
                                        return e.get("private_id") === a
                                    });
                                n.set("body.file_url", i)
                            }
                            e.offListeners()
                        },
                        progress: function(t, i) {
                            Z.log("progress", t, i);
                            var a = (t / i * 100).toFixed(0),
                                n = a,
                                o = _.default.findDOMNode(e.refs.circle);
                            if (isNaN(n)) n = 100;
                            else if (o) {
                                var r = o.getAttribute("r"),
                                    l = Math.PI * (2 * r),
                                    s = (100 - n) / 100 * l;
                                o.style.strokeDashoffset = s
                            }
                            e.state.complete || e.setState({
                                complete: !1,
                                uploading: !0,
                                error: !1,
                                percentComplete: a,
                                loaded: t,
                                total: i
                            })
                        }
                    }) : this.setState({
                        complete: !1,
                        uploading: !1,
                        error: t.error,
                        file: t
                    }))
                }
            }, {
                key: "handleAbort",
                value: function() {
                    this.state.uploading && (B.default.abort(), this.setState({
                        error: (0, C.default)("file_upl_cancel"),
                        complete: !1,
                        uploading: !1,
                        file: {}
                    }), this.offListeners())
                }
            }, {
                key: "onBlur",
                value: function(e) {
                    e.preventDefault(), X.default.onBlur(e), V.default.tablet() && F.default.removeTabletPosition(), window.open(e.currentTarget.getAttribute("href"))
                }
            }, {
                key: "offListeners",
                value: function() {
                    this.off(B.default, "error"), this.off(B.default, "progress"), this.off(B.default, "complete"), this.off(B.default, "uploading")
                }
            }, {
                key: "checkPreview",
                value: function(e) {
                    return B.default.isPreviewImage(e) && this.state.complete
                }
            }, {
                key: "getUrl",
                value: function(e) {
                    return V.default.mobile() && V.default.chromeIOS() ? e.replace(/^https?\:\/\//i, "googlechrome://") : e
                }
            }, {
                key: "isAgentMessage",
                value: function() {
                    var e = this.props.messages[0].toJSON();
                    return "agent" === e.from || "proactive" === e.type
                }
            }, {
                key: "onLoadPreview",
                value: function() {
                    U.default.trigger("update")
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e, t = I.default.bubble_color || "green";
                    return {
                        styles: {
                            main: [{
                                _mobile: V.default.mobile()
                            }],
                            icon: [{
                                iconUpload: !0,
                                iconLoading: !0
                            }],
                            mediaComplete: [{
                                mediaComplete: !0,
                                _agent: this.isAgentMessage()
                            }],
                            iconError: [{
                                iconError: !0
                            }, {
                                display: this.state.error ? "block" : "none"
                            }],
                            iconUpload: [(e = {}, (0, l.default)(e, "__" + t, !0), (0, l.default)(e, "iconUpload", this.state.error ? "none" : "block"), (0, l.default)(e, "_agent", this.isAgentMessage()), (0, l.default)(e, "icon_" + this.state.type, !0), e), {
                                display: this.state.complete ? "block" : "none"
                            }]
                        },
                        style: O.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    var i = this.props.messages[0].toJSON().body,
                        a = this.state.file.file_name || i.name || i.file_name,
                        n = this.state.uploading && this.state.loaded > 1,
                        r = this.isAgentMessage() ? M.default : T.default,
                        l = this.checkPreview(a);
                    return _.default.createElement(r, {
                        messages: this.props.messages,
                        isPreview: l
                    }, _.default.createElement("jdiv", (0, o.default)({}, t.main, {
                        key: this.props.key
                    }), l && _.default.createElement("jdiv", {
                        class: this.isAgentMessage() ? "" : O.default.mediaWrapper
                    }, _.default.createElement("a", {
                        class: O.default.previewLink,
                        href: this.state.url || this.props.url,
                        onClick: this.onBlur.bind(this),
                        onTouchEnd: this.onBlur.bind(this),
                        target: "_blank",
                        rel: "nofollow"
                    }, _.default.createElement("img", {
                        onLoad: this.onLoadPreview.bind(this),
                        src: this.state.url || this.props.url,
                        title: a,
                        class: O.default.previewMediaPhoto
                    }))), !l && _.default.createElement("jdiv", null, _.default.createElement("jdiv", {
                        class: O.default.mediaIcon,
                        onClick: this.handleAbort.bind(this),
                        style: {
                            cursor: this.state.uploading ? "pointer" : "default"
                        }
                    }, _.default.createElement("jdiv", {
                        class: O.default.loaderCont,
                        style: {
                            display: this.state.uploading ? "block" : "none"
                        }
                    }, _.default.createElement("svg", {
                        id: "loader",
                        width: "42",
                        height: "42",
                        viewPort: "0 0 21 21",
                        version: "1.1",
                        xmlns: "http://www.w3.org/2000/svg"
                    }, _.default.createElement("circle", {
                        r: "18",
                        cx: "21",
                        cy: "21",
                        fill: "#ffffff",
                        "stroke-dasharray": "119.38",
                        "stroke-dashoffset": "0"
                    }), _.default.createElement("circle", {
                        ref: "circle",
                        class: O.default.loaderBar,
                        r: "18",
                        cx: "21",
                        cy: "21",
                        fill: "transparent",
                        "stroke-dasharray": "119.38",
                        "stroke-dashoffset": "0"
                    })), _.default.createElement("jdiv", t.icon)), _.default.createElement("jdiv", t.iconUpload, _.default.createElement(R.default, {
                        iconName: "icon-" + this.state.type,
                        className: O.default.icon
                    })), _.default.createElement("jdiv", t.iconError, _.default.createElement(R.default, {
                        iconName: "icon-error",
                        className: O.default.icon
                    }))), _.default.createElement("jdiv", {
                        class: O.default.mediaText
                    }, _.default.createElement("jdiv", {
                        class: O.default.mediaFname,
                        title: a
                    }, a), n && _.default.createElement("jdiv", {
                        class: O.default.mediaPerc
                    }, (0, A.humanFileSize)(this.state.loaded) || "", " / ", (0, A.humanFileSize)(this.state.total) || ""), this.state.complete && _.default.createElement("jdiv", t.mediaComplete, (0, A.humanFileSize)(this.state.total), " ", _.default.createElement("a", {
                        href: this.getUrl(this.state.url),
                        onClick: this.onBlur.bind(this),
                        onTouchEnd: this.onBlur.bind(this),
                        target: "_blank"
                    }, (0, C.default)("file_upl_download"))), this.state.error && _.default.createElement("jdiv", {
                        class: O.default.mediaComplete
                    }, this.state.error)))))
                }
            }]), t
        }(y.default);
    t.default = Y
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(381),
        _ = a(b),
        w = i(51),
        y = a(w),
        x = i(15),
        k = a(x),
        j = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {}, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "render",
                value: function(e, t) {
                    var i, a = this.props.messages[0].time,
                        n = new Date(a),
                        o = new Date;
                    return i = n.getFullYear() === o.getFullYear() && n.getMonth() === o.getMonth() ? n.getDate() === o.getDate() ? (0, k.default)("today") : n.getDate() === o.getDate() - 1 ? (0, k.default)("yesterday") : (0, y.default)(a, "dd.mm.yyyy") : (0, y.default)(a, "dd.mm.yyyy"),
                        m.default.createElement("jdiv", {
                            class: _.default.main
                        }, m.default.createElement("jdiv", {
                            className: _.default.time
                        }, i))
                }
            }]), t
        }(v.default);
    t.default = j
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(32),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(382),
        y = a(w),
        x = i(15),
        k = (a(x), i(1)),
        j = (a(k), i(5)),
        C = (a(j), function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getRenderData",
                value: function() {
                    var e = this.props.messages[0].toJSON();
                    return {
                        styles: {
                            main: [(0, o.default)({
                                main: !0
                            }, "__" + e.body.name, !0)]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", t.main, v.default.createElement("jdiv", {
                        class: y.default.text
                    }, this.props.messages[0].get("text")))
                }
            }]), t
        }(_.default));
    t.default = C
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(155),
        _ = a(b),
        w = i(157),
        y = a(w),
        x = function(e) {
            function t() {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).apply(this, arguments))
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "render",
                value: function() {
                    var e = void 0,
                        t = this.props.messages[0].get("body");
                    return e = t && "call" === t.type ? _.default : y.default, m.default.createElement(e, {
                        messages: this.props.messages
                    })
                }
            }]), t
        }(v.default);
    t.default = x
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = (a(b), i(106)),
        w = a(_),
        y = i(383),
        x = a(y),
        k = i(15),
        j = (a(k), i(1)),
        C = (a(j), i(5)),
        E = (a(C), i(13)),
        M = a(E),
        S = i(23),
        T = a(S),
        z = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getRenderData",
                value: function() {
                    var e = this.props.messages[0].toJSON(),
                        t = {
                            main: !0,
                            _mobile: M.default.mobile()
                        };
                    return e.body && e.body.type && (t["__" + e.body.type] = !0), {
                        styles: {
                            main: [t],
                            text: [{
                                text: !0
                            }, {
                                "-webkit-text-size-adjust": M.default.mobile() ? T.default.getTextSize() : null,
                                lineHeight: M.default.mobile() ? T.default.getLineHeight() : null
                            }]
                        },
                        style: x.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", t.main, v.default.createElement("jdiv", (0, o.default)({}, t.text, {
                        dangerouslySetInnerHTML: {
                            __html: this.formatText(this.props.messages[0].get("text"))
                        }
                    })))
                }
            }]), t
        }(w.default);
    t.default = z
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    t.containerStyleDefault = {
        position: "relative",
        overflow: "hidden",
        width: "100%",
        height: "100%",
        display: "block",
        WebkitOverflowScrolling: "touch"
    }, t.containerStyleAutoHeight = {
        height: "auto"
    }, t.viewStyleDefault = {
        position: "absolute",
        maxHeight: "100%",
        top: "auto",
        left: 0,
        right: 0,
        bottom: 0,
        overflow: "scroll",
        WebkitOverflowScrolling: "touch"
    }, t.viewStyleAutoHeight = {
        position: "relative",
        top: void 0,
        left: void 0,
        right: void 0,
        bottom: void 0
    }, t.viewStyleUniversalInitial = {
        overflow: "hidden",
        marginRight: 0,
        marginBottom: 0
    }, t.trackHorizontalStyleDefault = {
        position: "absolute",
        height: 0
    }, t.trackVerticalStyleDefault = {
        position: "absolute",
        width: 6
    }, t.thumbHorizontalStyleDefault = {
        position: "relative",
        display: "block",
        height: "100%"
    }, t.thumbVerticalStyleDefault = {
        position: "relative",
        display: "block",
        width: "100%"
    }, t.disableSelectStyle = {
        userSelect: "none"
    }, t.disableSelectStyleReset = {
        userSelect: ""
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(384),
        _ = a(b),
        w = i(10),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(15),
        C = a(j),
        E = i(9),
        M = a(E),
        S = i(1),
        T = i(13),
        z = a(T),
        O = i(26),
        N = (a(O), i(24)),
        I = (a(N), i(14)),
        A = a(I),
        P = i(21),
        L = a(P),
        B = i(105),
        D = (a(B), y.default.name("SocialButtonChat")),
        F = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    show: !0,
                    vk: e.mode.vk,
                    fb: e.mode.fb,
                    mode: e.mode.mode
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    return D.log("mounted"), this.on(A.default, function() {
                        "vk" != A.default.has_integration && "fb" != A.default.has_integration || (D.log("Already connected with vk/fb."), M.default.each(L.default.store, function(e) {
                            "email" === e.get("type") && e.destroy()
                        }), e.show(!1))
                    }), L.default.on("create", function() {
                        "vk" != A.default.has_integration && "fb" != A.default.has_integration || e.setState({
                            show: !1
                        })
                    }), (k.default.joint || 3 != k.default.contacts_ask) && (3 != k.default.contacts_ask || z.default.desktop()) ? void 0 : void this.setState({
                        vk: !1,
                        fb: !1,
                        mode: "email"
                    })
                }
            }, {
                key: "show",
                value: function(e) {
                    this.setState({
                        show: e
                    })
                }
            }, {
                key: "renderIframe",
                value: function() {
                    var e = (0, S.genSocialIframeUrl)(this.state.mode) + "#rand=" + (new Date).getMilliseconds() + ",lang=" + k.default.locale,
                        t = "vk" == this.state.mode ? 50 : 74,
                        i = {};
                    return "fb" == this.state.mode && (i = {
                        position: "relative",
                        marginLeft: "-10px"
                    }), m.default.createElement("iframe", {
                        width: "100%",
                        border: "0",
                        height: t,
                        src: e,
                        style: i
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            box: [{
                                box: !0
                            }, {
                                display: "block"
                            }],
                            iframe: [{
                                iframe: !0
                            }, {
                                display: this.state.show ? "block" : "none"
                            }],
                            infoText: [{
                                infoText: !0
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return m.default.createElement("jdiv", t.box, (this.state.vk || this.state.fb) && m.default.createElement("jdiv", t.iframe, m.default.createElement("jdiv", {
                        className: _.default.infoText,
                        dangerouslySetInnerHTML: {
                            __html: "vk" == this.state.mode ? (0, C.default)("social_get_access") : (0, C.default)("social_get_access_fb")
                        }
                    }), this.renderIframe()))
                }
            }]), t
        }(v.default);
    t.default = F
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(385),
        _ = a(b),
        w = i(30),
        y = a(w),
        x = i(1),
        k = i(23),
        j = a(k),
        C = i(12),
        E = a(C),
        M = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    isShow: j.default.getUserZoom() > 1,
                    iconZoom: j.default.getAppZoom()
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    j.default.listenChangeZoom(function(t) {
                        t.userZoom > 1 && "label" !== E.default.route && (j.default.bodyEl.scrollTop = 0, j.default.bodyEl.scrollLeft = 0);
                        var i = 1 !== t.userZoom;
                        i !== e.state.isShow && "label" !== E.default.route && (0, x.telemetry)(i ? "zoom_overlay_show" : "zoom_overlay_hide"), e.setState({
                            iconZoom: t.appZoom,
                            isShow: i
                        })
                    });
                    var t = "label" !== E.default.route;
                    this.on(E.default, function() {
                        t !== ("label" !== E.default.route) && e.state.isShow && (0, x.telemetry)("zoom_overlay_show")
                    })
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        data: {},
                        styles: {
                            wrap: [{
                                wrap: !0
                            }, {
                                display: this.state.isShow ? null : "none"
                            }],
                            iconContainer: [{
                                iconContainer: !0
                            }, {
                                width: j.default.window.innerWidth,
                                height: j.default.window.innerHeight
                            }],
                            iconWrap: [{
                                iconWrap: !0
                            }, {
                                zoom: this.state.iconZoom
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return m.default.createElement("div", t.wrap, m.default.createElement("div", {
                        className: _.default.substrate
                    }), m.default.createElement("div", t.iconContainer, m.default.createElement("div", t.iconWrap, m.default.createElement(y.default, {
                        iconName: "hand",
                        className: _.default.handIcon
                    }), m.default.createElement(y.default, {
                        iconName: "arrow",
                        className: _.default.arrow1
                    }), m.default.createElement(y.default, {
                        iconName: "arrow2",
                        className: _.default.arrow2
                    }))))
                }
            }]), t
        }(v.default);
    t.default = M
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(34),
        _ = (a(b), i(10)),
        w = a(_),
        y = i(1),
        x = a(y),
        k = i(115),
        j = a(k),
        C = i(12),
        E = a(C),
        M = i(14),
        S = a(M),
        T = i(16),
        z = a(T),
        O = i(13),
        N = a(O),
        I = w.default.name("CloseButton"),
        A = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    show: i.canShow()
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "canShow",
                value: function() {
                    var e = ["label", "call/min", "chat/min"].indexOf(E.default.route) == -1;
                    return "call" == E.default.route && ["cw_wait", "cw_connecting", "cw_connected"].indexOf(S.default.cw_call.status) > -1 && (e = !1), e
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    I.log("mount");
                    var t = function() {
                        e.setState({
                            show: e.canShow()
                        })
                    };
                    this.on(E.default, t), this.on(S.default, t);
                    var i = window.parent.document;
                    j.default.attach(i.getElementById("jivo-drag-handle")), x.default.addListener(i.getElementById("jivo_close_button"), N.default.tablet() ? "touchend" : "click", this.closeWidget)
                }
            }, {
                key: "closeWidget",
                value: function() {
                    if (N.default.tablet() && document.activeElement) {
                        var e = document.activeElement;
                        ("TEXTAREA" === e.tagName || "INPUT" === e.tagName && "button" !== e.type) && e.parentNode.removeChild(e)
                    }
                    z.default.closeWidget()
                }
            }, {
                key: "render",
                value: function() {
                    var e = {
                            display: this.state.show ? "block" : "none",
                            height: "call" == E.default.route ? "31px !important" : "70px"
                        },
                        t = window.parent.document,
                        i = t.getElementById("jivo_action"),
                        a = t.getElementById("jivo-drag-handle");
                    return i && (i.style.display = e.display, i.style.height = e.height), a && (a.style.display = e.display, a.style.height = e.height), m.default.createElement("div", {
                        style: "display: none;"
                    }, m.default.createElement("div", {
                        dir: "ltr",
                        id: "jivo_action",
                        style: e
                    }, m.default.createElement("div", {
                        id: "jivo_close_button",
                        className: N.default.tablet() ? "jivo-tablet" : ""
                    })), m.default.createElement("div", {
                        id: "jivo-drag-handle",
                        style: e,
                        ref: "drag"
                    }))
                }
            }]), t
        }(v.default);
    t.default = A
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(9),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(176),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(63),
        M = a(E),
        S = i(1),
        T = i(13),
        z = a(T),
        O = i(163),
        N = a(O),
        I = i(161),
        A = a(I),
        P = i(189),
        L = a(P),
        B = i(115),
        D = a(B),
        F = i(10),
        H = a(F),
        R = i(23),
        W = a(R),
        V = i(96),
        q = a(V),
        U = H.default.name("IframeContainer"),
        G = function(e) {
            function t() {
                (0, l.default)(this, t);
                var e = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this));
                return e.is_online = null, e.is_minimized = null, e.is_opened = null, e.extraSize = 0, e.currentState = null, z.default.desktop() && (document.getElementsByTagName("html")[0].style.position = "fixed"), e
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "getContainer",
                value: function() {
                    this.defineVariables(), this.widgetContainer ? z.default.mobile() ? this.mobileInit() : this.init() : setTimeout(this.getContainer.bind(this), 500)
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    this.getContainer()
                }
            }, {
                key: "hideContainer",
                value: function() {
                    W.default.unblockSite(), this.widgetContainer.style.setProperty("opacity", "0", "important"), this.widgetContainer.style.setProperty("visibility", "hidden", "important"), this.widgetContainer.style.setProperty("display", "none", "important")
                }
            }, {
                key: "showContainer",
                value: function() {
                    W.default.blockSite(), this.widgetContainer.style.setProperty("opacity", "1", "important"), this.widgetContainer.style.setProperty("visibility", "visible", "important"), this.widgetContainer.style.setProperty("display", "block", "important")
                }
            }, {
                key: "mobileInit",
                value: function() {
                    var e = this;
                    this.widgetContainer.className = "jivo-c-mobile";
                    var t = document.getElementById("widget");
                    W.default.listenChangeZoom(function(e) {
                        t.style.setProperty("zoom", e.appZoom, "important")
                    }), this.on(C.default, function() {
                        "label" === C.default.route || "hidden" === C.default.route ? e.hideContainer() : e.showContainer()
                    }), t.style.setProperty("zoom", W.default.getAppZoom(), "important"), this.hideContainer(), this.initSoundPlayer()
                }
            }, {
                key: "initSoundPlayer",
                value: function() {
                    var e = document.getElementById("player");
                    e || (e = document.createElement("div"), e.id = "player", document.body.appendChild(e)), _.default.render(v.default.createElement(L.default, null), e)
                }
            }, {
                key: "init",
                value: function() {
                    var e = this;
                    (0, S.addClass)(this.widgetContainer, "jivo-iframe-container-" + k.default.widget_orientation);
                    var t = function() {
                            return 0 == C.default.route.indexOf("call") ? "call" : 0 == C.default.route.indexOf("chat") ? "chat" : "label"
                        },
                        i = function() {
                            var i = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : !e.isCustomLabel();
                            z.default.mobile() && C.default.isSeparateWindow || e._setButtonsOffline(!C.default.is_online), e.isCustomLabel() || C.default.is_custom_label ? ((0, S.addClass)(e.widgetContainer, "jivo-custom-label"), "label" == C.default.route && z.default.mobile() && (parent.document.getElementById("jivo_custom_widget").style.display = "block")) : (0, S.removeClass)(e.widgetContainer, "jivo-custom-label"), C.default.route == e.currentState && C.default.is_online == e.is_online || (e.is_online = C.default.is_online, e.currentState = C.default.route, e.is_minimized = C.default.route.indexOf("/min") != -1, e.widgetContainer.style.setProperty ? "hidden" == C.default.route && e.widgetContainer.style.setProperty("display", "none", "important") : e.widgetContainer.style.display = "hidden" == C.default.route ? "none" : "block", "hidden" == C.default.route || ("label" == C.default.route ? (z.default.tablet() && e.widgetContainer.style.setProperty("min-height", null), e.setPositionLabel(i)) : (z.default.tablet() && ("chat" === C.default.route ? e.widgetContainer.style.setProperty("min-height", "300px", "important") : e.widgetContainer.style.setProperty("min-height", null)), e.setPositionChat(t(), i, e.is_minimized))))
                        };
                    this.on(C.default, function() {
                        setTimeout(i, 20)
                    });
                    for (var a = ["webkit", "moz", "MS", "o", ""], n = "transitionEnd", o = 0; o < a.length; o++) a[o] || (n = n.toLowerCase()), this.widgetContainer && (0, S.addListener)(this.widgetContainer, a[o] + n, m.default.debounce(function(t) {
                        U.log("iframe_transition_end", e.currentState, t.propertyName), e.widgetContainer.style.backgroundColor = "transparent", (0, S.removeClass)(e.widgetContainer, "jivo-opening"), (0, S.removeClass)(e.widgetContainer, "jivo-closing"), "label" != e.currentState ? ((0, S.addClass)(e.widgetContainer, "jivo-expanded"), (0, S.removeClass)(e.widgetContainer, "jivo-collapsed")) : ("width" == t.propertyName && (e.widgetContainer.style.opacity = 0), (0, S.addClass)(e.widgetContainer, "jivo-collapsed"), (0, S.removeClass)(e.widgetContainer, "jivo-expanded"))
                    }, 10));
                    this.on(D.default, {
                        start: function() {
                            (0, S.addClass)(e.widgetContainer, "jivo-no-transition");
                            var t = e.widgetContainer;
                            t.style.marginLeft = 0, t.style.marginRight = 0;
                            var i = "left" === k.default.widget_orientation || "0" == k.default.widget_padding && "bottom" === k.default.widget_orientation ? "left" : "right";
                            e.originX = parseInt(t.style[i]), e.originHeight = parseInt(t.style.height);
                            var a = (0, S.getElementPosition)(t);
                            a.minLeft = 30, a.maxLeft = a.windowWidth - a.width - a.minLeft;
                            var n = document.getElementsByClassName("popup-social"),
                                o = document.getElementById("eula-popup");
                            n && 1 == n.length && (0, S.hasClass)(n[0], "popup-open") || o && "block" == o.style.display || ["call", "chat/introduce"].indexOf(C.default.route) != -1 ? a.minHeight = 410 : a.minHeight = 300, a.height = t.offsetHeight, a.maxHeight = a.windowHeight, e.dragData = a
                        },
                        stop: function() {
                            var t = e.widgetContainer;
                            (0, S.removeClass)(t, "jivo-no-transition"), M.default.left = t.style.left, M.default.right = t.style.right, M.default.height = t.style.height, "[object HTMLDivElement]" === t.toString() && (0, S._callUserFunction)("onResizeCallback", {
                                width: getComputedStyle(t).width,
                                height: getComputedStyle(t).height
                            })
                        },
                        move: function(t, i, a) {
                            var n = e.widgetContainer,
                                o = e.dragData;
                            (0, S.addClass)(n, "jivo-no-transition");
                            var r = "left" === k.default.widget_orientation || "0" == k.default.widget_padding && "bottom" === k.default.widget_orientation ? "left" : "right";
                            "left" == r && (i = -i);
                            var l = e.originX + i;
                            l < o.minLeft ? n.style[r] = o.minLeft + "px" : l > o.maxLeft ? n.style[r] = o.maxLeft + "px" : n.style[r] = l + "px";
                            var s = e.originHeight + a;
                            (s !== o.height && s > o.minHeight || s > o.height) && ("call" == C.default.route && C.default.is_online && (s = o.minHeight), C.default.is_online && "chat/introduce" != C.default.route || (s = o.height), e.dragData.height = s, n.style.height = s + "px")
                        }
                    }), (0, S.addListener)((0, S.getPageWindow)(), "resize", m.default.bind(function() {
                        if (!z.default.mobile() && "label" !== C.default.route && e.widgetContainer.getBoundingClientRect()) {
                            var t = (0, S.getPageWindow)(),
                                i = t.innerWidth || t.document.documentElement.clientWidth || t.document.body.clientWidth,
                                a = e.widgetContainer.offsetWidth,
                                n = i - a,
                                o = e.widgetContainer.getBoundingClientRect().left,
                                r = "left" == k.default.widget_orientation ? "left" : "right";
                            "left" == r ? o > n && (e.widgetContainer.style.right = "auto", e.widgetContainer.style.left = n - 30 + "px") : o < 30 && (e.widgetContainer.style.left = "auto", e.widgetContainer.style.right = n - 30 + "px")
                        }
                    })), "label" == C.default.route && this._fixMargin(), window.parent.document.getElementById("jivo_copyright") && (this.widgetContainer.style.zIndex = 2147483646), z.default.svgSupportFix();
                    var r = window.parent.document.getElementById("jivo-action-container");
                    if (r && r.parentNode && r.parentNode.removeChild(r), this.initSoundPlayer(), !z.default.mobile()) {
                        var l = window.parent.document.createElement("div");
                        l.id = "jivo-action-container", l.innerHTML = "<div dir='ltr' id='jivo_action' style='display: none;'><div id='jivo_close_button' class='" + (z.default.tablet() ? "jivo-tablet" : "") + "'>" + q.default+"</div></div><div id='jivo-drag-handle' style='display: none;'></div>", this.widgetContainer.appendChild(l);
                        var s = document.createElement("div");
                        document.body.appendChild(s), _.default.render(v.default.createElement(A.default, {
                            show: this.is_opened && !this.is_minimized
                        }), s), (0, S.fixSVGaddClass)()
                    }
                    setTimeout(function() {
                        e.widgetContainer.className += " jivo_shadow jivo_rounded_corners jivo_gradient"
                    }, 100), this.isCustomLabel() ? (0, S.addClass)(this.widgetContainer, "jivo-custom-label") : k.default.callback_settings.time && (this.widgetContainer.className += " jivo-cbenabled"), setTimeout(function() {
                        i(!1), e.widgetContainer.style.visibility = "visible"
                    }, 60)
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "isCustomLabel",
                value: function() {
                    return !!parent.document.getElementById("jivo_custom_widget")
                }
            }, {
                key: "_setButtonsOffline",
                value: function(e) {
                    var t = parent.document.querySelectorAll(".jivo-online-btn", window.parent.document),
                        i = "inline-block";
                    t.length > 0 && (i = t[0].style.display || "inline-block"), e && (this._showButtons("jivo-online-btn", "none"), "none" != i && this._showButtons("jivo-offline-btn", i))
                }
            }, {
                key: "_showButtons",
                value: function(e, t) {
                    var i = parent.document.querySelectorAll("." + e, window.parent.document);
                    if (i.length > 0)
                        for (var a = 0; a < i.length; a++) i[a].style.display = t
                }
            }, {
                key: "render",
                value: function() {
                    return v.default.createElement(y.default, null)
                }
            }]), t
        }(N.default);
    t.default = G
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = (a(g), i(11)),
        b = a(v),
        _ = i(5),
        w = a(_),
        y = i(12),
        x = a(y),
        k = i(63),
        j = a(k),
        C = i(14),
        E = a(C),
        M = i(1),
        S = a(M),
        T = i(9),
        z = a(T),
        O = i(13),
        N = a(O),
        I = i(52),
        A = a(I),
        P = i(10),
        L = a(P),
        B = L.default.name("SetPositionIframeComponent"),
        D = N.default.mobile() ? "bottom" : w.default.widget_orientation,
        F = w.default.widget_padding,
        H = "300px",
        R = "410px",
        W = "38px",
        V = 10,
        q = 32,
        U = 111,
        G = 32,
        X = 60,
        Z = 10,
        Y = 30,
        K = 30,
        J = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "defineVariables",
                value: function() {
                    var e = this;
                    this.widgetContainer = window.parent.document.getElementById("jivo-iframe-container"), this.innerChat = document.getElementById("inner-chat"), this.labelWidth = 0, this.labelHeight = 0;
                    var t = ["jivo-label-text", "jivo-label-copyright", "jivo-label-status", "jivo-text-container", "jivo-label-inner-text", "jivo-label"];
                    z.default.each(t, function(t) {
                        e[t] = document.getElementById(t)
                    })
                }
            }, {
                key: "LABEL_LEFT",
                value: function() {
                    return {
                        width: 300,
                        paddingTop: 0,
                        height: this.labelHeight + "px",
                        marginLeft: "0",
                        left: "-300px",
                        bottom: "0" == F ? "100%" : "50" == F ? "50%" : "20px",
                        marginBottom: "50" == F ? -1 * parseInt(this.labelHeight) / 2 + "px" : "0px"
                    }
                }
            }, {
                key: "LABEL_RIGHT",
                value: function() {
                    return {
                        width: 300,
                        paddingTop: 0,
                        height: this.labelHeight + "px",
                        marginRight: "0",
                        left: "auto",
                        right: "-300px",
                        bottom: "0" == F ? "100%" : "50" == F ? "50%" : "20px",
                        marginBottom: "50" == F ? -1 * parseInt(this.labelHeight) / 2 + "px" : "0px"
                    }
                }
            }, {
                key: "LABEL_BOTTOM",
                value: function(e) {
                    var t, i, a;
                    return "0" == F ? (t = "auto", i = "30px") : "50" == F ? (i = "", a = this.getMarginRight(x.default.width), t = w.default.widget_padding + "%") : "100" == F && (i = "", t = "30px"), {
                        right: t,
                        left: N.default.mobile() ? "0" : i,
                        paddingTop: 0,
                        marginRight: a,
                        bottom: "0px",
                        height: W
                    }
                }
            }, {
                key: "WINDOW_BOTTOM",
                value: function(e, t, i) {
                    var a = {
                        width: H,
                        top: "auto",
                        bottom: "0%",
                        paddingTop: 0,
                        marginBottom: 0
                    };
                    0 == F && "right" != D && (a.left = "30px"), 50 == F && "bottom" == D && (a.marginRight = this.getMarginRight(H), a.right = w.default.widget_padding + "%"), "LEFT" == t || 0 == F && "BOTTOM" === t ? (a.left = j.default.left ? j.default.left : "30px", a.marginLeft = 0) : (a.right = j.default.right ? j.default.right : "30px", a.marginRight = 0);
                    window.parent.document;
                    if (!w.default.disable_iframe && A.default.isLoaded()) {
                        var n = (0, M.getScrollBarWidth)();
                        n > 0 && (0, M.hasScroll)() && x.default.chat_started && (j.default.right ? a.right = parseInt(j.default.right) + n + "px" : a.right = 30 + n + "px")
                    }
                    N.default.tablet() && (0 == F && "right" != D || "LEFT" == t) && (a.left = "45px");
                    var o = j.default.height ? j.default.height : R;
                    return e ? a.height = "call" == i ? "124px" : "54px" : this.is_online ? (("call" == i || "chat" == i && 1 === w.default.contacts_ask && !E.default.is_introduced) && (o = R, w.default.eula && "chat" == i && (o = parseInt(o) + 20 + "px")), a.height = o) : (x.default.offline_height = this.getOfflineFormHeight(), "call" == i ? a.height = R : a.height = x.default.offline_height || R), a
                }
            }, {
                key: "getMarginRight",
                value: function(e) {
                    var t = parseInt(e);
                    return t < 300 && (t = 300), t / 2 * -1 + "px"
                }
            }, {
                key: "getOfflineFormHeight",
                value: function() {
                    B.log("getOfflineFormHeight");
                    var e = function() {
                        var e, t = document.createElement("div");
                        return t.style.position = "absolute", t.style.fontSize = "16px", t.style.fontFamily = "Arial, sans-serif", t.style.lineHeight = "19px", t.style.whiteSpace = "pre-wrap", t.style.visibility = "hidden", t.style.width = "260px", t.innerHTML = w.default.offline_form_text, window.document.body.appendChild(t), e = t.offsetHeight + K, window.document.body.removeChild(t), e
                    }();
                    return e += U + Z, w.default.contacts_settings.email.show && (e += q + V), w.default.contacts_settings.name.show && (e += q + V), w.default.contacts_settings.phone.show && (e += q + V), e += G + 5, e += (0, M.showAd)() ? Y : Z, e += 2 * Z, e += X, e + "px"
                }
            }, {
                key: "setPositionLabel",
                value: function() {
                    var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
                    this._setPosition("label", e)
                }
            }, {
                key: "setPositionChat",
                value: function(e) {
                    var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
                        i = arguments[2];
                    this._setPosition(e, t, i)
                }
            }, {
                key: "_setPosition",
                value: function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "label",
                        t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
                        i = arguments[2];
                    B.log("_setPosition", e, t, i);
                    var a, n = this._widgetContainer = window.parent.document.getElementById("jivo-iframe-container"),
                        r = n.style,
                        l = !N.default.mobileOrTablet() && t;
                    l ? (0, M.removeClass)(n, "jivo-no-transition") : (0, M.addClass)(n, "jivo-no-transition"), "label" == e ? ((0, M.removeClass)(n, "jivo-expanded"), (0, M.removeClass)(n, "jivo-iframe-container-bottom"), (0, M.addClass)(n, "jivo-iframe-container-" + w.default.widget_orientation), (0, M.addClass)(n, "jivo-state-widget"), l ? (0, M.addClass)(n, "jivo-closing") : (0, M.addClass)(n, "jivo-collapsed"), (0, M.getPageWindow)().jivo_cstm_widget && !N.default.mobile() && ((0, M.getPageWindow)().jivo_cstm_widget.style.display = "block"), this._fixMargin(), a = this["LABEL_" + D.toUpperCase()](this.widgetContainer.style)) : (n.style.opacity = 1, (0, M.removeClass)(n, "jivo-state-widget"), l && (0, M.addClass)(n, "jivo-opening"), (0, M.addClass)(n, "jivo-expanded"), this._resetToBottom(), i || "chat/call" == x.default.route ? setTimeout(function() {
                        (0, M.getPageWindow)().jivo_cstm_widget && !N.default.mobile() && ((0, M.getPageWindow)().jivo_cstm_widget.style.display = "none")
                    }, 80) : setTimeout(function() {
                        S.default._callUserFunction("onOpen")
                    }, 60), a = this.WINDOW_BOTTOM(i, D.toUpperCase(), e)), B.log(a), (0, o.default)(r, a), (0, M._callUserFunction)("onResizeCallback", {
                        width: r.width,
                        height: r.height
                    }), N.default.mobileOrTablet() || setTimeout(function() {
                        (0, M.removeClass)(n, "jivo-no-transition")
                    }, 300)
                }
            }, {
                key: "_resetToBottom",
                value: function() {
                    (0, M.removeClass)(this._widgetContainer, "jivo-iframe-container-" + w.default.widget_orientation), (0, M.addClass)(this._widgetContainer, "jivo-iframe-container-bottom")
                }
            }, {
                key: "_fixMargin",
                value: function() {
                    if (!N.default.mobile()) {
                        var e = {
                            width: x.default.width + "px",
                            height: x.default.height + "px"
                        };
                        this.labelWidth = e.width, this.labelHeight = e.height, B.log("label", e), (0, o.default)(this.widgetContainer.style, e)
                    }
                }
            }]), t
        }(b.default);
    t.default = J
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = {
            CONNECTING: 0,
            OPEN: 1,
            CLOSING: 2,
            CLOSED: 3
        },
        l = {
            1e3: "Normal Closure",
            1001: "Going away",
            1002: "Protocol error",
            1003: "Unsupported data",
            1004: "reserved",
            1005: null,
            1006: null,
            1007: "Invalid frame payload data",
            1008: "Policy violation",
            1009: "Message Too Big",
            1010: "Mandatory Ext.",
            1011: "Internal Error",
            1012: "Service Restart",
            1013: "Try Again Later",
            1014: "Unassigned",
            1015: "TLS handshake",
            3001: "Attempts have Ended",
            3333: "Spam detected",
            4e3: "Application Closure",
            4999: "Last Code"
        },
        s = 1e4,
        u = 2e4,
        d = 20,
        c = 2,
        f = 60,
        p = 2e4,
        h = 0,
        m = 3e3,
        g = function() {},
        v = function() {
            throw new Error("Not implemented")
        },
        b = Date,
        _ = function() {
            return Date || (Date = b), (new Date).getTime()
        },
        w = function(e, t) {
            this.name = "NetworkError", this.code = t << 0, this.message = String(e)
        };
    w.prototype.toString = function() {
        return this.name + ":" + (this.code << 0 || "") + " " + this.message
    };
    var y, x = function e(t, i, a) {
            if (t && "function" == typeof t[i]) try {
                t[i](a)
            } catch (a) {
                if ("onerror" === String(i)) throw a;
                try {
                    e(t, "onerror", a)
                } catch (e) {}
            }
        },
        k = {};
    if (window && ("function" == typeof window.WebSocket || "object" === (0, o.default)(window.WebSocket))) {
        var j = window.WebSocket;
        y = function(e, t) {
            var i, a, n, o = this;
            this.url = e, this.readyState = r.CONNECTING;
            var s = function e() {
                try {
                    i.send(".")
                } catch (e) {}
                n = setTimeout(e, p)
            };
            this.close = function(e, t) {
                if (this.readyState === r.CONNECTING) this.readyState = r.CLOSING, clearTimeout(n), clearTimeout(a), a = setTimeout(function() {
                    o.readyState = r.CLOSED, x(o, "onclose", {
                        wasClean: !1,
                        code: 1006,
                        reason: ""
                    })
                }, d);
                else if (this.readyState === r.OPEN) {
                    this.readyState = r.CLOSING;
                    try {
                        t ? i.close(e, t) : e ? i.close(e) : i.close(1e3)
                    } catch (e) {
                        x(o, "onerror", e), x(o, "onclose", {
                            wasClean: !1,
                            code: 1006,
                            reason: ""
                        })
                    }
                }
            }, this.send = function(e) {
                if (!i || i.OPEN !== i.readyState) throw new Error("Socket is not open");
                clearTimeout(n), n = setTimeout(s, p), i.send(e)
            }, a = setTimeout(function() {
                try {
                    i = t ? new j(e, t) : new j(e), i.onclose = function(e) {
                        if (clearTimeout(n), clearTimeout(a), o.readyState = r.CLOSED, /MSIE|Trident|Edge|Lumia/.test(window.navigator.userAgent) && e.wasClean && (1e3 === e.code || 1005 === e.code) && e.reason)
                            for (var t in l)
                                if (e.reason === l[t]) return void x(o, "onclose", {
                                    wasClean: !0,
                                    code: t << 0,
                                    reason: e.reason
                                });
                        x(o, "onclose", e)
                    }, i.onerror = function(e) {
                        e.name || e.message || (e.name = "WebSocketError", e.message = "Unknown"), x(o, "onerror", e)
                    }, i.onmessage = function(e) {
                        x(o, "onmessage", e)
                    }, i.onopen = function(e) {
                        clearTimeout(n), n = setTimeout(s, p), o.readyState = r.OPEN, o.protocol = i.protocol, x(o, "onopen", e)
                    }
                } catch (e) {
                    x(o, "onerror", e)
                }
            }, d)
        };
        for (var C in r) y.prototype[C] = r[C]
    }
    if (window && window.navigator) {
        if (/iP(hone|od|ad)/.test(window.navigator.platform)) {
            var E = /OS (\d+)_(\d+)_?(\d+)?/.exec(window.navigator.appVersion);
            E && 6 > E[1] && (y = v)
        }
        if (/apple/i.test(window.navigator.vendor)) {
            var E = /\bVersion\/(\d+)\./.exec(window.navigator.userAgent);
            E && 6 > E[1] && (y = v)
        }
    }
    k.ws = k.wss = y;
    var M = function e() {
        var t, i, a, n, o = window.document.getElementsByTagName("head")[0],
            r = this;
        this.withCredentials = !1, this.readyState = 0, this.responseText = "", this.status = 0, this.statusText = "", this.timeout = void 0;
        var l = function() {
                if (t) {
                    clearTimeout(n), t.onreadystatechange = g, t.onload = g, t.onerror = g, t.parentNode.removeChild(t), t = null, i = null, a = null, r.responseText = "", r.status = 0, r.statusText = "", r.timeout = void 0, r.withCredentials = !1;
                    try {
                        delete window[a]
                    } catch (e) {
                        window[a] = void 0
                    }
                    x(r, "onloadend")
                }
            },
            s = function() {
                t && (x(r, "onerror"), l())
            };
        this.open = function(t, n) {
            !i && n && (r.readyState = 1, i = String(n).replace(/#.*$/, ""), a = "_jivo" + e._count++, i += (-1 === i.indexOf("?") ? "?" : "&") + "cb=" + a)
        }, this.send = function(u) {
            i && (u = u ? "&msg=" + encodeURIComponent(u) : "", window[a] = function(t) {
                r.readyState = 4, e._statusBody.test(t) ? (r.status = e._statusBody.exec(t)[1] << 0, r.statusText = "", r.responseText = "", x(r, "onerror"), l()) : (r.status = 200, r.statusText = "OK", r.responseText = t, x(r, "onload"), l())
            }, t = document.createElement("script"), t.charset = "utf-8", t.type = "text/javascript", t.onreadystatechange = function() {
                "complete" !== this.readyState && "loaded" !== this.readyState || setTimeout(s, 0)
            }, t.readyState || (t.onload = t.onerror = s), t.src = i + u, o.appendChild(t), r.timeout <<= 0, 0 < r.timeout && (n = setTimeout(function() {
                x(r, "ontimeout"), l()
            }, r.timeout)))
        }, this.abort = function() {
            x(r, "onabort"), l()
        }, this.setRequestHeader = g
    };
    M._statusBody = /^(\d{3})\n$/m, M._count = 0, M.prototype = {
        UNSENT: 0,
        OPENED: 1,
        HEADERS_RECEIVED: 2,
        LOADING: 3,
        DONE: 4
    };
    var S = 3e3,
        T = function e() {
            if (e._stack.length) return e._stack.pop();
            var t;
            try {
                t = new XMLHttpRequest, "withCredentials" in t || (t = null)
            } catch (e) {}
            return t = t || new M, t.release = function() {
                e._stack.push(t)
            }, t
        };
    T._stack = [];
    var z = function(e) {
            for (var t, i, a, n = S, r = g, l = 1; l < arguments.length; l++)
                if (arguments[l]) switch ((0, o.default)(arguments[l])) {
                    case "object":
                        i = arguments[l];
                        break;
                    case "string":
                        a = arguments[l];
                        break;
                    case "number":
                        n = arguments[l];
                        break;
                    case "function":
                        r = arguments[l]
                }
                if ("string" != typeof e) return r(TypeError("Bad URL")), null;
            try {
                t = T(), t.open(a ? "POST" : "GET", e, !0), a && t.setRequestHeader("Content-Type", "text/plain")
            } catch (e) {
                return r(e), t.release(), null
            }
            if (n <<= 0, 0 < n) try {
                t.timeout = n
            } catch (e) {}
            if (t.onloadend = function() {
                    t.release()
                }, t.onload = function() {
                    200 === t.status ? r(null, t.responseText) : r(new w(t.statusText, t.status))
                }, t.onabort = function() {
                    r(new w("Aborted"))
                }, t.ontimeout = function() {
                    r(new w("Timeout"))
                }, t.onerror = function() {
                    r(new w("Unknown"))
                }, i)
                for (var l in i) t.setRequestHeader(l, i[l]);
            try {
                t.send(a || null)
            } catch (e) {
                return r(e), t.release(), null
            }
            return function() {
                r = g
            }
        },
        O = 2e4,
        N = /([^\n]*)\n/gm,
        I = function(e) {
            if ("string" != typeof e) return e;
            var t, i, a = {};
            for (N.lastIndex = 0; null !== (t = N.exec(e));) {
                if (!t[1]) {
                    a.message = e.substring(t.index + 1);
                    break
                }
                t = t[1].split(/\t/), i = t[0], i && (t.shift(), a[i] = t)
            }
            return a
        },
        A = function(e, t) {
            var i = /^([^\?]*)(?:\?+(.*))?$/.exec(e);
            e = i[1] || "/";
            var a = i[2] ? "&" + i[2] : "";
            /[^\/]$/.test(e) && (e += "/");
            var n, o, s, u, c = this,
                f = g,
                p = "open",
                h = O,
                m = 0;
            this.readyState = r.CONNECTING;
            var v = function(e, t, i) {
                    r.CLOSED !== c.readyState && (clearTimeout(s), c.readyState = r.CLOSED, x(c, "onclose", {
                        wasClean: !!i,
                        code: t || 1006,
                        reason: l[t] || e || ""
                    }))
                },
                b = function(t, i) {
                    f(), f = z(e + p + (t ? "/" + t : "") + "?" + _() + a, h, i, w)
                },
                w = function(e, t) {
                    var i = I(t);
                    switch (c.readyState) {
                        case r.CONNECTING:
                            if (e) {
                                x(c, "onerror", e), v("Open error");
                                break
                            }
                            if (!(i && i.open && i.open[0])) {
                                v("No response in state open");
                                break
                            }
                            p = i.open[0], c.protocol = i.open[1], c.readyState = r.OPEN, x(c, "onopen");
                        case r.OPEN:
                            var a = "";
                            if (i) {
                                if (i.timeout && 0 < i.timeout[0] && (h = Math.ceil(i.timeout[0])), i.etag && i.etag[0]) {
                                    var l = i.etag[0] << 0,
                                        s = l - m;
                                    m = l, 0 < s && (1 !== s && x(c, "onerror", new Error("Missing " + s + " etags")), i.message && setTimeout(function() {
                                        x(c, "onmessage", {
                                            data: i.message
                                        })
                                    }, d)), a = "etag/" + l
                                }
                                i.close && (c.readyState = r.CLOSING, a = "close/" + (i.close[0] || "") + "/" + (i.close[1] || ""))
                            } else if (e && 204 !== e.code && (x(c, "onerror", e), !e.code || 404 === e.code)) return void v();
                            b(a);
                            break;
                        case r.CLOSING:
                            if (i && i.close) {
                                var u = i.close[0] << 0;
                                v(i.close[1], u, !n || n === u)
                            } else v(o, n, !1);
                            break;
                        case r.CLOSED:
                    }
                };
            this.close = function(e, t) {
                r.CONNECTING === this.readyState ? (clearTimeout(u), f(), s = setTimeout(v, d)) : r.OPEN === this.readyState && (n = e << 0 || 1e3, o = t || "", this.readyState = r.CLOSING, b("close/" + n + "/" + o))
            }, this.send = function(e) {
                if (r.OPEN !== this.readyState) throw new Error("Socket is not open");
                if (!e || "string" != typeof e) throw new TypeError("Bad data type");
                b("send", e)
            };
            var y = [];
            if (t)
                if ("string" == typeof t) y.push(t);
                else if (t instanceof Array)
                for (var k = 0; k < t.length; k++) y.push(String(t[k]));
            u = setTimeout(function() {
                b(y.join("/"))
            }, d)
        };
    for (var C in r) A.prototype[C] = r[C];
    k.http = k.https = A;
    var P = /^\s*(?:([^\;\/\?\:\@\&\=\+\$\,\#\n\r\s]{1,8})\:\/\/)([^\s\n\r]+)\s*$/,
        L = function e(t, i) {
            if (i || (i = [], i.index = 0, i.add = function(e) {
                    i.unshift({
                        value: String(e),
                        health: h
                    }), i.index = 0
                }), t)
                if ("string" == typeof t || t instanceof String) i.push({
                    value: String(t),
                    health: h
                });
                else if (0 < t.length)
                for (var a = 0; a < t.length; a++) e(t[a], i);
            return i
        },
        B = function(e) {
            if ("string" != typeof e) throw new TypeError("Bad URL type");
            var t = P.exec(e);
            if (null === t) throw new Error("Bad URL");
            if (!k[t[1]]) throw new Error("Not supported URL scheme: " + t[1]);
            return new k[t[1]](e)
        },
        D = function(e, t, i) {
            var a = e[t] = i;
            return function(i) {
                return arguments.length && (a = e[t] = i), a
            }
        },
        F = function(e, t) {
            var i, a = 1e3,
                n = function n() {
                    e && 0 <= e.health && (t(++e.health), a <<= 1, i = setTimeout(n, a))
                };
            return i = setTimeout(n, a),
                function() {
                    clearTimeout(i)
                }
        },
        H = function() {
            var e = 0;
            return setInterval(function() {
                    0 < e && (e -= c, 0 <= e || (e = 0))
                }, 1e3),
                function() {
                    return f < ++e
                }
        }(),
        R = function(e) {
            var t = L(e),
                i = null,
                a = g,
                n = {
                    connecting: g,
                    open: g,
                    close: g,
                    error: g,
                    message: g
                },
                d = D(this, "state", r.CLOSED),
                c = D(this, "url", void 0),
                f = D(this, "health", void 0),
                p = function e(t, i) {
                    clearTimeout(e.value), t && (e.value = setTimeout(t, i))
                },
                v = function(e) {
                    a(), a = g, p(), d(r.CLOSED);
                    try {
                        n.close(e)
                    } catch (e) {
                        w(e)
                    }
                    c(void 0), f(void 0)
                },
                b = function() {
                    if (H()) {
                        if (a(), a = g, i) {
                            i.onclose = null, i.onerror = null, i.onmessage = null, i.onopen = null, i.close(3333), i = null;
                            for (var e = 0; e < t.length; e++) t[e].health = -1
                        }
                        return !0
                    }
                    return !1
                },
                _ = function(e) {
                    if (a(), a = g, p(), e || (e = {
                            wasClean: !1,
                            code: 1005,
                            reason: "No Status Rcvd"
                        }), e.wasClean || f(--t[t.index].health), 1012 === e.code) {
                        d(r.CONNECTING);
                        try {
                            n.connecting(t[t.index].health)
                        } finally {
                            return p(j, s + (Math.random() * u << 0))
                        }
                    } else 1005 === e.code || 1e3 === e.code || 4e3 <= e.code && 5e3 > e.code ? v(e) : j()
                },
                w = function(e) {
                    try {
                        n.error(e)
                    } catch (e) {
                        throw e
                    }
                },
                y = function(e) {
                    if (r.OPEN === d()) try {
                        1 < e.data.length && n.message(e.data)
                    } catch (e) {
                        w(e)
                    }
                },
                x = function() {
                    p(), d(r.OPEN), a = F(t[t.index], f);
                    try {
                        n.open()
                    } catch (e) {
                        w(e)
                    }
                },
                k = function() {
                    var e = t[t.index];
                    try {
                        i = B(e.value)
                    } catch (i) {
                        return e.health = -1, ++t.index, w(i), j()
                    }
                    i.onclose = _, i.onerror = w, i.onmessage = y, i.onopen = x
                },
                j = function e(a) {
                    if (p(), t.index >= t.length) c(void 0), f(void 0), v({
                        wasClean: !1,
                        code: 3001,
                        reason: l[3001]
                    });
                    else if (0 > t[t.index].health) w(new Error("Sick URL")), ++t.index, e();
                    else {
                        if (i) {
                            i.onclose = null, i.onerror = null, i.onmessage = null, i.onopen = null;
                            try {
                                i.close()
                            } catch (e) {}
                        }
                        d(r.CONNECTING);
                        var o = t[t.index];
                        c() !== o.value && (c(o.value), f(o.health));
                        try {
                            n.connecting(o.health)
                        } catch (e) {}
                        a || h === t[t.index].health ? k() : p(k, m)
                    }
                };
            this.open = function(e) {
                if (b()) return v({
                    wasClean: !1,
                    code: 3333,
                    reason: l[3333]
                });
                if (r.CONNECTING !== d() && r.OPEN !== d()) {
                    if (e) {
                        e = String(e);
                        for (var i = 0; i < t.length; i++)
                            if (e === t[i].value) return t.index = i, j(!0);
                        t.add(e)
                    }
                    j(!0)
                }
            }, this.close = function(e, t) {
                p(), r.CLOSING !== d() && r.CLOSED !== d() && (!i || i.CONNECTING !== i.readyState && i.OPEN !== i.readyState ? v({
                    wasClean: !1,
                    code: 1011,
                    reason: l[1011]
                }) : (e <<= 0, 4e3 > e || 5e3 <= e ? i.close() : t ? i.close(e, String(t)) : i.close(e), i.onclose = v, d(r.CLOSING)))
            }, this.send = function(e) {
                if (r.OPEN !== d()) return new Error("Connection is not open");
                if (b()) return v({
                    wasClean: !1,
                    code: 3333,
                    reason: l[3333]
                }), new Error("Spam detected");
                try {
                    i.send(e)
                } catch (e) {
                    return e
                }
                return null
            };
            var C = function(e, t) {
                return function() {
                    t.apply(e, arguments)
                }
            };
            this.on = function(e, t) {
                if (e && "object" === ("undefined" == typeof e ? "undefined" : (0, o.default)(e)))
                    for (var i in e) this.on(i, C(e, e[i]));
                else n[e] && "function" == typeof t && (n[e] = t)
            }, this.off = function() {
                for (var e in n) n[e] = g
            }, this.getHealthyURLs = function() {
                for (var e = [], i = 0; i < t.length; i++) 0 <= t[i].health && e.push(t[i]);
                e.sort(function(e, t) {
                    return t.health - e.health
                });
                for (var i = 0; i < e.length; i++) e[i] = e[i].value;
                return e
            }
        };
    R.prototype = {
        valueOf: function() {
            return this.toString()
        },
        toString: function() {
            return r.OPEN === this.state ? this.url : ""
        },
        toJSON: function(e) {
            switch (e) {
                case "url":
                    return '"' + this.url + '"';
                case "state":
                    return this.state;
                case "health":
                    return this.health
            }
            return arguments.length ? "" : '{"state":' + this.state + ', "health":' + this.health + ', "url":"' + this.url + '"}'
        }
    };
    for (var C in r) R.prototype[C] = r[C];
    window.Connection = R, t.default = R
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(285),
        y = a(w),
        x = i(12),
        k = a(x),
        j = i(14),
        C = a(j),
        E = i(16),
        M = a(E),
        S = i(5),
        T = a(S),
        z = i(30),
        O = a(z),
        N = i(1),
        I = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                return i.state = {
                    isShow: i.getShowState()
                }, i.on(k.default, function() {
                    i.setState({
                        isShow: i.getShowState()
                    })
                }), i.on(C.default, function() {
                    i.setState({
                        isShow: i.getShowState()
                    })
                }), i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "openCallback",
                value: function() {
                    k.default.callText = null, M.default.navigate("call"), (0, N.telemetry)("cw_button_click")
                }
            }, {
                key: "getShowState",
                value: function() {
                    return "label" === k.default.route && C.default.cw_call_enabled && !window.parent.jivo_cobrowse && "col_old_page" !== window.parent.name
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            wrap: [{
                                wrap: !0,
                                _show: this.state.isShow
                            }, {
                                backgroundColor: T.default.callback_btn_color || "#44BB6E"
                            }],
                            button: [{
                                button: !0
                            }, {
                                color: T.default.callback_btn_color || "#44BB6E"
                            }],
                            iconWrap: [{
                                iconWrap: !0
                            }],
                            logoCallback: [{
                                logoCallback: !0
                            }]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", (0, o.default)({}, t.wrap, {
                        onClick: this.openCallback.bind(this)
                    }), v.default.createElement("jdiv", t.button), v.default.createElement("jdiv", t.iconWrap, v.default.createElement(O.default, (0, o.default)({
                        iconName: "callback-btn"
                    }, t.logoCallback))))
                }
            }]), t
        }(_.default);
    t.default = I
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(10),
        k = (a(x), i(5)),
        j = (a(k), i(12)),
        C = a(j),
        E = i(288),
        M = a(E),
        S = i(30),
        T = a(S),
        z = function(e) {
            function t(e) {
                return (0, c.default)(this, t), (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e))
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            leaf: [(0, l.default)({
                                leaf: !0,
                                _offline: !C.default.is_online
                            }, "_" + this.props.orientation, !0)],
                            triangle: [{
                                triangle: !0
                            }, {
                                borderLeftColor: this.props.color
                            }],
                            cssLeaf: [{
                                cssLeaf: !0
                            }, {
                                color: this.props.color
                            }],
                            bottomLeftSquare: [{
                                bottomLeftSquare: !0
                            }, {
                                backgroundColor: 1 == C.default.is_online ? "rgb(68, 187, 110)" : this.props.color
                            }]
                        },
                        style: M.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return _.default.createElement("jdiv", t.leaf, _.default.createElement("jdiv", t.triangle), _.default.createElement(T.default, (0, o.default)({
                        iconName: "leafBottom"
                    }, t.cssLeaf)))
                }
            }]), t
        }(y.default);
    t.default = z
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(10),
        k = a(x),
        j = i(5),
        C = a(j),
        E = i(30),
        M = a(E),
        S = i(1),
        T = i(12),
        z = (a(T), i(16)),
        O = (a(z), i(289)),
        N = a(O),
        I = (k.default.name("Logo"), function(e) {
            function t(e) {
                return (0, c.default)(this, t), (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e))
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            logo: [(0, l.default)({
                                logo: !0,
                                _light: "light" == this.props.fontColor,
                                _offline: !this.props.online
                            }, "_" + this.props.orientation, !0)],
                            logoIcon: [{
                                logoIcon: !0
                            }, {
                                color: (0, S.getTextColor)()
                            }]
                        },
                        style: N.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return _.default.createElement("jdiv", t.logo, _.default.createElement("jdiv", {
                        className: N.default.hoverBox
                    }), "ru_RU" === C.default.locale ? _.default.createElement(M.default, (0, o.default)({
                        iconName: "logo_jivosite"
                    }, t.logoIcon)) : _.default.createElement(M.default, (0, o.default)({
                        iconName: "logo_jivochat"
                    }, t.logoIcon)), _.default.createElement("jdiv", {
                        className: N.default.fallback
                    }))
                }
            }]), t
        }(y.default));
    t.default = I
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(32),
        l = a(r),
        s = i(6),
        u = a(s),
        d = i(2),
        c = a(d),
        f = i(3),
        p = a(f),
        h = i(8),
        m = a(h),
        g = i(7),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(11),
        y = a(w),
        x = i(290),
        k = a(x),
        j = i(10),
        C = a(j),
        E = i(5),
        M = a(E),
        S = i(15),
        T = a(S),
        z = i(1),
        O = a(z),
        N = i(12),
        I = a(N),
        A = i(14),
        P = a(A),
        L = i(16),
        B = a(L),
        D = i(9),
        F = (a(D), C.default.name("LabelButtons")),
        H = function(e) {
            function t(e) {
                (0, c.default)(this, t);
                var i = (0, m.default)(this, (t.__proto__ || (0, u.default)(t)).call(this, e));
                return i.state = {
                    show: !1,
                    hover: !1,
                    enabled: !1,
                    callback: !1,
                    vk: !1,
                    fb: !1
                }, i
            }
            return (0, v.default)(t, e), (0, p.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    F.log("mounted"), this.on(P.default, function() {
                        P.default.cw_call_enabled ? e.setState({
                            callback: !0,
                            enabled: !0
                        }) : e.setState({
                            callback: !1,
                            enabled: !(!e.state.vk && !e.state.fb)
                        })
                    }), this.init()
                }
            }, {
                key: "init",
                value: function() {
                    var e = this;
                    if (M.default.callback_settings.time && this.setState({
                            callback: !0,
                            enabled: !0
                        }), M.default.joint) {
                        var t = {
                            vk: !!M.default.joint.vk,
                            fb: !!M.default.joint.fb
                        };
                        O.default.addListener(window, "message", function(i) {
                            if (!i) return void F.log("postMessage from social failed: ", i);
                            if (F.log(i.data), i.data && i.data.social) {
                                var a = i.data.social;
                                a.vk && (t.vk = !0, t.fb = !1, t.enabled = !0), a.fb && (t.fb = !0, t.vk = !1, t.enabled = !0), a.fb || a.vk || (t.vk = !1, t.fb = !1), B.default.setSocial({
                                    vk: t.vk,
                                    fb: t.fb
                                }), e.setState(t)
                            }
                        }, !1)
                    }
                }
            }, {
                key: "openChat",
                value: function() {
                    I.default.is_focused = 1, B.default.navigate("chat"), O.default.telemetry("label_buttons_chat")
                }
            }, {
                key: "openCallForm",
                value: function() {
                    I.default.callText = null, B.default.navigate("call"), O.default.telemetry("label_buttons_call")
                }
            }, {
                key: "socialClick",
                value: function(e) {
                    F.log("socialClick"), O.default.telemetry("label_buttons_" + e.target.getAttribute("data-type"))
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        styles: {
                            wrap: [(0, l.default)({
                                jivoLabelButtons: !0
                            }, "_" + M.default.widget_orientation, !0), {
                                display: this.state.enabled ? "block" : "none"
                            }],
                            textVk: [{
                                text: !0,
                                labelVk: !0
                            }],
                            textFb: [{
                                text: !0,
                                labelFb: !0
                            }],
                            textCall: [{
                                text: !0,
                                callme: !0
                            }],
                            textChat: [{
                                text: !0,
                                chat: !0
                            }],
                            buttonsCorner: [(0, l.default)({
                                buttonsCorner: !0
                            }, M.default.widget_orientation + "Corner", !0), {
                                bottom: "auto"
                            }]
                        },
                        style: k.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return _.default.createElement("jdiv", (0, o.default)({}, t.wrap, {
                        id: "jivo-label-buttons",
                        ref: "lbuttons"
                    }), this.state.vk && _.default.createElement("jdiv", {
                        className: k.default.labelButton
                    }, _.default.createElement("a", (0, o.default)({}, t.textVk, {
                        onClick: this.socialClick.bind(this),
                        target: "_blank",
                        "data-type": "vk",
                        href: "https://vk.com/im?sel=-" + M.default.joint.vk.joint_id
                    }), _.default.createElement("jdiv", {
                        className: k.default.title
                    }, (0, T.default)("label_vk_text")), 1 == I.default.is_online && _.default.createElement("jdiv", {
                        className: k.default.info
                    }, (0, T.default)("social_text_" + (M.default.social_responce || 1))))), this.state.fb && _.default.createElement("jdiv", {
                        className: k.default.labelButton
                    }, _.default.createElement("a", (0, o.default)({}, t.textFb, {
                        onClick: this.socialClick.bind(this),
                        target: "_blank",
                        "data-type": "fb",
                        href: "https://www.facebook.com/messages/t/" + M.default.joint.fb.joint_id
                    }), _.default.createElement("jdiv", {
                        className: k.default.title
                    }, (0, T.default)("label_fb_text")), 1 == I.default.is_online && _.default.createElement("jdiv", {
                        className: k.default.info
                    }, (0, T.default)("social_text_" + (M.default.social_responce || 1))))), this.state.callback && _.default.createElement("jdiv", {
                        className: k.default.labelButton
                    }, _.default.createElement("jdiv", (0, o.default)({}, t.textCall, {
                        onClick: this.openCallForm.bind(this),
                        id: "jivo-show-callme-text"
                    }), _.default.createElement("jdiv", {
                        className: k.default.title
                    }, (0, T.default)("cw_callAfter"), " ", M.default.callback_settings.time, "�", O.default.getTextSeconds(M.default.callback_settings.time), "!"))), _.default.createElement("jdiv", {
                        className: k.default.labelButton
                    }, _.default.createElement("jdiv", (0, o.default)({}, t.textChat, {
                        onClick: this.openChat.bind(this),
                        id: "jivo-show-chat-text"
                    }), _.default.createElement("jdiv", {
                        className: k.default.title
                    }, "online" == M.default.chat_mode ? (0, T.default)("cw_typeInChat") : (0, T.default)("lblLeaveMessage")))), _.default.createElement("jdiv", (0, o.default)({}, t.buttonsCorner, {
                        id: "jivo-label-buttons-corner",
                        ref: "corner"
                    })))
                }
            }]), t
        }(y.default);
    t.default = H
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(291),
        _ = a(b),
        w = i(170),
        y = a(w),
        x = i(171),
        k = a(x),
        j = i(13),
        C = a(j),
        E = i(12),
        M = a(E),
        S = i(1),
        T = a(S),
        z = i(23),
        O = a(z),
        N = i(9),
        I = a(N),
        A = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                i.showState = !1, i.viewportChangeFn = I.default.throttle(function() {
                    i.getCoordinats()
                }, 200);
                var a = O.default,
                    n = a.window.getComputedStyle(a.bodyEl).position;
                return i.bodyTopOffset = "static" === n ? 0 : a.bodyEl.getBoundingClientRect().top - a.documentEl.getBoundingClientRect().top, i.getCoordinats(!0), i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "getCoordinats",
                value: function(e) {
                    var t = O.default,
                        i = t.getAppZoom(),
                        a = t.getPageZoom(),
                        n = t.window.innerWidth,
                        o = t.window.innerHeight;
                    n = i >= 1 ? n / i : n * a, o = i >= 1 ? o / i : o * a;
                    var r = (i >= 1 ? t.window.pageYOffset / i : t.window.pageYOffset * a) - this.bodyTopOffset,
                        l = i >= 1 ? t.window.pageXOffset / i : t.window.pageXOffset * a;
                    l -= t.window.innerWidth * a, this.setState({
                        width: n,
                        height: o,
                        top: r,
                        left: l,
                        appZoom: i,
                        zIndex: this.showState ? 2147483647 : null
                    }), !e && setTimeout(this.getCoordinats.bind(this, !0), 50)
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(M.default, function() {
                        M.default.isShowNativeMobileMenu ? (e.showContainer(), e.refs.menu.show()) : e.hideContainer()
                    })
                }
            }, {
                key: "showContainer",
                value: function() {
                    this.showState = !0, this.getCoordinats(!0), O.default.blockScroll();
                    var e = T.default.getPageWindow();
                    T.default.addListener(e, "orientationchange", this.viewportChangeFn), T.default.addListener(e, "scroll", this.viewportChangeFn), T.default.addListener(e, "resize", this.viewportChangeFn)
                }
            }, {
                key: "hideContainer",
                value: function() {
                    var e = this;
                    O.default.unblockScroll();
                    var t = T.default.getPageWindow(),
                        i = t.document;
                    setTimeout(function() {
                        var a = -1 * Math.max(t.innerWidth, i.body.clientWidth) + "px";
                        e.setState({
                            left: a,
                            top: "-100%",
                            zIndex: null
                        })
                    }, 300), T.default.removeEvent(t, "orientationchange", this.viewportChangeFn), T.default.removeEvent(t, "scroll", this.viewportChangeFn), T.default.removeEvent(t, "resize", this.viewportChangeFn), this.showState = !1
                }
            }, {
                key: "getRenderData",
                value: function() {
                    return {
                        data: {},
                        styles: {
                            container: [{
                                container: !0
                            }, {
                                width: this.state.width,
                                height: this.state.height,
                                top: this.state.top,
                                left: this.state.left,
                                zoom: this.state.appZoom,
                                zIndex: this.state.zIndex,
                                "-webkit-text-size-adjust": C.default.ios() ? O.default.getTextSize() : null
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return m.default.createElement("jdiv", t.container, C.default.ios() && m.default.createElement(k.default, {
                        hideOnRender: !0,
                        ref: "menu"
                    }), !C.default.ios() && m.default.createElement(y.default, {
                        hideOnRender: !0,
                        ref: "menu"
                    }))
                }
            }]), t
        }(v.default);
    t.default = A
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(292),
        _ = a(b),
        w = i(30),
        y = a(w),
        x = i(111),
        k = a(x),
        j = i(15),
        C = a(j),
        E = i(5),
        M = a(E),
        S = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getRenderData",
                value: function() {
                    return {
                        data: {
                            chatText: "online" === M.default.chat_mode ? (0, C.default)("onlineChat") : (0, C.default)("lblLeaveMessage")
                        },
                        styles: {
                            wrap: [{
                                wrap: !0,
                                _show: this.state.isShow,
                                _landscape: "landscape" === this.state.orientation && this.state.isShow
                            }],
                            menuWrap: [{
                                menuWrap: !0
                            }, {
                                left: this.state.left
                            }],
                            overlay: [{
                                overlay: !0,
                                _extraPadding: this.state.extraPadding
                            }, {
                                left: this.state.left
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return 0 === this.jointsCount ? null : v.default.createElement("jdiv", t.wrap, v.default.createElement("jdiv", (0, o.default)({}, t.overlay, {
                        onClick: this.close.bind(this)
                    }), v.default.createElement("jdiv", {
                        className: _.default.deviceLandscape
                    })), v.default.createElement("jdiv", t.menuWrap, this.jivoLink && v.default.createElement("jdiv", {
                        className: _.default.copyrightWrap
                    }, v.default.createElement("jdiv", {
                        className: _.default.copyright
                    }, v.default.createElement("a", {
                        href: this.jivoLink,
                        target: "_blank",
                        rel: "nofollow noopener noreferrer"
                    }, "Powered by", v.default.createElement(y.default, {
                        iconName: this.logoIconName,
                        className: _.default.logoIcon
                    })))), v.default.createElement("jdiv", {
                        className: _.default.menuTitle
                    }, (0, C.default)("powerBtnMenuTitle")), v.default.createElement("jdiv", {
                        className: _.default.menu
                    }, this.joints.vkUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.vkUrl
                    }, this.linkProps, {
                        "data-name": "vk"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "vk",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, (0, C.default)("social_vk")))), this.joints.fbUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.fbUrl
                    }, this.linkProps, {
                        "data-name": "fb"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "fb",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Facebook Messenger"))), this.joints.tgUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.tgUrl
                    }, this.linkProps, {
                        "data-name": "tg"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "telegram",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Telegram"))), this.joints.vbUrl && v.default.createElement("a", {
                        href: this.joints.vbUrl,
                        onClick: this.openMenuItem.bind(this),
                        "data-name": "vb"
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "viber",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Viber"))), this.joints.cbUrl && v.default.createElement("a", {
                        href: "tel:" + this.joints.cbUrl,
                        onClick: this.openMenuItem.bind(this),
                        "data-name": "call"
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "phone-outgoing",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, (0, C.default)("lblCallMe"), " ", this.joints.cbUrl))), v.default.createElement("jdiv", {
                        className: _.default.menuItem,
                        onClick: this.openChat.bind(this)
                    }, v.default.createElement(y.default, {
                        iconName: "message-text",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemTextHighlight
                    }, e.chatText))), v.default.createElement("jdiv", {
                        className: _.default.closeBtn,
                        onClick: this.close.bind(this)
                    }, v.default.createElement("jdiv", {
                        className: _.default.closeIcon
                    }, "<"), v.default.createElement("jdiv", {
                        className: _.default.closeText
                    }, (0, C.default)("cancel")))))
                }
            }]), t
        }(k.default);
    t.default = S
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(293),
        _ = a(b),
        w = i(30),
        y = a(w),
        x = i(111),
        k = a(x),
        j = i(15),
        C = a(j),
        E = i(5),
        M = a(E),
        S = function(e) {
            function t() {
                return (0, u.default)(this, t), (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).apply(this, arguments))
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "getRenderData",
                value: function() {
                    return {
                        data: {
                            chatText: "online" === M.default.chat_mode ? (0, C.default)("onlineChat") : (0, C.default)("lblLeaveMessage")
                        },
                        styles: {
                            wrap: [{
                                wrap: !0,
                                _show: this.state.isShow,
                                _landscape: "landscape" === this.state.orientation && this.state.isShow
                            }],
                            menuWrap: [{
                                menuWrap: !0
                            }, {
                                left: this.state.left
                            }],
                            overlay: [{
                                overlay: !0,
                                _extraPadding: this.state.extraPadding
                            }, {
                                left: this.state.left
                            }]
                        },
                        style: _.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return 0 === this.jointsCount ? null : v.default.createElement("jdiv", t.wrap, v.default.createElement("jdiv", (0, o.default)({}, t.overlay, {
                        onClick: this.close.bind(this)
                    }), v.default.createElement("jdiv", {
                        className: _.default.deviceLandscape
                    })), v.default.createElement("jdiv", t.menuWrap, this.jivoLink && v.default.createElement("jdiv", {
                        className: _.default.copyrightWrap
                    }, v.default.createElement("jdiv", {
                        className: _.default.copyright
                    }, v.default.createElement("a", {
                        href: this.jivoLink,
                        target: "_blank",
                        rel: "nofollow noopener noreferrer"
                    }, "Powered by", v.default.createElement(y.default, {
                        iconName: this.logoIconName,
                        className: _.default.logoIcon
                    })))), v.default.createElement("jdiv", {
                        className: _.default.menu
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuTitle
                    }, (0, C.default)("powerBtnMenuTitle")), this.joints.vkUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.vkUrl
                    }, this.linkProps, {
                        "data-name": "vk"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, (0, C.default)("social_vk")))), this.joints.fbUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.fbUrl
                    }, this.linkProps, {
                        "data-name": "fb"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Facebook Messenger"))), this.joints.tgUrl && v.default.createElement("a", (0, o.default)({
                        href: this.joints.tgUrl
                    }, this.linkProps, {
                        "data-name": "tg"
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Telegram"))), this.joints.vbUrl && v.default.createElement("a", {
                        href: this.joints.vbUrl,
                        onClick: this.openMenuItem.bind(this),
                        "data-name": "vb"
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, "Viber"))), this.joints.cbUrl && v.default.createElement("a", {
                        href: "tel:" + this.joints.cbUrl,
                        onClick: this.openMenuItem.bind(this),
                        "data-name": "call"
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItem
                    }, v.default.createElement(y.default, {
                        iconName: "phone",
                        className: _.default.menuItemIcon
                    }), v.default.createElement("jdiv", {
                        className: _.default.menuItemText
                    }, (0, C.default)("lblCallMe"), " ", this.joints.cbUrl))), v.default.createElement("jdiv", {
                        className: _.default.menuItem,
                        onClick: this.openChat.bind(this)
                    }, v.default.createElement("jdiv", {
                        className: _.default.menuItemTextHighlight
                    }, e.chatText))), v.default.createElement("jdiv", {
                        className: _.default.closeBtn,
                        onClick: this.close.bind(this)
                    }, (0, C.default)("cancel"))))
                }
            }]), t
        }(k.default);
    t.default = S
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(20),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(294),
        y = a(w),
        x = i(169),
        k = a(x),
        j = i(12),
        C = a(j),
        E = i(1),
        M = a(E),
        S = i(5),
        T = a(S),
        z = i(9),
        O = a(z),
        N = i(30),
        I = a(N),
        A = i(53),
        P = a(A),
        L = i(16),
        B = a(L),
        D = i(44),
        F = a(D),
        H = i(23),
        R = a(H),
        W = i(13),
        V = a(W),
        q = i(21),
        U = a(q),
        G = i(31),
        X = a(G),
        Z = function(e) {
            function t(e) {
                (0, u.default)(this, t);
                var i = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this, e));
                i.state = {
                    isShow: i.getShowState(),
                    isAnimationJivoIcon: M.default.showAd(),
                    unReadMessages: 0,
                    powerBtnZoom: 1
                }, i.orientation = T.default.widget_mobile_orientation || "right";
                var a = M.default.getPageWindow();
                i.bodyPosition = a.getComputedStyle(a.document.body).position;
                var n = O.default.throttle(i.onViewportChanged.bind(i, !0), 300);
                return M.default.addListener(M.default.getPageWindow(), "scroll", n), M.default.addListener(M.default.getPageWindow(), "resize", n), R.default.listenChangeZoom(n), i.on(C.default, function() {
                    i.setState({
                        isShow: i.getShowState()
                    }, function() {
                        i.onViewportChanged(), setTimeout(i.onViewportChanged.bind(i), 500)
                    })
                }), i.isShowDebounce = O.default.debounce(function() {
                    i.getShowState() && (i.setState({
                        isAnimation: !0
                    }, function() {
                        setTimeout(function() {
                            i.setState({
                                isShow: !0
                            })
                        }, 50)
                    }), setTimeout(function() {
                        i.setState({
                            isAnimation: !1
                        })
                    }, 300))
                }, 350), i.onViewportChanged(), i
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "onViewportChanged",
                value: function(e) {
                    this.zooms = {
                        powerBtnZoom: R.default.getAppZoom(),
                        userZoom: R.default.getUserZoom()
                    }, this.setState({
                        powerBtnZoom: this.zooms.powerBtnZoom
                    }), this.zooms.userZoom >= 1.1 ? (this.setState({
                        position: "absolute",
                        isShow: !e && this.getShowState()
                    }), this.getPosition(this.zooms.powerBtnZoom), this.isShowDebounce()) : this.setState({
                        position: null,
                        left: null,
                        right: null,
                        bottom: null,
                        isShow: this.getShowState()
                    })
                }
            }, {
                key: "getPosition",
                value: function(e) {
                    var t, i, a, n = M.default.getPageWindow(),
                        o = n.document,
                        r = null,
                        l = null;
                    "static" === this.bodyPosition ? (t = Math.max(n.innerHeight, o.documentElement.clientHeight), i = Math.max(n.innerWidth, o.documentElement.clientWidth)) : (t = Math.max(n.innerHeight, o.body.clientHeight), i = Math.max(n.innerWidth, o.body.clientWidth)), "right" === this.orientation ? r = (i - (n.pageXOffset + n.innerWidth)) / e : l = n.pageXOffset / e, a = (t - (n.pageYOffset + n.innerHeight)) / e, this.setState({
                        right: r,
                        left: l,
                        bottom: a
                    })
                }
            }, {
                key: "openMenu",
                value: function(e) {
                    this.setState({
                        isShow: !1
                    }), this.state.unReadMessages ? (C.default.is_focused = 1, B.default.navigate("chat"), this.readMessages()) : (B.default.openMobileNativeMenu(), M.default.telemetry("powerbtn_open_menu")), e.stopPropagation(), window.history && "function" == typeof window.history.pushState && this.setHistroyState()
                }
            }, {
                key: "setHistroyState",
                value: function() {
                    console.log("history", window.top.history.state);
                    var e = window.top.history,
                        t = window.top.location;
                    (!e.state || e.state && "number" != typeof e.state.jmobile) && e.pushState({
                        jmobile: 1
                    }, t.title, t.href), e.replaceState({
                        jmobile: 1
                    }, t.title, t.href)
                }
            }, {
                key: "checkPopState",
                value: function() {
                    C.default.isShowNativeMobileMenu && B.default.closeMobileNativeMenu(), "label" != C.default.route && B.default.closeWidget()
                }
            }, {
                key: "incUnread",
                value: function() {
                    "label" == C.default.route && this.setState({
                        unReadMessages: this.state.unReadMessages + 1
                    })
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    M.default.addListener(window.top, "popstate", this.checkPopState), this.setState({
                        unReadMessages: U.default.getUnreadMessage().length
                    }), U.default.on("create", function(t) {
                        X.default.get("text") && "read" !== X.default.get("status") && "chat" !== C.default.route ? e.setState({
                            unReadMessages: 1
                        }) : "agent" === t.get("from") && "chat" !== C.default.route ? e.setState({
                            unReadMessages: U.default.getUnreadMessage().length
                        }) : e.readMessages()
                    }), this.on(P.default, {
                        play_sound: function() {
                            C.default.is_online && !X.default.get("text") || e.setState({
                                unReadMessages: 1
                            })
                        }
                    })
                }
            }, {
                key: "getShowState",
                value: function() {
                    return "label" === C.default.route && !C.default.isShowNativeMobileMenu && !M.default.isCustomLabel()
                }
            }, {
                key: "readMessages",
                value: function() {
                    this.setState({
                        unReadMessages: 0
                    });
                    var e = [];
                    O.default.each(U.default.getUnreadMessage(), function(t) {
                        t.set("status", "read"), e.push(t.get("msg_id"))
                    }), X.default.get("text") && "read" !== X.default.get("status") && X.default.set("status", "read"), B.default.agentMessageAck(e)
                }
            }, {
                key: "getRenderData",
                value: function() {
                    var e = T.default.power_button_color || "#44BB6E";
                    return {
                        data: {
                            isOnlineMode: "offline" !== T.default.chat_mode
                        },
                        styles: {
                            wrap: [{
                                wrap: !0,
                                _show: this.state.isShow && this.zooms.powerBtnZoom > .4,
                                _orinationRight: "right" === this.orientation,
                                _orinationLeft: "left" === this.orientation,
                                _animationBtn: this.state.isAnimation
                            }, {
                                zoom: this.state.powerBtnZoom,
                                position: this.state.position,
                                bottom: this.state.bottom,
                                right: this.state.right,
                                left: this.state.left,
                                "-webkit-text-size-adjust": V.default.ios() ? R.default.getTextSize() : null
                            }],
                            button: [{
                                button: !0
                            }, {
                                zoom: this.zoom,
                                backgroundColor: e
                            }],
                            messagesLabel: [{
                                messagesLabel: !0
                            }, {
                                display: this.state.unReadMessages ? "inline-block" : "none"
                            }],
                            iconWrap: [{
                                iconWrap: !0,
                                _animationJivoIcon: this.state.isAnimationJivoIcon
                            }],
                            jivoIcon: [{
                                logoIconJivo: !0,
                                _iconDark: F.default.isLightColor(e)
                            }],
                            cloudIcon: [{
                                logoIconCloud: !0,
                                _iconDark: F.default.isLightColor(e)
                            }],
                            envelopeIcon: [{
                                envelopeIcon: !0,
                                _iconDark: F.default.isLightColor(e)
                            }]
                        },
                        style: y.default
                    }
                }
            }, {
                key: "renderData",
                value: function(e, t) {
                    return v.default.createElement("jdiv", null, v.default.createElement(k.default, null), v.default.createElement("jdiv", (0, o.default)({}, t.wrap, {
                        onClick: this.openMenu.bind(this)
                    }), v.default.createElement("jdiv", t.button, v.default.createElement("jdiv", t.messagesLabel, this.state.unReadMessages), v.default.createElement("jdiv", t.iconWrap, v.default.createElement(I.default, (0, o.default)({
                        iconName: "logo-j-white"
                    }, t.jivoIcon)), e.isOnlineMode && v.default.createElement(I.default, (0, o.default)({
                        iconName: "mobile-cloud"
                    }, t.cloudIcon)), !e.isOnlineMode && v.default.createElement(I.default, (0, o.default)({
                        iconName: "envelope"
                    }, t.envelopeIcon))))))
                }
            }]), t
        }(_.default);
    t.default = Z
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(35),
        o = a(n),
        r = i(5),
        l = a(r),
        s = i(10),
        u = a(s),
        d = i(14),
        c = a(d),
        f = i(13),
        p = a(f),
        h = i(9),
        m = a(h),
        g = u.default.name("Monitoring"),
        v = {
            lastTelemetry: [],
            reportError: function(e) {
                var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 3,
                    i = window.top.location.protocol + "//err.jivosite.com/widget",
                    a = "POST",
                    n = {
                        widget: "true",
                        widget_id: l.default.widget_id,
                        widget_version: window.top.jivo_version,
                        level: t,
                        url: window.top.location.href,
                        client_id: c.default.client_id ? c.default.client_id.split(".")[0] : null,
                        user_agent: navigator.userAgent,
                        lineNumber: e.lineNumber,
                        fileName: e.fileName,
                        column: e.columnNumber,
                        full_message: v.getStack(e.message, e.stack),
                        short_message: e.message,
                        device: p.default.getDevice()
                    },
                    r = new XMLHttpRequest;
                r.addEventListener("load", m.default.bind(function(e) {
                    e.target && 204 == e.target.status ? g.log("reportExeption complete", e) : g.log("reportExeption not received response", e)
                }, void 0), !1), r.addEventListener("error", m.default.bind(function(e) {
                    g.error("reportExeption send error:", e)
                }, void 0), !1), r.addEventListener("abort", m.default.bind(function(e) {
                    g.error("reportExeption send abort:", e)
                }, void 0), !1), "withCredentials" in r ? r.open(a, i, !0) : "undefined" != typeof XDomainRequest && (r = new XDomainRequest, r.open(a, i)), r.setRequestHeader("Content-Type", "application/json"), r.send((0, o.default)(n))
            },
            getStack: function(e, t) {
                return "Script error." == e ? t : "{}" != t && "" != t && t ? t.replace(/(?:\\[n])+/, "\r\n") : "Custom stack: \r\n" + u.default.lastLog.join("\r\n") + "\r\n\r\n" + this.lastTelemetry.join("\r\n")
            }
        };
    t.default = v
}, function(e, t) {
    "use strict";

    function i() {
        Element.prototype.matches || (Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector || function(e) {
            for (var t = (window.document || window.ownerDocument).querySelectorAll(e), i = t.length; --i >= 0 && t.item(i) !== this;);
            return i > -1
        }), Element.prototype.closest || (Element.prototype.closest = function(e) {
            for (var t = this; t;) {
                if (t.matches(e)) return t;
                t = t.parentElement
            }
            return null
        })
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = {
        init: i
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(35),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s);
    i(205);
    var d = i(5),
        c = a(d),
        f = i(12),
        p = a(f),
        h = i(14),
        m = a(h),
        g = i(15),
        v = a(g),
        b = i(24),
        _ = a(b),
        w = i(21),
        y = a(w),
        x = i(31),
        k = a(x),
        j = i(9),
        C = a(j),
        E = i(1),
        M = a(E),
        S = i(10),
        T = a(S),
        z = T.default.name("VI"),
        O = function() {
            function e() {
                var t = this;
                (0, l.default)(this, e), c.default.new_visitors_insight && !c.default.botmode && (this.openConnection(), this.net.onopen = this.connectionOnOpen.bind(this), this.net.onget = this.onget.bind(this), this.net.onset = this.onset.bind(this), this.net.onclose = this.connectionOnClosed.bind(this), this.net.onerror = function(e) {
                    z.warn(e)
                }, this.changeCurrentKeysFn = C.default.debounce(function() {
                    t.changeCurrentKeys()
                }, 100), sessionStorage && sessionStorage.removeItem("jv_store_navigate_history"));
            }
            return (0, u.default)(e, [{
                key: "getKeys",
                value: function(e) {
                    var t = this,
                        i = m.default.client_info,
                        a = {
                            purl: function() {
                                return window.parent.location.href
                            },
                            name: function() {
                                return i && i.client_name ? i.client_name : null
                            },
                            phone: function() {
                                return i && i.phone ? i.phone : null
                            },
                            email: function() {
                                return i && i.email ? i.email : null
                            },
                            ptitle: function() {
                                var e = window.parent.document.title;
                                return e === (0, v.default)("lblNewMessage") && (e = t.cacheCurrentKeys && t.cacheCurrentKeys.ptitle), e
                            },
                            cid: function() {
                                return m.default.client_id ? m.default.client_id.split(".")[0] : null
                            },
                            utm: function() {
                                return (0, o.default)(m.default.utm)
                            },
                            status: function e() {
                                var e = void 0,
                                    t = y.default.getLastMessage();
                                return e = p.default.chat_started ? t && "agent" === t.get("type") && 1 === y.default.getAll() ? "sent_invite" : "on_chat" : k.default.get("text") ? "proactive_show" : "on_site", m.default.cw_call.status && (e = "on_call"), e
                            },
                            navcount: function() {
                                return M.default.cookie("pages_count")
                            },
                            visits: function() {
                                return M.default.cookie("visits_count")
                            },
                            chats: function() {
                                return y.default.getChatCounts()
                            },
                            visible: function() {
                                return M.default.pageVisible()
                            },
                            opened: function() {
                                return ["label", "chat/min"].indexOf(p.default.route) === -1
                            },
                            startsec: function() {
                                return M.default.cookie("startsec")
                            },
                            analysis: function() {
                                return (0, o.default)({
                                    is_blacklisted: m.default.is_blacklisted,
                                    is_startuped: _.default.isConnected()
                                })
                            }
                        };
                    return e ? a[e]() : C.default.keys(a)
                }
            }, {
                key: "getURL",
                value: function() {
                    var e = "http:" === window.parent.location.protocol ? "ws" : "wss";
                    return e + "://chat.jivosite.com/" + c.default.widget_id + "?" + m.default.visitorId
                }
            }, {
                key: "openConnection",
                value: function() {
                    this.net || (this.net = new ClientSocket), this.net.open(this.getURL())
                }
            }, {
                key: "connectionOnOpen",
                value: function() {
                    var e = this;
                    this.isConnected = !0, z.log("connection open"), this.cacheCurrentKeys = this.getAllCurrentKeys(), m.default.addListener(this.changeCurrentKeysFn), p.default.addListener(this.changeCurrentKeysFn), _.default.on("socket_message", this.changeCurrentKeysFn), y.default.on("create", this.changeCurrentKeysFn), M.default.listenVisibility(function() {
                        !e.isConnected && M.default.pageVisible() && e.openConnection(), e.changeCurrentKeysFn()
                    })
                }
            }, {
                key: "connectionOnClosed",
                value: function() {
                    this.isConnected = !1, z.log("connection closed")
                }
            }, {
                key: "getAllCurrentKeys",
                value: function() {
                    var e = this,
                        t = {};
                    return C.default.each(this.getKeys(), function(i) {
                        t[i] = e.getKeys(i)
                    }), t
                }
            }, {
                key: "changeCurrentKeys",
                value: function() {
                    (0, o.default)(this.cacheCurrentKeys) !== (0, o.default)(this.getAllCurrentKeys()) && this.setCurrentKeys()
                }
            }, {
                key: "setCurrentKeys",
                value: function() {
                    var e = this;
                    C.default.each(C.default.keys(this.cacheCurrentKeys), function(t) {
                        e.getKeys(t) !== e.cacheCurrentKeys[t] && e.set(t, e.getKeys(t))
                    })
                }
            }, {
                key: "set",
                value: function(e, t, i, a) {
                    var n = {
                        key: e,
                        value: t
                    };
                    a && (n.room = a), i && (n.to = i), this.cacheCurrentKeys && (this.cacheCurrentKeys[e] = t), this.isConnected && this.net.set(n)
                }
            }, {
                key: "onget",
                value: function(e) {
                    var t = this;
                    z.log("onget", e), "*" === e.key ? C.default.each(this.getKeys(), function(i) {
                        t.getKeys(i) && t.set(i, t.getKeys(i), e.from, e.room)
                    }) : this.getKeys(e.key) && this.set(e.key, this.getKeys(e.key), e.from, e.room)
                }
            }, {
                key: "onset",
                value: function(e) {
                    z.log("onset", e), "invite" === e.key && (m.default.pa_id = e.value)
                }
            }]), e
        }();
    t.default = {
        run: function() {
            new O
        }
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = i(13),
        y = a(w),
        x = i(1),
        k = a(x),
        j = i(10),
        C = a(j),
        E = i(114),
        M = a(E),
        S = i(23),
        T = a(S),
        z = i(16),
        O = a(z),
        N = i(12),
        I = a(N),
        A = i(62),
        P = a(A),
        L = i(9),
        B = (a(L), C.default.name("TopWrap"));
    i(362), i(361);
    var D = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = i.getState(), i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "getState",
            value: function() {
                var e = void 0;
                return e = 0 === I.default.route.indexOf("label") ? {
                    mode: "label",
                    expanded: !0
                } : 0 === I.default.route.indexOf("chat") ? {
                    mode: "chat",
                    expanded: !1
                } : 0 === I.default.route.indexOf("call") ? {
                    mode: "call",
                    expanded: !1
                } : {
                    mode: "label",
                    expanded: !1
                }, e.isLandscaped = this.getOrientation(), e
            }
        }, {
            key: "componentDidMount",
            value: function() {
                var e = this;
                this.on(I.default, function() {
                    var t = e.getState();
                    t.mode !== e.state.mode && (y.default.mobile() ? (B.log("transition-end"), e.setState({
                        expanded: t.expanded
                    })) : setTimeout(function() {
                        B.log("transition-end"), e.setState({
                            expanded: t.expanded
                        })
                    }, 300), e.setState({
                        mode: t.mode
                    })), y.default.mobileOrTablet() && e.mobileOrTabletChange()
                }), y.default.mobileOrTablet() && ((0, x.addListener)(window, "orientationchange", function() {
                    return e.setOrientation()
                }), this.mobileOrTabletChange()), y.default.mobile() && P.default.mobileInit(), this.renderCheckIframe()
            }
        }, {
            key: "renderCheckIframe",
            value: function() {
                var e = k.default.checkSocial();
                if (e) {
                    var t = k.default.genSocialIframeUrl(e) + "#rand=" + (new Date).getMilliseconds() + ",lang=" + _.default.locale,
                        i = document.createElement("iframe");
                    i.src = t, i.className = "iframe-social", setTimeout(function() {
                        document.body.appendChild(i)
                    }, 50)
                }
            }
        }, {
            key: "mobileOrTabletChange",
            value: function() {
                this.setOrientation(), this.setPositionForTablet()
            }
        }, {
            key: "setPositionForTablet",
            value: function() {
                B.log("setPositionForTablet"), y.default.tablet() && ("chat/introduce" !== I.default.route && "chat" !== I.default.route || !I.default.is_input_focused ? "chat/introduce" !== I.default.route && "chat" !== I.default.route && (T.default.removeTabletPosition(), T.default.unblockScroll()) : (T.default.addTabletPosition(), T.default.blockScroll()))
            }
        }, {
            key: "getOrientation",
            value: function() {
                var e = !1;
                if (I.default.isSeparateWindow) {
                    var t = 0;
                    switch (window.orientation ? t = window.orientation : window.screen && window.screen.orientation && (t = window.screen.orientation.angle), t) {
                        case -90:
                        case 90:
                            e = !0;
                            break;
                        default:
                            e = !1
                    }
                }
                return e
            }
        }, {
            key: "setOrientation",
            value: function() {
                var e = this.getOrientation();
                e !== this.state.isLandscaped && this.setState({
                    isLandscaped: e
                })
            }
        }, {
            key: "componentWillUnmount",
            value: function() {
                this.off()
            }
        }, {
            key: "render",
            value: function() {
                var e = this.state.mode;
                "call" === e && (e = "call chat");
                var t = e + "-mode";
                (0, x.css3AnimationIsSupported)() && !this.state.expanded || (t += " expanded");
                var i = {
                    display: "none"
                };
                return y.default.mobile() ? (t += " mobile-version", this.state.isLandscaped && (i = {
                    display: "block"
                })) : y.default.tablet() && (t += " new-tablet-version"), m.default.createElement("div", {
                    style: {
                        height: "100%"
                    }
                }, m.default.createElement("div", {
                    id: "jivo_top_wrap",
                    ref: "jivo_top_wrap",
                    className: t
                }, m.default.createElement(M.default, null), y.default.mobile() ? m.default.createElement("div", {
                    id: "device-landscape",
                    onClick: function() {
                        return O.default.closeWidget()
                    },
                    style: i
                }) : ""))
            }
        }]), t
    }(v.default);
    t.default = D
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(5),
        _ = a(b),
        w = i(71),
        y = a(w),
        x = i(147),
        k = a(x),
        j = i(178),
        C = a(j),
        E = i(184),
        M = a(E),
        S = i(179),
        T = a(S),
        z = i(187),
        O = a(z),
        N = i(15),
        I = a(N),
        A = i(21),
        P = a(A),
        L = i(1),
        B = i(13),
        D = a(B),
        F = i(14),
        H = a(F),
        R = i(12),
        W = a(R),
        V = i(10),
        q = a(V),
        U = q.default.name("ChatBody"),
        G = D.default.desktop(),
        X = function(e) {
            function t() {
                (0, l.default)(this, t);
                var e = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this));
                return e.state = {
                    replyButton: e.showReplyButton()
                }, e
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    U.log("mounted"), this.on(W.default, function() {
                        var t = e.showReplyButton();
                        e.state.replyButton !== t && e.setState({
                            replyButton: t
                        })
                    })
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    U.log("will unmount")
                }
            }, {
                key: "showReplyButton",
                value: function() {
                    var e = P.default.getLastMessage(),
                        t = document.activeElement;
                    return D.default.ipad() && e && e.isAgentMessage() && !W.default.is_focused && "TEXTRAREA" !== t.tagName && "INPUT" !== t.tagName && ("chat/introduce" === W.default.route || "chat" === W.default.route)
                }
            }, {
                key: "onWhell",
                value: function(e) {
                    G && e.preventDefault()
                }
            }, {
                key: "onTouchMove",
                value: function(e) {
                    D.default.ipad() && e.preventDefault()
                }
            }, {
                key: "onTouchStart",
                value: function(e) {
                    D.default.ipad()
                }
            }, {
                key: "blurInput",
                value: function() {
                    D.default.mobile() && document.activeElement && ["INPUT", "TEXTAREA"].indexOf(document.activeElement.tagName) == -1 && document.activeElement.blur()
                }
            }, {
                key: "render",
                value: function() {
                    var e = "",
                        t = {
                            width: "100%",
                            height: "100%",
                            bottom: 0,
                            top: "auto"
                        };
                    return G || D.default.ipad() ? t.position = "absolute" : t.position = "relative", this.state.replyButton && (e = m.default.createElement("div", {
                        id: "reply-button-contaiter",
                        onClick: function() {
                            return W.default.is_focused = 1
                        }
                    }, m.default.createElement("div", {
                        id: "reply-button"
                    }, (0, I.default)("lblReply")))), m.default.createElement("table", {
                        id: "chat-body",
                        className: !(0, L.showAd)() && "nologo"
                    }, m.default.createElement("tbody", null, m.default.createElement("tr", null, m.default.createElement("td", {
                        id: "jivosite-iframe-chat",
                        style: {
                            height: "100%",
                            position: "relative"
                        },
                        onClick: this.blurInput.bind(this)
                    }, 1 == _.default.typing_insight && m.default.createElement(T.default, null), m.default.createElement("div", {
                        style: {
                            height: "100%",
                            position: "relative",
                            overflowY: D.default.mobile() ? "auto" : "initial"
                        }
                    }, (0, L.showAd)() && m.default.createElement(y.default, null), m.default.createElement(k.default, null), m.default.createElement(C.default, {
                        fadeIn: !1
                    }), 1 !== _.default.contacts_ask || H.default.is_introduced ? m.default.createElement("div", null) : m.default.createElement(M.default, null)))), m.default.createElement("tr", null, m.default.createElement("td", null, e, m.default.createElement(O.default, null)))))
                }
            }]), t
        }(v.default);
    t.default = X
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(21),
        _ = a(b),
        w = i(182),
        y = a(w),
        x = i(185),
        k = a(x),
        j = i(24),
        C = a(j),
        E = i(5),
        M = a(E),
        S = i(15),
        T = a(S),
        z = i(10),
        O = a(z),
        N = i(14),
        I = a(N),
        A = i(12),
        P = a(A),
        L = i(9),
        B = (a(L), i(16)),
        D = a(B),
        F = i(13),
        H = a(F),
        R = O.default.name("ChatPopup");
    i(366);
    var W = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = {
                fadeIn: e.fadeIn,
                popupContent: "",
                closeLater: !1
            }, i.hideDelay = null, i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "checkMessageCount",
            value: function() {
                var e = _.default.getChatId();
                return P.default.chat_started && e && _.default.getChatMessages(e).length >= 5 && _.default.getAgentChatMessages(e).length > 0
            }
        }, {
            key: "checkPopup",
            value: function() {
                var e = 0 === M.default.contacts_ask || M.default.contacts_ask === -1,
                    t = this.checkMessageCount(),
                    i = e && !I.default.is_introduced && !I.default.has_integration;
                R.log("checkPopup"), this.state.fadeIn || !M.default.show_rate_form || e && !I.default.is_introduced || !t || I.default.evaluate || !P.default.chat_started ? !this.state.fadeIn && P.default.chat_started && _.default.getClientMessages().length && i && (R.log("Show introduce dialog."), this.setState({
                    popupContent: "introduce",
                    fadeIn: !0
                })) : (R.log("Show evaluation dialog."), this.setState({
                    popupContent: "evaluation",
                    fadeIn: !0
                }))
            }
        }, {
            key: "checkPopupLater",
            value: function() {
                var e = this;
                setTimeout(function() {
                    e.checkPopup()
                }, 300)
            }
        }, {
            key: "componentDidMount",
            value: function() {
                var e = this,
                    t = I.default.is_introduced,
                    i = I.default.evaluate;
                this.checkPopup(), _.default.on("update", function() {
                    e.checkPopupLater()
                }), _.default.on("create", function() {
                    e.checkPopupLater()
                }), C.default.on("socket_message", function(t) {
                    t && "resume_ok" === t.name && e.checkPopup()
                }), this.on(I.default, function() {
                    I.default.is_introduced && (e.state.fadeIn || I.default.has_integration) && "introduce" === e.state.popupContent && e.setState({
                        fadeIn: !1
                    }), I.default.is_introduced === t || I.default.evaluate || setTimeout(function() {
                        e.showEvaluation()
                    }, 300), !e.state.closeLater && I.default.evaluate && "evaluation" == e.state.popupContent && (R.log("client.evaulate", I.default.evaluate), e.hide(!1, 1)), i = I.default.evaluate, t = I.default.is_introduced
                })
            }
        }, {
            key: "showEvaluation",
            value: function() {
                R.log("showEvaluation"), M.default.show_rate_form && !I.default.evaluate && P.default.chat_started && this.checkMessageCount() && this.setState({
                    popupContent: "evaluation",
                    fadeIn: !0
                })
            }
        }, {
            key: "hide",
            value: function(e, t) {
                var i = this;
                R.log("hide", t), e instanceof Event && (e.preventDefault(), t = 1), "introduce" === this.state.popupContent && (this.setState({
                    closeLater: !0
                }), D.default.markIntroduced()), "evaluation" === this.state.popupContent && (this.setState({
                    closeLater: !0
                }), D.default.markEvaluated()), this.hideDelay = setTimeout(function() {
                    t && i.setState({
                        fadeIn: !1,
                        closeLater: !1
                    })
                }, t)
            }
        }, {
            key: "cancel",
            value: function() {
                this.hideDelay && clearTimeout(this.hideDelay)
            }
        }, {
            key: "show",
            value: function(e) {
                e instanceof Event && e.preventDefault(), this.setState({
                    fadeIn: !0
                })
            }
        }, {
            key: "render",
            value: function() {
                var e = "chat-popup" + (this.state.popupContent ? " chat-popup-" + this.state.popupContent : "") + (this.state.fadeIn ? " jivo-fade-in" : ""),
                    t = "evaluation" === this.state.popupContent || "introduce" === this.state.popupContent && 0 == M.default.contacts_ask;
                return m.default.createElement("div", {
                    ref: "chatPopup",
                    className: e
                }, m.default.createElement("div", {
                    className: "content-col"
                }, "evaluation" === this.state.popupContent && m.default.createElement(y.default, {
                    closeLater: this.state.closeLater,
                    hideCallback: this.hide.bind(this),
                    cancelCallback: this.cancel.bind(this)
                }), "introduce" === this.state.popupContent && m.default.createElement(k.default, {
                    hideCallback: this.hide.bind(this)
                })), m.default.createElement("div", {
                    className: "close-col",
                    onClick: H.default.mobile() && this.hide.bind(this)
                }, t && m.default.createElement("a", {
                    href: "#",
                    id: "close-eval",
                    title: (0, T.default)("lblEvaluateCancel"),
                    onClick: this.hide.bind(this)
                })))
            }
        }]), t
    }(v.default);
    t.default = W
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(27),
        y = a(w),
        x = i(16),
        k = (a(x), i(15)),
        j = a(k),
        C = _.default.name("AgentTyping"),
        E = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    hide: !y.default.typing
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    C.log("mounted"), this.on(y.default, function() {
                        e.setState({
                            hide: !y.default.typing
                        })
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return m.default.createElement("div", {
                        id: "agent-typing",
                        style: {
                            display: this.state.hide ? "none" : "block"
                        }
                    }, m.default.createElement("div", {
                        class: "agent-typing-wrapper"
                    }, m.default.createElement("div", {
                        class: "agent-typing"
                    }, (0, j.default)("lblPencilHint"))))
                }
            }]), t
        }(v.default);
    t.default = E
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(16),
        y = a(w),
        x = i(5),
        k = a(x),
        j = i(9),
        C = a(j),
        E = _.default.name("DepartmensPopup"),
        M = k.default.departments,
        S = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    show_list: !1,
                    department_name: M && M.length ? M[0].name : ""
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    E.log("mounted")
                }
            }, {
                key: "toggleDepartments",
                value: function(e) {
                    e.preventDefault(), this.setState({
                        show_list: !this.state.show_list
                    })
                }
            }, {
                key: "onDepartmentSelect",
                value: function(e, t) {
                    this.setState({
                        show_list: !1,
                        department_name: t
                    }), y.default.setDepartmentId(e)
                }
            }, {
                key: "render",
                value: function() {
                    var e = this;
                    return m.default.createElement("div", {
                        className: "departments"
                    }, m.default.createElement("div", {
                        id: "current-department",
                        onClick: this.toggleDepartments.bind(this)
                    }, this.state.department_name), m.default.createElement("ul", {
                        id: "departments-list",
                        style: {
                            display: this.state.show_list ? "block" : "none"
                        }
                    }, C.default.map(M, function(t) {
                        return m.default.createElement("li", {
                            onClick: function() {
                                return e.onDepartmentSelect(t.id, t.name)
                            }
                        }, t.name)
                    })))
                }
            }]), t
        }(v.default);
    t.default = S
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(5),
        y = a(w),
        x = i(15),
        k = (a(x), i(1)),
        j = a(k),
        C = i(44),
        E = (a(C), i(53)),
        M = (a(E), i(27)),
        S = a(M),
        T = i(14),
        z = (a(T), i(12)),
        O = a(z),
        N = i(16),
        I = a(N),
        A = i(23),
        P = a(A),
        L = i(9),
        B = a(L),
        D = _.default.name("Departments");
    i(363);
    var F = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = {
                show: "chat/departments" == O.default.route
            }, i.on(S.default, function() {
                S.default.agent_id || I.default.setDepartmentId(null), i.setState({
                    show: !1
                })
            }), i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "componentDidMount",
            value: function() {
                var e = this;
                D.log("mounted"), this.on(O.default, function() {
                    e.setState({
                        show: "chat/departments" == O.default.route
                    })
                })
            }
        }, {
            key: "onDepartmentSelect",
            value: function(e) {
                e = parseInt(e), e && (I.default.setDepartmentId(e), I.default.navigate("chat"), D.log("set department id", e)), this.setState({
                    show: !1
                })
            }
        }, {
            key: "render",
            value: function() {
                var e = this,
                    t = y.default.departments;
                if (!t) return m.default.createElement("div", null);
                var i = B.default.map(t, function(t) {
                        return m.default.createElement("a", {
                            className: "department",
                            onClick: function() {
                                e.onDepartmentSelect(t.id)
                            },
                            "data-css": "notreset",
                            style: {
                                "-webkit-text-size-adjust": P.default.getTextSize()
                            }
                        }, t.name)
                    }),
                    a = y.default.bubble_color + " " + (j.default.showAd() ? "with-logo" : "");
                return m.default.createElement("div", {
                    id: "departments",
                    style: {
                        display: this.state.show ? "block" : "none"
                    },
                    className: a
                }, i)
            }
        }]), t
    }(v.default);
    t.default = F
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(9),
        _ = a(b),
        w = i(34),
        y = a(w),
        x = (i(1), i(5)),
        k = (a(x), i(15)),
        j = a(k),
        C = i(10),
        E = a(C),
        M = i(14),
        S = a(M),
        T = i(16),
        z = a(T);
    E.default.name("EvaluationPopup");
    i(364);
    var O = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = {
                step: ""
            }, i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "componentDidMount",
            value: function() {
                var e = this;
                this.on(S.default, function() {
                    S.default.evaluate || e.props.closeLater || _.default.indexOf(["positive", "negative"], e.state.step) === -1 || e.setState({
                        step: ""
                    })
                }), _.default.each(this.refs, function(t, i) {
                    t.onclick = function(a) {
                        a.preventDefault(), "cancel" == i && e.props.cancelCallback(), i = "cancel" == i ? "" : i, e.setState({
                            step: i
                        }), t.dataset.timeout && e.props.hideCallback(null, t.dataset.timeout), z.default.sendEvaluation(t.dataset.rate)
                    }
                })
            }
        }, {
            key: "render",
            value: function() {
                return m.default.createElement("div", {
                    id: "evaluation-popup"
                }, m.default.createElement("div", {
                    className: "evaluation-text " + ("" != this.state.step ? "" : "visible")
                }, m.default.createElement("div", {
                    className: "evaluation-text-inner"
                }, (0, j.default)("lblEvaluatePlease"))), m.default.createElement("div", {
                    className: "evaluation-text evaluation-ok " + ("positive" === this.state.step && "visible")
                }, m.default.createElement("div", {
                    className: "evaluation-text-inner nowrap"
                }, m.default.createElement(y.default, {
                    src: "icon_ok.svg",
                    class: "icon-ok"
                }), (0, j.default)("lblEvaluateThanks"))), m.default.createElement("div", {
                    className: "evaluation-btn-container " + ("" === this.state.step && "visible")
                }, m.default.createElement("a", {
                    href: "#",
                    className: "button",
                    ref: "negative",
                    "data-rate": "-1",
                    "data-timeout": "15000",
                    id: "negative"
                }), m.default.createElement("a", {
                    href: "#",
                    className: "button",
                    ref: "positive",
                    "data-rate": "1",
                    "data-timeout": "5000",
                    id: "positive"
                })), m.default.createElement("div", {
                    className: "evaluation-btn-container no-float " + ("negative" === this.state.step && "visible")
                }, m.default.createElement("a", {
                    href: "#",
                    className: "button",
                    ref: "cancel",
                    "data-rate": "0",
                    id: "cancel"
                }, (0, j.default)("lblEvaluateCancel"))))
            }
        }]), t
    }(v.default);
    t.default = O
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(12),
        _ = (a(b), i(14)),
        w = (a(_), i(13)),
        y = (a(w), i(116)),
        x = a(y),
        k = i(16),
        j = a(k),
        C = i(34),
        E = a(C),
        M = i(15),
        S = (a(M), i(10)),
        T = a(S),
        z = i(9),
        O = (a(z), i(1)),
        N = a(O),
        I = i(21),
        A = a(I),
        P = T.default.name("FileUpload"),
        L = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    uploading: !1,
                    file: !1,
                    privateId: null
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    P.log("did mount"), this.on(x.default, {
                        uploading: function(t, i) {
                            var a = N.default.generateGUID();
                            A.default.push({
                                type: "media",
                                from: "client",
                                body: {
                                    icon_type: x.default.detectType(t.type),
                                    name: t.name,
                                    size: t.size,
                                    type: t.type
                                },
                                private_id: a
                            }), e.setState({
                                uploading: !0,
                                file: i,
                                privateId: a
                            })
                        },
                        error: function(t, i, a) {
                            P.log("error", t, e.state), e.setState({
                                uploading: !1
                            }), e.state.file && !a || A.default.push({
                                type: "media",
                                body: {
                                    file_name: i.name,
                                    file_type: i.type,
                                    file_size: i.size,
                                    error: t
                                }
                            })
                        },
                        complete: function(t, i) {
                            P.log("complete", t, i), e.setState({
                                uploading: !1
                            }), j.default.storeMediaFile({
                                file: i,
                                file_name: t.name,
                                file_url: i,
                                file_size: t.size,
                                type: x.default.detectType(t.type),
                                mime_type: t.type
                            }, e.state.privateId);
                            var a = x.default.getUrlEmoji(t.type, i);
                            j.default.sendClientMessage(a), (0, O.telemetry)("file_upload_success", {
                                param1: t.type
                            })
                        },
                        abort: function() {
                            e.setState({
                                uploading: !1
                            }), (0, O.telemetry)("file_upload_canceled")
                        }
                    }), this.refs.fileupload.onchange = this.handleChangeFile.bind(this)
                }
            }, {
                key: "handleChangeFile",
                value: function(e) {
                    if (e.target.files) {
                        var t = e.target.files[0];
                        P.log("fileinfo:", t), t && (t && t.name && x.default.getFileInfo(e.target.files[0]), e.target.value = "")
                    }
                }
            }, {
                key: "render",
                value: function() {
                    return m.default.createElement("div", {
                        className: "upload-wrap",
                        style: {
                            marginRight: this.props.margin
                        }
                    }, m.default.createElement(E.default, {
                        src: "icon_attach.svg",
                        className: "upload-icon"
                    }), m.default.createElement("div", {
                        className: "upload-fwrap"
                    }, m.default.createElement("input", {
                        type: "file",
                        multiple: "false",
                        className: "upload-button",
                        style: {
                            display: this.state.uploading ? "none" : "block"
                        },
                        ref: "fileupload"
                    })))
                }
            }]), t
        }(v.default);
    t.default = L
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(1),
        y = i(12),
        x = a(y),
        k = i(14),
        j = a(k),
        C = i(13),
        E = a(C),
        M = i(9),
        S = a(M),
        T = i(71),
        z = a(T),
        O = i(34),
        N = a(O),
        I = i(76),
        A = a(I),
        P = i(74),
        L = a(P),
        B = i(75),
        D = a(B),
        F = i(113),
        H = a(F),
        R = i(73),
        W = a(R),
        V = i(180),
        q = a(V),
        U = i(16),
        G = a(U),
        X = i(5),
        Z = a(X),
        Y = i(15),
        K = a(Y),
        J = _.default.name("Introduce"),
        Q = Z.default.departments,
        $ = Q && Q.length > 0;
    i(365);
    var ee = function(e) {
        function t(e) {
            (0, l.default)(this, t);
            var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
            return i.state = {
                show: "chat/introduce" == x.default.route
            }, i
        }
        return (0, p.default)(t, e), (0, u.default)(t, [{
            key: "componentDidMount",
            value: function() {
                var e = this;
                J.log("mounted"), this.on(x.default, function() {
                    e.setState({
                        show: "chat/introduce" == x.default.route
                    })
                })
            }
        }, {
            key: "componentDidUpdate",
            value: function() {
                this.updateAvatar()
            }
        }, {
            key: "updateAvatar",
            value: function() {
                if (this.refs["introduce-avatar"]) {
                    var e = 0,
                        t = void 0,
                        i = this.refs["introduce-avatar"].childNodes[0],
                        a = this.refs["introduce-form"].offsetHeight;
                    a > 0 && !(0, w.hasClass)(i, "introduce-bg") && (S.default.each(this.refs["introduce-form"].childNodes, function(t) {
                        t.offsetHeight > 0 && (e += t.offsetHeight)
                    }), t = a - e - 50, (0, w.showAd)() && (t += 10), Z.default.eula && (t += 15), t < 0 && (t = 0), t < 21 && (i.style.opacity = 0), J.log("updateAvatar", t, e), i.style.height = t + "px", (0, w.addClass)(i, "introduce-bg"))
                }
            }
        }, {
            key: "blurInput",
            value: function() {
                G.default.onBlur()
            }
        }, {
            key: "focusInput",
            value: function() {
                G.default.onFocus()
            }
        }, {
            key: "successCallback",
            value: function(e) {
                $ && !j.default.department_id && G.default.setDepartmentId(Z.default.departments[0].id), G.default.sendClientMessage(e), G.default.navigate("chat")
            }
        }, {
            key: "render",
            value: function() {
                return m.default.createElement("div", {
                    id: "introduce-form",
                    ref: "introduce-form",
                    className: (0, w.showAd)() ? "" : "nologo",
                    style: {
                        display: this.state.show ? "block" : "none"
                    }
                }, E.default.mobile() || !(0, w.showAd)() ? "" : m.default.createElement(z.default, null), E.default.mobile() ? "" : m.default.createElement("div", {
                    id: "introduce-avatar",
                    ref: "introduce-avatar"
                }, m.default.createElement(N.default, {
                    src: "icon_anonymous.svg"
                })), $ ? "" : m.default.createElement("div", {
                    id: "introduce-caption"
                }, (0, K.default)("lblIntroduceRequest")), m.default.createElement(D.default, {
                    onBlur: this.blurInput.bind(this),
                    onFocus: this.focusInput.bind(this)
                }), m.default.createElement(A.default, {
                    onBlur: this.blurInput.bind(this),
                    onFocus: this.focusInput.bind(this)
                }), m.default.createElement(L.default, {
                    onBlur: this.blurInput.bind(this),
                    onFocus: this.focusInput.bind(this)
                }), m.default.createElement(H.default, null), $ ? m.default.createElement(q.default, null) : "", m.default.createElement(W.default, {
                    successCallback: this.successCallback.bind(this)
                }))
            }
        }]), t
    }(v.default);
    t.default = ee
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(76),
        y = a(w),
        x = i(74),
        k = a(x),
        j = i(75),
        C = a(j),
        E = i(73),
        M = a(E),
        S = i(12),
        T = (a(S), i(16)),
        z = a(T),
        O = (i(1), i(15)),
        N = a(O),
        I = i(13),
        A = a(I),
        P = (_.default.name("IntroducePopup"), function(e) {
            function t(e) {
                return (0, l.default)(this, t), (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e))
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "blurPopupInput",
                value: function(e) {
                    var t = "87px";
                    A.default.mobile() && (t = "100px"), this.refs["introduce-popup"].style.height = t, z.default.onBlur(e)
                }
            }, {
                key: "focusPopupInput",
                value: function(e) {
                    this.refs["introduce-popup"].style.height = this.refs["introduce-popup-content"].offsetHeight + "px", z.default.onFocus(e)
                }
            }, {
                key: "render",
                value: function() {
                    return m.default.createElement("div", {
                        id: "introduce-popup",
                        ref: "introduce-popup",
                        style: {
                            height: A.default.mobile() ? "100px" : "87px"
                        }
                    }, m.default.createElement("div", {
                        id: "introduce-popup-content",
                        ref: "introduce-popup-content"
                    }, m.default.createElement("div", {
                        className: "text-field"
                    }, (0, N.default)("lblIntroduceRequest"), ":"), m.default.createElement("i", {
                        class: "icon-thx"
                    }), m.default.createElement(C.default, {
                        onBlur: this.blurPopupInput.bind(this),
                        onFocus: this.focusPopupInput.bind(this)
                    }), m.default.createElement(y.default, {
                        onBlur: this.blurPopupInput.bind(this),
                        onFocus: this.focusPopupInput.bind(this)
                    }), m.default.createElement(k.default, {
                        onBlur: this.blurPopupInput.bind(this),
                        onFocus: this.focusPopupInput.bind(this)
                    }), m.default.createElement(M.default, {
                        focusPopupInput: this.focusPopupInput.bind(this),
                        onBlur: this.blurPopupInput.bind(this),
                        onFocus: this.focusPopupInput.bind(this)
                    })))
                }
            }]), t
        }(v.default));
    t.default = P
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(10),
        _ = a(b),
        w = i(5),
        y = a(w),
        x = i(15),
        k = a(x),
        j = i(9),
        C = (a(j), i(1)),
        E = i(26),
        M = a(E),
        S = i(14),
        T = a(S),
        z = i(21),
        O = a(z),
        N = i(336),
        I = a(N),
        A = i(135),
        P = a(A),
        L = i(134),
        B = a(L),
        D = _.default.name("SocialButton"),
        F = function(e) {
            function t(e) {
                (0, l.default)(this, t);
                var i = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this, e));
                return i.state = {
                    show: !!e.mode.mode,
                    vk: e.mode.vk,
                    fb: e.mode.fb,
                    popup: !1
                }, i
            }
            return (0, p.default)(t, e), (0, u.default)(t, [{
                key: "checkMessage",
                value: function() {
                    "vk" == T.default.has_integration || "fb" == T.default.has_integration ? this.setState({
                        show: !1,
                        popup: !1
                    }) : 0 == this.state.show && O.default.getClientMessages().length && this.setState({
                        show: !0
                    })
                }
            }, {
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    D.log("mounted"), this.on(T.default, function() {
                        if ("vk" == T.default.has_integration || "fb" == T.default.has_integration) {
                            D.log("Already connected with vk/fb.");
                            var t = O.default.getMessagesByType("email");
                            t.length && t[t.length - 1].destroy(), e.show(!1)
                        }
                    }), O.default.on("create", function() {
                        e.checkMessage()
                    })
                }
            }, {
                key: "show",
                value: function(e) {
                    this.setState({
                        show: e
                    })
                }
            }, {
                key: "setContainerHeight",
                value: function() {
                    var e = window.parent.document.getElementById("jivo-iframe-container");
                    parseInt(e.style.height) < 400 && (e.style.height = "410px")
                }
            }, {
                key: "processVk",
                value: function(e) {
                    e.preventDefault(), D.log("processVk"), (0, C.telemetry)("Continue in VK"), M.default.trackContinueInSocial(), this.setContainerHeight(), this.setState({
                        popup: !0,
                        mode: "vk"
                    })
                }
            }, {
                key: "processFb",
                value: function(e) {
                    e.preventDefault(), D.log("processFb"), (0, C.telemetry)("Continue in FB"), M.default.trackContinueInSocial(), this.setContainerHeight(), this.setState({
                        popup: !0,
                        mode: "fb"
                    })
                }
            }, {
                key: "close",
                value: function() {
                    this.setState({
                        popup: !1
                    })
                }
            }, {
                key: "renderIframe",
                value: function() {
                    var e = (0, C.genSocialIframeUrl)(this.state.mode) + "#rand=" + (new Date).getMilliseconds() + ",lang=" + y.default.locale,
                        t = "vk" == this.state.mode ? 52 : 74;
                    return m.default.createElement("iframe", {
                        width: "300",
                        border: "0",
                        height: t,
                        src: e
                    })
                }
            }, {
                key: "render",
                value: function() {
                    return y.default.joint ? (this.state.vk || this.state.fb || (this.state.show = !1), m.default.createElement("div", {
                        id: "vk-button",
                        style: {
                            display: this.state.show ? "block" : "none"
                        }
                    }, m.default.createElement("div", {
                        class: "social-buttons"
                    }, this.state.vk && m.default.createElement("a", {
                        className: "social-link",
                        onClick: this.processVk.bind(this),
                        href: "javascript:false",
                        title: (0, k.default)("social_vk")
                    }, (0, k.default)("social_process_in"), " ", m.default.createElement("div", {
                        class: "icon-vk",
                        dangerouslySetInnerHTML: {
                            __html: P.default
                        }
                    }), " ", (0, k.default)("social_vk")), this.state.fb && m.default.createElement("a", {
                        className: "social-link",
                        onClick: this.processFb.bind(this),
                        href: "javascript:false",
                        title: (0, k.default)("social_fb")
                    }, (0, k.default)("social_process_in_fb"), "��", m.default.createElement("div", {
                        class: "icon-fb",
                        dangerouslySetInnerHTML: {
                            __html: B.default
                        }
                    }), " Facebook Messenger")), m.default.createElement("div", {
                        className: "popup-social " + (this.state.popup ? "popup-open" : ""),
                        style: {
                            top: this.state.popup ? "0%" : "100%"
                        }
                    }, m.default.createElement("div", {
                        className: "social-close",
                        onClick: this.close.bind(this),
                        dangerouslySetInnerHTML: {
                            __html: I.default
                        }
                    }), m.default.createElement("div", {
                        className: "icon-header " + ("vk" == this.state.mode ? "vk" : "fb")
                    }), m.default.createElement("div", {
                        className: "popup-text",
                        dangerouslySetInnerHTML: {
                            __html: "vk" == this.state.mode ? (0, k.default)("social_get_access") : (0, k.default)("social_get_access_fb")
                        }
                    }), this.state.popup && this.renderIframe(), m.default.createElement("a", {
                        href: "#",
                        onClick: this.close.bind(this),
                        class: "popup-close-link"
                    }, (0, k.default)("cancel"))))) : m.default.createElement("div", null)
                }
            }]), t
        }(v.default);
    t.default = F
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(6),
        o = a(n),
        r = i(2),
        l = a(r),
        s = i(3),
        u = a(s),
        d = i(8),
        c = a(d),
        f = i(7),
        p = a(f),
        h = i(4),
        m = a(h),
        g = i(11),
        v = a(g),
        b = i(9),
        _ = a(b),
        w = i(13),
        y = a(w),
        x = i(1),
        k = a(x),
        j = i(34),
        C = a(j),
        E = i(12),
        M = a(E),
        S = i(197),
        T = a(S),
        z = i(101),
        O = a(z),
        N = i(14),
        I = a(N),
        A = i(15),
        P = a(A),
        L = i(5),
        B = a(L),
        D = i(10),
        F = a(D),
        H = i(16),
        R = a(H),
        W = i(21),
        V = a(W),
        q = i(107),
        U = a(q),
        G = i(183),
        X = a(G),
        Z = i(23),
        Y = (a(Z), F.default.name("Input")),
        K = function(e) {
            function t() {
                (0, l.default)(this, t);
                var e = (0, c.default)(this, (t.__proto__ || (0, o.default)(t)).call(this));
                return e.state = {
                    hasError: !1,
                    text: "",
                    emojiListState: !1,
                    scrollbarWidth: 0,
                    social: e.checkSocial(),
                    canCall: !1
                }, e.startTyping = _.default.throttle(function() {
                    if (e.state.text) {
                        var t = B.default.disable_emoji ? e.state.text : e.replaceEmoji(e.state.text);
                        Y.log("startTyping", t), R.default.clientTyping(t), R.default.typingInsight(t)
                    }
                }, 1e3), e.getScrollbarWidth = function() {
                    var t = m.default.findDOMNode(e.refs.inputField);
                    if (t && !y.default.mobileOrTablet()) {
                        var i = 0;
                        t.scrollHeight > t.clientHeight && "hidden" !== t.style.overflowY && (i = k.default.getScrollBarWidth()), e.setState({
                            scrollbarWidth: i
                        })
                    }
                }, e.ipadVisibilityChange = e.ipadVisibilityChange.bind(e), e.playSound = e.playSound.bind(e), e
            }
            return (0,
                p.default)(t, e), (0, u.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.autoResizer = (0, T.default)(m.default.findDOMNode(this.refs.inputField), {
                        animate: !1,
                        maxSize: 65,
                        minSize: y.default.mobile() ? 16 : 31,
                        onAfterResize: function() {
                            e.getScrollbarWidth()
                        }
                    }), this.checkPlaceholder(), this.on(M.default, function() {
                        var t = m.default.findDOMNode(e.refs.inputField);
                        M.default.is_focused && t && "chat" === M.default.route && !y.default.mobileOrTablet() && setTimeout(function() {
                            t.focus(), M.default.is_focused = 0
                        }, 500), M.default.eula_accepted && e.phone && B.default.eula && (R.default.startCall(e.phone, "", "input_field"), e.phone = !1)
                    }), this.on(I.default, function() {
                        y.default.mobileOrTablet() || (e.setState(e.state), e.checkPlaceholder(), I.default.cw_call_enabled && I.default.cw_call.status && (e.checkCall(I.default.cw_call.status) ? (e.setPlaceholder((0, P.default)("lblEnterMessageOrPhoneHere")), e.setState({
                            canCall: !0
                        })) : (e.setPlaceholder((0, P.default)("lblEnterMessageHere")), e.setState({
                            canCall: !1
                        }))))
                    }), V.default.on("create", function() {
                        e.checkSocial() && !e.state.social && e.setState({
                            social: !0
                        }), e.checkPlaceholder()
                    }), (0, x.addListener)(m.default.findDOMNode(this.refs.inputField), "keypress", this.onKeyPress.bind(this)), y.default.mobile() && k.default.addListener(m.default.findDOMNode(this.refs.inputDiv), "click", this.playSound)
                }
            }, {
                key: "checkSocial",
                value: function() {
                    return !(!B.default.joint || I.default.has_integration || y.default.mobileOrTablet() || !V.default.getClientMessages().length || !V.default.getAgentMessages().length && 3 == B.default.contacts_ask)
                }
            }, {
                key: "checkPlaceholder",
                value: function() {
                    var e = void 0;
                    y.default.mobileOrTablet() ? e = (0, P.default)("lblMessageHere") : I.default.cw_call_enabled && this.checkCall(I.default.cw_call.status) && !V.default.getClientMessages().length ? (e = (0, P.default)("lblEnterMessageOrPhoneHere"), this.setState({
                        canCall: !0
                    })) : (e = (0, P.default)("lblEnterMessageHere"), this.setState({
                        canCall: !1
                    })), e = this.place || e, this.setPlaceholder(e)
                }
            }, {
                key: "setPlaceholder",
                value: function(e) {
                    m.default.findDOMNode(this.refs.inputField).setAttribute("placeholder", e.replace(/&quot;/g, '"').replace(/&#039;/g, "'")), this.autoResizer && (this.autoResizer.updateConfig({
                        initCheck: !0
                    }), this.autoResizer.check())
                }
            }, {
                key: "checkCall",
                value: function(e) {
                    switch (e) {
                        case "cw_wait":
                        case "cw_connecting":
                        case "cw_connected":
                            return !1;
                        default:
                            return !0
                    }
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off(), this.windowOnCliked && k.default.removeEvent(window, "click", this.windowOnCliked)
                }
            }, {
                key: "onKeyPress",
                value: function(e) {
                    return 13 === e.keyCode ? (e.preventDefault(), e.stopPropagation(), this.inputSendMessage()) : 8 === e.keyCode && "" === e.target.value && this.setState({
                        text: ""
                    }), !1
                }
            }, {
                key: "onInput",
                value: function(e) {
                    var t = e.target.value.replace(/[\u202E]/gi, "");
                    return "" === t ? (e.target.value = "", "" !== this.state.text && this.setState({
                        text: ""
                    }), void R.default.typingInsight("")) : (this.setState({
                        text: t
                    }), this.autoResizer.check(), this.startTyping(), clearTimeout(this.typingTimeout), void(this.typingTimeout = setTimeout(this.stopTyping.bind(this), 5e3)))
                }
            }, {
                key: "stopTyping",
                value: function() {
                    Y.log("stopTyping"), R.default.clientTyping(!1)
                }
            }, {
                key: "toggleEmojiList",
                value: function(e) {
                    var t = this;
                    e.stopPropagation(), this.state.emojiListState || this.windowOnCliked || (this.windowOnCliked = function() {
                        t.setState({
                            emojiListState: !1
                        })
                    }, (0, x.addListener)(window, "click", this.windowOnCliked)), this.setState({
                        emojiListState: !this.state.emojiListState
                    }), this.state.emojiListState && k.default.telemetry("emoji_open_smile_list")
                }
            }, {
                key: "insertEmoji",
                value: function(e) {
                    var t = this,
                        i = e.target.getAttribute("data-name");
                    null !== i && (this.setState({
                        text: this.state.text + ":" + i + ":",
                        emojiListState: !1
                    }), this.startTyping(), k.default.telemetry("emoji_insert_smile"), setTimeout(function() {
                        t.autoResizer.check();
                        var e = m.default.findDOMNode(t.refs.inputField);
                        e.focus(), e.setSelectionRange && e.setSelectionRange(t.state.text.length + 2, t.state.text.length + 2), M.default.is_focused = 0
                    }, 150))
                }
            }, {
                key: "replaceEmoji",
                value: function(e) {
                    return e.replace(/:\w+:/g, function(e) {
                        var t = e.replace(/:/g, "");
                        return O.default.getEmojiList()[t] ? O.default.fromCodePoint(O.default.getEmojiList()[t]) : e
                    })
                }
            }, {
                key: "inputSendMessage",
                value: function(e) {
                    var t = this,
                        i = B.default.disable_emoji ? this.state.text : this.replaceEmoji(this.state.text);
                    if (I.default.last_message = i, this.setState({
                            text: ""
                        }), B.default.callback_settings.time && I.default.cw_call_enabled && !y.default.mobileOrTablet() && !V.default.getClientMessages().length && k.default.getPhoneNumberInfo(i)) {
                        var a = i.replace(/[^+0-9]/gim, "");
                        return void(!M.default.eula_accepted && B.default.eula ? (this.phone = a, I.default.client_info.phone = a, R.default.showEula("5@572>=8BL =0 =><5@<br/>" + a, null, "cb"), this.setState({
                            phone: a
                        })) : (I.default.client_info.phone = a, R.default.startCall(a, "", "input_field")))
                    }
                    return 1 === B.default.contacts_ask && !I.default.is_introduced && V.default.store.length >= 0 ? (M.default.is_focused = 1, void R.default.navigate("chat/introduce")) : i.trim() ? (R.default.sendClientMessage(i), R.default.typingInsight(""), R.default.clientTyping(!1), setTimeout(function() {
                        t.autoResizer.check()
                    }, 50), void(y.default.mobileOrTablet() && document.activeElement === this.refs.inputField && e && e.preventDefault())) : (this.setState({
                        hasError: !0
                    }), !1)
                }
            }, {
                key: "playSound",
                value: function() {
                    var e = document.getElementById("sound_player");
                    e.play(), e.pause(), k.default.removeEvent(m.default.findDOMNode(this.refs.inputDiv), "click", this.playSound)
                }
            }, {
                key: "onFocus",
                value: function(e) {
                    var t = this;
                    R.default.onFocus(e), y.default.ipad() && setTimeout(function() {
                        (0, x.removeEvent)((0, x.getPageWindow)().document, "visibilitychange", t.ipadVisibilityChange), (0, x.addListener)((0, x.getPageWindow)().document, "visibilitychange", t.ipadVisibilityChange)
                    }, 500)
                }
            }, {
                key: "onBlur",
                value: function(e) {
                    R.default.onBlur(e)
                }
            }, {
                key: "ipadVisibilityChange",
                value: function() {
                    var e = this;
                    "visible" === document.visibilityState && (0, x.hasClass)((0, x.getPageWindow)().document.documentElement, "jivo-mobile-overlay") && (setTimeout(function() {
                        m.default.findDOMNode(e.refs.inputField).blur()
                    }, 500), (0, x.removeEvent)((0, x.getPageWindow)().document, "visibilitychange", this.ipadVisibilityChange))
                }
            }, {
                key: "render",
                value: function() {
                    var e = y.default.mobile() ? "input-div-mobile" : "",
                        t = "block",
                        i = "emoji-tooltip " + (this.state.emojiListState ? "emoji-tooltip-show" : ""),
                        a = "";
                    return y.default.mobileOrTablet() && "chat/introduce" == M.default.route && (t = "none"), y.default.windowsPhone() && (e += " windows-phone"), B.default.disable_emoji || y.default.tablet() || (a += "emoji"), 0 == B.default.options || B.default.disable_filetransfer || (e += " filetransfer-enabled", a += " filetransfer"), m.default.createElement("div", {
                        id: "input-div",
                        className: e + (this.state.hasError ? " error" : "") + (y.default.tablet() ? " tablet" : ""),
                        style: {
                            display: t
                        },
                        ref: "inputDiv"
                    }, m.default.createElement("div", {
                        className: "input-div-table"
                    }, 0 != B.default.options && !B.default.disable_filetransfer && y.default.mobile() && m.default.createElement(X.default, null), m.default.createElement("div", {
                        className: "td-textarea"
                    }, m.default.createElement("textarea", {
                        maxLength: "1000",
                        id: "input-field",
                        className: a,
                        key: "inputField",
                        onInput: this.onInput.bind(this),
                        onFocus: this.onFocus.bind(this),
                        onBlur: this.onBlur.bind(this),
                        ref: "inputField",
                        value: this.state.text,
                        autoComplete: "off"
                    }), !y.default.mobileOrTablet() && !B.default.disable_emoji && m.default.createElement("div", {
                        className: "emoji-wrap",
                        style: {
                            marginRight: this.state.scrollbarWidth + "px"
                        }
                    }, m.default.createElement(C.default, {
                        src: "icon_emoji.svg",
                        className: "emoji-toggle-icon",
                        onClick: this.toggleEmojiList.bind(this)
                    }), m.default.createElement("div", {
                        className: i,
                        onClick: this.insertEmoji.bind(this)
                    }, m.default.createElement("div", null, _.default.map(O.default.getEmojiList(), function(e, t) {
                        return m.default.createElement(O.default, {
                            icon: t,
                            class: "emoji-icon-wrap"
                        })
                    })), m.default.createElement("div", {
                        className: "emoji-tooltip-pip"
                    }))), 0 != B.default.options && !B.default.disable_filetransfer && !y.default.mobile() && m.default.createElement(X.default, {
                        margin: this.state.scrollbarWidth + "px"
                    })), m.default.createElement("div", {
                        className: "td-button"
                    }, y.default.mobileOrTablet() && m.default.createElement("div", null, m.default.createElement("div", {
                        id: "mobile-send-button",
                        onTouchStart: this.inputSendMessage.bind(this),
                        className: this.state.text ? B.default.bubble_color : ""
                    }, m.default.createElement(C.default, {
                        src: "mobile_send_button.svg"
                    })), m.default.createElement("div", {
                        id: "mobile-send-overlay",
                        onTouchStart: this.inputSendMessage.bind(this)
                    })))), this.state.social && m.default.createElement(U.default, {
                        type: "input"
                    }))
                }
            }]), t
        }(v.default);
    t.default = K
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(71),
        y = a(w),
        x = i(76),
        k = a(x),
        j = i(74),
        C = a(j),
        E = i(75),
        M = a(E),
        S = i(113),
        T = a(S),
        z = i(73),
        O = a(z),
        N = i(12),
        I = a(N),
        A = i(1),
        P = i(5),
        L = a(P),
        B = i(16),
        D = a(B),
        F = i(14),
        H = a(F),
        R = i(13),
        W = a(R),
        V = i(15),
        q = a(V),
        U = i(10),
        G = a(U),
        X = (G.default.name("OfflineBody"), function(e) {
            function t() {
                (0, u.default)(this, t);
                var e = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this));
                return e.value = "", e.state = {
                    show: 0 == I.default.route.indexOf("chat") && !I.default.is_online,
                    msg: "chat/msg" === I.default.route,
                    captcha: "chat/captcha" === I.default.route,
                    captchaError: !1,
                    androidTablet: !1,
                    hide: !1
                }, e
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    this.on(I.default, function() {
                        var t = window.orientation,
                            i = I.default.is_input_focused && W.default.android() && W.default.tablet() && 90 != t && t != -90,
                            a = !1;
                        L.default.eula && I.default.show_eula && (a = !0), "chat/msg" === I.default.route ? e.setState({
                            msg: !0,
                            captcha: !1,
                            androidTablet: i,
                            hide: a
                        }) : "chat/captcha" === I.default.route ? e.setState({
                            captcha: !0,
                            captchaError: "error" === I.default.cap_result,
                            androidTablet: i,
                            hide: a
                        }) : e.setState({
                            show: 0 == I.default.route.indexOf("chat") && !I.default.is_online,
                            captcha: !1,
                            msg: !1,
                            androidTablet: i,
                            hide: a
                        })
                    })
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "getOfflineData",
                value: function() {
                    var e = this.refs.textArea.refs.message.value;
                    "" !== e && (this.value = e);
                    var t = {
                            message: this.value
                        },
                        i = this.refs.cap_symbols.value;
                    return i && (t.cap_symbols = i), this.refs.cap_symbols.value = "", (0, o.default)(t, H.default.client_info)
                }
            }, {
                key: "submitCaptcha",
                value: function() {
                    D.default.sendOfflineMessage(this.getOfflineData.call(this))
                }
            }, {
                key: "closeCaptcha",
                value: function() {
                    D.default.navigate("chat")
                }
            }, {
                key: "cancel",
                value: function() {
                    D.default.closeWidget()
                }
            }, {
                key: "successCallback",
                value: function() {
                    H.default.last_message = null, D.default.sendOfflineMessage(this.getOfflineData.call(this))
                }
            }, {
                key: "onKeyPressCaptcha",
                value: function() {
                    (0, A.removeClass)(this.refs["captcha-container"], "captcha-empty")
                }
            }, {
                key: "renderCheckIframe",
                value: function() {
                    return !1
                }
            }, {
                key: "render",
                value: function() {
                    var e = this,
                        t = "block";
                    this.state.hide && (t = "none");
                    var i = this.state.androidTablet ? {
                        overflow: "auto",
                        background: "transparent",
                        display: t
                    } : {
                        display: t
                    };
                    return v.default.createElement("div", {
                        id: "offline-form",
                        className: (0, A.showAd)() ? "" : "nologo",
                        style: i
                    }, v.default.createElement("div", {
                        id: "offline-form-inner",
                        className: this.state.msg ? "system-message-container" : ""
                    }, v.default.createElement("div", {
                        id: "offline-form-fields",
                        style: {
                            display: this.state.msg || this.state.captcha ? "none" : "block"
                        }
                    }, v.default.createElement("div", {
                        className: "description"
                    }, L.default.offline_form_text), v.default.createElement(T.default, {
                        ref: "textArea"
                    }), v.default.createElement(M.default, {
                        onBlur: D.default.onBlur.bind(this),
                        onFocus: D.default.onFocus.bind(this)
                    }), v.default.createElement(k.default, {
                        onBlur: D.default.onBlur.bind(this),
                        onFocus: D.default.onFocus.bind(this)
                    }), v.default.createElement(C.default, {
                        onBlur: D.default.onBlur.bind(this),
                        onFocus: D.default.onFocus.bind(this)
                    }), v.default.createElement(O.default, {
                        successCallback: this.successCallback.bind(this)
                    })), v.default.createElement("div", {
                        className: "captcha-container" + (this.state.captchaError ? " captcha-empty" : ""),
                        ref: "captcha-container",
                        style: {
                            display: this.state.captcha ? "block" : "none"
                        }
                    }, v.default.createElement("div", {
                        className: "body"
                    }, v.default.createElement("img", {
                        src: I.default.cap_id ? L.default.avatar_url + "/captcha/" + I.default.cap_id + ".png" : "",
                        alt: "captcha code image"
                    }), v.default.createElement("input", {
                        type: "text",
                        ref: "cap_symbols",
                        onKeyPress: function() {
                            return e.onKeyPressCaptcha()
                        },
                        className: "input-field cap_symbols",
                        value: "",
                        placeholder: (0, q.default)("lblCaptcha")
                    }), v.default.createElement("input", {
                        id: "resend",
                        type: "button",
                        onClick: function() {
                            return e.submitCaptcha()
                        },
                        className: "jivoBtn accept",
                        value: "Ok"
                    }), v.default.createElement("div", {
                        className: "error",
                        style: {
                            display: this.state.captchaError ? "block" : "none"
                        }
                    }, (0, q.default)("lblCaptchaError"))), v.default.createElement("a", {
                        id: "cancelCap",
                        className: "jivoBtn cancel",
                        onClick: function() {
                            return e.closeCaptcha()
                        },
                        href: "#"
                    }, (0, q.default)("lblEvaluateCancel"))), v.default.createElement("div", {
                        className: "message-wrapper",
                        style: {
                            display: this.state.msg ? "block" : "none"
                        }
                    }, v.default.createElement("div", {
                        className: "description message"
                    }, (0, q.default)("lblThankYouMessage")), v.default.createElement("div", {
                        id: "buttons"
                    }, v.default.createElement("input", {
                        type: "button",
                        value: (0, q.default)("lnkCloseThisWindow"),
                        onClick: function() {
                            return e.cancel()
                        },
                        className: "jivoBtn accept"
                    }))), (0, A.showAd)() && v.default.createElement(y.default, null), this.renderCheckIframe()))
                }
            }]), t
        }(_.default));
    t.default = X
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(6),
        l = a(r),
        s = i(2),
        u = a(s),
        d = i(3),
        c = a(d),
        f = i(8),
        p = a(f),
        h = i(7),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(11),
        _ = a(b),
        w = i(1),
        y = i(10),
        x = a(y),
        k = i(24),
        j = a(k),
        C = i(53),
        E = a(C),
        M = x.default.name("Sound"),
        S = function(e) {
            function t() {
                (0, u.default)(this, t);
                var e = (0, p.default)(this, (t.__proto__ || (0, l.default)(t)).call(this));
                return e.windowOnClicked = e.windowOnClicked.bind(e), e
            }
            return (0, m.default)(t, e), (0, c.default)(t, [{
                key: "componentDidMount",
                value: function() {
                    var e = this;
                    M.log("mounted"), this.audio = v.default.findDOMNode(this.refs.soundPlayer), this.on(j.default, {
                        agent_message: function() {
                            e.play()
                        },
                        agent_service_message: function() {
                            e.play()
                        }
                    }), this.on(E.default, {
                        play_sound: function() {
                            e.play()
                        }
                    })
                }
            }, {
                key: "componentWillUnmount",
                value: function() {
                    this.off()
                }
            }, {
                key: "windowOnClicked",
                value: function() {
                    this.audio.play(), clearTimeout(this.touchListenerTimeout), this.removeListeners()
                }
            }, {
                key: "removeListeners",
                value: function() {
                    (0, w.removeEvent)(window.parent, "click", this.windowOnClicked), (0, w.removeEvent)(window, "click", this.windowOnClicked), this.touchListenerTimeout = null
                }
            }, {
                key: "play",
                value: function() {
                    var e = this,
                        t = this.audio;
                    if (t && "undefined" != typeof t.play) {
                        var i = t.play();
                        "object" !== ("undefined" == typeof i ? "undefined" : (0, o.default)(i)) && "function" != typeof i || !i.then || "function" != typeof i.then ? t.play() : i.then().catch(function() {
                            e.touchListenerTimeout || ((0, w.addListener)(window.parent, "click", e.windowOnClicked), (0, w.addListener)(window, "click", e.windowOnClicked), e.touchListenerTimeout = setTimeout(function() {
                                e.removeListeners()
                            }, 3e3))
                        })
                    }
                }
            }, {
                key: "pause",
                value: function() {
                    "undefined" != typeof this.audio.play && this.audio.pause()
                }
            }, {
                key: "render",
                value: function() {
                    var e = "/sounds/incoming_message.",
                        t = (0, w.staticUrl)(e + "mp3", !0),
                        i = (0, w.staticUrl)(e + "ogg", !0),
                        a = (0, w.staticUrl)(e + "wav", !0);
                    return v.default.createElement("audio", {
                        preload: "auto",
                        id: "sound_player",
                        ref: "soundPlayer"
                    }, v.default.createElement("source", {
                        src: t,
                        type: "audio/mpeg"
                    }), v.default.createElement("source", {
                        src: i,
                        type: "audio/ogg; codecs=vorbis"
                    }), v.default.createElement("source", {
                        src: a,
                        type: "audio/wav"
                    }))
                }
            }]), t
        }(_.default);
    t.default = S
}, function(t, i, a) {
    "use strict";

    function n(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(i, "__esModule", {
        value: !0
    });
    var o = a(25),
        r = n(o),
        l = a(9),
        s = n(l),
        u = a(14),
        d = n(u),
        c = a(27),
        f = n(c),
        p = a(21),
        h = n(p),
        m = a(12),
        g = n(m),
        v = a(31),
        b = n(v),
        _ = a(1),
        w = n(_),
        y = a(5),
        x = (n(y), a(15)),
        k = n(x),
        j = a(61),
        C = n(j),
        E = a(16),
        M = n(E),
        S = a(26),
        T = n(S),
        z = a(13),
        O = n(z),
        N = a(10),
        I = n(N),
        A = I.default.name("actions/connection");
    i.default = {
        accept: function(e) {
            g.default.chat_started = !0, d.default.evaluate = !1, (0, r.default)(f.default, e.agent_info), d.default.pa_id = f.default.agent_id, T.default.trackChatConnected(), (0, _._callUserFunction)("onAccept")
        },
        transferred: function(e) {
            (0, r.default)(f.default, e.agent_info), h.default.push({
                text: (0, k.default)("lblTransferred").replace("_AGENT_", e.agent_info.display_name),
                type: "system",
                from: "system"
            }), d.default.pa_id = f.default.agent_id
        },
        startup_ok: function(e) {
            A.log(e), M.default.reloadStories(), w.default.setTimeStartConnection(), d.default.client_id = e.jv_client_id, d.default.jv_sess_id = e.jv_sess_id, d.default.has_integration = e.client_info.has_integration, d.default.client_info.client_name = e.client_info.name
        },
        startup_error: function(e) {
            "blacklisted" == e.err_code ? (d.default.is_blacklisted = !0, M.default.navigate("hidden")) : (A.log("startup_error", e), i.default.force_offline(e))
        },
        resume_ok: function(e) {
            A.log(e), M.default.reloadStories(), w.default.setTimeStartConnection(), O.default.mobile() || g.default.chat_started || h.default.getCurrentChatMessages().length || "label" == g.default.route || b.default.get("text") || M.default.navigate("label");
            var t = e.client_info.cw_call;
            t && ((0, r.default)(d.default.cw_call, t), g.default.is_online ? "chat" == g.default.route && M.default.navigate("chat/call") : "cw_connected" == t.status ? M.default.navigate("call/min") : M.default.navigate("call"));
            var i = e.client_info.msg_history;
            if (i.length && s.default.each(i, function(e) {
                    var t = e;
                    s.default.each(h.default.getAll(), function(e) {
                        if (t.private_id && e.get("private_id") === t.private_id) {
                            var i = s.default.pick(t, ["chat_id", "msg_id"]);
                            i.status = "delivered", e.set(i)
                        }
                    })
                }), e.client_info.has_integration && (d.default.has_integration = e.client_info.has_integration), O.default.mobileOrTablet() && g.default.isSeparateWindow && M.default.updateTitle((0, _.getURLParam)("title")), e.agent_info)(0, r.default)(f.default, e.agent_info);
            else {
                var a = M.default.restoreAgentInfo();
                a && g.default.chat_started && (0, r.default)(f.default, a)
            }
        },
        cw_wait: function(e) {},
        cw_call_end: function(e) {
            M.default.systemMessage((0, k.default)("c_callDisconnected"), "callEnd"), d.default.cw_call.status = e.name, d.default.cw_call_enabled = !0, "call/min" == g.default.route && M.default.navigate("call"), "chat/call" == g.default.route && M.default.navigate("chat"), (0, _._callUserFunction)("onCallEnd", {
                result: "ok"
            }), (0, _.telemetry)("cw_call_end")
        },
        cw_connecting: function(e) {
            d.default.cw_call.status = e.name
        },
        cw_connected: function(e) {
            d.default.cw_call.status = e.name, d.default.cw_call_enabled = !1, "call" == g.default.route && M.default.navigate("call/min")
        },
        cw_error: function(e) {
            var t = (0, k.default)(e.reason);
            t || (t = (0, k.default)("cw_unableToConnect") + " " + (0, k.default)("cw_errInfoText")), h.default.push({
                text: t,
                type: "system",
                from: "system",
                body: {
                    type: "call",
                    name: "callEnd"
                }
            }), d.default.cw_call_enabled = !0, d.default.cw_call.status = e.name, d.default.cw_call.error = t, "call/min" == g.default.route && M.default.navigate("call"), (0, _._callUserFunction)("onCallEnd", {
                result: "fail",
                reason: t
            }), (0, _.telemetry)("cw_call_error", {
                param1: e.reason
            })
        },
        agent_message: function(e) {
            A.log("agent_message", e);
            var t = 0 == g.default.route.indexOf("chat");
            M.default.saveLastSystemMessage(), h.default.push({
                text: e.message,
                type: e.media ? "media" : "message",
                from: "agent",
                private_id: e.private_id,
                msg_id: e.msg_id,
                chat_id: e.chat_id,
                meta: e.meta,
                body: e.media
            }), t && M.default.agentMessageAck([e.msg_id]), d.default.last_message = null, O.default.mobile() || g.default.isSeparateWindow || (M.default.navigate("chat"), f.default.typing = !1, C.default.startBlink())
        },
        invoice: function(e) {
            A.log("invoice", e), h.default.push({
                type: "invoice",
                msg_id: e.invoice.msg_id,
                body: {
                    type: e.invoice.gateway_system + "Invoice",
                    comment: e.invoice.comment,
                    amount: e.invoice.amount,
                    invoice_id: e.invoice.invoice_id,
                    payment_url: e.invoice.payment_url,
                    status: e.status,
                    currency: e.invoice.currency
                }
            })
        },
        agent_chat_close: function() {
            g.default.chat_started = !1, h.default.closeChat(), d.default.evaluate = !1, d.default.department_id = null
        },
        agent_service_message: function(t) {
            switch (t.service) {
                case "cobrowse":
                    "highlight" === t.event && (h.default.push({
                        text: t.comment,
                        type: "cobrowse",
                        body: {
                            type: "highlight",
                            page_url: t.page_url,
                            hash: t.hash
                        }
                    }), M.default.navigateServiceMessage());
                    break;
                default:
                    A.log("unhandled agent_service_message", e)
            }
            C.default.startBlink()
        },
        agent_typing: function(e) {
            M.default.agentTyping(e.typing)
        },
        message_state: function(e) {
            var t = h.default.find(function(t) {
                return t.get("private_id") === e.private_id
            });
            t || e.private_id || (t = h.default.find(function(e) {
                return !e.get("msg_id") && "client" === e.get("from")
            }));
            var i = s.default.pick(e, ["chat_id", "msg_id"]);
            t && (i.status = "delivered", t.set(i))
        },
        blacklist: function() {
            d.default.is_blacklisted = !0, M.default.navigate("hidden")
        },
        disconnecting: function() {},
        force_offline: function(e) {
            var t = e.err_code ? e.err_code : e.name;
            g.default.forcedOffline = t, (0, _.telemetry)("force_offline", t), w.default.hideOffline() ? M.default.hideWidget() : M.default.setOffline()
        },
        update_client: function(e) {
            !e.has_integration || "vk" != e.has_integration && "fb" != e.has_integration || (d.default.has_integration = e.has_integration, h.default.push({
                text: (0, k.default)("social_success_" + d.default.has_integration),
                type: "system",
                body: {
                    type: "social"
                }
            }), (0, _.telemetry)("social_receive_has_integration_" + d.default.has_integration))
        },
        connect_failed: function() {
            g.default.forcedOffline = "connect_failed"
        },
        offline_ack: function(e) {
            M.default.offlineAck(e)
        }
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(14),
        l = a(r),
        s = i(27),
        u = a(s),
        d = i(21),
        c = a(d),
        f = i(31),
        p = a(f),
        h = i(12),
        m = a(h),
        g = i(1),
        v = i(16),
        b = a(v),
        _ = i(13),
        w = a(_),
        y = i(9),
        x = (a(y), i(10));
    a(x);
    t.default = {
        proactive: function(e, t, i) {
            (0, o.default)(u.default, t), p.default.set({
                text: e,
                body: t,
                proactiveName: i
            }), (0, g.telemetry)("chat invite"), b.default.pageVisible(), "label" !== m.default.route || w.default.mobile() || b.default.navigate("chat")
        },
        showCallForm: function(e, t) {
            b.default.requestCWAvailable(function() {
                console.log("RULE MANAGER: ", l.default.cw_call_enabled, "label" == m.default.route), l.default.cw_call_enabled && "label" == m.default.route && (m.default.callText = e, b.default.navigate("call"), "function" == typeof t && t())
            })
        },
        systemMessage: function(e) {
            var t = c.default.getLastMessage();
            t && "system" == t.get("type") && t.get("text") === e && t.destroy();
            var i = {
                type: "system",
                text: e
            };
            m.default.chat_started || (i.body = {
                unsave: !0
            }), c.default.push(i), "label" != m.default.route || w.default.mobile() || b.default.navigate("chat")
        },
        systemMessageEmail: function(e) {
            l.default.has_integration ? console.log("systemMessageEmail failed, client has integration") : (c.default.push({
                type: "email",
                text: e
            }), "label" != m.default.route || w.default.mobile() || b.default.navigate("chat"))
        },
        openOffline: function() {
            "label" != m.default.route || w.default.mobile() || b.default.navigate("chat")
        }
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(5),
        l = a(r),
        s = i(24),
        u = a(s),
        d = i(1),
        c = a(d),
        f = i(44),
        p = a(f),
        h = i(9),
        m = a(h),
        g = i(10),
        v = a(g),
        b = i(13),
        _ = a(b),
        w = i(14),
        y = a(w),
        x = i(53),
        k = a(x),
        j = i(26),
        C = a(j),
        E = i(77),
        M = a(E),
        S = i(12),
        T = a(S),
        z = i(16),
        O = a(z),
        N = v.default.name("api"),
        I = {},
        A = function(e, t) {
            I[e] || (c.default.telemetry(e, t), I[e] = !0)
        },
        P = {
            open: function(e) {
                A("api open", e);
                var t = c.default.getPageWindow();
                return y.default.is_blacklisted ? {
                    result: "fail"
                } : (t.jivo_cstm_widget && _.default.mobileOrTablet() && (t.jivo_cstm_widget.style.display = "block"), "object" === ("undefined" == typeof e ? "undefined" : (0, o.default)(e)) && "call" === e.start ? !l.default.callback_settings.time || _.default.mobileOrTablet() ? (N.info("Callback is disabled."), {
                    result: "fail",
                    reason: "Callback is disabled"
                }) : "call" == T.default.route ? {
                    result: "ok"
                } : (k.default.allRulesCancel(), O.default.pingAndOpenCall(), {
                    result: "ok"
                }) : "chat" == T.default.route ? {
                    result: "ok",
                    opened: !0
                } : (O.default.navigate("chat"), {
                    result: "ok"
                }))
            },
            close: function() {
                return A("api close"), y.default.is_blacklisted ? {
                    result: "fail"
                } : ["label", "chat/min"].indexOf(T.default.route) >= 0 ? {
                    result: "ok",
                    closed: !0
                } : ("label" == T.default.route || T.default.chat_started ? "chat" == T.default.route && O.default.navigate("chat/min") : O.default.navigate("label"), {
                    result: "ok"
                })
            },
            getContactInfo: function() {
                A("api getContactInfo");
                var e = y.default.client_info;
                return {
                    client_name: e.client_name,
                    email: e.email,
                    phone: e.phone,
                    description: e.description
                }
            },
            getVisitorNumber: function(e) {
                N.log("getVisitorNumber", e);
                var t = y.default.client_id;
                return t && t.indexOf(".") > 0 && "function" == typeof e ? void setTimeout(function() {
                    e(null, t.split(".").shift())
                }, 0) : (N.error("Error fetching visitor number"), this.callback = e, A("api getVisitorNumber async"), void c.default.getJSONPWithData(c.default.chatServerUrl(l.default.widget_id, l.default.site_id), {
                    name: "visitor_number"
                }, m.default.bind(function(t) {
                    if ("object" === ("undefined" == typeof t ? "undefined" : (0, o.default)(t)) && t.result && "client_id" in t) {
                        if (y.default.client_id || (y.default.client_id = t.client_id), "function" == typeof e) return void e(null, y.default.client_id.split(".").shift());
                        N.error("Please provide callback in jivo_api.getVisitorNumber(callback)")
                    } else N.error("Error fetching visitor number")
                }, this)))
            },
            setUserToken: function(e) {
                return A("api setUserToken"), "string" == typeof e || e instanceof String ? (u.default.setUserToken(e), {
                    result: "ok",
                    token: e
                }) : (N.error("Bad token. The token must be type of string"), {
                    result: "fail",
                    token: u.default.user_token || !1
                })
            },
            setCustomData: function(e) {
                if (A("api setCustomData"), l.default.webhooks_enabled) return {
                    result: "fail",
                    reason: "Webhooks enabled. You must disable it to use setCustomData"
                };
                var t = this.validateCustomData(e);
                return t === !0 ? (u.default.setCustomData(e), {
                    result: "ok"
                }) : (N.error("Invalid custom data.", t), {
                    result: "fail",
                    reason: t
                })
            },
            validateCustomData: function(e) {
                var t = "";
                if (!Array.isArray(e)) return "Data must be array.";
                (0 == e.length || e.length > 10) && (t += "Data limit error, data length  must be 1 to 10.");
                for (var i = 0; i < e.length; i++) N.log("Content must be string", (0, o.default)(e[i].content)), "string" != typeof e[i].content && (t += "Property content must be string. ");
                return "" == t || t
            },
            sendMessage: function(e, t) {
                if (A("api sendMessage"), "[object Object]" === Object.prototype.toString.call(e)) {
                    var i = c.default.setImplicitGuiMessage(e, t + " \n"),
                        a = {
                            name: "client_message",
                            message: i,
                            implicit: 1
                        };
                    return u.default.isConnected() ? (u.default.send(a), {
                        result: "ok"
                    }) : {
                        result: "fail",
                        error: "Error send message."
                    }
                }
                return N.error("Invalid data, must be object."), {
                    result: "fail",
                    error: "Invalid data provided, must be object."
                }
            },
            setContactInfo: function(e) {
                if (A("api setContactInfo"), e && "object" === ("undefined" == typeof e ? "undefined" : (0, o.default)(e))) {
                    N.log("setContactInfo", e);
                    var t = {},
                        i = !1,
                        a = "";
                    for (var n in e) {
                        var r = e[n],
                            l = n;
                        "name" == l && (l = "client_name"), r && c.default["isValidValue_" + l] && c.default["isValidValue_" + l](r) ? (t[n] = r, i = !0) : (N.error(l + " not valid."), a += l + " not valid.")
                    }
                    return i ? (this._sendIntroduce(t), {
                        result: "ok",
                        data: t
                    }) : (c.default.telemetry("api setContantactInfo bad data"), N.error("setContactInfo bad data", e), {
                        result: "fail",
                        error: a
                    })
                }
            },
            _sendIntroduce: function(e) {
                e.isEmailSubmitted && C.default.trackSystemMessageEmailSubmitted(), N.log(e), O.default.setClientContactInfo({
                    client_name: e.name || e.client_name,
                    phone: e.phone,
                    email: e.email,
                    description: e.description
                })
            },
            showProactiveInvitation: function(e, t) {
                A("api showProactiveInvitation"), k.default.showProactive(e, t, "jivo_api.showProactiveInvitation")
            },
            highlightCobrowse: function(e, t) {
                M.default.getCobrowseData(e, t)
            },
            sendOfflineMessage: function(e) {
                if (A("api sendOfflineMessage"), N.log("sendOfflineMessage", e), T.default.is_online) return {
                    result: "fail",
                    error: "Error send offline message when chat is online."
                };
                if (e && "object" === ("undefined" == typeof e ? "undefined" : (0, o.default)(e))) {
                    N.log("sendOfflineMessage", e);
                    var t = "";
                    for (var i in e) {
                        var a = e[i],
                            n = i;
                        "name" == n && (n = "client_name"), a && c.default["isValidValue_" + n] && c.default["isValidValue_" + n](a) || (N.error(n + " not valid."), t += n + " not valid. ")
                    }
                    return "" == t ? (O.default.setClientContactInfo(e), O.default.sendOfflineMessage(e), {
                        result: "ok"
                    }) : (c.default.telemetry("api sendOfflineMessage bad data"), N.error("sendOfflineMessage bad data", e), {
                        result: "fail",
                        error: t
                    })
                }
                return {
                    result: "fail",
                    error: "Invalid params for offline message"
                }
            },
            setRules: function(e) {
                return A("api setRules"), e && "object" === ("undefined" == typeof e ? "undefined" : (0, o.default)(e)) ? (l.default.rules = e, {
                    result: "ok"
                }) : (N.error("Invalid type of rules, must be object."), {
                    result: "fail"
                })
            },
            chatMode: function() {
                return A("api chatMode"), l.default.chat_mode
            },
            setWidgetColor: function(e) {
                A("api setWidgetColor");
                var t = p.default.isLightColor(e) ? "dark" : "light",
                    i = document.getElementById("jivo_chat_widget_online");
                (0, d.addClass)(i, "color-mode"), l.default.widget_color = e, l.default.widget_font_color = t, T.default.widget_color = e, T.default.widget_font_color = t, clearTimeout(this.setWidgetColorTimeout), this.setWidgetColorTimeout = setTimeout(function() {
                    (0, d.removeClass)(i, "color-mode")
                }, 500)
            },
            sendPageTitle: function(e) {
                var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
                    i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
                return e && "string" == typeof e ? (O.default.updateTitle(e, i), t && A("api sendPageTitle"), {
                    result: "ok"
                }) : {
                    result: "fail",
                    reason: "Invalid title"
                }
            },
            isCallbackEnabled: function(e) {
                "function" == typeof e && (A("api isCallbackEnabled"), m.default.isEmpty(l.default.callback_settings) ? e({
                    result: "fail",
                    reason: "Callback disabled"
                }) : O.default.requestApiCWAvailable(e))
            },
            startCall: function(e) {
                if (!_.default.desktop()) return {
                    result: "fail",
                    reason: "Callback disabled for mobile."
                };
                if (!y.default.cw_call_enabled || m.default.isEmpty(l.default.callback_settings)) return {
                    result: "fail",
                    reason: "Callback disabled"
                };
                var t = c.default.getPhoneNumberInfo(e);
                return t ? (e = "+" + t.number, T.default.chat_started || "chat" == T.default.route ? O.default.navigate("chat") : O.default.navigate("call"), O.default.startCall(e, "", "from_api"), {
                    result: "ok"
                }) : {
                    result: "fail",
                    reason: "Invalid phone"
                }
            },
            getUtm: function() {
                A("api getUtm");
                var e = y.default.utm;
                return {
                    term: e.keyword || null,
                    campaign: e.campaign || null,
                    content: e.content || null,
                    medium: e.medium || null,
                    source: e.source || null
                }
            }
        };
    t.default = P
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    var n = i(4),
        o = (a(n), i(4)),
        r = (a(o), i(16)),
        l = (a(r), i(24)),
        s = (a(l), i(14)),
        u = (a(s), i(27)),
        d = (a(u), i(12)),
        c = (a(d), i(63)),
        f = (a(c), i(206)),
        p = (a(f), i(110)),
        h = (a(p), i(109)),
        m = (a(h), i(21)),
        g = (a(m), i(31));
    a(g)
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(24),
        o = a(n),
        r = i(1),
        l = i(9),
        s = a(l),
        u = i(5),
        d = a(u),
        c = i(10),
        f = a(c),
        p = f.default.name("formObserver"),
        h = function() {
            if (d.default.form_observer) {
                var e = function(e) {
                        p.log("FORMS SUBMIT EVENT", e);
                        var t = e.target,
                            i = "Form" + (t.id ? ' id="' + t.id + '"' : "") + (t.action ? ' action="' + t.action + '"' : "") + " submitted: \n",
                            a = {};
                        s.default.each(t.elements, function(e) {
                            e.name && (a[e.name] = e.value)
                        }, this), o.default.sendIfConnected({
                            name: "client_message",
                            message: (0, r.setImplicitGuiMessage)(a, i),
                            implicit: 1
                        })
                    },
                    t = (0, r.getPageWindow)().document || document,
                    i = s.default.bind(t.querySelectorAll, t),
                    a = i("form");
                p.log("FORMS:", a), s.default.each(a, function(t) {
                    if (t.elements.length > 0 && !s.default.findWhere(t.elements, {
                            type: "password"
                        })) {
                        p.log("FORM Observer: ", t), (0, r.addListener)(t, "submit", e);
                        var i = t.submit;
                        t.submit = function() {
                            try {
                                e({
                                    target: this
                                })
                            } catch (e) {
                                (0, r.reportException)(e)
                            }
                            i.call(this)
                        }
                    }
                })
            }
        };
    t.default = h
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }

    function n() {
        window.parent.window.jivo_api = window.jivo_api = I.default
    }

    function o(e) {
        var t = e && e.client_info && e.client_info.msg_history,
            i = t && t.length && t[t.length - 1],
            a = le.default.getLastMessage(),
            n = b.default.filter(t, function(e) {
                return e.msg_id && !le.default.getMessageById(e.msg_id)
            }),
            o = n.length || (i && i.msg_id) !== (a && a.get("msg_id"));
        return de.log("checkNeedApiRequest", o), U.default.client_id && V.default.chat_started && (e && "resume_ok" === e.name && o || e && "startup_ok" === e.name && le.default.getAll().length)
    }

    function r(e, t) {
        var i = le.default.filter(function(e) {
                return "client" === e.get("from") || "agent" === e.get("from") && "proactive" !== e.get("type")
            }),
            a = i[i.length - 1],
            n = a ? a.get("msg_id") : null;
        if (de.log("getMsgHistory", a, t), t && t.client_info && t.client_info.msg_history) {
            var o = b.default.filter(t.client_info.msg_history, function(e) {
                return e.msg_id && !le.default.getMessageById(e.msg_id)
            });
            if (o.length) {
                var r = [];
                r = b.default.sortBy(o, function(e) {
                    return e.msg_id
                }), r[0].msg_id && (n = r[0].msg_id - 1)
            }
        }(0, _.telemetry)("api_get_messages_request"), ue.default.getMessages({
            clientId: U.default.client_id.split(".")[0],
            offset_msg_id: n || null,
            limit: 30
        }, function(t, i) {
            if (t) return e(), (0, _.telemetry)("api_get_messages_error", {
                param1: t.code
            }), window.console.error("error: ", t);
            if (V.default.chat_started = i.chat_opened, i.chat_opened || le.default.closeChat(), i.messages && i.messages.length) {
                g.default.desktop() && F.default.navigate("chat");
                var n = [];
                n = a ? b.default.filter(i.messages, function(e) {
                    return !le.default.getMessageById(e.msg_id)
                }) : i.messages, n.forEach(function(e) {
                    e.created_ts = 1e3 * e.created_ts
                }), le.default.pushAll(n), (0, _.telemetry)("api_get_messages_received")
            }
            e()
        })
    }
    var l = i(35),
        s = a(l),
        u = i(129),
        d = (a(u), i(61));
    a(d);
    i(193);
    var c = i(4),
        f = a(c),
        p = i(4),
        h = a(p),
        m = i(13),
        g = a(m),
        v = i(9),
        b = a(v),
        _ = i(1),
        w = a(_),
        y = i(162),
        x = a(y),
        k = i(114),
        j = (a(k), i(53)),
        C = a(j),
        E = i(52),
        M = a(E),
        S = i(194),
        T = a(S),
        z = i(26),
        O = a(z),
        N = i(192),
        I = a(N),
        A = i(77),
        P = a(A),
        L = i(10),
        B = a(L),
        D = i(16),
        F = a(D),
        H = i(196),
        R = a(H),
        W = i(12),
        V = a(W),
        q = i(14),
        U = a(q),
        G = i(24),
        X = a(G),
        Z = i(5),
        Y = a(Z),
        K = i(207),
        J = a(K),
        Q = i(160),
        $ = a(Q),
        ee = i(174),
        te = a(ee),
        ie = i(175),
        ae = a(ie),
        ne = i(204),
        oe = a(ne),
        re = i(21),
        le = a(re),
        se = i(141),
        ue = a(se),
        de = B.default.name("index"),
        ce = function() {
            function e(e) {
                if (de.info("RENDER WIDGET VERSION:", "3.9.3"), h.default.render(e, document.getElementById("widget")), F.default.requestCWAvailable(), !(0, _.cookie)("enter_ts")) {
                    (0, _.cookie)("enter_ts", (new Date).getTime());
                    var t = parseInt((0, _.cookie)("visits_count"));
                    (0, _.cookie)("visits_count", t ? t + 1 : 1, {
                        expires: 365,
                        path: "/"
                    }), (0, _.getPageWindow)().document.referrer && (0, _.cookie)("refer", (0, _.getPageWindow)().document.referrer), oe.default.setUTM((0, _.getPageWindow)().location.href, (0, _.getPageWindow)().document.referrer)
                }
                if (O.default.init(), new T.default, n(), setTimeout(function() {
                        (0, _._callUserFunction)("onLoadCallback"), V.default.is_custom_label = !!parent.document.getElementById("jivo_custom_widget"), !(16 & Y.default.options) || g.default.mobileOrTablet() && V.default.isSeparateWindow || C.default.init()
                    }, 50), globalStore.hasStorage) {
                    var i = localStorage.getItem("jv_store_cdn_unavailable"),
                        a = localStorage.getItem("jv_store_cdn_load_time");
                    i && (w.default.telemetry("cdn_unavailable_" + i, {}), localStorage.removeItem("jv_store_cdn_unavailable")), a && (w.default.telemetry("cdn_load_time", {
                        param1: parseInt(a)
                    }), localStorage.removeItem("jv_store_cdn_load_time")), (0, J.default)()
                }
                window.parent.window != window.top && "hidden" !== V.default.route && w.default.telemetry("in_iframe_started")
            }
            window.jivo_version = "3.9.3", window.parent && (window.parent.jivo_version = jivo_version), te.default.init();
            var t = globalStore,
                i = !1;
            window.onerror = function(e, i, a, n, o) {
                !o && (o = {}), (window || arguments || "function" == typeof _.reportException) && (0, _.reportException)({
                    message: e,
                    lineNumber: a,
                    fileName: (globalStore ? globalStore.bundleSrc : t.bundleSrc) + "&v=3.9.3",
                    columnNumber: n,
                    stack: (0, s.default)(o.stack || o.stacktrace || o)
                })
            }, (!U.default.visitorId || U.default.visitorId.length < 16) && (U.default.visitorId = w.default.generateGUIDCount(4)), (0, R.default)(), g.default.mobile() && setTimeout(function() {
                var e = document.createElement("div");
                document.body.appendChild(e), h.default.render(f.default.createElement($.default, null), e)
            }, 2e3), Y.default.bubble_color || (Y.default.bubble_color = "green");
            var a = g.default.ios() ? "pagehide" : "beforeunload";
            if ((0, _.addListener)(window, a, _.onIframeWindowUnload), M.default.isCreated()) window.top && (0, _.changeBrowserLocation)(window.top.location.href, window.top.document.title), de.log("Magic IFRAME is created"), n();
            else {
                window.parent.window == window.top || (0, _.isWixIframe)() || (P.default.init(), n()), F.default.pageVisible((0, _.pageVisible)());
                var l = (0, _.pageVisible)();
                (0, _.listenVisibility)(function() {
                    l != (0, _.pageVisible)() && (l = (0, _.pageVisible)(), X.default.ifNeedConnect() || F.default.reloadStories(), l && g.default.mobile() && !V.default.isSeparateWindow && F.default.navigate("label"), F.default.pageVisible(l))
                });
                var u = function(e) {
                    e && "resume_ok" === e.name && i && (de.log("updateHistory"), o(e) && r(function() {
                        if (de.log("history loaded"), "chat" === V.default.route) {
                            var e = le.default.getCurrentChatMessages();
                            e.length || (V.default.route = "label")
                        }
                    }, e))
                };
                X.default.on("socket_message", u);
                var d = function t(a) {
                    function n() {
                        setTimeout(function() {
                            e(f.default.createElement(x.default, null)), i = !0
                        }, l), X.default.off("socket_message", t)
                    }
                    var l = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 20;
                    F.default.navigate(V.default.route), o(a) ? r(n, a) : n()
                };
                V.default.chat_started ? X.default.on("socket_message", d) : d(null, 0)
            }
            var c = (0, _.getPageWindow)().location.hash.split("jvhs_")[1];
            "undefined" != typeof c && P.default.getCobrowseData(c), ae.default.run()
        };
    b.default.indexOf(["client_site", "col_old_page"], window.parent.name) === -1 ? ce() : "col_old_page" === window.parent.name && n()
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(1),
        o = a(n),
        r = i(129),
        l = a(r),
        s = i(172),
        u = a(s),
        d = i(165),
        c = a(d),
        f = i(110),
        p = a(f),
        h = i(13),
        m = a(h),
        g = i(4),
        v = a(g),
        b = i(4),
        _ = a(b),
        w = i(5),
        y = a(w),
        x = i(12),
        k = a(x),
        j = i(9),
        C = a(j),
        E = function() {
            function e() {
                v.default.unmountComponentAtNode(n), a.removeChild(n), o.default.removeEvent(i, "jBeforeunload", e)
            }

            function t(e, t) {
                if ("undefined" != typeof i.Polymer && i.ShadowDOMPolyfill && "undefined" != typeof i.ShadowDOMPolyfill.isWrapper) {
                    var a = i.ShadowDOMPolyfill.isWrapper(t),
                        n = document.createElement;
                    document.createElement = function(e) {
                        var t = n(e);
                        return t.__wrapper8e3dd93a60__ = r, t
                    }, s = document.createElement("jdiv"), _.default.render(e, s), a.appendChild(s)
                } else "JDIV" !== t.tagName ? (s = document.createElement("jdiv"), _.default.render(e, s), t.appendChild(s)) : _.default.render(e, t), r.parentNode && r.parentNode.removeChild(r)
            }
            var i = o.default.getPageWindow(),
                a = i.document.body,
                n = i.document.createElement("jdiv"),
                r = i.document.createElement("jdiv"),
                s = void 0;
            o.default.addListener(i, "jBeforeunload", e), a.appendChild(n), a.appendChild(r), t(v.default.createElement("jdiv", {
                className: l.default.globalClass
            }, 1 == y.default.callback_settings.button && !m.default.mobileOrTablet() && v.default.createElement(c.default, null), m.default.mobile() && window.parent === window.top && v.default.createElement(u.default, null), (m.default.desktop() || m.default.tablet()) && v.default.createElement(p.default, {
                app: k.default,
                config: y.default
            })), n), m.default.ios() && m.default.osVersion() && m.default.osVersion() < 10 && C.default.each(n.querySelectorAll("jdiv"), function(e) {
                e.className += " __jfakecls"
            })
        };
    t.default = E
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(25),
        o = a(n),
        r = i(1),
        l = i(13),
        s = a(l),
        u = i(9),
        d = a(u),
        c = function() {
            function e() {
                return i || (i = document.createElement("div"), (0, r.addClass)(i, "autoresize-clones"), i.style.position = "absolute", i.style.top = "-9999px", i.style.width = "0px", i.style.height = "0px", i.style.padding = "0px", i.style.overflow = "hidden", document.body.appendChild(i)), i
            }

            function t(e, t) {
                return e.currentStyle ? e.currentStyle[t] : window.getComputedStyle && window.getComputedStyle(e, null) ? window.getComputedStyle(e, null)[t] : e.style[t]
            }
            var i = void 0,
                a = ["lineHeight", "textDecoration", "letterSpacing", "fontSize", "fontFamily", "fontStyle", "fontWeight", "textTransform", "textAlign", "direction", "wordSpacing", "fontSizeAdjust", "paddingLeft", "paddingRight", "width", "boxSizing", "whiteSpace", "wordWrap"],
                n = function(e, t) {
                    var i = void 0;
                    this.element = e, this.config = t, this.config.initCheck = !0, i = e.offsetHeight, "original" === t.maxSize && (t.maxSize = i), "original" === t.minSize && (t.minSize = i), this.bind()
                };
            return n.prototype.bind = function() {
                    (0, r.addListener)(this.element, "keyup", d.default.bind(this.check, this)), (0, r.addListener)(this.element, "keypress", d.default.bind(this.check, this)), (0, r.addListener)(this.element, "change", d.default.bind(this.check, this)), (0, r.addListener)(this.element, "paste", d.default.bind(this.check, this))
                }, n.prototype.getClone = function() {
                    var i = this,
                        n = void 0,
                        o = void 0;
                    return this.clone || (n = this.element, this.clone = o = document.createElement("div"), e().appendChild(o)), d.default.each(a, function(e) {
                        var a = t(i.element, e);
                        a && (i.clone.style[e] = a)
                    }), this.clone
                }, n.prototype.afterResize = function(e) {
                    var t = this.element,
                        i = this.config;
                    t.offsetHeight >= i.maxSize + 10 ? t.style.overflowY = "auto" : t.style.overflowY = "hidden", i.onAfterResize.call(this.element), e && e.apply(this, arguments)
                }, n.prototype.updateConfig = function(e) {
                    (0, o.default)(this.config, e)
                }, n.prototype.check = function() {
                    var e = this.config,
                        i = this.getClone(),
                        a = this.element,
                        n = a.value || a.getAttribute("placeholder") || "",
                        o = a.offsetHeight,
                        r = void 0,
                        l = void 0;
                    s.default.mobile() && (n = a.value || ""), n = n.length ? n : " ", n === this.prevValue && "" == n || (i.innerText = n, r = i.offsetHeight, r = Math.min(Math.max(r, e.minSize), e.maxSize), "" == a.value && this.config.initCheck && (this.initSize = i.offsetHeight), r > e.minSize && (this.config.minSize = r), o !== r && (l = {}, l.height = r), this.prevValue = n, l && (e.onResize && e.onResize.call(a), s.default.mobile() && (r += parseInt(t(a, "paddingTop")) + parseInt(t(a, "paddingBottom"))), "" != a.value || this.config.initCheck || (r = this.initSize, this.config.minSize = r), a.style.height = r + "px", this.config.initCheck = !1, this.afterResize()))
                },
                function(e, t) {
                    return new n(e, t)
                }
        }();
    t.default = c
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = {};
    ! function(e) {
        if (!e.browser) {
            e.browser = {}, e.browser.mozilla = !1, e.browser.webkit = !1, e.browser.opera = !1, e.browser.msie = !1;
            var t = navigator.userAgent;
            e.browser.ua = t, e.browser.name = navigator.appName, e.browser.fV = "" + parseFloat(navigator.appVersion), e.browser.mV = parseInt(navigator.appVersion, 10);
            var i, a, n;
            if ((a = t.indexOf("Opera")) != -1) e.browser.opera = !0, e.browser.name = "Opera", e.browser.fV = t.substring(a + 6), (a = t.indexOf("Version")) != -1 && (e.browser.fV = t.substring(a + 8));
            else if ((a = t.indexOf("MSIE")) != -1) e.browser.msie = !0, e.browser.name = "Microsoft Internet Explorer", e.browser.fV = t.substring(a + 5);
            else if (t.indexOf("Trident") != -1) {
                e.browser.msie = !0, e.browser.name = "Microsoft Internet Explorer";
                var o = t.indexOf("rv:") + 3,
                    r = o + 4;
                e.browser.fV = t.substring(o, r)
            } else(a = t.indexOf("Chrome")) != -1 ? (e.browser.webkit = !0, e.browser.name = "Chrome", e.browser.fV = t.substring(a + 7)) : (a = t.indexOf("Safari")) != -1 ? (e.browser.webkit = !0, e.browser.name = "Safari", e.browser.fV = t.substring(a + 7), (a = t.indexOf("Version")) != -1 && (e.browser.fV = t.substring(a + 8))) : (a = t.indexOf("AppleWebkit")) != -1 ? (e.browser.webkit = !0, e.browser.name = "Safari", e.browser.fV = t.substring(a + 7), (a = t.indexOf("Version")) != -1 && (e.browser.fV = t.substring(a + 8))) : (a = t.indexOf("Firefox")) != -1 ? (e.browser.mozilla = !0, e.browser.name = "Firefox", e.browser.fV = t.substring(a + 8)) : (i = t.lastIndexOf(" ") + 1) < (a = t.lastIndexOf("/")) && (e.browser.name = t.substring(i, a), e.browser.fV = t.substring(a + 1), e.browser.name.toLowerCase() == e.browser.name.toUpperCase() && (e.browser.name = navigator.appName));
            (n = e.browser.fV.indexOf(";")) != -1 && (e.browser.fV = e.browser.fV.substring(0, n)), (n = e.browser.fV.indexOf(" ")) != -1 && (e.browser.fV = e.browser.fV.substring(0, n)), e.browser.mV = parseInt("" + e.browser.fV, 10), isNaN(e.browser.mV) && (e.browser.fV = "" + parseFloat(navigator.appVersion), e.browser.mV = parseInt(navigator.appVersion, 10)), e.browser.version = e.browser.mV
        }
    }(i), t.default = i.browser
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var i = window.setTimeout,
        a = window.document,
        n = 0,
        o = function() {
            function e() {
                try {
                    d.parentNode.removeChild(d)
                } catch (e) {}
            }

            function t() {
                u = !1, s = "", e(), d = null
            }

            function o(e) {
                try {
                    c.onerror.call(c, e, s)
                } catch (t) {
                    throw new Error(e)
                }
            }

            function r() {
                this.readyState && "complete" !== this.readyState && "loaded" !== this.readyState || u || (this.onload = this.onreadystatechange = null, u = !0, 4 !== c.readyState && o("Script failed to load [" + s + "]."), e())
            }

            function l(e) {
                e = e || [], c.readyState = 4, c.status = 200, "function" == typeof c.onload && c.onload.apply(c, e)
            }
            var s = void 0,
                u = void 0,
                d = void 0,
                c = null;
            return c = {
                onerror: null,
                onload: null,
                readyState: 0,
                open: function(e, i) {
                    t();
                    var a = "cb" + n++;
                    ! function(e) {
                        window.jivoJSONP[e] = function() {
                            try {
                                l.call(c, arguments)
                            } catch (e) {
                                c.readyState = -1, o(e.message)
                            }
                            window.jivoJSONP[e] = null
                        }
                    }(a), s = i.replace(/=\?/, "=jivoJSONP." + a)
                },
                send: function() {
                    i(function() {
                        d = a.createElement("script"), d.setAttribute("type", "text/javascript"), d.charset = "UTF-8", d.onload = d.onreadystatechange = function() {
                            r.call(d)
                        }, d.setAttribute("src", s), a.getElementsByTagName("head")[0].appendChild(d)
                    }, 0)
                },
                abort: function() {},
                setRequestHeader: function() {},
                getResponseHeader: function() {
                    return ""
                },
                getAllResponseHeaders: function() {
                    return []
                }
            }, t(), c
        },
        r = function() {
            if ("undefined" != typeof XMLHttpRequest) return new XMLHttpRequest;
            for (var e = ["MSXML2.XmlHttp.6.0", "MSXML2.XmlHttp.5.0", "MSXML2.XmlHttp.4.0", "MSXML2.XmlHttp.3.0", "MSXML2.XmlHttp.2.0", "Microsoft.XmlHttp"], t = void 0, i = 0; i < e.length; i++) try {
                t = new ActiveXObject(e[i]);
                break
            } catch (e) {}
            return t
        },
        l = function(e, t, i, a) {
            var n = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4],
                o = r();
            o.open(i, e, n), o.responseType = "json", o.onreadystatechange = function() {
                if (4 === o.readyState)
                    if ("string" == typeof o.response) try {
                        t(JSON.parse(o.response))
                    } catch (e) {} else t(o.response)
            }, "POST" === i && o.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), o.send(a)
        },
        s = {get: function(e, t, i, a) {
                var n = [];
                for (var o in t) n.push(encodeURIComponent(o) + "=" + encodeURIComponent(t[o]));
                l(e + (n.length ? "?" + n.join("&") : ""), i, "GET", null, a)
            },
            post: function(e, t, i, a) {
                var n = [];
                for (var o in t) n.push(encodeURIComponent(o) + "=" + encodeURIComponent(t[o]));
                l(e, i, "POST", n.join("&"), a)
            }
        };
    window.jivoJSONP = o, t.JSONP = o, t.AJAX = s
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = i(9),
        l = a(r),
        s = i(1),
        u = function(e, t) {
            var i = [].slice,
                a = "transition",
                n = "handler",
                r = "handling",
                l = "handled",
                u = "nohandler",
                d = "transition",
                c = "invalidstate",
                f = "deferred",
                p = "newfsm",
                h = {
                    makeFsmNamespace: function() {
                        var e = 0;
                        return function() {
                            return "fsm." + e++
                        }
                    }(),
                    getDefaultOptions: function() {
                        return {
                            initialState: "uninitialized",
                            eventListeners: {
                                "*": []
                            },
                            states: {},
                            eventQueue: [],
                            namespace: h.makeFsmNamespace(),
                            targetReplayState: "",
                            state: t,
                            priorState: t,
                            _priorAction: "",
                            _currentAction: ""
                        }
                    }
                };
            if (!e.deepExtend) {
                var m = {
                        "*": function(e, t, i) {
                            e[t] = i
                        },
                        object: function(e, t, i) {
                            e[t] = b({}, e[t] || {}, i)
                        },
                        array: function(t, i, a) {
                            t[i] = [], e.each(a, function(e, a) {
                                m[v(e)](t[i], a, e)
                            }, this)
                        }
                    },
                    g = function(t) {
                        return e.isArray(t) ? "array" : e.isDate(t) ? "date" : e.isRegExp(t) ? "regex" : "undefined" == typeof t ? "undefined" : (0, o.default)(t)
                    },
                    v = function(e) {
                        var t = g(e);
                        return m[t] ? t : "*"
                    },
                    b = function(t) {
                        return e.each(i.call(arguments, 1), function(i) {
                            e.each(i, function(e, i) {
                                m[v(e)](t, i, e)
                            })
                        }), t
                    };
                e.mixin({
                    deepExtend: b
                })
            }
            var _ = function(t) {
                e.extend(this, t), e.defaults(this, h.getDefaultOptions()), this.initialize.apply(this, arguments), x.emit(p, this), this.initialState && this.transition(this.initialState)
            };
            e.extend(_.prototype, {
                initialize: function() {},
                emit: function(t) {
                    var a = arguments;
                    this.eventListeners["*"] && e.each(this.eventListeners["*"], function(e) {
                        try {
                            e.apply(this, i.call(a, 0))
                        } catch (e) {
                            (0, s.reportException)(e)
                        }
                    }, this), this.eventListeners[t] && e.each(this.eventListeners[t], function(e) {
                        try {
                            e.apply(this, i.call(a, 1))
                        } catch (e) {
                            (0, s.reportException)(e)
                        }
                    }, this)
                },
                handle: function(a) {
                    if (!this.inExitHandler) {
                        var o, s, d, c, f = this.states,
                            p = this.state,
                            h = i.call(arguments, 0);
                        this.currentActionArgs = h, f[p][a] || f[p]["*"] || this["*"] ? (o = f[p][a] ? a : "*", d = "*" === o, f[p][o] ? (s = f[p][o], c = p + "." + o) : (s = this["*"], c = "*"), this._currentAction || (this._currentAction = c), this.emit.call(this, r, {
                            inputType: a,
                            args: h.slice(1)
                        }), e.isFunction(s) && (s = s.apply(this, d ? h : h.slice(1))), e.isString(s) && this.transition(s), this.emit.call(this, l, {
                            inputType: a,
                            args: h.slice(1)
                        }), this._priorAction = this._currentAction, this._currentAction = "", this.processQueue(n)) : this.emit.call(this, u, {
                            inputType: a,
                            args: h.slice(1)
                        }), this.currentActionArgs = t
                    }
                },
                transition: function(e) {
                    if (!this.inExitHandler && e !== this.state) {
                        var t;
                        if (this.states[e]) {
                            if (this.targetReplayState = e, this.priorState = this.state, this.state = e, t = this.priorState, this.states[t] && this.states[t]._onExit && (this.inExitHandler = !0, this.states[t]._onExit.call(this), this.inExitHandler = !1), this.emit.call(this, d, {
                                    fromState: t,
                                    action: this._currentAction,
                                    toState: e
                                }), this.states[e]._onEnter) try {
                                this.states[e]._onEnter.call(this)
                            } catch (e) {
                                (0, s.reportException)(e)
                            }
                            return void(this.targetReplayState === e && this.processQueue(a))
                        }
                        this.emit.call(this, c, {
                            state: this.state,
                            attemptedState: e
                        })
                    }
                },
                processQueue: function(t) {
                    var i = t === a ? function(e) {
                            return e.type === a && (!e.untilState || e.untilState === this.state)
                        } : function(e) {
                            return e.type === n
                        },
                        o = e.filter(this.eventQueue, i, this);
                    this.eventQueue = e.difference(this.eventQueue, o), e.each(o, function(e) {
                        this.handle.apply(this, e.args)
                    }, this)
                },
                clearQueue: function(t, i) {
                    if (t) {
                        var o;
                        t === a ? o = function(e) {
                            return e.type === a && (!i || e.untilState === i)
                        } : t === n && (o = function(e) {
                            return e.type === n
                        }), this.eventQueue = e.filter(this.eventQueue, o)
                    } else this.eventQueue = []
                },
                deferUntilTransition: function(e) {
                    if (this.currentActionArgs) {
                        var t = {
                            type: a,
                            untilState: e,
                            args: this.currentActionArgs
                        };
                        this.eventQueue.push(t), this.emit.call(this, f, {
                            state: this.state,
                            queuedArgs: t
                        })
                    }
                },
                deferUntilNextHandler: function() {
                    if (this.currentActionArgs) {
                        var e = {
                            type: a,
                            args: this.currentActionArgs
                        };
                        this.eventQueue.push(e), this.emit.call(this, f, {
                            state: this.state,
                            queuedArgs: e
                        })
                    }
                },
                on: function(e, t) {
                    var i = this;
                    return i.eventListeners[e] || (i.eventListeners[e] = []), i.eventListeners[e].push(t), {
                        eventName: e,
                        callback: t,
                        off: function() {
                            i.off(e, t)
                        }
                    }
                },
                off: function(t, i) {
                    t ? this.eventListeners[t] && (i ? this.eventListeners[t] = e.without(this.eventListeners[t], i) : this.eventListeners[t] = []) : this.eventListeners = {}
                }
            }), _.prototype.trigger = _.prototype.emit;
            var w = function() {},
                y = function(t, i, a) {
                    var n;
                    return n = i && i.hasOwnProperty("constructor") ? i.constructor : function() {
                        t.apply(this, arguments)
                    }, e.deepExtend(n, t), w.prototype = t.prototype, n.prototype = new w, i && e.deepExtend(n.prototype, i), a && e.deepExtend(n, a), n.prototype.constructor = n, n.__super__ = t.prototype, n
                };
            _.extend = function(e, t) {
                var i = y(this, e, t);
                return i.extend = this.extend, i
            };
            var x = {
                Fsm: _,
                utils: h,
                on: function(e, t) {
                    return this.eventListeners[e] || (this.eventListeners[e] = []), this.eventListeners[e].push(t), t
                },
                off: function(t, i) {
                    this.eventListeners[t] && (this.eventListeners[t] = e.without(this.eventListeners[t], i))
                },
                trigger: function(t) {
                    var a = arguments,
                        n = this.eventListeners[t] || [];
                    n && n.length && e.each(n, function(e) {
                        e.apply(null, i.call(a, 1))
                    })
                },
                eventListeners: {
                    newFsm: []
                }
            };
            return x.emit = x.trigger, x
        }(l.default);
    t.default = u
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(28),
        o = a(n),
        r = function(e, t, i) {
            for (; t < e.length; t++) isNaN(parseInt(e[t])) || (e[t] = i);
            return e
        },
        l = {
            toPattern: function(e, t) {
                var i = "object" === ("undefined" == typeof t ? "undefined" : (0, o.default)(t)) ? t.pattern : t,
                    a = i.replace(/\W/g, ""),
                    n = i.split(""),
                    l = e.toString().replace(/\W/g, ""),
                    s = l.replace(/\W/g, ""),
                    u = 0,
                    d = void 0,
                    c = n.length,
                    f = "object" === ("undefined" == typeof t ? "undefined" : (0, o.default)(t)) ? t.placeholder : void 0;
                for (d = 0; d < c; d++) {
                    if (u >= l.length) {
                        if (a.length === s.length) return n.join("");
                        if (void 0 !== f && a.length > s.length) return r(n, d, f).join("");
                        break
                    }
                    if (!isNaN(parseInt(n[d])) && l[u].match(/[0-9]/)) n[d] = l[u++];
                    else if (!isNaN(parseInt(n[d]))) return void 0 !== f ? r(n, d, f).join("") : n.slice(0, d).join("")
                }
                return n.join("").substr(0, d)
            }
        };
    t.default = l
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(9),
        o = a(n),
        r = i(10),
        l = a(r),
        s = i(59),
        u = i(58),
        d = i(203),
        c = (l.default.name("Referer"), function(e) {
            var t = [];
            for (var i in e) {
                var a = e[i],
                    n = function(e) {
                        var i = a[e],
                            n = function(a) {
                                r = i[a], r[0].forEach(function(i) {
                                    var n = {
                                        domain: i,
                                        medium: e,
                                        name: a
                                    };
                                    r[1] && (n.params = r[1]), t.push(n)
                                })
                            };
                        for (var o in i) n(o)
                    };
                for (var o in a) {
                    var r;
                    n(o)
                }
            }
            return t
        }),
        f = c(d),
        p = function(e, t, i) {
            this.known = !1, this.referer = null, this.medium = "unknown", this.search_parameter = null, this.search_term = null, this.referers = i || f;
            var a = s.parse(e),
                n = a.hostname;
            if (this.known = Boolean(~["http:", "https:"].indexOf(a.protocol)), this.uri = a, this.known) {
                if (t) {
                    var r = s.parse(t),
                        l = r.hostname;
                    if (l === n) return void(this.medium = "internal")
                }
                var d = this._lookup_referer(n, a.pathname, !0);
                if (!d && (d = this._lookup_referer(n, a.pathname, !1), !d)) return void(this.medium = "unknown");
                if (this.referer = d.name, this.medium = d.medium, "search" === d.medium) {
                    if (!d.params) return;
                    var c = o.default.extend(u.parse(a.hash), u.parse(a.query));
                    for (var p in c) {
                        var h = c[p];
                        d.params.indexOf(p.toLowerCase()) !== -1 && (this.search_parameter = p, this.search_term = h)
                    }
                }
            }
        };
    p.prototype.searchReferer = function(e) {
        var t = null;
        return t = o.default.find(this.referers, function(t) {
            return t.domain instanceof RegExp && e.search(t.domain) > -1 || (t.domain === e || void 0)
        })
    }, p.prototype._lookup_referer = function(e, t, i) {
        var a = null;
        if (a = i ? this.searchReferer(e + t) : this.searchReferer(e), !a && i) {
            var n = t.split("/");
            if (n.length > 1) try {
                a = this.searchReferer(e + "/" + n[1])
            } catch (e) {}
        }
        if (a) return a;
        try {
            var o = e.indexOf(".");
            if (o === -1) return null;
            var r = e.slice(o + 1);
            return this._lookup_referer(r, t, i)
        } catch (e) {
            return null
        }
    }, t.default = p
}, function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    }), t.default = {
        unknown: {
            Google: [
                [/\w+.google.(com|co.uk)$/gi]
            ],
            "Yahoo!": [
                [/\w+.yahoo.(com|net)$/gi]
            ]
        },
        search: {
            TalkTalk: [
                [/talktalk.co.uk$/gi],
                ["query"]
            ],
            "1.cz": [
                [/1.cz$/gi],
                ["q"]
            ],
            Softonic: [
                [/^search.softonic./gi],
                ["q"]
            ],
            GAIS: [
                [/gais.cs.ccu.edu.tw$/gi],
                ["q"]
            ],
            Freecause: [
                [/^search.freecause./gi],
                ["p"]
            ],
            "360.cn": [
                [/so.(com|360.cn)$/gi],
                ["q"]
            ],
            RPMFind: [
                [/(fr2.)?rpmfind.net$/gi],
                ["query"]
            ],
            Comcast: [
                [/^serach.comcast./gi],
                ["q"]
            ],
            Voila: [
                ["search.ke.voila.fr", /lemoteur.fr$/gi],
                ["rdata", "kw"]
            ],
            Nifty: [
                [/^search.nifty./gi],
                ["q"]
            ],
            Atlas: [
                [/^searchatlas.centrum./gi],
                ["q"]
            ],
            "Lo.st": [
                ["lo.st"],
                ["x_query"]
            ],
            DasTelefonbuch: [
                [/dastelefonbuch.de$/gi],
                ["kw"]
            ],
            Fireball: [
                [/fireball.de$/gi],
                ["q"]
            ],
            "1und1": [
                [/^search.1und1./gi],
                ["su"]
            ],
            Virgilio: [
                [/\w+.virgilio.it$/gi],
                ["qs"]
            ],
            "Web.nl": [
                ["www.web.nl"],
                ["zoekwoord"]
            ],
            Plazoo: [
                ["www.plazoo.com"],
                ["q"]
            ],
            "Goyellow.de": [
                ["www.goyellow.de"],
                ["mdn"]
            ],
            AOL: [
                [/\.aol.\w{2,4}(\w{2,4})?/gi, "aolsearch.com"],
                ["q", "query"]
            ],
            Acoon: [
                ["www.acoon.de"],
                ["begriff"]
            ],
            Free: [
                [/^search(1-(2|1))?.free.fr$/gi],
                ["q"]
            ],
            HighBeam: [
                ["www.highbeam.com"],
                ["q"]
            ],
            "I-play": [
                ["start.iplay.com"],
                ["q"]
            ],
            FriendFeed: [
                ["friendfeed.com"],
                ["q"]
            ],
            Yasni: [
                [/.yasni.\w{2,4}(\w{2,4})?/gi],
                ["query"]
            ],
            Gigablast: [
                [/.gigablast.com$/gi],
                ["q"]
            ],
            arama: [
                ["arama.com"],
                ["q"]
            ],
            Fixsuche: [
                ["www.fixsuche.de"],
                ["q"]
            ],
            Apontador: [
                [/.apontador.com.$/gi],
                ["q"]
            ],
            "Search.com": [
                ["www.search.com"],
                ["q"]
            ],
            Monstercrawler: [
                ["www.monstercrawler.com"],
                ["qry"]
            ],
            "Google Images": [
                [/^images.google.\w{2,4}(.\w{2,4})?/gi, /google.\w{2,4}(.\w{2,4})?\/imgres$/gi],
                ["q"]
            ],
            "ABCs�k": [
                ["abcsolk.no", "verden.abcsok.no"],
                ["q"]
            ],
            "Google Product Search": [
                [/google.\w{2,4}(.\w{2,4})?\/products$/gi],
                ["q"]
            ],
            DasOertliche: [
                ["www.dasoertliche.de"],
                ["kw"]
            ],
            InfoSpace: [
                ["infospace.com", "dogpile.com", "www.dogpile.com", "metacrawler.com", "webfetch.com", "webcrawler.com", "search.kiwee.com", "isearch.babylon.com", "start.facemoods.com", "search.magnetic.com", "search.searchcompletion.com", "clusty.com"],
                ["q", "s"]
            ],
            Weborama: [
                ["weborama.com"],
                ["query"]
            ],
            Bluewin: [
                ["search.bluewin.ch"],
                ["searchterm"]
            ],
            Neti: [
                ["www.neti.ee"],
                ["query"]
            ],
            Winamp: [
                ["search.winamp.com"],
                ["q"]
            ],
            Nigma: [
                ["nigma.ru"],
                ["s"]
            ],
            "Yahoo! Images": [
                ["image.yahoo.cn", "images.search.yahoo.com"],
                ["p", "q"]
            ],
            Exalead: [
                ["www.exalead.fr", "www.exalead.com"],
                ["q"]
            ],
            Teoma: [
                ["www.teoma.com"],
                ["q"]
            ],
            Needtofind: [
                ["ko.search.need2find.com"],
                ["searchfor"]
            ],
            Looksmart: [
                ["www.looksmart.com"],
                ["key"]
            ],
            "Wirtualna Polska": [
                ["szukaj.wp.pl"],
                ["szukaj"]
            ],
            Toolbarhome: [
                ["www.toolbarhome.com", "vshare.toolbarhome.com"],
                ["q"]
            ],
            Searchalot: [
                ["searchalot.com"],
                ["q"]
            ],
            Yandex: [
                ["yandex.ru", "yandex.ua", "yandex.com", "www.yandex.ru", "www.yandex.ua", "www.yandex.com"],
                ["text"]
            ],
            "canoe.ca": [
                ["web.canoe.ca"],
                ["q"]
            ],
            Compuserve: [
                ["websearch.cs.com"],
                ["query"]
            ],
            Blogdigger: [
                ["www.blogdigger.com"],
                ["q"]
            ],
            Startpagina: [
                ["startgoogle.startpagina.nl"],
                ["q"]
            ],
            eo: [
                ["eo.st"],
                ["x_query"]
            ],
            Zhongsou: [
                ["p.zhongsou.com"],
                ["w"]
            ],
            "La Toile Du Quebec Via Google": [
                ["www.toile.com", "web.toile.com"],
                ["q"]
            ],
            Paperball: [
                ["www.paperball.de"],
                ["q"]
            ],
            "Jungle Spider": [
                ["www.jungle-spider.de"],
                ["q"]
            ],
            PeoplePC: [
                ["search.peoplepc.com"],
                ["q"]
            ],
            "MetaCrawler.de": [
                [/.metacrawler.de$/gi],
                ["qry"]
            ],
            Orange: [
                ["busca.orange.es", "search.orange.co.uk"],
                ["q"]
            ],
            "Gule Sider": [
                ["www.gulesider.no"],
                ["q"]
            ],
            Francite: [
                ["recherche.francite.com"],
                ["name"]
            ],
            "Ask Toolbar": [
                ["search.tb.ask.com"],
                ["searchfor"]
            ],
            "Trusted-Search": [
                ["www.trusted--search.com"],
                ["w"]
            ],
            goo: [
                ["search.goo.ne.jp", "ocnsearch.goo.ne.jp"],
                ["mt"]
            ],
            "Fast Browser Search": [
                ["www.fastbrowsersearch.com"],
                ["q"]
            ],
            Blogpulse: [
                ["www.blogpulse.com"],
                ["query"]
            ],
            Volny: [
                ["web.volny.cz"],
                ["search"]
            ],
            Icerockeet: [
                ["blogs.icerocket.com"],
                ["q"]
            ],
            Terra: [
                ["buscador.terra.es", "buscador.terra.cl", "buscador.terra.com.br"],
                ["query"]
            ],
            Amazon: [
                ["amazon.com", "www.amazon.com"],
                ["keywords"]
            ],
            Onet: [
                ["szukaj.onet.pl"],
                ["qt"]
            ],
            Digg: [
                ["digg.com"],
                ["s"]
            ],
            Abacho: [
                ["www.abacho.de", "www.abacho.com", "www.abacho.co.uk", "www.se.abacho.com", "www.tr.abacho.com", "www.abacho.at", "www.abacho.fr", "www.abacho.es", "www.abacho.ch", "www.abacho.it"],
                ["q"]
            ],
            maailm: [
                ["www.maailm.com"],
                ["tekst"]
            ],
            Flix: [
                ["www.flix.de"],
                ["keyword"]
            ],
            Suchnase: [
                ["www.suchnase.de"],
                ["q"]
            ],
            Freenet: [
                ["suche.freenet.de"],
                ["query", "Keywords"]
            ],
            DuckDuckGoL: [
                ["duckduckgo.com"],
                ["q"]
            ],
            "Poisk.ru": [
                ["www.plazoo.com"],
                ["q"]
            ],
            Sharelook: [
                ["www.sharelook.fr"],
                ["keyword"]
            ],
            Najdi: [
                ["www.najdi.si"],
                ["q"]
            ],
            Picsearch: [
                ["www.picsearch.com"],
                ["q"]
            ],
            "Mail.ru": [
                ["go.mail.ru"],
                ["q"]
            ],
            Alexa: [
                ["alexa.com", "search.toolbars.alexa.com"],
                ["q"]
            ],
            Metager: [
                ["meta.rrzn.uni-hannover.de", "www.metager.de"],
                ["eingabe"]
            ],
            Technorati: [
                ["technorati.com"],
                ["q"]
            ],
            Globososo: [
                ["searches.globososo.com", "search.globososo.com"],
                ["q"]
            ],
            WWW: [
                ["search.www.ee"],
                ["query"]
            ],
            "Trouvez.com": [
                ["www.trouvez.com"],
                ["query"]
            ],
            IXquick: [
                [/.?ixquick./gi],
                ["query"]
            ],
            "Naver Images": [
                ["image.search.naver.com", "imagesearch.naver.com"],
                ["query"]
            ],
            Zapmeta: [
                ["www.zapmeta.com", "www.zapmeta.nl", "www.zapmeta.de", "uk.zapmeta.com"],
                ["q", "query"]
            ],
            Yippy: [
                ["search.yippy.com"],
                ["q", "query"]
            ],
            Gomeo: [
                ["www.gomeo.com"],
                ["keywords"]
            ],
            Walhello: [
                ["www.walhello.info", "www.walhello.com", "www.walhello.de", "www.walhello.nl"],
                ["key"]
            ],
            Meta: [
                ["meta.ua"],
                ["q"]
            ],
            Skynet: [
                ["www.skynet.be"],
                ["q"]
            ],
            Searchy: [
                ["www.searchy.co.uk"],
                ["q"]
            ],
            Findwide: [
                ["search.findwide.com"],
                ["k"]
            ],
            WebSearch: [
                ["www.websearch.com"],
                ["qkw", "q"]
            ],
            Rambler: [
                ["nova.rambler.ru"],
                ["query", "words"]
            ],
            Latne: [
                ["www.latne.lv"],
                ["q"]
            ],
            MySearch: [
                [/(.mysearch)|(.myway).com$/gi, "search.mywebsearch.com"],
                ["searchfor", "searchFor"]
            ],
            Cuil: [
                ["www.cuil.com"],
                ["q"]
            ],
            Tixuma: [
                ["www.tixuma.de"],
                ["sc"]
            ],
            Sapo: [
                ["pesquisa.sapo.pt"],
                ["q"]
            ],
            Gnadenmeer: [
                ["www.gnadenmeer.de"],
                ["keyword"]
            ],
            Arcor: [
                ["www.arcor.de"],
                ["Keywords"]
            ],
            Naver: [
                ["search.naver.com"],
                ["query"]
            ],
            Zoeken: [
                ["www.zoeken.nl"],
                ["q"]
            ],
            Startsiden: [
                ["www.startsiden.no"],
                ["q"]
            ],
            Yam: [
                ["search.yam.com"],
                ["k"]
            ],
            Eniro: [
                ["www.eniro.se"],
                ["q", "search_word"]
            ],
            APOLL07: [
                ["apollo7.de"],
                ["query"]
            ],
            Biglobe: [
                ["cgi.search.biglobe.ne.jp"],
                ["q"]
            ],
            Mozbot: [
                ["www.mozbot.fr", "www.mozbot.co.uk", "www.mozbot.com"],
                ["q"]
            ],
            ICQ: [
                ["www.icq.com", "search.icq.com"],
                ["q"]
            ],
            Baidu: [
                [/.baidu.com$/gi, "web.gougou.com"],
                ["wd", "word", "kw", "k"]
            ],
            Conduit: [
                ["search.conduit.com"],
                ["q"]
            ],
            Vindex: [
                ["www.vindex.nl", "search.vindex.nl"],
                ["search_for"]
            ],
            Babylon: [
                ["search.babylon.com", "searchassist.babylon.com"],
                ["q"]
            ],
            TrovaRapido: [
                ["www.trovarapido.com"],
                ["q"]
            ],
            "Suchmaschine.com": [
                ["www.suchmaschine.com"],
                ["suchstr"]
            ],
            Lycos: [
                ["search.lycos.com", "www.lycos.com", "lycos.com"],
                ["query"]
            ],
            Vinden: [
                ["www.vinden.nl"],
                ["q"]
            ],
            Altavista: [
                ["www.altavista.com", "search.altavista.com", "listings.altavista.com", "altavista.de", "altavista.fr", "be-nl.altavista.com", "be-fr.altavista.com"],
                ["q"]
            ],
            dmoz: [
                ["dmoz.org", "editors.dmoz.org"],
                ["q"]
            ],
            Ecosia: [
                ["ecosia.org"],
                ["q"]
            ],
            Maxwebsearch: [
                ["maxwebsearch.com"],
                ["query"]
            ],
            Euroseek: [
                ["www.euroseek.com"],
                ["string"]
            ],
            Bing: [
                ["bing.com", "www.bing.com", "msnbc.msn.com", "dizionario.it.msn.com", "cc.bingj.com", "m.bing.com"],
                ["q"]
            ],
            "X-recherche": [
                ["www.x-recherche.com"],
                ["mots"]
            ],
            "Yandex Images": [
                ["images.yandex.ru", "images.yandex.ua", "images.yandex.com"],
                ["text"]
            ],
            GMX: [
                ["suche.gmx.net"],
                ["su"]
            ],
            "Daemon search": [
                ["daemon-search.com", "my.daemon-search.com"],
                ["q"]
            ],
            "Jungle Key": [
                ["junglekey.com", "junglekey.fr"],
                ["query"]
            ],
            Firstfind: [
                ["www.firstsfind.com"],
                ["qry"]
            ],
            Crawler: [
                ["www.crawler.com"],
                ["q"]
            ],
            Holmes: [
                ["holmes.ge"],
                ["q"]
            ],
            Charter: [
                ["www.charter.net"],
                ["q"]
            ],
            Ilse: [
                ["www.ilse.nl"],
                ["search_for"]
            ],
            earthlink: [
                ["search.earthlink.net"],
                ["q"]
            ],
            Qualigo: [
                ["www.qualigo.at", "www.qualigo.ch", "www.qualigo.de", "www.qualigo.nl"],
                ["q"]
            ],
            "El Mundo": [
                ["ariadna.elmundo.es"],
                ["q"]
            ],
            Metager2: [
                ["metager2.de"],
                ["q"]
            ],
            Forestle: [
                ["forestle.org", "www.forestle.org", "forestle.mobi"],
                ["q"]
            ],
            "Search.ch": [
                ["www.search.ch"],
                ["q"]
            ],
            Meinestadt: [
                ["www.meinestadt.de"],
                ["words"]
            ],
            Freshweather: [
                ["www.fresh-weather.com"],
                ["q"]
            ],
            AllTheWeb: [
                ["www.alltheweb.com"],
                ["q"]
            ],
            Snapdo: [
                ["search.snapdo.com"],
                ["q"]
            ],
            Zoek: [
                ["www3.zoek.nl"],
                ["q"]
            ],
            Daum: [
                ["search.daum.net"],
                ["q"]
            ],
            Marktplaats: [
                ["www.marktplaats.nl"],
                ["query"]
            ],
            "suche.info": [
                ["suche.info"],
                ["q"]
            ],
            "Google News": [
                [/news.google.\w{2,4}(.\w{2,4})?$/gi],
                ["q"]
            ],
            Zoohoo: [
                ["zoohoo.cz"],
                ["q"]
            ],
            Seznam: [
                ["search.seznam.cz"],
                ["q"]
            ],
            "Online.no": [
                ["online.no"],
                ["q"]
            ],
            Eurip: [
                ["www.eurip.com"],
                ["q"]
            ],
            "all.by": [
                ["all.by"],
                ["query"]
            ],
            "Road Runner Search": [
                ["search.rr.com"],
                ["q"]
            ],
            "Opplysningen 1881": [
                ["www.1881.no"],
                ["query"]
            ],
            YouGoo: [
                ["www.yougoo.fr"],
                ["q"]
            ],
            "Bing Images": [
                ["bing.com/images/search", "www.bing.com/images/search"],
                ["q"]
            ],
            Geona: [
                ["geona.net"],
                ["q"]
            ],
            Nate: [
                ["search.nate.com"],
                ["q"]
            ],
            "T-Online": [
                ["suche.t-online.de", "brisbane.t-online.de", "navigationshilfe.t-online.de"],
                ["q"]
            ],
            Hotbot: [
                ["www.hotbot.com"],
                ["query"]
            ],
            Kvasir: [
                ["www.kvasir.no"],
                ["q"]
            ],
            Austronaut: [
                ["www2.austronaut.at", "www1.astronaut.at"],
                ["q"]
            ],
            Excite: [
                ["search.excite.it", "search.excite.fr", "search.excite.de", "search.excite.co.uk", "serach.excite.es", "search.excite.nl", "msxml.excite.com", "www.excite.co.jp"],
                ["q", "search"]
            ],
            qip: [
                ["search.qip.ru"],
                ["query"]
            ],
            "Certified-Toolbar": [
                ["search.certified-toolbar.com"],
                ["q"]
            ],
            "Yahoo!": [
                [/.?yahoo./gi, "www.cercato.it", "search.offerbox.com", "ys.mirostart.com"],
                ["q", "p"]
            ],
            "URL.ORGanizier": [
                ["www.url.org"],
                ["q"]
            ],
            Witch: [
                ["www.witch.de"],
                ["search"]
            ],
            "Mister Wong": [
                ["www.mister-wong.com", "www.mister-wong.de"],
                ["keywords"]
            ],
            Aport: [
                ["sm.aport.ru"],
                ["r"]
            ],
            "Web.de": [
                ["suche.web.de"],
                ["su"]
            ],
            Ask: [
                [/.ask.com$/gi, "ask.reference.com", "www.askkids.com", "www.ask.co.uk", "www.qbyrd.com", "search-results.com", "uk.search-results.com", "www.search-results.com", "int.search-results.com"]
            ],
            Centrum: [
                ["serach.centrum.cz", "morfeo.centrum.cz"],
                ["q"]
            ],
            Everyclick: [
                ["www.everyclick.com"],
                ["keyword"]
            ],
            "Google Video": [
                ["video.google.com"],
                ["q"]
            ],
            Delfi: [
                ["otsing.delfi.ee"],
                ["q"]
            ],
            blekko: [
                ["blekko.com"],
                ["q"]
            ],
            Jyxo: [
                ["jyxo.1188.cz"],
                ["q"]
            ],
            Kataweb: [
                ["www.kataweb.it"],
                ["q"]
            ],
            "uol.com.br": [
                ["busca.uol.com.br"],
                ["q"]
            ],
            Arianna: [
                ["arianna.libero.it", "www.arianna.com"],
                ["query"]
            ],
            Mamma: [
                ["www.mamma.com", "mamma75.mamma.com"],
                ["query"]
            ],
            Yatedo: [
                ["www.yatedo.com", "www.yatedo.fr"],
                ["q"]
            ],
            Twingly: [
                ["www.twingly.com"],
                ["q"]
            ],
            "Delfi latvia": [
                ["smart.delfi.lv"],
                ["q"]
            ],
            PriceRunner: [
                ["www.pricerunner.co.uk"],
                ["q"]
            ],
            Rakuten: [
                ["websearch.rakuten.co.jp"],
                ["qt"]
            ],
            Google: [
                [/^(www.)?google.\w{2,4}(.\w{2,4})?$/gi, /^.incredimail.com$/gi, /.googleearth./gi, "isearch.avg.com", "www.cnn.com", "darkoogle.com", "search.darkoogle.com", "search.foxtab.com", "www.gooofullsearch.com", "search.hiyo.com", "search.sweetim.com", "www.fastweb.it", "search.juno.com", "find.tdc.dk", "searchresults.verizon.com", "search.walla.co.il", "search.alot.com", "webcache.googleusercontent.com", "encrypted.google.com", "googlesyndicatedsearch.com"],
                ["q", "query", "keywords"]
            ],
            "Google Blogsearch": [
                [/^(www.)?blogsearch.google.\w{2,4}(.\w{2,4})?$/gi],
                ["q"]
            ],
            "Hooseek.com": [
                ["www.hooseek.com"],
                ["recherche"]
            ],
            Dalesearch: [
                ["www.dalesearch.com"],
                ["q"]
            ],
            "Alice Adsl": [
                ["rechercher.aliceadsl.fr"],
                ["q"]
            ],
            "soso.com": [
                ["www.soso.com"],
                ["w"]
            ],
            Sogou: [
                ["www.sougou.com"],
                ["query"]
            ],
            "Hit-Parade": [
                ["req.-hit-parade.com", "class.hit-parade.com", "www.hit-parade.com"],
                ["p7"]
            ],
            SearchCanvas: [
                ["www.searchcanvas.com"],
                ["q"]
            ],
            Interia: [
                ["www.google.interia.pl"],
                ["q"]
            ],
            Genieo: [
                ["search.genieo.com"],
                ["q"]
            ],
            Tiscali: [
                ["search.tiscali.it", "search-dyn.tiscali.it", "hledani.tiscali.cz"],
                ["q", "key"]
            ],
            Clix: [
                ["pesquisa.clix.pt"],
                ["question"]
            ]
        },
        email: {
            Bigpond: [
                ["webmail.bigpond.com", "webmail2.bigpond.com"]
            ],
            "Naver Mail": [
                ["mail.naver.com"]
            ],
            "Optus Zoo": [
                ["webmail.optuszoo.com.au"]
            ],
            "Seznam Mail": [
                ["email.seznam.cz"]
            ],
            "126 Mail": [
                ["mail.126.com"]
            ],
            "Outlook.com": [
                ["mail.live.com"]
            ],
            "AOL Mail": [
                ["mail.aol.com"]
            ],
            "Daum Mail": [
                ["mail2.daum.net"]
            ],
            "Yahoo! Mail": [
                ["mail.yahoo.net", "mail.yahoo.com", "mail.yahoo.co.uk", "mail.yahoo.co.jp"]
            ],
            "163 Mail": [
                ["mail.163.com"]
            ],
            "Orange Webmail": [
                ["orange.fr/webmail"]
            ],
            "QQ Mail": [
                ["mail.qq.com"]
            ],
            Gmail: [
                ["mail.google.com"]
            ]
        },
        social: {
            hi5: [
                ["hi5.com"]
            ],
            Friendster: [
                ["friendster.com"]
            ],
            Weibo: [
                ["weibo.com", "t.cn"]
            ],
            Xanga: [
                ["xanga.com"]
            ],
            Myspace: [
                ["myspace.com"]
            ],
            Buzznet: [
                ["wayn.com"]
            ],
            MyLife: [
                ["mylife.ru"]
            ],
            Flickr: [
                ["flickr.com"]
            ],
            "Sonico.com": [
                ["sonico.com"]
            ],
            Odnoklassniki: [
                ["odnoklassniki.ru"]
            ],
            GitHub: [
                ["github.com"]
            ],
            Classmates: [
                ["classmates.com"]
            ],
            "Friends Reunited": [
                ["friendsreunited.com"]
            ],
            Renren: [
                ["renren.com"]
            ],
            "vKruguDruzei.ru": [
                ["vkrugudruzei.ru"]
            ],
            "Gaia Online": [
                ["gaiaonline.com"]
            ],
            Netlog: [
                ["netlog.com"]
            ],
            Orkut: [
                ["orkut.com"]
            ],
            MyHeritage: [
                ["myheritage.com"]
            ],
            Multiply: [
                ["multiply.com"]
            ],
            myYearbook: [
                ["myyearbook.com"]
            ],
            WeeWorld: [
                ["weeworld.com"]
            ],
            Vimeo: [
                ["vimeo.com"]
            ],
            Geni: [
                ["geni.com"]
            ],
            SourceForge: [
                ["sourceforge.net"]
            ],
            Plaxo: [
                ["plaxo.com"]
            ],
            "Taringa!": [
                ["taringa.net"]
            ],
            Tagged: [
                ["login.tagged.com"]
            ],
            XING: [
                ["xing.com"]
            ],
            Instagram: [
                ["instagram.com"]
            ],
            Vkontakte: [
                ["vk.com", "vkontakte.ru"]
            ],
            Twitter: [
                ["twitter.com", "t.co"]
            ],
            WAYN: [
                ["wayn.com"]
            ],
            Tuenti: [
                ["tuenti.com"]
            ],
            "Mail.ru": [
                ["my.mail.ru"]
            ],
            Badoo: [
                ["badoo.com"]
            ],
            Habbo: [
                ["habbo.com"]
            ],
            Pinterest: [
                ["pinterest.com"]
            ],
            LinkedIn: [
                ["linkedin.com"]
            ],
            Foursquare: [
                ["foursquare.com"]
            ],
            Flixster: [
                ["flixster.com"]
            ],
            "Windows Live Spaces": [
                ["login.live.com"]
            ],
            BlackPlanet: [
                ["blackplanet.com"]
            ],
            Cyworld: [
                ["global.cyworld.com"]
            ],
            Pocket: [
                ["getpocket.com"]
            ],
            Skyrock: [
                ["skyrock.com"]
            ],
            Facebook: [
                ["facebook.com", "fb.me"]
            ],
            StudiVZ: [
                ["studivz.net"]
            ],
            Fotolog: [
                ["fotolog.com"]
            ],
            "Google+": [
                ["url.google.com", "plus.google.com"]
            ],
            "Nasza-klasa.pl": [
                ["nk.pl"]
            ],
            Qzone: [
                ["qzone.qq.com"]
            ],
            Douban: [
                ["douban.com"]
            ],
            Bebo: [
                ["bebo.com"]
            ],
            Youtube: [
                ["youtube.com", "youtu.be"]
            ],
            Reddit: [
                ["reddit.com"]
            ],
            "Identi.ca": [
                ["identi.ca"]
            ],
            StackOverflow: [
                ["stackoverflow.com"]
            ],
            Mixi: [
                ["mixi.jp"]
            ],
            StumbleUpon: [
                ["stumbleupon.com"]
            ],
            Viadeo: [
                ["viadeo.com"]
            ],
            "Last.fm": [
                ["lastfm.ru"]
            ],
            LiveJournal: [
                ["livejournal.ru"]
            ],
            Tumblr: [
                ["tumblr.com"]
            ],
            "Hacker News": [
                ["news.ycombinator.com"]
            ],
            Delicious: [
                ["delicious.com"]
            ],
            Hyves: [
                ["hyves.nl"]
            ],
            "Paper.li": [
                ["paper.li"]
            ],
            "MoiKrug.ru": [
                ["moikrug.ru"]
            ]
        }
    }
}, function(e, t, i) {
    "use strict";

    function a(e) {
        return e && e.__esModule ? e : {
            default: e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = i(9),
        o = a(n),
        r = i(1),
        l = i(14),
        s = a(l),
        u = i(202),
        d = a(u),
        c = i(10),
        f = a(c),
        p = i(58),
        h = f.default.name("utm"),
        m = {
            utmccn: "campaign",
            utmcsr: "source",
            utmcmd: "medium",
            utmctr: "keyword",
            utmcct: "content"
        },
        g = {
            parseUTM: function(e, t, i) {
                var a = {},
                    n = !1;
                try {
                    var l = (0, r.cookie)("__utmz");
                    if (l) {
                        var s, u = decodeURI(l).replace(/^[0-9\.]*/g, "");
                        if (u)
                            for (var c = u.split("|"), f = 0; f < c.length; f++) s = c[f].substr(0, 6), s in m && (a[m[s]] = c[f].substr(7))
                    }
                } catch (e) {
                    (0, r.reportException)({
                        message: "utmz parse error",
                        stack: e.stack,
                        lineNumber: 1,
                        fileName: "utm.js",
                        column: 1
                    })
                }
                if (i)
                    for (var g = i.split("|"), v = void 0, b = o.default.values(m), _ = 0; _ < g.length; _++) v = g[_].split("="), 2 === v.length && (b.indexOf(v[0]) >= 0 ? (a[v[0]] = v[1], n = !0) : "term" === v[0] && (a.keyword = v[1]));
                if (!n)
                    if ("string" == typeof t && "" !== t) {
                        h.log("processing_refer", t, e);
                        var w = new d.default(t, e);
                        if (!w.known) return void h.log("unknown_refer");
                        if ("internal" === w.medium) {
                            if (w.uri.query && w.uri.query.length) {
                                var y = p.parse(w.uri.query);
                                for (var x in m) y["utm_" + m[x]] && (a[m[x]] = y["utm_" + m[x]])
                            }
                            o.default.isEmpty(a) && o.default.extend(a, {
                                campaign: "(direct)",
                                source: "(direct)"
                            }), o.default.extend(a, {
                                campaign: "(direct)",
                                source: "(direct)"
                            })
                        } else "unknown" === w.medium ? o.default.extend(a, {
                            campaign: "(referral)",
                            medium: "referral",
                            source: w.uri.hostname,
                            content: w.uri.path
                        }) : o.default.extend(a, {
                            campaign: "(organic)",
                            source: w.referer,
                            medium: w.medium,
                            keyword: w.search_term,
                            content: ""
                        })
                    } else o.default.isEmpty(a) && o.default.extend(a, {
                        campaign: "(direct)",
                        source: "(direct)"
                    });
                return a
            },
            getUTMParamsFromUrl: function(e) {
                for (var t = e.indexOf("?"), i = null; i != -1;) i = e.indexOf("?", t + 1), i > 0 && (t = i);
                var a, n, o = e.substr(t + 1),
                    r = o.split("&"),
                    l = "";
                for (n = r.length; n--;) a = r[n].split("="), a[0].indexOf("utm_") >= 0 && (a = r[n], l += (l.length > 0 ? "|" : "") + a.substr(a.indexOf("utm_") + 4));
                return l
            },
            setUTM: function(e, t) {
                var i = g.getUTMParamsFromUrl(e);
                (0, r.cookie)("utm", i), s.default.utm = g.parseUTM(e, t, i)
            }
        };
    t.default = g
}, function(e, t) {
    "use strict";
    ! function(e) {
        var t, i = 2e4,
            a = 5e3,
            n = a << 4,
            o = i * (1.5 - Math.random()) << 0,
            r = i + 1e