#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 >1O70B5;L=> A2O65<AO A 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, "<").replace(/>/g, ">")
},
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 = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'",
"`": "`"
},
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(/ /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(/"/g, '"').replace(/'/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: /(?:[!?.,:;'"]|(?:&|&)(?: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(/"/g, '"').replace(/'/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 + 1e4,
l = function(e, i) {
if ("function" == typeof t[e]) try {
return t[e](i)
} catch (i) {
if ("onerror" !== e) try {
t.onerror(i)
} catch (e) {}
}
},
s = function(e) {
return void 0 === e ? "" : ("string" != typeof e && (e = String(e)), e.replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/[\x00-\x19]/g, " "))
},
u = /^[a-zA-Z0-9]{1,16}$/,
d = /^[_a-zA-Z][_a-zA-Z0-9]{0,7}$/,
c = /^[a-zA-Z0-9]{10}$/;
e.ClientSocket = function() {
if (t) return t;
t = this;
var e, f, p, h, m = a,
g = function e( |