@textback/notification-widget 2.0.0-9450 → 2.0.1-102913
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +291 -291
- package/build/index.js +6 -3
- package/build/sdk.js +3 -3
- package/package.json +11 -8
- package/promote_tag.sh +1 -1
- package/{README.md → readme.md} +569 -490
- package/server.js +134 -134
- package/src/libraries/ai.1.0.11.js +4088 -4088
- package/src/libraries/localization/getLocale.js +17 -0
- package/src/libraries/localization/locales/.tern-port +1 -0
- package/src/libraries/localization/locales/cs.js +23 -0
- package/src/libraries/localization/locales/en.js +23 -0
- package/src/libraries/localization/locales/index.js +9 -0
- package/src/libraries/localization/locales/pl.js +23 -0
- package/src/libraries/localization/locales/ro.js +23 -0
- package/src/libraries/localization/locales/ru.js +22 -0
- package/src/libraries/localization/locales/uk.js +23 -0
- package/src/libraries/localization/text.js +9 -0
- package/src/libraries/t.js +82 -82
- package/src/sdk/channels/channel.js +30 -30
- package/src/sdk/channels/facebook.js +13 -13
- package/src/sdk/channels/factory.js +3 -3
- package/src/sdk/channels/skype.js +12 -12
- package/src/sdk/channels/telegram.js +18 -13
- package/src/sdk/channels/viber.js +12 -12
- package/src/sdk/channels/vk-modal/vk-modal.html +17 -17
- package/src/sdk/channels/vk-modal/vk-modal.js +25 -25
- package/src/sdk/channels/vk-modal/vk-modal.scss +116 -116
- package/src/sdk/channels/vk.js +195 -173
- package/src/sdk/channels/whatsapp.js +20 -11
- package/src/sdk/channels/whatsappb.js +27 -0
- package/src/sdk/events/observer.js +46 -46
- package/src/sdk/index.js +5 -5
- package/src/sdk/sdk.js +67 -30
- package/src/sdk/utils/apiErrorHandler.js +11 -11
- package/src/sdk/utils/appInsights.js +88 -88
- package/src/sdk/utils/browserInfo.js +8 -8
- package/src/sdk/utils/constants.js +17 -17
- package/src/sdk/utils/cookies.js +67 -50
- package/src/sdk/utils/find.js +7 -7
- package/src/sdk/utils/loadConfig.js +20 -20
- package/src/sdk/utils/loadDeepLink.js +48 -21
- package/src/sdk/utils/loadScript.js +25 -25
- package/src/sdk/utils/loadSubscriptions.js +6 -6
- package/src/sdk/utils/parseQueryString.js +33 -33
- package/src/sdk/utils/windowHelper.js +25 -0
- package/src/sdk/widget/widget.js +192 -140
- package/src/widget/components/index.js +6 -2
- package/src/widget/components/tb-notification-button/facebook.js +9 -2
- package/src/widget/components/tb-notification-button/index.js +34 -34
- package/src/widget/components/tb-notification-button/styles.scss +657 -433
- package/src/widget/components/tb-notification-button/telegram.js +9 -2
- package/src/widget/components/tb-notification-button/viber.js +9 -2
- package/src/widget/components/tb-notification-button/vk.js +60 -47
- package/src/widget/components/tb-notification-button/whatsapp.js +15 -8
- package/src/widget/components/tb-notification-button/whatsappb.js +58 -0
- package/src/widget/components/tb-notification-widget/index.js +597 -353
- package/src/widget/components/tb-notification-widget/normalize.scss +395 -394
- package/src/widget/components/tb-notification-widget/styles.scss +514 -136
- package/src/widget/components/tb-nw-wahunter/index.js +259 -0
- package/src/widget/components/tb-nw-wahunter/styles.scss +471 -0
- package/src/widget/config.js +5 -5
- package/src/widget/icons/icon_chat_window.svg +1 -0
- package/src/widget/icons/icon_close.svg +1 -0
- package/src/widget/icons/icon_facebook.svg +7 -7
- package/src/widget/icons/icon_facebook_circle.svg +7 -9
- package/src/widget/icons/icon_instagram_circle.svg +95 -95
- package/src/widget/icons/icon_skype.svg +44 -44
- package/src/widget/icons/icon_skype_circle.svg +46 -46
- package/src/widget/icons/icon_skype_new.svg +113 -113
- package/src/widget/icons/icon_tg.svg +25 -25
- package/src/widget/icons/icon_tg_circle.svg +17 -27
- package/src/widget/icons/icon_viber.svg +75 -75
- package/src/widget/icons/icon_viber_circle.svg +67 -77
- package/src/widget/icons/icon_viber_new.svg +102 -102
- package/src/widget/icons/icon_vk.svg +14 -14
- package/src/widget/icons/icon_vk_circle.svg +16 -16
- package/src/widget/icons/icon_whatsapp.svg +147 -147
- package/src/widget/icons/icon_whatsapp_circle.svg +4 -123
- package/src/widget/icons/icon_whatsapp_hollow.svg +128 -0
- package/src/widget/icons/icon_whatsapp_new.svg +127 -127
- package/src/widget/icons/icon_whatsappb.svg +147 -0
- package/src/widget/icons/icon_whatsappb_circle.svg +4 -0
- package/src/widget/icons/icon_whatsappb_new.svg +127 -0
- package/src/widget/icons/paper-plane-arrow.svg +3 -0
- package/src/widget/icons/tb-logo.svg +21 -0
- package/src/widget/index.js +28 -28
- package/src/widget/locales/cs.js +42 -0
- package/src/widget/locales/en.js +42 -20
- package/src/widget/locales/index.js +2 -2
- package/src/widget/locales/pl.js +41 -19
- package/src/widget/locales/ro.js +41 -20
- package/src/widget/locales/ru.js +40 -19
- package/src/widget/locales/uk.js +40 -19
- package/src/widget/utils/cookiesEx.js +41 -41
- package/src/widget/utils/getLocale.js +4 -2
- package/src/widget/utils/stringifyAttributes.js +19 -19
- package/src/widget/utils/text.js +2 -1
- package/src/widget/utils/widgetsStorage.js +28 -28
- package/src/widget/widget.entry.js +3 -4
- package/tests/gf.html +35 -35
- package/tests/gf.js +21 -21
- package/tests/index.js +61 -61
- package/views/examples.ejs +7 -3
- package/views/sdk.html +274 -256
- package/webpack.common.js +72 -72
- package/webpack.dev.js +15 -15
- package/webpack.prod.js +10 -17
- package/build/index.js.map +0 -1
- package/build/sdk.js.map +0 -1
- package/src/widget/components/tb-notification-button/skype.js +0 -47
- package/src/widget/icons/text-back-badge.png +0 -0
- package/src/widget/locales/cz.js +0 -20
package/build/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///index.js","webpack:///webpack/bootstrap 76368bd652f6fc5f994a","webpack:///./src/sdk/utils/constants.js","webpack:///./src/sdk/channels/channel.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./src/sdk/utils/apiErrorHandler.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/uuid-js/lib/uuid.js","webpack:///./node_modules/lodash/assign.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./src/widget/components/tb-notification-button/index.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/lodash/identity.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./src/sdk/utils/appInsights.js","webpack:///./src/sdk/events/observer.js","webpack:///./src/sdk/index.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_createAssigner.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./src/sdk/utils/cookies.js","webpack:///./src/sdk/utils/find.js","webpack:///./src/widget/icons/icon_vk.svg","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./src/sdk/sdk.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./src/sdk/widget/widget.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_baseRest.js","webpack:///./node_modules/lodash/_overRest.js","webpack:///./node_modules/lodash/_apply.js","webpack:///./node_modules/lodash/_setToString.js","webpack:///./node_modules/lodash/_baseSetToString.js","webpack:///./node_modules/lodash/constant.js","webpack:///./node_modules/lodash/_shortOut.js","webpack:///./node_modules/lodash/_isIterateeCall.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./src/sdk/utils/loadConfig.js","webpack:///./src/sdk/utils/loadDeepLink.js","webpack:///./src/sdk/utils/loadSubscriptions.js","webpack:///./src/sdk/utils/parseQueryString.js","webpack:///./src/sdk/channels/factory.js","webpack:///./src/sdk/channels/facebook.js","webpack:///./src/sdk/channels/skype.js","webpack:///./src/sdk/channels/telegram.js","webpack:///./src/sdk/channels/viber.js","webpack:///./src/sdk/channels/vk.js","webpack:///./src/sdk/utils/loadScript.js","webpack:///./src/sdk/channels/vk-modal/vk-modal.js","webpack:///./src/libraries/t.js","webpack:///./src/sdk/channels/vk-modal/vk-modal.scss?f956","webpack:///./src/sdk/channels/vk-modal/vk-modal.scss","webpack:///./node_modules/style-loader/lib/urls.js","webpack:///./src/sdk/channels/vk-modal/vk-modal.html","webpack:///./src/sdk/channels/whatsapp.js","webpack:///./src/sdk/utils/browserInfo.js","webpack:///./node_modules/es6-promise/dist/es6-promise.js","webpack:///./node_modules/process/browser.js","webpack:///./src/widget/components/index.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_assignMergeValue.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_safeGet.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./src/widget/locales/index.js","webpack:///./src/widget/locales/cz.js","webpack:///./src/widget/widget.entry.js","webpack:///./src/widget/index.js","webpack:///./src/widget/components/tb-notification-widget/index.js","webpack:///./node_modules/lodash/merge.js","webpack:///./node_modules/lodash/_baseMerge.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_baseFor.js","webpack:///./node_modules/lodash/_createBaseFor.js","webpack:///./node_modules/lodash/_baseMergeDeep.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/isArrayLikeObject.js","webpack:///./node_modules/lodash/isPlainObject.js","webpack:///./node_modules/lodash/toPlainObject.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./src/widget/utils/text.js","webpack:///./src/widget/locales/en.js","webpack:///./src/widget/locales/ru.js","webpack:///./src/widget/locales/pl.js","webpack:///./src/widget/locales/ro.js","webpack:///./src/widget/locales/uk.js","webpack:///./src/widget/utils/getLocale.js","webpack:///./src/widget/utils/stringifyAttributes.js","webpack:///./src/widget/utils/cookiesEx.js","webpack:///./src/widget/config.js","webpack:///./src/widget/utils/widgetsStorage.js","webpack:///./src/widget/icons/bell-icon.png","webpack:///./src/widget/icons/broadcast-icon.png","webpack:///./src/widget/icons/paper-plane-icon.png","webpack:///./src/widget/icons/text-back-badge.png","webpack:///./src/widget/components/tb-notification-widget/normalize.scss?9f9c","webpack:///./src/widget/components/tb-notification-widget/normalize.scss","webpack:///./src/widget/components/tb-notification-widget/styles.scss?16a3","webpack:///./src/widget/components/tb-notification-widget/styles.scss","webpack:///./src/widget/components/tb-notification-button/vk.js","webpack:///./src/widget/components/tb-notification-button/styles.scss?bfa7","webpack:///./src/widget/components/tb-notification-button/styles.scss","webpack:///./src/widget/icons/icon_vk_circle.svg","webpack:///./src/widget/components/tb-notification-button/telegram.js","webpack:///./src/widget/icons/icon_tg.svg","webpack:///./src/widget/icons/icon_tg_circle.svg","webpack:///./src/widget/components/tb-notification-button/facebook.js","webpack:///./src/widget/icons/icon_facebook.svg","webpack:///./src/widget/icons/icon_facebook_circle.svg","webpack:///./src/widget/components/tb-notification-button/skype.js","webpack:///./src/widget/icons/icon_skype.svg","webpack:///./src/widget/icons/icon_skype_new.svg","webpack:///./src/widget/icons/icon_skype_circle.svg","webpack:///./src/widget/components/tb-notification-button/viber.js","webpack:///./src/widget/icons/icon_viber.svg","webpack:///./src/widget/icons/icon_viber_new.svg","webpack:///./src/widget/icons/icon_viber_circle.svg","webpack:///./src/widget/components/tb-notification-button/whatsapp.js","webpack:///./src/widget/icons/icon_whatsapp.svg","webpack:///./src/widget/icons/icon_whatsapp_new.svg","webpack:///./src/widget/icons/icon_whatsapp_circle.svg"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","value","constants","COOKIE_NAME_PREFIX","WIDGET_USER_ID_COOKIE_TTL","COOKIE_WIDGET_USER_ID","SECONDS_IN_DAY","WIDGET_TYPE_API_CALL","WIDGET_TYPE_WIDGET","DEFAULT_WIDGET_TYPE","SUBSCRIPTION_WINDOW_PROPS","default","_classCallCheck","instance","Constructor","TypeError","_createClass","defineProperties","target","props","length","descriptor","writable","key","protoProps","staticProps","_observer","Channel","channelData","arguments","undefined","deeplink","widget","this","config","channel","channelId","enabled","id","slug","initPromise","hasError","Observer","trigger","EVENTS","SUBSCRIBE_START","widgetId","_console","console","error","apply","isObject","type","apiErrorHandler","res","json","then","data","$error","Promise","reject","msg","scn","headers","catch","status","freeGlobal","freeSelf","self","root","Function","isArrayLike","isLength","isFunction","isObjectLike","baseGetTag","undefinedTag","nullTag","symToStringTag","getRawTag","objectToString","Symbol","toStringTag","eq","other","isPrototype","Ctor","constructor","objectProto","UUIDjs","getRandomInt","min","max","Math","floor","random","maxFromBits","bits","pow","limitUI04","limitUI06","limitUI08","limitUI12","limitUI14","limitUI16","limitUI32","limitUI40","limitUI48","randomUI04","randomUI06","randomUI08","randomUI12","randomUI14","randomUI16","randomUI32","randomUI40","randomUI48","paddedString","string","z","String","fromParts","timeLow","timeMid","timeHiAndVersion","clockSeqHiAndReserved","clockSeqLow","node","version","hex","toString","toURN","toBytes","parts","split","ints","intPos","j","parseInt","substr","equals","uuid","UUID","getTimeFieldValues","time","ts","Date","UTC","hm","low","mid","hi","timestamp","_create4","_create1","now","getTime","sequence","tick","tf","tl","thav","cshar","csl","create","fromTime","last","firstFromTime","lastFromTime","fromURN","strId","r","exec","fromBytes","str","pos","octet","fromBinary","binary","charCodeAt","Error","new","newTS","assignValue","copyObject","createAssigner","keys","assign","source","baseAssignValue","tag","funcTag","genTag","asyncTag","proxyTag","webpackPolyfill","deprecate","paths","children","cssWithMappingToString","item","useSourceMap","content","cssMapping","btoa","sourceMapping","toComment","concat","sources","map","sourceRoot","join","sourceMap","unescape","encodeURIComponent","JSON","stringify","list","mediaQuery","alreadyImportedModules","push","addStylesToDom","styles","options","domStyle","stylesInDom","refs","addStyle","listToStyles","newStyles","base","css","media","part","insertStyleElement","style","getElement","insertInto","lastStyleElementInsertedAtTop","stylesInsertedAtTop","insertAt","nextSibling","insertBefore","appendChild","firstChild","before","removeStyleElement","parentNode","removeChild","idx","indexOf","splice","createStyleElement","document","createElement","attrs","addAttrs","createLinkElement","link","rel","el","forEach","setAttribute","obj","update","remove","result","transform","singleton","styleIndex","singletonCounter","applyToSingletonTag","bind","URL","createObjectURL","revokeObjectURL","Blob","updateLink","href","applyToTag","newObj","index","styleSheet","cssText","replaceText","cssNode","createTextNode","childNodes","autoFixUrls","convertToAbsoluteUrls","fixUrls","blob","oldSrc","isOldIE","fn","memo","window","all","atob","selector","styleTarget","HTMLIFrameElement","contentDocument","head","e","querySelector","DEBUG","newList","mayRemove","textStore","replacement","filter","Boolean","_interopRequireDefault","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_get","receiver","desc","getOwnPropertyDescriptor","parent","getPrototypeOf","_index","_index2","_appInsights","_appInsights2","_find","_find2","Button","_Component","_this","element","channelAPI","widgetAPI","getEnabledChannels","_this2","addEventListener","appInsights","trackButtonClick","parse","getAttribute","Component","objValue","getNative","func","getValue","baseIsNative","global","g","eval","identity","MAX_SAFE_INTEGER","isIndex","reIsUint","test","init","aiKey","userId","accountId","resolve","TextBack","context","t","queue","u","f","src","url","getElementsByTagName","cookie","pop","disableExceptionTracking","instrumentationKey","disableAjaxTracking","timer","setInterval","_onerror","clearInterval","setAuthenticatedUserContext","trackEvent","eventName","channelType","payload","widgetUrl","location","trackWidgetEvent","reason","_assign","_assign2","WIDGET_INIT","_handlers","on","fnIndex","eventData","setTimeout","handler","err","_sdk","_sdk2","SDK","customizer","isNew","newValue","assigner","baseRest","guard","isIterateeCall","arrayLikeKeys","inherited","isArr","isArray","isArg","isArguments","isBuff","isBuffer","isType","isTypedArray","skipIndexes","baseTimes","baseIsArguments","propertyIsEnumerable","Array","stubFalse","freeExports","nodeType","freeModule","moduleExports","Buffer","nativeIsBuffer","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","overArg","arg","cookies","getCookie","nameEQ","ca","charAt","substring","decodeURIComponent","setCookie","expires","date","setTime","toUTCString","deleteCookie","find","array","predicate","ListCache","entries","clear","entry","set","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","has","assocIndexOf","nativeCreate","getMapData","__data__","isKeyable","_widget","_widget2","polyfill","widgets","Widget","initialize","normalizeName","toLowerCase","normalizeValue","iteratorFor","items","iterator","next","shift","done","support","iterable","Headers","append","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","readBlobAsText","readAsText","readArrayBufferAsText","buf","view","Uint8Array","chars","fromCharCode","bufferClone","slice","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","formData","FormData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","isDataView","_bodyArrayBuffer","ArrayBuffer","isArrayBufferView","rejected","text","decode","normalizeMethod","method","upcased","toUpperCase","methods","Request","input","credentials","mode","referrer","form","trim","bytes","replace","parseHeaders","rawHeaders","line","Response","bodyInit","ok","statusText","fetch","viewClasses","DataView","isView","oldValue","callback","thisArg","values","clone","response","redirectStatuses","redirect","RangeError","request","xhr","XMLHttpRequest","getAllResponseHeaders","responseURL","responseText","ontimeout","open","withCredentials","responseType","setRequestHeader","send","_slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","_uuidJs","_uuidJs2","_apiErrorHandler","_loadConfig","_loadConfig2","_loadDeepLink","_loadDeepLink2","_loadSubscriptions","_loadSubscriptions2","_cookies","_cookies2","_constants","_constants2","_parseQueryString","_parseQueryString2","_factory","_factory2","INITIAL_CONFIG_DEFAULTS","apiPath","sdk","initialConfig","channels","initialized","widgetUserId","getWidgetUserId","insecureContext","createInsecureContext","secureContextToken","initializeConfig","_ref","_ref2","subscriptions","$value","$items","useVKApi","getAiKey","user","_ref3","_ref4","channelsFactory","channelInitPromises","channelPromises","overrideConfig","channelCode","chan","subscribe","ctx","pageTitle","title","pageUrl","protocol","host","pathname","params","search","timezoneOffset","getTimezoneOffset","isMasked","reIsNative","reIsHostCtor","toSource","reRegExpChar","funcProto","funcToString","RegExp","isOwn","unmasked","nativeObjectToString","maskSrcKey","coreJsData","uid","IE_PROTO","start","setToString","overRest","nativeMax","args","otherArgs","baseSetToString","shortOut","constant","count","lastCalled","stamp","nativeNow","remaining","HOT_SPAN","HOT_COUNT","baseKeys","iteratee","argsTag","typedArrayTags","freeProcess","process","types","require","binding","nativeKeys","loadConfig","cache","loadingPromise","_apiErrorHandler2","loadDeepLink","Content-Type","loadSubscriptions","parseQueryString","query","vars","queryString","pair","_typeof","getConstructor","FacebookChannel","SkypeChannel","TelegramChannel","ViberChanel","VKChannel","WhatsappChannel","_facebook","_facebook2","_skype","_skype2","_telegram","_telegram2","_viber","_viber2","_vk","_vk2","_whatsapp","_whatsapp2","channelObj","_channel","_channel2","_Channel","ViberChannel","loadVkLib","VK","Auth","_loadScript2","initVK","apiId","_apiId","getLoginStatus","_loadScript","_vkModal","_vkModal2","vkApiId","vkPluginContainerId","authorized","getSession","__handleVKLoadingError","subscribeViaPlugin","__allowMessagesFromGroup","__login","_this3","Api","group_id","v","vkSession","vkUserId","__textbackSubscribe","login","address","remoteAddress","chatId","_this4","modal","VKModal","renderVKSubscriptionButton","onClose","vkSubscribeHandler","unsubscribe","height","containerId","Widgets","AllowMessagesFromCommunity","disableAllowMessageEvents","loadScript","ready","scriptElement","async","onreadystatechange","readyState","onabort","_t","_t2","_icon_vk","_icon_vk2","modalContainer","innerHTML","vkTemplate","render","vkIcon","event","classList","add","template","scrub","val","Option","get_value","fragment","blockregex","_","__","meta","inner","if_true","has_else","if_false","temp","_key","_val","valregex","hmr","locals","baseUrl","currentDir","fullMatch","origUrl","unquotedOrigUrl","$1","newUrl","_browserInfo","_browserInfo2","prefixText","domainPrefix","browserInfo","isMobile","navigator","userAgent","factory","objectOrFunction","x","setScheduler","scheduleFn","customSchedulerFn","setAsap","asapFn","asap","useVertxTimer","vertxNext","flush","useSetTimeout","globalSetTimeout","len","onFulfillment","onRejection","child","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","resolve$1","selfFulfillment","cannotReturnOwn","getThen","TRY_CATCH_ERROR","tryThen","then$$1","fulfillmentHandler","rejectionHandler","handleForeignThenable","thenable","sealed","fulfill","_label","handleOwnThenable","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","publishRejection","publish","PENDING","_subscribers","subscribers","settled","detail","tryCatch","hasCallback","succeeded","failed","initializePromise","resolver","nextId","validationError","Enumerator","race","reject$1","needsResolver","needsNew","local","P","promiseToString","cast","Promise$1","_isArray","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","nextTick","iterations","observer","observe","characterData","port1","onmessage","port2","postMessage","vertx","runOnLoop","runOnContext","_instanceConstructor","_remaining","_enumerate","_eachEntry","resolve$$1","_then","_settledAt","_willSettleAt","state","enumerator","finally","_setScheduler","_setAsap","_asap","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","clearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","timeout","run","Item","browser","env","argv","versions","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","cwd","chdir","dir","umask","_merge","_merge2","_text2","_text3","_getLocale","_getLocale2","tagName","dataset","defaults","lang","merge","Map","assignMergeValue","getPrototype","safeGet","keysIn","baseKeysIn","main","ru","pl","ro","uk","cz","cs-CZ","facebook","sign-facebook","skype","sign-skype","telegram","sign-telegram","viber","sign-viber","vkontakte","vkontakte login","sign-vk","whatsapp","sign-whatsapp","telegram_tip","facebook_tip","viber_tip","vkontakte_tip","whatsapp_tip","_index3","_index4","NotificationWidget","initializeWidgets","widgetElements","locales","VERSION","_stringifyAttributes","_stringifyAttributes2","_cookiesEx","_cookiesEx2","_config","_config2","_widgetsStorage","_widgetsStorage2","_bellIcon","_bellIcon2","_broadcastIcon","_broadcastIcon2","_paperPlaneIcon","_paperPlaneIcon2","_textBackBadge","_textBackBadge2","channelButtons","vk","tg","DEFAULT_BUTTONS_MARKUP","displayMode","align","onlyManual","hasAttribute","predefinedConfig","widgetConfig","widgetInitPromise","getWidget","initWidget","getConfig","markUp","buttons","widgetSubscriptions","deepLink","widgetsStorage","setWidget","querySelectorAll","sessionShowCounterName","daysShowCounterName","daysCloseCounterName","totalCloseCounterName","showWidgetSetting","popup","getElementById","className","preventDefault","daysTimeout","showAfterDays","cookiesEx","incrementIntCookie","showIfSubscribed","sessionTimeout","showSessionLength","daysShowCounter","sessionShowCounter","daysCloseCounter","getIntCookie","totalCloseCounter","sendNonDisplayed","showTimesInSession","showTimesInRow","closeTimesInRow","closeTimesInTotal","displayOptions","onTimeout","onLeave","telemetryFlag","timeoutDelay","clientY","classes","prefix","color","description","icon","iconPreset","palette","buttonsStyle","buttonsStyleClass","attributes","pallet","buttonsContainerClasses","getButtonsClasses","html","iconBell","iconBroadcast","iconPaperPlane","iconTextBackBadge","baseMerge","srcIndex","stack","baseFor","srcValue","Stack","baseMergeDeep","size","stackClear","stackDelete","stackGet","stackHas","stackSet","arrayProto","pairs","LARGE_ARRAY_SIZE","MapCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","hash","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","HASH_UNDEFINED","createBaseFor","fromRight","keysFunc","mergeFunc","stacked","isCommon","isTyped","isArrayLikeObject","copyArray","cloneBuffer","cloneTypedArray","isPlainObject","toPlainObject","initCloneObject","isDeep","allocUnsafe","copy","typedArray","cloneArrayBuffer","byteOffset","baseCreate","objectCreate","proto","objectTag","objectCtorString","nativeKeysIn","isProto","locale","getLocale","language","stringifyAttributes","attributesMap","getBoolCookie","timeToLive","rootElement","widgetPromise","storage","setVkHandler","vkHandler","getVkHandler","_icon_vk_circle","_icon_vk_circle2","VKButton","_Button","buttonContainerId","subscribeViaApi","iconCircle","_icon_tg","_icon_tg2","_icon_tg_circle","_icon_tg_circle2","TelegramButton","_icon_facebook","_icon_facebook2","_icon_facebook_circle","_icon_facebook_circle2","FacebookButton","_icon_skype","_icon_skype2","_icon_skype_new","_icon_skype_new2","_icon_skype_circle","_icon_skype_circle2","SkypeButton","iconNew","_icon_viber","_icon_viber2","_icon_viber_new","_icon_viber_new2","_icon_viber_circle","_icon_viber_circle2","ViberButton","_icon_whatsapp","_icon_whatsapp2","_icon_whatsapp_new","_icon_whatsapp_new2","_icon_whatsapp_circle","_icon_whatsapp_circle2","WhatsappButton"],"mappings":"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","file":"index.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 102);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar COOKIE_NAME_PREFIX = 'tb_notif_widget_';\nvar constants = {\n COOKIE_NAME_PREFIX: COOKIE_NAME_PREFIX,\n /**\r\n * 10 years\r\n */\n WIDGET_USER_ID_COOKIE_TTL: 315360000,\n COOKIE_WIDGET_USER_ID: COOKIE_NAME_PREFIX + 'widgetUserId',\n SECONDS_IN_DAY: 86400,\n // make subscription using API call\n WIDGET_TYPE_API_CALL: 'apiCall',\n // make subscription using native social widget\n WIDGET_TYPE_WIDGET: 'widget',\n DEFAULT_WIDGET_TYPE: 'widget',\n SUBSCRIPTION_WINDOW_PROPS: 'width=600,height=800'\n};\n\nexports.default = constants;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _observer = __webpack_require__(28);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Channel = function () {\n function Channel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, Channel);\n\n this.config = channelData;\n\n this.channel = channelData.channel;\n this.channelId = channelData.channelId;\n this.enabled = channelData.enabled;\n this.id = channelData.id;\n this.slug = channelData.slug;\n\n this.deeplink = deeplink;\n this.widget = widget;\n\n this.initPromise = null;\n this.hasError = false;\n }\n\n _createClass(Channel, [{\n key: 'subscribe',\n value: function subscribe() {\n _observer.Observer.trigger(_observer.EVENTS.SUBSCRIBE_START, {\n widgetId: this.widget.id,\n channel: this\n });\n }\n }, {\n key: 'reportError',\n value: function reportError() {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n this.hasError = true;\n }\n }]);\n\n return Channel;\n}();\n\nexports.default = Channel;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = apiErrorHandler;\nfunction apiErrorHandler(res) {\n return res.json().then(function (data) {\n if (data.$error) {\n return Promise.reject(data.$error.msg || data.$error.scn);\n }\n data.headers = res.headers;\n\n return data;\n }).catch(function () {\n return Promise.reject(\"widget error: \" + res.status);\n });\n};\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar freeGlobal = __webpack_require__(22);\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(13),\n isLength = __webpack_require__(25);\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Symbol = __webpack_require__(21),\n getRawTag = __webpack_require__(49),\n objectToString = __webpack_require__(50);\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\n/*\n * UUID-js: A js library to generate and parse UUIDs, TimeUUIDs and generate\n * TimeUUID based on dates for range selections.\n * @see http://www.ietf.org/rfc/rfc4122.txt\n **/\n\nfunction UUIDjs() {\n};\n\nUUIDjs.maxFromBits = function(bits) {\n return Math.pow(2, bits);\n};\n\nUUIDjs.limitUI04 = UUIDjs.maxFromBits(4);\nUUIDjs.limitUI06 = UUIDjs.maxFromBits(6);\nUUIDjs.limitUI08 = UUIDjs.maxFromBits(8);\nUUIDjs.limitUI12 = UUIDjs.maxFromBits(12);\nUUIDjs.limitUI14 = UUIDjs.maxFromBits(14);\nUUIDjs.limitUI16 = UUIDjs.maxFromBits(16);\nUUIDjs.limitUI32 = UUIDjs.maxFromBits(32);\nUUIDjs.limitUI40 = UUIDjs.maxFromBits(40);\nUUIDjs.limitUI48 = UUIDjs.maxFromBits(48);\n\n// Returns a random integer between min and max\n// Using Math.round() will give you a non-uniform distribution!\n// @see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random\nfunction getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nUUIDjs.randomUI04 = function() {\n return getRandomInt(0, UUIDjs.limitUI04-1);\n};\nUUIDjs.randomUI06 = function() {\n return getRandomInt(0, UUIDjs.limitUI06-1);\n};\nUUIDjs.randomUI08 = function() {\n return getRandomInt(0, UUIDjs.limitUI08-1);\n};\nUUIDjs.randomUI12 = function() {\n return getRandomInt(0, UUIDjs.limitUI12-1);\n};\nUUIDjs.randomUI14 = function() {\n return getRandomInt(0, UUIDjs.limitUI14-1);\n};\nUUIDjs.randomUI16 = function() {\n return getRandomInt(0, UUIDjs.limitUI16-1);\n};\nUUIDjs.randomUI32 = function() {\n return getRandomInt(0, UUIDjs.limitUI32-1);\n};\nUUIDjs.randomUI40 = function() {\n return (0 | Math.random() * (1 << 30)) + (0 | Math.random() * (1 << 40 - 30)) * (1 << 30);\n};\nUUIDjs.randomUI48 = function() {\n return (0 | Math.random() * (1 << 30)) + (0 | Math.random() * (1 << 48 - 30)) * (1 << 30);\n};\n\nUUIDjs.paddedString = function(string, length, z) {\n string = String(string);\n z = (!z) ? '0' : z;\n var i = length - string.length;\n for (; i > 0; i >>>= 1, z += z) {\n if (i & 1) {\n string = z + string;\n }\n }\n return string;\n};\n\nUUIDjs.prototype.fromParts = function(timeLow, timeMid, timeHiAndVersion, clockSeqHiAndReserved, clockSeqLow, node) {\n this.version = (timeHiAndVersion >> 12) & 0xF;\n this.hex = UUIDjs.paddedString(timeLow.toString(16), 8)\n + '-'\n + UUIDjs.paddedString(timeMid.toString(16), 4)\n + '-'\n + UUIDjs.paddedString(timeHiAndVersion.toString(16), 4)\n + '-'\n + UUIDjs.paddedString(clockSeqHiAndReserved.toString(16), 2)\n + UUIDjs.paddedString(clockSeqLow.toString(16), 2)\n + '-'\n + UUIDjs.paddedString(node.toString(16), 12);\n return this;\n};\n\nUUIDjs.prototype.toString = function() {\n return this.hex;\n};\nUUIDjs.prototype.toURN = function() {\n return 'urn:uuid:' + this.hex;\n};\n\nUUIDjs.prototype.toBytes = function() {\n var parts = this.hex.split('-');\n var ints = [];\n var intPos = 0;\n for (var i = 0; i < parts.length; i++) {\n for (var j = 0; j < parts[i].length; j+=2) {\n ints[intPos++] = parseInt(parts[i].substr(j, 2), 16);\n }\n }\n return ints;\n};\n\nUUIDjs.prototype.equals = function(uuid) {\n if (!(uuid instanceof UUID)) {\n return false;\n }\n if (this.hex !== uuid.hex) {\n return false;\n }\n return true;\n};\n\nUUIDjs.getTimeFieldValues = function(time) {\n var ts = time - Date.UTC(1582, 9, 15);\n var hm = ((ts / 0x100000000) * 10000) & 0xFFFFFFF;\n return { low: ((ts & 0xFFFFFFF) * 10000) % 0x100000000,\n mid: hm & 0xFFFF, hi: hm >>> 16, timestamp: ts };\n};\n\nUUIDjs._create4 = function() {\n return new UUIDjs().fromParts(\n UUIDjs.randomUI32(),\n UUIDjs.randomUI16(),\n 0x4000 | UUIDjs.randomUI12(),\n 0x80 | UUIDjs.randomUI06(),\n UUIDjs.randomUI08(),\n UUIDjs.randomUI48()\n );\n};\n\nUUIDjs._create1 = function() {\n var now = new Date().getTime();\n var sequence = UUIDjs.randomUI14();\n var node = (UUIDjs.randomUI08() | 1) * 0x10000000000 + UUIDjs.randomUI40();\n var tick = UUIDjs.randomUI04();\n var timestamp = 0;\n var timestampRatio = 1/4;\n\n if (now != timestamp) {\n if (now < timestamp) {\n sequence++;\n }\n timestamp = now;\n tick = UUIDjs.randomUI04();\n } else if (Math.random() < timestampRatio && tick < 9984) {\n tick += 1 + UUIDjs.randomUI04();\n } else {\n sequence++;\n }\n\n var tf = UUIDjs.getTimeFieldValues(timestamp);\n var tl = tf.low + tick;\n var thav = (tf.hi & 0xFFF) | 0x1000;\n\n sequence &= 0x3FFF;\n var cshar = (sequence >>> 8) | 0x80;\n var csl = sequence & 0xFF;\n\n return new UUIDjs().fromParts(tl, tf.mid, thav, cshar, csl, node);\n};\n\nUUIDjs.create = function(version) {\n version = version || 4;\n return this['_create' + version]();\n};\n\nUUIDjs.fromTime = function(time, last) {\n last = (!last) ? false : last;\n var tf = UUIDjs.getTimeFieldValues(time);\n var tl = tf.low;\n var thav = (tf.hi & 0xFFF) | 0x1000; // set version '0001'\n if (last === false) {\n return new UUIDjs().fromParts(tl, tf.mid, thav, 0, 0, 0);\n } else {\n return new UUIDjs().fromParts(tl, tf.mid, thav, 0x80 | UUIDjs.limitUI06, UUIDjs.limitUI08 - 1, UUIDjs.limitUI48 - 1);\n }\n};\n\nUUIDjs.firstFromTime = function(time) {\n return UUIDjs.fromTime(time, false);\n};\nUUIDjs.lastFromTime = function(time) {\n return UUIDjs.fromTime(time, true);\n};\n\nUUIDjs.fromURN = function(strId) {\n var r, p = /^(?:urn:uuid:|\\{)?([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})(?:\\})?$/i;\n if ((r = p.exec(strId))) {\n return new UUIDjs().fromParts(parseInt(r[1], 16), parseInt(r[2], 16),\n parseInt(r[3], 16), parseInt(r[4], 16),\n parseInt(r[5], 16), parseInt(r[6], 16));\n }\n return null;\n};\n\nUUIDjs.fromBytes = function(ints) {\n if (ints.length < 5) {\n return null;\n }\n var str = '';\n var pos = 0;\n var parts = [4, 2, 2, 2, 6];\n for (var i = 0; i < parts.length; i++) {\n for (var j = 0; j < parts[i]; j++) {\n var octet = ints[pos++].toString(16);\n if (octet.length == 1) {\n octet = '0' + octet;\n }\n str += octet;\n }\n if (parts[i] !== 6) {\n str += '-';\n }\n }\n return UUIDjs.fromURN(str);\n};\n\nUUIDjs.fromBinary = function(binary) {\n var ints = [];\n for (var i = 0; i < binary.length; i++) {\n ints[i] = binary.charCodeAt(i);\n if (ints[i] > 255 || ints[i] < 0) {\n throw new Error('Unexpected byte in binary data.');\n }\n }\n return UUIDjs.fromBytes(ints);\n};\n\n// Aliases to support legacy code. Do not use these when writing new code as\n// they may be removed in future versions!\nUUIDjs.new = function() {\n return this.create(4);\n};\nUUIDjs.newTS = function() {\n return this.create(1);\n};\n\nmodule.exports = UUIDjs;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignValue = __webpack_require__(18),\n copyObject = __webpack_require__(30),\n createAssigner = __webpack_require__(31),\n isArrayLike = __webpack_require__(5),\n isPrototype = __webpack_require__(9),\n keys = __webpack_require__(63);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(19);\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(7),\n isObject = __webpack_require__(2);\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tvar styleTarget = fn.call(this, selector);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[selector] = styleTarget;\n\t\t}\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = __webpack_require__(87);\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(93);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _appInsights = __webpack_require__(27);\n\nvar _appInsights2 = _interopRequireDefault(_appInsights);\n\nvar _find = __webpack_require__(39);\n\nvar _find2 = _interopRequireDefault(_find);\n\n__webpack_require__(166);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Button = function (_Component) {\n _inherits(Button, _Component);\n\n function Button() {\n _classCallCheck(this, Button);\n\n var _this = _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).apply(this, arguments));\n\n _this.element.setAttribute('channel', _this.channel);\n\n _this.channelAPI = (0, _find2.default)(_this.widgetAPI.getEnabledChannels(), function (channel) {\n return channel.id === _this.config.id && channel.channel === _this.config.channel && channel.channelId === _this.config.channelId;\n });\n return _this;\n }\n\n _createClass(Button, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var self = this;\n _get(Button.prototype.__proto__ || Object.getPrototypeOf(Button.prototype), 'render', this).call(this);\n this.element.addEventListener('click', function () {\n _appInsights2.default.trackButtonClick(_this2.widgetId, 'notificationWidget.button.click', _this2.channel);\n });\n }\n }, {\n key: 'defaults',\n get: function get() {\n return {\n config: JSON.parse(this.element.getAttribute('config')) || {},\n channel: this.element.getAttribute('channel')\n };\n }\n }], [{\n key: 'tagName',\n get: function get() {\n return 'tb-notification-button';\n }\n }]);\n\n return Button;\n}(_index2.default);\n\nexports.default = Button;\n;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(12),\n eq = __webpack_require__(8);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getNative = __webpack_require__(20);\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsNative = __webpack_require__(48),\n getValue = __webpack_require__(54);\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(4);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(23)))\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar appInsights = {\n init: function init(aiKey, userId, accountId) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n window.TextBack = window.TextBack || {};\n var context = window.TextBack;\n if (aiKey) {\n var _appInsights = context.appInsights || function (config) {\n //basically most below code is got from MS so it's kinda unreadable hmm.. see MS instructions on appinsigths\n function r(config) {\n t[config] = function () {\n var i = arguments;\n t.queue.push(function () {\n t[config].apply(t, i);\n });\n };\n }\n\n var t = {\n config: config\n },\n u = document,\n e = context,\n o = \"script\",\n s = u.createElement(o),\n i = void 0,\n f = void 0;\n for (s.src = config.url || \"//az416426.vo.msecnd.net/scripts/a/ai.0.js\", u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = [\"Event\", \"Exception\", \"Metric\", \"PageView\", \"Trace\"]; i.length;) {\n r(\"track\" + i.pop());\n }return r(\"setAuthenticatedUserContext\"), r(\"clearAuthenticatedUserContext\"), config.disableExceptionTracking || (i = \"onerror\", r(\"_\" + i), f = e[i], e[i] = function (config, r, u, e, o) {\n var s = f && f(config, r, u, e, o);\n return s !== !0 && t[\"_\" + i](config, r, u, e, o), s;\n }), t;\n }({\n instrumentationKey: aiKey,\n // Don't log browser exceptions.\n disableExceptionTracking: true,\n // Don't log ajax calls.\n disableAjaxTracking: true,\n //this url will point to the library - use @dev for testing when updating\\editing lib - use @latest for production version of lib\n //keep in mind that prod widget should always use @latest\n url: '//unpkg.com/@textback/notification-widget@latest/src/libraries/ai.1.0.11.js'\n // url: '//unpkg.com/@textback/notification-widget@dev/src/libraries/ai.1.0.11.js'\n //url: '//localhost:8080/src/libraries/ai.1.0.11.js',\n });\n\n _this.accountId = accountId;\n context.appInsights = _appInsights;\n //ensure appinsights is fully loaded\n var timer = setInterval(function () {\n if (_appInsights._onerror) {\n clearInterval(timer);\n _appInsights.setAuthenticatedUserContext(userId);\n resolve(true);\n }\n }, 50);\n }\n //no aiKey - no telemetry\n else {\n resolve(true);\n }\n });\n },\n trackEvent: function trackEvent(eventName, data) {\n var context = window.TextBack;\n context.appInsights && context.appInsights.trackEvent(eventName, data);\n },\n trackButtonClick: function trackButtonClick(widgetId, eventName, channelType) {\n var payload = {\n channelType: channelType,\n widgetId: widgetId,\n accountId: this.accountId,\n widgetUrl: window.location.href\n };\n this.trackEvent(eventName, payload);\n },\n trackWidgetEvent: function trackWidgetEvent(widgetId, eventName, reason) {\n var payload = {\n reason: reason,\n widgetId: widgetId,\n accountId: this.accountId,\n widgetUrl: window.location.href\n };\n this.trackEvent(eventName, payload);\n }\n};\n\nexports.default = appInsights;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.EVENTS = exports.Observer = undefined;\n\nvar _assign = __webpack_require__(11);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EVENTS = {\n WIDGET_INIT: 'widget.init',\n SUBSCRIBE_START: 'subscribe.start'\n};\n\nvar _handlers = {};\n\nwindow.TextBack = window.TextBack || {};\nwindow.TextBack.Observer = window.TextBack.Observer || {\n on: function on(eventName, fn) {\n if (!_handlers[eventName]) {\n _handlers[eventName] = [fn];\n } else {\n _handlers[eventName].push(fn);\n }\n\n return function () {\n var fnIndex = _handlers[eventName].indexOf(fn);\n if (fnIndex !== -1) {\n _handlers[eventName].splice(fnIndex, 1);\n }\n };\n },\n trigger: function trigger(eventName, data) {\n if (_handlers[eventName]) {\n var eventData = (0, _assign2.default)({}, data, { type: eventName });\n setTimeout(function () {\n _handlers[eventName].forEach(function (handler) {\n try {\n handler(eventData);\n } catch (err) {\n console.error('Error occuired while executing event handler on event ' + eventName, err);\n }\n });\n }, 0);\n }\n }\n};\n\nvar Observer = window.TextBack.Observer;\n\nexports.Observer = Observer;\nexports.EVENTS = EVENTS;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _sdk = __webpack_require__(45);\n\nvar _sdk2 = _interopRequireDefault(_sdk);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nwindow.TextBack = window.TextBack || {};\nwindow.TextBack.SDK = window.TextBack.SDK || new _sdk2.default();\n\nexports.default = window.TextBack.SDK;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignValue = __webpack_require__(18),\n baseAssignValue = __webpack_require__(12);\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseRest = __webpack_require__(55),\n isIterateeCall = __webpack_require__(62);\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseTimes = __webpack_require__(64),\n isArguments = __webpack_require__(33),\n isArray = __webpack_require__(34),\n isBuffer = __webpack_require__(35),\n isIndex = __webpack_require__(26),\n isTypedArray = __webpack_require__(36);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsArguments = __webpack_require__(65),\n isObjectLike = __webpack_require__(6);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(4),\n stubFalse = __webpack_require__(66);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(14)(module)))\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseIsTypedArray = __webpack_require__(67),\n baseUnary = __webpack_require__(68),\n nodeUtil = __webpack_require__(69);\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\r\n * Created by martb on 28.06.2017.\r\n * Module for work with cookies\r\n */\n\nvar cookies = {\n /**\r\n * возвращает cookie с именем name, если есть, если нет, то null\r\n * @param name {String}\r\n * @returns {String|null}\r\n */\n getCookie: function getCookie(name) {\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1, c.length);\n }if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length));\n }\n return null;\n },\n\n /**\r\n * устанавливает куку\r\n * @param name - имя куки\r\n * @param value - значение куки\r\n * @param t - время в секундах\r\n */\n setCookie: function setCookie(name, value, t) {\n var expires = \"\";\n if (t) {\n var date = new Date();\n t *= 1000;\n date.setTime(date.getTime() + t);\n expires = \"; expires=\" + date.toUTCString();\n }\n document.cookie = name + \"=\" + encodeURIComponent(value) + expires + \"; path=/\";\n },\n\n /*\r\n * удаляет куку по имени\r\n * @param name {String}\r\n */\n deleteCookie: function deleteCookie(name) {\n setCookie(name, \"\", -1);\n }\n};\n\nexports.default = cookies;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = find;\nfunction find(array, predicate) {\n for (var i = 0; i < array.length; i++) {\n if (predicate(array[i], i, array)) {\n return array[i];\n }\n }\n return undefined;\n}\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 53.5 53.5\\\" enable-background=\\\"new 0 0 53.5 53.5\\\" xml:space=\\\"preserve\\\"><g><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#ffffff\\\" d=\\\"M25.2,37.5h2.1c0,0,0.6-0.1,1-0.4c0.3-0.3,0.3-0.9,0.3-0.9 s0-2.8,1.3-3.2c1.3-0.4,2.9,2.7,4.7,3.9c1.3,0.9,2.3,0.7,2.3,0.7l4.7-0.1c0,0,2.5-0.2,1.3-2.1c-0.1-0.2-0.7-1.4-3.5-4 c-2.9-2.7-2.5-2.3,1-7c2.2-2.9,3-4.6,2.7-5.4c-0.3-0.7-1.8-0.5-1.8-0.5l-5.3,0c0,0-0.4-0.1-0.7,0.1c-0.3,0.2-0.5,0.6-0.5,0.6 s-0.8,2.2-1.9,4.1c-2.3,4-3.3,4.2-3.7,4c-0.9-0.6-0.7-2.3-0.7-3.6c0-3.9,0.6-5.5-1.1-5.9c-0.6-0.1-1-0.2-2.5-0.2 c-1.9,0-3.5,0-4.4,0.4c-0.6,0.3-1.1,0.9-0.8,1c0.3,0,1.1,0.2,1.6,0.8c0.5,0.7,0.5,2.4,0.5,2.4s0.3,4.6-0.7,5.1 c-0.7,0.4-1.7-0.4-3.8-4c-1.1-1.9-1.9-3.9-1.9-3.9S15.3,19,15,18.8c-0.3-0.2-0.8-0.3-0.8-0.3l-5,0c0,0-0.8,0-1,0.3 c-0.2,0.3,0,0.9,0,0.9s3.9,9.2,8.4,13.8C20.6,37.8,25.2,37.5,25.2,37.5L25.2,37.5z M25.2,37.5\\\"></path></g></svg>\"\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar listCacheClear = __webpack_require__(108),\n listCacheDelete = __webpack_require__(109),\n listCacheGet = __webpack_require__(110),\n listCacheHas = __webpack_require__(111),\n listCacheSet = __webpack_require__(112);\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar eq = __webpack_require__(8);\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getNative = __webpack_require__(20);\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isKeyable = __webpack_require__(127);\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(46);\n\nvar _widget = __webpack_require__(47);\n\nvar _widget2 = _interopRequireDefault(_widget);\n\nvar _observer = __webpack_require__(28);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n__webpack_require__(91).polyfill();\n\nvar SDK = function () {\n function SDK() {\n _classCallCheck(this, SDK);\n\n this.widgets = {};\n }\n\n _createClass(SDK, [{\n key: 'initWidget',\n value: function initWidget(config) {\n if (config && config.widgetId) {\n var widget = new _widget2.default(config, this);\n this.widgets[config.widgetId] = widget.initialize();\n this.widgets[config.widgetId].then(function (widget) {\n return _observer.Observer.trigger(_observer.EVENTS.WIDGET_INIT, { widgetId: config.widgetId });\n }, function (err) {\n return console.error(err);\n });\n return this.widgets[config.widgetId];\n } else {\n throw new Error('Widget id is not defined');\n }\n }\n }, {\n key: 'getWidget',\n value: function getWidget(widgetId) {\n return this.widgets[widgetId] ? this.widgets[widgetId] : null;\n }\n }, {\n key: 'on',\n value: function on(eventName, fn) {\n return _observer.Observer.on(eventName, fn);\n }\n }]);\n\n return SDK;\n}();\n\nexports.default = SDK;\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _uuidJs = __webpack_require__(10);\n\nvar _uuidJs2 = _interopRequireDefault(_uuidJs);\n\nvar _assign = __webpack_require__(11);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _apiErrorHandler = __webpack_require__(3);\n\nvar _apiErrorHandler2 = _interopRequireDefault(_apiErrorHandler);\n\nvar _loadConfig = __webpack_require__(72);\n\nvar _loadConfig2 = _interopRequireDefault(_loadConfig);\n\nvar _loadDeepLink = __webpack_require__(73);\n\nvar _loadDeepLink2 = _interopRequireDefault(_loadDeepLink);\n\nvar _loadSubscriptions = __webpack_require__(74);\n\nvar _loadSubscriptions2 = _interopRequireDefault(_loadSubscriptions);\n\nvar _cookies = __webpack_require__(38);\n\nvar _cookies2 = _interopRequireDefault(_cookies);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nvar _parseQueryString = __webpack_require__(75);\n\nvar _parseQueryString2 = _interopRequireDefault(_parseQueryString);\n\nvar _find = __webpack_require__(39);\n\nvar _find2 = _interopRequireDefault(_find);\n\nvar _appInsights = __webpack_require__(27);\n\nvar _appInsights2 = _interopRequireDefault(_appInsights);\n\nvar _factory = __webpack_require__(76);\n\nvar _factory2 = _interopRequireDefault(_factory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar INITIAL_CONFIG_DEFAULTS = {\n apiPath: 'https://api.textback.io/api'\n};\n\nvar Widget = function () {\n function Widget(config, sdk) {\n _classCallCheck(this, Widget);\n\n this.initialConfig = (0, _assign2.default)({}, INITIAL_CONFIG_DEFAULTS, config);\n this.sdk = sdk;\n\n this.config = {};\n this.channels = [];\n this.initialized = false;\n this.initPromise = null;\n\n this.id = this.initialConfig.widgetId;\n this.widgetUserId = Widget.getWidgetUserId();\n this.insecureContext = Widget.createInsecureContext(this.initialConfig.insecureContext);\n this.secureContextToken = this.initialConfig.secureContextToken;\n }\n\n _createClass(Widget, [{\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n }, {\n key: 'initialize',\n value: function initialize() {\n var _this = this;\n\n this.initPromise = Promise.all([this.initializeConfig(), (0, _loadSubscriptions2.default)(this.widgetUserId, this.initialConfig.widgetId, this.initialConfig.apiPath)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n config = _ref2[0],\n subscriptions = _ref2[1];\n\n _this.config = config.$value;\n _this.subscriptions = subscriptions.$items;\n\n _this.useVKApi = _this.config.type === _constants2.default.WIDGET_TYPE_API_CALL;\n _this.aiKey = Widget.getAiKey(config);\n\n return Promise.all([(0, _loadDeepLink2.default)(_this.initialConfig.apiPath, {\n accountId: _this.config.accountId,\n insecureContext: _this.insecureContext,\n widgetId: _this.config.id,\n secureContextToken: _this.secureContextToken,\n user: {\n id: _this.widgetUserId\n }\n }), _appInsights2.default.init(_this.aiKey, _this.widgetUserId, _this.config.accountId)]);\n }).then(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n deeplink = _ref4[0],\n ai = _ref4[1];\n\n _this.deeplink = 'subscribe_' + deeplink.$value.id;\n _this.channels = _this.config.channels.map(function (channel) {\n return _factory2.default.create(channel, _this.deeplink, _this);\n }).filter(function (channel) {\n return !!channel;\n });\n var channelInitPromises = _this.channels.filter(function (channel) {\n return !!channel.initPromise;\n }).map(function (channel) {\n return channel.initPromise;\n });\n\n return Promise.all(channelInitPromises);\n }).then(function (channelPromises) {\n return _this;\n }, function (err) {\n _appInsights2.default.trackWidgetEvent(_this.config.id, 'Widget.initialize.error', err);\n return Promise.reject(err);\n });\n\n return this.initPromise;\n }\n }, {\n key: 'initializeConfig',\n value: function initializeConfig() {\n var promise = void 0;\n if (!this.initialConfig.overrideConfig) {\n promise = (0, _loadConfig2.default)(this.initialConfig.widgetId, this.initialConfig.apiPath);\n } else {\n promise = Promise.resolve({ $value: this.initialConfig.overrideConfig });\n }\n\n return promise;\n }\n }, {\n key: 'subscribe',\n value: function subscribe(channelCode) {\n var channel = (0, _find2.default)(this.getEnabledChannels(), function (chan) {\n return chan.channel === channelCode;\n });\n if (channel) {\n channel.subscribe();\n }\n }\n }, {\n key: 'getChannels',\n value: function getChannels() {\n return this.channels;\n }\n }, {\n key: 'getEnabledChannels',\n value: function getEnabledChannels() {\n return this.channels.filter(function (channel) {\n return channel.enabled && !channel.hasError;\n });\n }\n }], [{\n key: 'getWidgetUserId',\n value: function getWidgetUserId() {\n var widgetUserId = _cookies2.default.getCookie(_constants2.default.COOKIE_WIDGET_USER_ID);\n if (widgetUserId === null) {\n var uuid = _uuidJs2.default.create(4);\n widgetUserId = uuid.hex;\n _cookies2.default.setCookie(_constants2.default.COOKIE_WIDGET_USER_ID, widgetUserId, _constants2.default.WIDGET_USER_ID_COOKIE_TTL);\n }\n return widgetUserId;\n }\n }, {\n key: 'createInsecureContext',\n value: function createInsecureContext() {\n var insecureContext = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var ctx = (0, _assign2.default)({}, insecureContext); //Object.assign({}, insecureContext);\n ctx.pageTitle = window.document.title;\n ctx.pageUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;\n ctx.params = (0, _parseQueryString2.default)(window.location.search.substring(1));\n ctx.timezoneOffset = new Date().getTimezoneOffset();\n\n return ctx;\n }\n }, {\n key: 'getAiKey',\n value: function getAiKey(config) {\n var aiKey = undefined;\n try {\n aiKey = config.headers.get('X-TB-AIKEY');\n } catch (e) {}\n\n return aiKey;\n }\n }]);\n\n return Widget;\n}();\n\nexports.default = Widget;\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(13),\n isMasked = __webpack_require__(51),\n isObject = __webpack_require__(2),\n toSource = __webpack_require__(53);\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Symbol = __webpack_require__(21);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar coreJsData = __webpack_require__(52);\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(4);\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar identity = __webpack_require__(24),\n overRest = __webpack_require__(56),\n setToString = __webpack_require__(58);\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar apply = __webpack_require__(57);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports) {\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseSetToString = __webpack_require__(59),\n shortOut = __webpack_require__(61);\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar constant = __webpack_require__(60),\n defineProperty = __webpack_require__(19),\n identity = __webpack_require__(24);\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\n/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar eq = __webpack_require__(8),\n isArrayLike = __webpack_require__(5),\n isIndex = __webpack_require__(26),\n isObject = __webpack_require__(2);\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayLikeKeys = __webpack_require__(32),\n baseKeys = __webpack_require__(70),\n isArrayLike = __webpack_require__(5);\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(7),\n isObjectLike = __webpack_require__(6);\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports) {\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(7),\n isLength = __webpack_require__(25),\n isObjectLike = __webpack_require__(6);\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports) {\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(22);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(14)(module)))\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isPrototype = __webpack_require__(9),\n nativeKeys = __webpack_require__(71);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(37);\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadConfig;\n\nvar _apiErrorHandler = __webpack_require__(3);\n\nvar _apiErrorHandler2 = _interopRequireDefault(_apiErrorHandler);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar cache = {};\n\nfunction loadConfig(widgetId, apiPath) {\n if (!widgetId) {\n return Promise.reject('Widget id required');\n }\n\n if (cache[widgetId]) {\n return cache[widgetId];\n }\n\n var loadingPromise = fetch(apiPath + '/endUserNotifications/widgets/' + widgetId).then(_apiErrorHandler2.default);\n loadingPromise.then(function () {\n cache[widgetId] = loadingPromise;\n });\n\n return loadingPromise;\n};\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadDeepLink;\n\nvar _apiErrorHandler = __webpack_require__(3);\n\nvar _apiErrorHandler2 = _interopRequireDefault(_apiErrorHandler);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar cache = {};\n\nfunction loadDeepLink(apiPath) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var body = JSON.stringify(options);\n\n if (cache[body]) {\n return cache[body];\n }\n\n cache[body] = fetch(apiPath + '/endUserNotifications/deepLinks', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: body\n }).then(_apiErrorHandler2.default);\n\n return cache[body];\n};\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadSubscriptions;\n\nvar _apiErrorHandler = __webpack_require__(3);\n\nvar _apiErrorHandler2 = _interopRequireDefault(_apiErrorHandler);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction loadSubscriptions(uuid, widgetId, apiPath) {\n var subscribedUsers = fetch(apiPath + '/endUserNotifications/widgets/' + widgetId + '/subscribedUsers/' + uuid).then(_apiErrorHandler2.default);\n return subscribedUsers;\n}\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction parseQueryString(query) {\n var vars = query.split('&'),\n queryString = {};\n\n if (query.length > 0) {\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('='),\n key = decodeURIComponent(pair[0]),\n value = decodeURIComponent(pair[1]);\n\n if (!key) continue;\n\n switch (_typeof(queryString[key])) {\n // If first entry with this name\n case 'undefined':\n queryString[key] = value;\n break;\n // If second entry with this name\n case 'string':\n {\n var arr = [queryString[key], value];\n queryString[key] = arr;\n break;\n }\n // If third or later entry with this name\n default:\n queryString[key].push(value);\n }\n }\n }\n return queryString;\n}\n\nexports.default = parseQueryString;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _facebook = __webpack_require__(77);\n\nvar _facebook2 = _interopRequireDefault(_facebook);\n\nvar _skype = __webpack_require__(78);\n\nvar _skype2 = _interopRequireDefault(_skype);\n\nvar _telegram = __webpack_require__(79);\n\nvar _telegram2 = _interopRequireDefault(_telegram);\n\nvar _viber = __webpack_require__(80);\n\nvar _viber2 = _interopRequireDefault(_viber);\n\nvar _vk = __webpack_require__(81);\n\nvar _vk2 = _interopRequireDefault(_vk);\n\nvar _whatsapp = __webpack_require__(89);\n\nvar _whatsapp2 = _interopRequireDefault(_whatsapp);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getConstructor(channel) {\n switch (channel) {\n case 'facebook':\n return _facebook2.default;\n case 'skype':\n return _skype2.default;\n case 'tg':\n return _telegram2.default;\n case 'viber':\n return _viber2.default;\n case 'vk':\n return _vk2.default;\n case 'whatsapp':\n return _whatsapp2.default;\n default:\n return null;\n }\n}\n\nvar channelsFactory = {\n create: function create(channelObj, deeplink, widget) {\n var constructor = getConstructor(channelObj.channel);\n return constructor ? new constructor(channelObj, deeplink, widget) : null;\n }\n};\n\nexports.default = channelsFactory;\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FacebookChannel = function (_Channel) {\n _inherits(FacebookChannel, _Channel);\n\n function FacebookChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, FacebookChannel);\n\n return _possibleConstructorReturn(this, (FacebookChannel.__proto__ || Object.getPrototypeOf(FacebookChannel)).call(this, channelData, deeplink, widget));\n }\n\n _createClass(FacebookChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(FacebookChannel.prototype.__proto__ || Object.getPrototypeOf(FacebookChannel.prototype), 'subscribe', this).call(this);\n window.open('https://m.me/' + this.id + '?ref=' + this.deeplink, 'tb_facebook', _constants2.default.SUBSCRIPTION_WINDOW_PROPS);\n }\n }]);\n\n return FacebookChannel;\n}(_channel2.default);\n\nexports.default = FacebookChannel;\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SkypeChannel = function (_Channel) {\n _inherits(SkypeChannel, _Channel);\n\n function SkypeChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, SkypeChannel);\n\n return _possibleConstructorReturn(this, (SkypeChannel.__proto__ || Object.getPrototypeOf(SkypeChannel)).call(this, channelData, deeplink, widget));\n }\n\n _createClass(SkypeChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(SkypeChannel.prototype.__proto__ || Object.getPrototypeOf(SkypeChannel.prototype), 'subscribe', this).call(this);\n window.open('https://join.skype.com/bot/' + this.id + '?add', 'tb_skype', _constants2.default.SUBSCRIPTION_WINDOW_PROPS);\n }\n }]);\n\n return SkypeChannel;\n}(_channel2.default);\n\nexports.default = SkypeChannel;\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TelegramChannel = function (_Channel) {\n _inherits(TelegramChannel, _Channel);\n\n function TelegramChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, TelegramChannel);\n\n return _possibleConstructorReturn(this, (TelegramChannel.__proto__ || Object.getPrototypeOf(TelegramChannel)).call(this, channelData, deeplink, widget));\n }\n\n _createClass(TelegramChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(TelegramChannel.prototype.__proto__ || Object.getPrototypeOf(TelegramChannel.prototype), 'subscribe', this).call(this);\n window.open('https://telegram.me/' + this.id + '?start=' + this.deeplink, 'tb_tg', _constants2.default.SUBSCRIPTION_WINDOW_PROPS);\n }\n }]);\n\n return TelegramChannel;\n}(_channel2.default);\n\nexports.default = TelegramChannel;\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ViberChannel = function (_Channel) {\n _inherits(ViberChannel, _Channel);\n\n function ViberChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, ViberChannel);\n\n return _possibleConstructorReturn(this, (ViberChannel.__proto__ || Object.getPrototypeOf(ViberChannel)).call(this, channelData, deeplink, widget));\n }\n\n _createClass(ViberChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(ViberChannel.prototype.__proto__ || Object.getPrototypeOf(ViberChannel.prototype), 'subscribe', this).call(this);\n window.open('viber://pa?chatURI=' + this.id + '&context=' + this.deeplink, 'viber', _constants2.default.SUBSCRIPTION_WINDOW_PROPS);\n }\n }]);\n\n return ViberChannel;\n}(_channel2.default);\n\nexports.default = ViberChannel;\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _uuidJs = __webpack_require__(10);\n\nvar _uuidJs2 = _interopRequireDefault(_uuidJs);\n\nvar _loadScript = __webpack_require__(82);\n\nvar _loadScript2 = _interopRequireDefault(_loadScript);\n\nvar _apiErrorHandler = __webpack_require__(3);\n\nvar _apiErrorHandler2 = _interopRequireDefault(_apiErrorHandler);\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _vkModal = __webpack_require__(83);\n\nvar _vkModal2 = _interopRequireDefault(_vkModal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar VK_API_VERSION = '5.73';\n\nfunction loadVkLib() {\n return new Promise(function (resolve, reject) {\n if (window.VK && window.VK.Auth) {\n resolve('vk cache');\n } else {\n (0, _loadScript2.default)('//vk.com/js/api/openapi.js').then(function () {\n resolve('vk load');\n }, function (err) {\n reject(err);\n });\n }\n });\n}\n\nfunction initVK(apiId) {\n return new Promise(function (resolve, reject) {\n if (apiId) {\n if (!window.VK._apiId) {\n window.VK.init({ apiId: apiId });\n }\n window.VK.Auth.getLoginStatus(resolve);\n } else {\n reject('noVApiId');\n }\n });\n}\n\nfunction handleVKLoadingError(error) {\n console.error('Failed to load VK openapi.js. VK channel will be unavailable');\n return null;\n}\n\nvar VKChannel = function (_Channel) {\n _inherits(VKChannel, _Channel);\n\n function VKChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, VKChannel);\n\n var _this = _possibleConstructorReturn(this, (VKChannel.__proto__ || Object.getPrototypeOf(VKChannel)).call(this, channelData, deeplink, widget));\n\n _this.vkApiId = _this.widget.config.vkApiId;\n _this.initPromise = null;\n _this.vkPluginContainerId = null;\n _this.authorized = false;\n\n if (_this.enabled) {\n if (!_this.widget.useVKApi) {\n _this.vkPluginContainerId = _uuidJs2.default.create(4).hex;\n _this.initPromise = loadVkLib().catch(function (err) {\n return _this.__handleVKLoadingError(err);\n });\n } else {\n _this.initPromise = loadVkLib().then(function () {\n return initVK(_this.vkApiId);\n }).then(function () {\n _this.authorized = !!window.VK.Auth.getSession();\n }).catch(function (err) {\n return _this.__handleVKLoadingError(err);\n });\n }\n }\n return _this;\n }\n\n _createClass(VKChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(VKChannel.prototype.__proto__ || Object.getPrototypeOf(VKChannel.prototype), 'subscribe', this).call(this);\n this.subscribeViaPlugin();\n }\n }, {\n key: 'subscribeViaApi',\n value: function subscribeViaApi() {\n var _this2 = this;\n\n var promise = null;\n if (!this.authorized) {\n promise = this.__login().then(function (res) {\n return _this2.__allowMessagesFromGroup();\n });\n } else {\n promise = this.__allowMessagesFromGroup();\n }\n return promise;\n }\n }, {\n key: '__allowMessagesFromGroup',\n value: function __allowMessagesFromGroup() {\n var _this3 = this;\n\n window.VK.Api.call('messages.allowMessagesFromGroup', {\n group_id: this.id,\n v: VK_API_VERSION\n }, function (res) {\n var vkSession = window.VK.Auth.getSession();\n var vkUserId = vkSession.mid;\n\n if (res.response === 1) {\n _this3.__textbackSubscribe(vkUserId);\n } else {\n console.log('VK res error:', res);\n }\n });\n }\n }, {\n key: '__login',\n value: function __login() {\n return new Promise(function (resolve) {\n window.VK.Auth.login(function (res) {\n resolve(res);\n }, 4096);\n });\n }\n }, {\n key: '__textbackSubscribe',\n value: function __textbackSubscribe(vkUserId) {\n return fetch(this.widget.initialConfig.apiPath + '/endUserNotifications/subscriptions', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n 'accountId': this.widget.config.accountId,\n 'insecureContext': this.widget.insecureContext,\n 'secureContextToken': this.widget.secureContextToken,\n 'address': {\n 'channel': 'vk',\n 'channelId': this.config.channelId,\n 'accountId': this.widget.config.accountId,\n 'remoteAddress': vkUserId,\n 'chatId': vkUserId\n },\n widgetId: this.widget.id,\n \"user\": {\n \"id\": this.widget.widgetUserId\n }\n })\n }).then(_apiErrorHandler2.default);\n }\n }, {\n key: '__handleVKLoadingError',\n value: function __handleVKLoadingError(err) {\n _get(VKChannel.prototype.__proto__ || Object.getPrototypeOf(VKChannel.prototype), 'reportError', this).call(this, 'Failed to load VK openapi.js. VK channel will be unavailable.', err);\n return null;\n }\n }, {\n key: 'subscribeViaPlugin',\n value: function subscribeViaPlugin() {\n var _this4 = this;\n\n var modal = new _vkModal2.default(this.vkPluginContainerId);\n this.renderVKSubscriptionButton();\n\n modal.onClose = function () {\n if (_this4.vkSubscribeHandler) {\n window.VK.Observer.unsubscribe('widgets.allowMessagesFromCommunity.allowed', _this4.vkSubscribeHandler);\n _this4.vkSubscribeHandler = null;\n }\n };\n }\n }, {\n key: 'renderVKSubscriptionButton',\n value: function renderVKSubscriptionButton() {\n var height = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 30;\n var containerId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.vkPluginContainerId;\n\n if (this.vkSubscribeHandler) {\n window.VK.Observer.unsubscribe('widgets.allowMessagesFromCommunity.allowed', this.vkSubscribeHandler);\n this.vkSubscribeHandler = null;\n }\n\n var options = {\n height: height,\n key: this.deeplink\n };\n\n window.VK.Widgets.AllowMessagesFromCommunity(containerId, options, this.id);\n if (!this.config.disableAllowMessageEvents) {\n this.vkSubscribeHandler = this.__textbackSubscribe.bind(this);\n window.VK.Observer.subscribe('widgets.allowMessagesFromCommunity.allowed', this.vkSubscribeHandler);\n }\n }\n }]);\n\n return VKChannel;\n}(_channel2.default);\n\nexports.default = VKChannel;\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = loadScript;\nvar cache = {};\n\nfunction loadScript(url) {\n if (cache[url]) {\n return cache[url];\n }\n\n cache[url] = new Promise(function (resolve, reject) {\n var ready = false;\n var scriptElement = document.createElement(\"script\");\n\n scriptElement.type = \"text/javascript\";\n scriptElement.src = url;\n scriptElement.async = true;\n scriptElement.onload = scriptElement.onreadystatechange = function () {\n if (!ready && (!this.readyState || this.readyState == \"complete\")) {\n ready = true;\n resolve();\n }\n };\n scriptElement.onerror = scriptElement.onabort = reject;\n document.head.appendChild(scriptElement);\n });\n\n return cache[url];\n}\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _t = __webpack_require__(84);\n\nvar _t2 = _interopRequireDefault(_t);\n\n__webpack_require__(85);\n\nvar _vkModal = __webpack_require__(88);\n\nvar _vkModal2 = _interopRequireDefault(_vkModal);\n\nvar _icon_vk = __webpack_require__(40);\n\nvar _icon_vk2 = _interopRequireDefault(_icon_vk);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar VKModal = function VKModal(vkPluginContainerId) {\n var _this = this;\n\n _classCallCheck(this, VKModal);\n\n var modalContainer = document.createElement('div');\n\n modalContainer.innerHTML = new _t2.default(_vkModal2.default).render({ vkPluginContainerId: vkPluginContainerId, vkIcon: _icon_vk2.default });\n\n this.element = document.body.appendChild(modalContainer.firstChild);\n this.element.querySelector('.tb-close').addEventListener('click', function (event) {\n document.body.classList.remove('tb-modal-open');\n document.body.removeChild(_this.element);\n\n if (_this.onClose) {\n _this.onClose();\n }\n });\n\n document.body.classList.add('tb-modal-open');\n};\n\nexports.default = VKModal;\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// local-scoped modification of https://github.com/jasonmoo/t.js\nvar blockregex = /\\{\\{(([@!]?)(.+?))\\}\\}(([\\s\\S]+?)(\\{\\{:\\1\\}\\}([\\s\\S]+?))?)\\{\\{\\/\\1\\}\\}/g,\n valregex = /\\{\\{([=%])(.+?)\\}\\}/g;\n\nfunction t(template) {\n this.t = template;\n}\n\nfunction scrub(val) {\n return new Option(val).innerHTML.replace(/\"/g, \""\");\n}\n\nfunction get_value(vars, key) {\n var parts = key.split('.');\n while (parts.length) {\n if (!(parts[0] in vars)) {\n return false;\n }\n vars = vars[parts.shift()];\n }\n return vars;\n}\n\nfunction render(fragment, vars) {\n return fragment.replace(blockregex, function (_, __, meta, key, inner, if_true, has_else, if_false) {\n\n var val = get_value(vars, key),\n temp = \"\",\n i;\n\n if (!val) {\n\n // handle if not\n if (meta == '!') {\n return render(inner, vars);\n }\n // check for else\n if (has_else) {\n return render(if_false, vars);\n }\n\n return \"\";\n }\n\n // regular if\n if (!meta) {\n return render(if_true, vars);\n }\n\n // process array/obj iteration\n if (meta == '@') {\n // store any previous vars\n // reuse existing vars\n _ = vars._key;\n __ = vars._val;\n for (i in val) {\n if (val.hasOwnProperty(i)) {\n vars._key = i;\n vars._val = val[i];\n temp += render(inner, vars);\n }\n }\n vars._key = _;\n vars._val = __;\n return temp;\n }\n }).replace(valregex, function (_, meta, key) {\n var val = get_value(vars, key);\n\n if (val || val === 0) {\n return meta == '%' ? scrub(val) : val;\n }\n return \"\";\n });\n}\n\nt.prototype.render = function (vars) {\n return render(this.t, vars);\n};\n\nexports.default = t;\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(86);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(16)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./vk-modal.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./vk-modal.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(15)(false);\n// imports\n\n\n// module\nexports.push([module.i, \".tb-modal-open {\\n overflow: hidden; }\\n .tb-modal-open .tb-modal {\\n overflow-x: hidden;\\n overflow-y: auto;\\n display: block; }\\n\\n.tb-modal {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n display: none;\\n background-color: rgba(0, 0, 0, 0.7);\\n z-index: 1072;\\n height: 100%;\\n width: 100%;\\n text-align: center; }\\n .tb-modal * {\\n box-sizing: border-box; }\\n .tb-modal .tb-modal-dialog {\\n height: 100%;\\n width: 100%; }\\n .tb-modal .tb-modal-dialog:before {\\n display: inline-block;\\n vertical-align: middle;\\n content: \\\" \\\";\\n height: 100%; }\\n .tb-modal .tb-modal-dialog .tb-modal-content {\\n display: inline-block;\\n position: relative;\\n padding: 25px 25px 35px;\\n background-color: #fff;\\n width: 310px; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-modal-content_text {\\n display: flex;\\n justify-content: center; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-close {\\n position: absolute;\\n top: 5px;\\n right: 12px;\\n border: none;\\n outline: 0;\\n padding: 0;\\n background-color: transparent;\\n font-size: 24px;\\n font-weight: bold;\\n color: #000;\\n opacity: 0.7; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-close:hover {\\n opacity: 1;\\n cursor: pointer; }\\n\\n.tb-vk-button {\\n margin-top: 15px;\\n display: inline-block;\\n width: 230px;\\n position: relative;\\n padding-left: 40px; }\\n .tb-vk-button .tb-vk-icon {\\n width: 30px;\\n height: 30px;\\n position: absolute;\\n top: 0px;\\n left: 0px; }\\n .tb-vk-button .tb-vk-icon > svg path {\\n fill: #45668e; }\\n\\n@media only screen and (min-device-width: 736px) {\\n .tb-modal .tb-modal-dialog .tb-modal-content {\\n width: 500px; }\\n .tb-vk-button {\\n width: 245px;\\n padding-left: 55px; }\\n .tb-vk-button .tb-vk-icon {\\n width: 40px;\\n height: 40px;\\n top: -5px; } }\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\n\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<div class=\\\"tb-modal\\\">\\r\\n <div class=\\\"tb-modal-dialog\\\">\\r\\n <div class=\\\"tb-modal-content\\\">\\r\\n <button class=\\\"tb-close\\\" type=\\\"button\\\">×</button>\\r\\n <div class=\\\"tb-modal-content_text\\\">\\r\\n <p>\\r\\n Разрешите сообществу присылать сообщения. <br>\\r\\n Вы в любой момент сможете отписаться.\\r\\n </p>\\r\\n </div>\\r\\n <div class=\\\"tb-vk-button\\\">\\r\\n <div class=\\\"tb-vk-icon\\\">{{=vkIcon}}</div>\\r\\n <div id=\\\"{{=vkPluginContainerId}}\\\"></div> \\r\\n </div> \\r\\n </div>\\r\\n </div>\\r\\n</div> \\r\\n\";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _channel = __webpack_require__(1);\n\nvar _channel2 = _interopRequireDefault(_channel);\n\nvar _browserInfo = __webpack_require__(90);\n\nvar _browserInfo2 = _interopRequireDefault(_browserInfo);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar prefixText = encodeURIComponent('Отправьте не изменяя это сообщение ');\n\nvar WhatsappChannel = function (_Channel) {\n _inherits(WhatsappChannel, _Channel);\n\n function WhatsappChannel() {\n var channelData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var deeplink = arguments[1];\n var widget = arguments[2];\n\n _classCallCheck(this, WhatsappChannel);\n\n var _this = _possibleConstructorReturn(this, (WhatsappChannel.__proto__ || Object.getPrototypeOf(WhatsappChannel)).call(this, channelData, deeplink, widget));\n\n _this.domainPrefix = _browserInfo2.default.isMobile() ? 'api' : 'web';\n return _this;\n }\n\n _createClass(WhatsappChannel, [{\n key: 'subscribe',\n value: function subscribe() {\n _get(WhatsappChannel.prototype.__proto__ || Object.getPrototypeOf(WhatsappChannel.prototype), 'subscribe', this).call(this);\n window.open('https://' + this.domainPrefix + '.whatsapp.com/send?phone=' + this.id + '&text=' + (prefixText + this.deeplink), 'whatsapp', _constants2.default.SUBSCRIPTION_WINDOW_PROPS);\n }\n }]);\n\n return WhatsappChannel;\n}(_channel2.default);\n\nexports.default = WhatsappChannel;\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _isMobile = /Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent);\n\nvar browserInfo = {\n isMobile: function isMobile() {\n return _isMobile;\n }\n};\n\nexports.default = browserInfo;\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process, global) {/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.4+314e4831\n */\n\n(function (global, factory) {\n\t true ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && \"function\" === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar TRY_CATCH_ERROR = { error: null };\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n TRY_CATCH_ERROR.error = error;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === TRY_CATCH_ERROR) {\n reject(promise, TRY_CATCH_ERROR.error);\n TRY_CATCH_ERROR.error = null;\n } else if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = void 0,\n failed = void 0;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(92), __webpack_require__(23)))\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); // const merge = require('lodash/merge');\n\n\nvar _merge = __webpack_require__(105);\n\nvar _merge2 = _interopRequireDefault(_merge);\n\nvar _text2 = __webpack_require__(146);\n\nvar _text3 = _interopRequireDefault(_text2);\n\nvar _getLocale = __webpack_require__(152);\n\nvar _getLocale2 = _interopRequireDefault(_getLocale);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Component = function () {\n function Component() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Component);\n\n this.element = props.element || document.createElement(this.constructor.tagName);\n\n var dataset = JSON.parse(JSON.stringify(this.element.dataset || {}));\n var data = (0, _merge2.default)(JSON.parse(this.element.getAttribute('data')), dataset);\n\n this.set(this.defaults, props, { data: data });\n }\n\n _createClass(Component, [{\n key: 'render',\n value: function render() {\n this.element.innerHTML = this.template;\n }\n }, {\n key: 'text',\n value: function text(string) {\n return (0, _text3.default)(string, this.lang);\n }\n }, {\n key: 'set',\n value: function set() {\n _merge2.default.apply(undefined, [this].concat(Array.prototype.slice.call(arguments)));\n this.render();\n }\n }, {\n key: 'template',\n get: function get() {\n return this.content;\n }\n }, {\n key: 'lang',\n get: function get() {\n return this.element.getAttribute('lang') || (0, _getLocale2.default)();\n },\n set: function set(value) {\n this.element.setAttribute('lang', value);\n }\n }, {\n key: 'defaults',\n get: function get() {\n return {};\n }\n }], [{\n key: 'tagName',\n get: function get() {\n return 'div';\n }\n }]);\n\n return Component;\n}();\n\nexports.default = Component;\n;\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getNative = __webpack_require__(20),\n root = __webpack_require__(4);\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseAssignValue = __webpack_require__(12),\n eq = __webpack_require__(8);\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar overArg = __webpack_require__(37);\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar arrayLikeKeys = __webpack_require__(32),\n baseKeysIn = __webpack_require__(144),\n isArrayLike = __webpack_require__(5);\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n main: __webpack_require__(147),\n ru: __webpack_require__(148),\n pl: __webpack_require__(149),\n ro: __webpack_require__(150),\n uk: __webpack_require__(151),\n cz: __webpack_require__(100),\n 'cs-CZ': __webpack_require__(100)\n};\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Poslat přes Facebook',\n skype: 'Skype',\n 'sign-skype': 'Poslat přes Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Poslat přes Telegram',\n viber: 'Viber',\n 'sign-viber': 'Poslat přes Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Login',\n 'sign-vk': 'Poslat přes VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Poslat přes WhatsApp',\n 'telegram_tip': 'Stiskněte <strong>\"Start\"</strong><br/> v aplikaci Telegram',\n 'facebook_tip': 'Stiskněte <strong>\"Začít\"</strong><br/> v Facebook Messenger',\n 'viber_tip': ' Musíte mít nainstalovanou <br/><strong>Viber Desktop aplikaci</strong>',\n 'vkontakte_tip': 'Stiskněte <strong>\"Povolit\"</strong><br/> ve vyskakovacím okně',\n 'whatsapp_tip': 'Pošlete <strong>předvyplněný text</strong><br/> přes WhatsApp bez změn'\n};\n\n/***/ }),\n/* 101 */,\n/* 102 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _index = __webpack_require__(29);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _index3 = __webpack_require__(103);\n\nvar _index4 = _interopRequireDefault(_index3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nwindow.TextBack.NotificationWidget = window.TextBack.NotificationWidget || _index4.default;\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _index = __webpack_require__(104);\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar locales = __webpack_require__(99);\n\n_index2.default.locales = locales;\n_index2.default.VERSION = \"2.0.0-9450\"; // provided by webpack\n\nfunction initializeWidgets() {\n var widgetElements = document.getElementsByTagName(_index2.default.tagName);\n\n if (widgetElements) {\n for (var i = 0; i < widgetElements.length; i++) {\n new _index2.default({\n element: widgetElements[i]\n });\n }\n }\n}\n\nif (!window.TextBack.NotificationWidget) {\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', initializeWidgets);\n } else {\n initializeWidgets();\n }\n}\n\nexports.default = _index2.default;\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _assign = __webpack_require__(11);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _index = __webpack_require__(93);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _stringifyAttributes = __webpack_require__(153);\n\nvar _stringifyAttributes2 = _interopRequireDefault(_stringifyAttributes);\n\nvar _cookiesEx = __webpack_require__(154);\n\nvar _cookiesEx2 = _interopRequireDefault(_cookiesEx);\n\nvar _appInsights = __webpack_require__(27);\n\nvar _appInsights2 = _interopRequireDefault(_appInsights);\n\nvar _config = __webpack_require__(155);\n\nvar _config2 = _interopRequireDefault(_config);\n\nvar _widgetsStorage = __webpack_require__(156);\n\nvar _widgetsStorage2 = _interopRequireDefault(_widgetsStorage);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nvar _index3 = __webpack_require__(29);\n\nvar _index4 = _interopRequireDefault(_index3);\n\nvar _bellIcon = __webpack_require__(157);\n\nvar _bellIcon2 = _interopRequireDefault(_bellIcon);\n\nvar _broadcastIcon = __webpack_require__(158);\n\nvar _broadcastIcon2 = _interopRequireDefault(_broadcastIcon);\n\nvar _paperPlaneIcon = __webpack_require__(159);\n\nvar _paperPlaneIcon2 = _interopRequireDefault(_paperPlaneIcon);\n\nvar _textBackBadge = __webpack_require__(160);\n\nvar _textBackBadge2 = _interopRequireDefault(_textBackBadge);\n\n__webpack_require__(161);\n\n__webpack_require__(163);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar channelButtons = {\n vk: __webpack_require__(165),\n tg: __webpack_require__(169),\n facebook: __webpack_require__(172),\n skype: __webpack_require__(175),\n viber: __webpack_require__(179),\n whatsapp: __webpack_require__(183)\n};\n\nvar DEFAULT_BUTTONS_MARKUP = {\n style: 'square',\n displayMode: 'horizontal',\n align: 'center'\n};\n\nvar Widget = function (_Component) {\n _inherits(Widget, _Component);\n\n function Widget() {\n _classCallCheck(this, Widget);\n\n var _this = _possibleConstructorReturn(this, (Widget.__proto__ || Object.getPrototypeOf(Widget)).apply(this, arguments));\n\n _this.apiPath = _this.apiPath || _config2.default.apiPath;\n _this.onlyManual = _this.onlyManual || _this.element.hasAttribute('only-manual');\n\n var predefinedConfig = _this.widgetConfig;\n\n //override widgetId property with data from widgetConfig\n if (!!predefinedConfig) {\n _this.widgetId = predefinedConfig.id;\n }\n\n var widgetInitPromise = _index4.default.getWidget(_this.widgetId);\n if (!widgetInitPromise) {\n // init widget\n widgetInitPromise = _index4.default.initWidget({\n widgetId: _this.widgetId,\n apiPath: _this.apiPath,\n insecureContext: _this.data,\n secureContextToken: _this.secureContextToken,\n overrideConfig: predefinedConfig\n });\n }\n\n widgetInitPromise = widgetInitPromise.then(function (widget) {\n _this.widget = widget;\n\n _this.widgetUserId = widget.widgetUserId;\n _this.config = widget.getConfig();\n _this.config.type = _this.config.type || _constants2.default.DEFAULT_WIDGET_TYPE;\n _this.config.markUp = _this.config.markUp || {};\n _this.config.markUp.buttons = (0, _assign2.default)({}, DEFAULT_BUTTONS_MARKUP, _this.config.markUp.buttons);\n\n _this.widgetSubscriptions = widget.subscriptions;\n _this.deepLink = widget.deeplink;\n var aiKey = widget.aiKey;\n\n return _appInsights2.default.init(aiKey, _this.widgetUserId, _this.config.accountId);\n }).then(function (res) {\n _this.set({\n ready: true\n });\n return _this;\n }, function (err) {\n console.error(err);\n _appInsights2.default.trackWidgetEvent(_this.config.id, 'notificationWidget.error', err);\n _this.set({ error: err });\n return _this;\n });\n\n _widgetsStorage2.default.setWidget(_this.widgetId, widgetInitPromise);\n return _this;\n }\n\n _createClass(Widget, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(Widget.prototype.__proto__ || Object.getPrototypeOf(Widget.prototype), 'render', this).call(this);\n\n this.element.id = this.element.id ? this.element.id : 'tb-notification-widget';\n\n var buttons = this.element.querySelectorAll('tb-notification-button');\n\n if (buttons) {\n for (var i = 0; i < buttons.length; i++) {\n var channel = buttons[i].getAttribute('channel');\n new channelButtons[channel]({\n element: buttons[i],\n accountId: this.config.accountId,\n userId: this.userId,\n apiPath: this.apiPath,\n insecureContext: this.data,\n secureContextToken: this.secureContextToken,\n deepLink: this.deepLink,\n lang: this.lang,\n vkApiId: this.config.vkApiId,\n widgetId: this.config.id,\n widget: this,\n widgetAPI: this.widget\n });\n }\n }\n\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\n var sessionShowCounterName = _constants2.default.COOKIE_NAME_PREFIX + this.widgetId + '_s_show_counter';\n var daysShowCounterName = _constants2.default.COOKIE_NAME_PREFIX + this.widgetId + '_days_show_counter';\n var daysCloseCounterName = _constants2.default.COOKIE_NAME_PREFIX + this.widgetId + '_days_close_counter';\n var totalCloseCounterName = _constants2.default.COOKIE_NAME_PREFIX + this.widgetId + '_total_close_counter';\n\n var showWidgetSetting = this.config.showWidgetSetting;\n\n var popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\n document.getElementById(\"tb-notification-widget-close\").addEventListener(\"click\", function (e) {\n popup.className += \" hidden closed\";\n e.preventDefault();\n _appInsights2.default.trackWidgetEvent(_this2.config.id, 'notificationWidget.click.close', 'userAction');\n if (showWidgetSetting) {\n var daysTimeout = showWidgetSetting.showAfterDays * _constants2.default.SECONDS_IN_DAY;\n\n _cookiesEx2.default.incrementIntCookie(daysCloseCounterName, daysTimeout);\n _cookiesEx2.default.incrementIntCookie(totalCloseCounterName, _constants2.default.WIDGET_USER_ID_COOKIE_TTL);\n }\n });\n\n if (showWidgetSetting) {\n if (!showWidgetSetting.showIfSubscribed && this.widgetSubscriptions.length > 0) {\n _appInsights2.default.trackWidgetEvent(this.config.id, 'notificationWidget.popup.notShown', 'alreadySubscribed');\n return;\n }\n\n var daysTimeout = showWidgetSetting.showAfterDays * _constants2.default.SECONDS_IN_DAY;\n var sessionTimeout = showWidgetSetting.showSessionLength * 60;\n\n var daysShowCounter = _cookiesEx2.default.incrementIntCookie(daysShowCounterName, daysTimeout);\n var sessionShowCounter = _cookiesEx2.default.incrementIntCookie(sessionShowCounterName, sessionTimeout);\n var daysCloseCounter = _cookiesEx2.default.getIntCookie(daysCloseCounterName) || 0;\n var totalCloseCounter = _cookiesEx2.default.getIntCookie(totalCloseCounterName) || 0;\n\n var sendNonDisplayed = function sendNonDisplayed(reason) {\n _appInsights2.default.trackWidgetEvent(_this2.config.id, 'notificationWidget.popup.notShown', reason);\n return true;\n };\n\n if (sessionShowCounter > showWidgetSetting.showTimesInSession && sendNonDisplayed('timesPerSession') || // Не более N раз в сессию\n showWidgetSetting.showTimesInRow > 0 && daysShowCounter > showWidgetSetting.showTimesInRow && sendNonDisplayed('timesPerDays') || // Не более N раз в M дней\n showWidgetSetting.closeTimesInRow > 0 && daysCloseCounter >= showWidgetSetting.closeTimesInRow && sendNonDisplayed('closedTimesPerDays') || // Не более N закрытий в M дней\n showWidgetSetting.closeTimesInTotal > 0 && totalCloseCounter >= showWidgetSetting.closeTimesInTotal && sendNonDisplayed('closedTimes') // Не более N закрытий всего\n ) {\n return;\n }\n }\n\n if (this.onlyManual) {\n popup.className = 'hidden';\n return;\n }\n\n if (this.config.displayOptions && (this.config.displayOptions.onTimeout || this.config.displayOptions.onLeave)) {\n var telemetryFlag = false;\n if (this.config.displayOptions.onTimeout) {\n setTimeout(function () {\n if (popup.className.indexOf('closed') === -1 && !telemetryFlag) {\n telemetryFlag = true;\n _appInsights2.default.trackWidgetEvent(_this2.config.id, 'notificationWidget.popup.show', 'timeout');\n }\n popup.className = popup.className.indexOf('closed') === -1 ? \"\" : popup.className;\n }, +this.config.displayOptions.timeoutDelay * 1000);\n }\n if (this.config.displayOptions.onLeave) {\n document.addEventListener('mousemove', function (e) {\n if (e.clientY < 50) {\n if (popup.className.indexOf('closed') === -1 && !telemetryFlag) {\n telemetryFlag = true;\n _appInsights2.default.trackWidgetEvent(_this2.config.id, 'notificationWidget.popup.show', 'onLeave');\n }\n popup.className = popup.className.indexOf('closed') === -1 ? \"\" : popup.className;\n }\n });\n }\n }\n }\n }\n }, {\n key: 'show',\n value: function show() {\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\n var popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\n if (popup.className.indexOf('hidden') !== -1 || popup.className.indexOf('closed')) {\n _appInsights2.default.trackWidgetEvent(this.config.id, 'notificationWidget.popup.show', 'manual');\n }\n popup.className = '';\n }\n }\n }, {\n key: 'hide',\n value: function hide() {\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\n var popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\n if (popup.className.indexOf('hidden') !== -1) {\n popup.className += 'hidden';\n }\n }\n }\n }, {\n key: 'getButtonsClasses',\n value: function getButtonsClasses() {\n console.log(this.config);\n var classes = [];\n\n if (this.config.markUp && this.config.markUp.buttons) {\n var markUp = this.config.markUp.buttons;\n classes.push(getButtonsStyleClass(markUp.style));\n classes.push(getButtonsAlignmentClass(markUp.align));\n classes.push(getButtonsDisplayModeClass(markUp.displayMode));\n }\n\n function getButtonsStyleClass(style) {\n var prefix = 'tb-btn-style';\n switch (style) {\n case 'rounded':\n return prefix + '-rounded';\n case 'icons':\n return prefix + '-icons';\n default:\n return prefix + '-square';\n }\n }\n\n function getButtonsAlignmentClass(align) {\n var prefix = 'tb-btn-align';\n switch (align) {\n case 'left':\n return prefix + '-left';\n case 'right':\n return prefix + '-right';\n default:\n return prefix + '-center';\n }\n }\n\n function getButtonsDisplayModeClass(mode) {\n var prefix = 'tb-btn-mode';\n if (mode === 'vertical') {\n return prefix + '-vertical';\n } else {\n return prefix + '-horizontal';\n }\n }\n\n return classes.join(' ');\n }\n }, {\n key: 'defaults',\n get: function get() {\n return {\n widgetId: this.element.getAttribute('widget-id'),\n secureContextToken: this.element.getAttribute('secure-context-token'),\n apiPath: this.element.getAttribute('api-path') || _config2.default.apiPath\n };\n }\n }, {\n key: 'header',\n get: function get() {\n if (this.config.markUp && this.config.markUp.header && this.config.markUp.header.value) {\n var color = this.config.markUp.header.color ? 'style=\"color: ' + this.config.markUp.header.color + '\"' : undefined;\n var result = '';\n\n result += '<tb-widget-header-line ' + color + ' class=\"tb-widget-header-line\">' + this.config.markUp.header.value + '</tb-widget-header-line>';\n\n return '<tb-widget-header-container>' + result + '</tb-widget-header-container>';\n } else {\n return '';\n }\n }\n }, {\n key: 'description',\n get: function get() {\n if (this.config.markUp && this.config.markUp.description && this.config.markUp.description.value) {\n var color = this.config.markUp.description.color ? 'style=\"color: ' + this.config.markUp.description.color + '\"' : undefined;\n var result = '';\n\n result += '<tb-widget-description-line ' + color + ' class=\"tb-widget-description-line\">' + this.config.markUp.description.value + '</tb-widget-description-line>';\n\n return '<tb-widget-description-container>' + result + '</tb-widget-description-container>';\n } else {\n return '';\n }\n }\n }, {\n key: 'icon',\n get: function get() {\n if (this.config.markUp && this.config.markUp.icon && this.config.markUp.icon.type === \"custom\") {\n return '<tb-notification-widget-icon_body>' + '<img src=\"' + this.config.markUp.icon.url + '\">' + '</tb-notification-widget-icon_body>';\n }\n if (this.config.markUp && this.config.markUp.icon && this.config.markUp.icon.type === \"preset\") {\n return '<tb-notification-widget-icon_body>' + '<img src=\"' + Widget.iconPreset(this.config.markUp.icon.value) + '\">' + '</tb-notification-widget-icon_body>';\n } else {\n return '';\n }\n }\n }, {\n key: 'pallet',\n get: function get() {\n return this.config && this.config.markUp.body.palette && this.config.markUp.body.palette === \"light\" ? 'pallet-light' : 'pallet-dark';\n }\n }, {\n key: 'template',\n get: function get() {\n var _this3 = this;\n\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\n this.element.className = this.config.type === _constants2.default.WIDGET_TYPE_WIDGET ? 'tb-no-api-call' : '';\n\n var buttonsStyle = this.config.type === _constants2.default.WIDGET_TYPE_WIDGET ? 'square' : 'rounded',\n buttonsStyleClass = this.config.type === _constants2.default.WIDGET_TYPE_WIDGET ? 'tb-btn-style-square' : 'tb-btn-style-rounded';\n\n var body = '';\n if (this.ready) {\n var channels = this.widget.getEnabledChannels();\n body = channels.map(function (channel, index) {\n var item = (0, _assign2.default)({}, channel.config, {\n type: _this3.config.type,\n markUp: (0, _assign2.default)({}, _this3.config.markUp.buttons, { style: buttonsStyle })\n });\n var attributes = (0, _stringifyAttributes2.default)({\n channel: item.channel,\n config: item\n });\n\n return item.enabled ? '<div><tb-notification-button id=\"tb-notification-button-' + index + '\" ' + attributes + '></tb-notification-button></div>' : '';\n }).join('');\n } else if (this.error) {\n console.warn('could not render widget. reason: ' + this.error);\n body = '';\n } else {\n body = '';\n }\n\n return '<tb-notification-widget-inner id=\"tb-notification-widget-inner\" class=\"tb-notification-widget-inner\"><tb-notification-widget-overlay class=\"hidden\">\\n <tb-notification-widget-popup class=\"' + this.pallet + '\">\\n <span id=\"tb-notification-widget-close\" class=\"close\">×</span>\\n <a target=\"_blank\" href=\"//textback.ru/?utm_source=' + window.location.host + '&utm_medium=link&utm_content=notify_widget_opened&utm_campaign=ref_ad\">\\n <img id=\"tb-notification-brand-badge\" src=\"' + Widget.iconPreset('text-back-badge') + '\">\\n </a>\\n ' + this.icon + '\\n ' + this.header + '\\n ' + this.description + '\\n <div class=\"tb-widget-buttons tb-btn-align-center ' + buttonsStyleClass + '\">' + body + '</div>\\n </tb-notification-widget-popup>\\n </tb-notification-widget-overlay></tb-notification-widget-inner>';\n } else {\n if (this.ready) {\n this.element.className = this.config.type === _constants2.default.WIDGET_TYPE_WIDGET ? 'tb-no-api-call' : '';\n var buttonsContainerClasses = this.config.type === _constants2.default.WIDGET_TYPE_WIDGET ? this.getButtonsClasses() : 'tb-btn-style-rounded tb-btn-mode-horizontal tb-btn-align-left';\n // let\n\n var _channels = this.widget.getEnabledChannels();\n var _body = _channels.map(function (channel, index) {\n var item = (0, _assign2.default)({}, channel.config, { type: _this3.config.type, markUp: _this3.config.markUp.buttons });\n var attributes = (0, _stringifyAttributes2.default)({\n channel: item.channel,\n config: item\n });\n\n if (item.enabled) {\n var html = '<tb-notification-button id=\"tb-notification-button-' + index + '\" ' + attributes + '></tb-notification-button>';\n if (_this3.config.markUp.buttons.displayMode === 'vertical') {\n html = '<div>' + html + '</div>';\n }\n return html;\n } else {\n return '';\n }\n }).join('');\n\n _appInsights2.default.trackWidgetEvent(this.config.id, 'notificationWidget.inline.show', 'displaySettings');\n return '<tb-notification-widget-inner id=\"tb-notification-widget-inner\" class=\"tb-notification-widget-inner\">\\n <div class=\"tb-widget-buttons ' + buttonsContainerClasses + '\">\\n ' + _body + '\\n </div>\\n </tb-notification-widget-inner>';\n } else if (this.error) {\n console.warn('could not render widget. reason: ' + this.error);\n return '';\n } else {\n return '';\n }\n }\n }\n }], [{\n key: 'iconPreset',\n value: function iconPreset(val) {\n switch (val) {\n case 'widgetIconBell':\n return _bellIcon2.default;\n case 'widgetIconBroadcast':\n return _broadcastIcon2.default;\n case 'widgetIconPaperPlane':\n return _paperPlaneIcon2.default;\n case 'text-back-badge':\n return _textBackBadge2.default;\n }\n }\n }, {\n key: 'getWidget',\n value: function getWidget(widgetId) {\n return _widgetsStorage2.default.getWidget(widgetId);\n }\n }, {\n key: 'tagName',\n get: function get() {\n return 'tb-notification-widget';\n }\n }]);\n\n return Widget;\n}(_index2.default);\n\nexports.default = Widget;\n;\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseMerge = __webpack_require__(106),\n createAssigner = __webpack_require__(31);\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Stack = __webpack_require__(107),\n assignMergeValue = __webpack_require__(95),\n baseFor = __webpack_require__(131),\n baseMergeDeep = __webpack_require__(133),\n isObject = __webpack_require__(2),\n keysIn = __webpack_require__(98),\n safeGet = __webpack_require__(97);\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ListCache = __webpack_require__(41),\n stackClear = __webpack_require__(113),\n stackDelete = __webpack_require__(114),\n stackGet = __webpack_require__(115),\n stackHas = __webpack_require__(116),\n stackSet = __webpack_require__(117);\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports) {\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(42);\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(42);\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(42);\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assocIndexOf = __webpack_require__(42);\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ListCache = __webpack_require__(41);\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports) {\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ListCache = __webpack_require__(41),\n Map = __webpack_require__(94),\n MapCache = __webpack_require__(118);\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar mapCacheClear = __webpack_require__(119),\n mapCacheDelete = __webpack_require__(126),\n mapCacheGet = __webpack_require__(128),\n mapCacheHas = __webpack_require__(129),\n mapCacheSet = __webpack_require__(130);\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Hash = __webpack_require__(120),\n ListCache = __webpack_require__(41),\n Map = __webpack_require__(94);\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hashClear = __webpack_require__(121),\n hashDelete = __webpack_require__(122),\n hashGet = __webpack_require__(123),\n hashHas = __webpack_require__(124),\n hashSet = __webpack_require__(125);\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar nativeCreate = __webpack_require__(43);\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports) {\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar nativeCreate = __webpack_require__(43);\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar nativeCreate = __webpack_require__(43);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar nativeCreate = __webpack_require__(43);\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getMapData = __webpack_require__(44);\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports) {\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getMapData = __webpack_require__(44);\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getMapData = __webpack_require__(44);\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getMapData = __webpack_require__(44);\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar createBaseFor = __webpack_require__(132);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports) {\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar assignMergeValue = __webpack_require__(95),\n cloneBuffer = __webpack_require__(134),\n cloneTypedArray = __webpack_require__(135),\n copyArray = __webpack_require__(138),\n initCloneObject = __webpack_require__(139),\n isArguments = __webpack_require__(33),\n isArray = __webpack_require__(34),\n isArrayLikeObject = __webpack_require__(141),\n isBuffer = __webpack_require__(35),\n isFunction = __webpack_require__(13),\n isObject = __webpack_require__(2),\n isPlainObject = __webpack_require__(142),\n isTypedArray = __webpack_require__(36),\n safeGet = __webpack_require__(97),\n toPlainObject = __webpack_require__(143);\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(4);\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(14)(module)))\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cloneArrayBuffer = __webpack_require__(136);\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Uint8Array = __webpack_require__(137);\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(4);\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports) {\n\n/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseCreate = __webpack_require__(140),\n getPrototype = __webpack_require__(96),\n isPrototype = __webpack_require__(9);\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(2);\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isArrayLike = __webpack_require__(5),\n isObjectLike = __webpack_require__(6);\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar baseGetTag = __webpack_require__(7),\n getPrototype = __webpack_require__(96),\n isObjectLike = __webpack_require__(6);\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar copyObject = __webpack_require__(30),\n keysIn = __webpack_require__(98);\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(2),\n isPrototype = __webpack_require__(9),\n nativeKeysIn = __webpack_require__(145);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports) {\n\n/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar locales = __webpack_require__(99);\n\nfunction text(string, locale) {\n var dictionary = locales[locale] || locales[locale.split('-')[0]] || locales.main;\n\n return dictionary[string] || locales.main[string] || string;\n}\n\nexports.default = text;\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Send to Messenger',\n skype: 'Skype',\n 'sign-skype': 'Send to Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Send to Telegram',\n viber: 'Viber',\n 'sign-viber': 'Send to Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Sing In',\n 'sign-vk': 'Send to VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Send to WhatsApp',\n 'telegram_tip': 'Tap <strong>\"Start\"</strong></br> when enter Telegram App',\n 'facebook_tip': 'Tap <strong>\"Get started\"</strong><br/>in Facebook Messenger',\n 'viber_tip': '<strong>Viber Desktop App</strong></br> should be installed on your PC',\n 'vkontakte_tip': 'Press <strong>\"Allow messages\"</strong><br/>in a popup window',\n 'whatsapp_tip': '<strong>Send generated text</strong><br/>in WhatsApp'\n};\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Подписаться в Facebook',\n skype: 'Skype',\n 'sign-skype': 'Подписаться в Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Подписаться в Telegram',\n viber: 'Viber',\n 'sign-viber': 'Подписаться в Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Login',\n 'sign-vk': 'Подписаться VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Подписаться в WhatsApp',\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\n};\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Zapisz się Facebook',\n skype: 'Skype',\n 'sign-skype': 'Zapisz się Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Zapisz się Telegram',\n viber: 'Viber',\n 'sign-viber': 'Zapisz się Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Login',\n 'sign-vk': 'Zapisz się VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Zapisz się WhatsApp',\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\n};\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Abonează-te Facebook',\n skype: 'Skype',\n 'sign-skype': 'Abonează-te Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Abonează-te Telegram',\n viber: 'Viber',\n 'sign-viber': 'Abonează-te Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Login',\n 'sign-vk': 'Abonează-te VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Abonează-te WhatsApp',\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\n};\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n facebook: 'Facebook',\n 'sign-facebook': 'Підписатися на Facebook',\n skype: 'Skype',\n 'sign-skype': 'Підписатися на Skype',\n telegram: 'Telegram',\n 'sign-telegram': 'Підписатися на Telegram',\n viber: 'Viber',\n 'sign-viber': 'Підписатися на Viber',\n vkontakte: 'VKontakte',\n 'vkontakte login': 'VK Login',\n 'sign-vk': 'Підписатися на VKontakte',\n whatsapp: 'WhatsApp',\n 'sign-whatsapp': 'Підписатися на WhatsApp',\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\n};\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction getLocale() {\n var locale = 'main';\n\n if (document) {\n locale = document.querySelector('html').getAttribute('lang');\n }\n\n if (!locale && navigator) {\n locale = navigator.language;\n }\n\n return locale;\n}\n\nexports.default = getLocale;\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction stringifyAttributes() {\n var attributesMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attributesMap).map(function (key) {\n var value = attributesMap[key];\n\n if (value === null || typeof value === 'undefined') {\n return '';\n }\n\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n value = JSON.stringify(value);\n }\n\n return key + '=\\'' + value + '\\'';\n }).join(' ');\n}\n\nexports.default = stringifyAttributes;\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _cookies = __webpack_require__(38);\n\nvar _cookies2 = _interopRequireDefault(_cookies);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\r\n *\r\n * @extends cookies\r\n */\nvar cookiesEx = Object.create(_cookies2.default);\n\n/**\r\n *\r\n * @param name {string}\r\n * @returns {Number}\r\n */\n// const cookies = require('./cookies');\ncookiesEx.getIntCookie = function (name) {\n return parseInt(this.getCookie(name));\n};\n\n/**\r\n *\r\n * @param name {string}\r\n * @returns {boolean}\r\n */\ncookiesEx.getBoolCookie = function (name) {\n return this.getCookie(name) === 'true';\n};\n/**\r\n *\r\n * @param name {string}\r\n * @param timeToLive {number}\r\n * @returns {number}\r\n */\ncookiesEx.incrementIntCookie = function (name, timeToLive) {\n var val = this.getIntCookie(name) || 0;\n val++;\n this.setCookie(name, val, timeToLive);\n\n return val;\n};\n\nexports.default = cookiesEx;\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar config = {\n apiPath: 'https://api.textback.io/api',\n rootElement: 'tb-notification-widget'\n};\nexports.default = config;\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar storage = {};\n\nfunction setWidget(widgetId, widgetPromise) {\n storage[widgetId] = storage[widgetId] || {};\n storage[widgetId].promise = widgetPromise;\n}\n\nfunction getWidget(widgetId) {\n return storage[widgetId] ? storage[widgetId].promise : null;\n}\n\nfunction setVkHandler(widgetId, handler) {\n storage[widgetId] = storage[widgetId] || {};\n storage[widgetId].vkHandler = handler;\n}\n\nfunction getVkHandler(widgetId) {\n return storage[widgetId] ? storage[widgetId].vkHandler : null;\n}\n\nvar widgetsStorage = {\n setWidget: setWidget,\n getWidget: getWidget,\n setVkHandler: setVkHandler,\n getVkHandler: getVkHandler\n};\n\nexports.default = widgetsStorage;\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYAAAAG8CAYAAADXf3JpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc5NDM2NDE2NDdDMTExRTdBNTRDRUUwN0RENzM1NERBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc5NDM2NDE3NDdDMTExRTdBNTRDRUUwN0RENzM1NERBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Nzk0MzY0MTQ0N0MxMTFFN0E1NENFRTA3REQ3MzU0REEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Nzk0MzY0MTU0N0MxMTFFN0E1NENFRTA3REQ3MzU0REEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5gC3s6AAAbO0lEQVR42uzd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\"\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdQAAAFYCAYAAADqVQ3PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJDNzJBODY0NDdDMTExRTc5MjNCQzExMDg0MDFGMzkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJDNzJBODY1NDdDMTExRTc5MjNCQzExMDg0MDFGMzkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkM3MkE4NjI0N0MxMTFFNzkyM0JDMTEwODQwMUYzOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkM3MkE4NjM0N0MxMTFFNzkyM0JDMTEwODQwMUYzOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4c3m3UAAAsuklEQVR42uyd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\"\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh8AAAFZCAYAAAA4tE09AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk2RjREMTdGNDdDMTExRTc4OEIzQTM0NjUyNTU0N0IzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk2RjREMTgwNDdDMTExRTc4OEIzQTM0NjUyNTU0N0IzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTZGNEQxN0Q0N0MxMTFFNzg4QjNBMzQ2NTI1NTQ3QjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTZGNEQxN0U0N0MxMTFFNzg4QjNBMzQ2NTI1NTQ3QjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7N3Z9FAAAvnElEQVR42uzd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\"\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ0AAAAUCAYAAACXmT/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2RTUyM0YwMURDM0FFNzExQjA1M0Y4QjdDNDAyNEUzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERDI0MEFCNzQ4NjkxMUU3OTRDQzgxREI5REQ3RUE1RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERDI0MEFCNjQ4NjkxMUU3OTRDQzgxREI5REQ3RUE1RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZCOTI3MDEwRjM0MkU3MTE5RUU1QzY1QjU1MjVFRkJEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZFNTIzRjAxREMzQUU3MTFCMDUzRjhCN0M0MDI0RTMxIi8+IDwvcmRmOkRlc2NyaXB0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\"\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(162);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(16)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./normalize.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./normalize.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(15)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"/*based on*/\\n/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */\\ntb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner {\\n /**\\r\\n * Correct the font size and margin on `h1` elements within `section` and\\r\\n * `article` contexts in Chrome, Firefox, and Safari.\\r\\n */\\n /* Grouping content\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 9-.\\r\\n * 1. Add the correct display in IE.\\r\\n */\\n /**\\r\\n * 1. Add the correct box sizing in Firefox.\\r\\n * 2. Show the overflow in Edge and IE.\\r\\n */\\n /**\\r\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\r\\n * 2. Correct the odd `em` font sizing in all browsers.\\r\\n */\\n /* Text-level semantics\\r\\n ========================================================================== */\\n /**\\r\\n * 1. Remove the gray background on active links in IE 10.\\r\\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\\r\\n */\\n /**\\r\\n * 1. Remove the bottom border in Chrome 57- and Firefox 39-.\\r\\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\r\\n */\\n /**\\r\\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\\r\\n */\\n /**\\r\\n * Add the correct font weight in Chrome, Edge, and Safari.\\r\\n */\\n /**\\r\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\r\\n * 2. Correct the odd `em` font sizing in all browsers.\\r\\n */\\n /**\\r\\n * Add the correct font style in Android 4.3-.\\r\\n */\\n /**\\r\\n * Add the correct background and color in IE 9-.\\r\\n */\\n /**\\r\\n * Add the correct font size in all browsers.\\r\\n */\\n /**\\r\\n * Prevent `sub` and `sup` elements from affecting the line height in\\r\\n * all browsers.\\r\\n */\\n /* Embedded content\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 9-.\\r\\n */\\n /**\\r\\n * Add the correct display in iOS 4-7.\\r\\n */\\n /**\\r\\n * Remove the border on images inside links in IE 10-.\\r\\n */\\n /**\\r\\n * Hide the overflow in IE.\\r\\n */\\n /* Forms\\r\\n ========================================================================== */\\n /**\\r\\n * 1. Change the font styles in all browsers (opinionated).\\r\\n * 2. Remove the margin in Firefox and Safari.\\r\\n */\\n /**\\r\\n * Show the overflow in IE.\\r\\n * 1. Show the overflow in Edge.\\r\\n */\\n /**\\r\\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\\r\\n * 1. Remove the inheritance of text transform in Firefox.\\r\\n */\\n /**\\r\\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\\r\\n * controls in Android 4.\\r\\n * 2. Correct the inability to style clickable types in iOS and Safari.\\r\\n */\\n /**\\r\\n * Remove the inner border and padding in Firefox.\\r\\n */\\n /**\\r\\n * Restore the focus styles unset by the previous rule.\\r\\n */\\n /**\\r\\n * Correct the padding in Firefox.\\r\\n */\\n /**\\r\\n * 1. Correct the text wrapping in Edge and IE.\\r\\n * 2. Correct the color inheritance from `fieldset` elements in IE.\\r\\n * 3. Remove the padding so developers are not caught out when they zero out\\r\\n * `fieldset` elements in all browsers.\\r\\n */\\n /**\\r\\n * 1. Add the correct display in IE 9-.\\r\\n * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\\r\\n */\\n /**\\r\\n * Remove the default vertical scrollbar in IE.\\r\\n */\\n /**\\r\\n * 1. Add the correct box sizing in IE 10-.\\r\\n * 2. Remove the padding in IE 10-.\\r\\n */\\n /**\\r\\n * Correct the cursor style of increment and decrement buttons in Chrome.\\r\\n */\\n /**\\r\\n * 1. Correct the odd appearance in Chrome and Safari.\\r\\n * 2. Correct the outline style in Safari.\\r\\n */\\n /**\\r\\n * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\\r\\n */\\n /**\\r\\n * 1. Correct the inability to style clickable types in iOS and Safari.\\r\\n * 2. Change font properties to `inherit` in Safari.\\r\\n */\\n /* Interactive\\r\\n ========================================================================== */\\n /*\\r\\n * Add the correct display in IE 9-.\\r\\n * 1. Add the correct display in Edge, IE, and Firefox.\\r\\n */\\n /*\\r\\n * Add the correct display in all browsers.\\r\\n */\\n /* Scripting\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE.\\r\\n */\\n /* Hidden\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 10-.\\r\\n */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner h1 {\\n font-size: 2em;\\n margin: 0.67em 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner figcaption,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner figure,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner main {\\n /* 1 */\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner hr {\\n box-sizing: content-box;\\n /* 1 */\\n height: 0;\\n /* 1 */\\n overflow: visible;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner pre {\\n font-family: monospace, monospace;\\n /* 1 */\\n font-size: 1em;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner a {\\n background-color: transparent;\\n /* 1 */\\n -webkit-text-decoration-skip: objects;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner abbr[title] {\\n border-bottom: none;\\n /* 1 */\\n text-decoration: underline;\\n /* 2 */\\n text-decoration: underline dotted;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner b,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner strong {\\n font-weight: inherit; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner b,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner strong {\\n font-weight: bolder; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner code,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner kbd,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner samp {\\n font-family: monospace, monospace;\\n /* 1 */\\n font-size: 1em;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner dfn {\\n font-style: italic; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner mark {\\n background-color: #ff0;\\n color: #000; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner small {\\n font-size: 80%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sub,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sub {\\n bottom: -0.25em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sup {\\n top: -0.5em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner audio,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner video {\\n display: inline-block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner audio:not([controls]) {\\n display: none;\\n height: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner img {\\n border-style: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner svg:not(:root) {\\n overflow: hidden; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner input,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner optgroup,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner select,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner textarea {\\n font-family: sans-serif;\\n /* 1 */\\n font-size: 100%;\\n /* 1 */\\n line-height: 1.15;\\n /* 1 */\\n margin: 0;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner input {\\n /* 1 */\\n overflow: visible; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner select {\\n /* 1 */\\n text-transform: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner html [type=\\\"button\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"] {\\n -webkit-appearance: button;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"button\\\"]::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"]::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"]::-moz-focus-inner {\\n border-style: none;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"button\\\"]:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"]:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"]:-moz-focusring {\\n outline: 1px dotted ButtonText; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner fieldset {\\n padding: 0.35em 0.75em 0.625em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner legend {\\n box-sizing: border-box;\\n /* 1 */\\n color: inherit;\\n /* 2 */\\n display: table;\\n /* 1 */\\n max-width: 100%;\\n /* 1 */\\n padding: 0;\\n /* 3 */\\n white-space: normal;\\n /* 1 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner progress {\\n display: inline-block;\\n /* 1 */\\n vertical-align: baseline;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner textarea {\\n overflow: auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"checkbox\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"radio\\\"] {\\n box-sizing: border-box;\\n /* 1 */\\n padding: 0;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"number\\\"]::-webkit-inner-spin-button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"] {\\n -webkit-appearance: textfield;\\n /* 1 */\\n outline-offset: -2px;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"]::-webkit-search-cancel-button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner ::-webkit-file-upload-button {\\n -webkit-appearance: button;\\n /* 1 */\\n font: inherit;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner details,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner menu {\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner summary {\\n display: list-item; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner template {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [hidden] {\\n display: none; }\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(164);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(16)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(15)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"tb-notification-widget {\\n all: initial;\\n display: inline-block;\\n font-family: 'Open Sans', 'Droid Sans', Arial, sans-serif;\\n line-height: 1.42857;\\n position: relative; }\\n tb-notification-widget.tb-no-api-call {\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner {\\n /*styles for non mobile*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .hidden {\\n display: none; }\\n\\n@keyframes spin {\\n from {\\n transform: rotate(0deg); }\\n to {\\n transform: rotate(360deg); } }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay {\\n display: block;\\n text-align: center;\\n position: fixed;\\n z-index: 11000;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n background-color: rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay.hidden {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay:before {\\n display: inline-block;\\n vertical-align: middle;\\n content: \\\" \\\";\\n height: 100%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup {\\n box-sizing: content-box;\\n display: inline-block;\\n position: relative;\\n background-color: #fefefe;\\n margin: 0px auto;\\n width: 240px;\\n padding: 20px 35px 22px 35px;\\n border: 1px solid #888;\\n border-radius: 5px;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark {\\n background-color: #282828; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close {\\n line-height: 1;\\n opacity: 1;\\n text-shadow: none;\\n position: absolute;\\n top: 2px;\\n right: 5px;\\n color: #aaa;\\n float: right;\\n font-size: 16px;\\n font-weight: bold; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup #tb-notification-brand-badge {\\n position: absolute;\\n bottom: 10px;\\n right: 10px;\\n width: 80px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close:hover, tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close:active {\\n opacity: 1;\\n color: black;\\n text-decoration: none;\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-icon_body img {\\n width: 24px;\\n margin-bottom: 14px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-container {\\n display: block;\\n font-size: 14px;\\n font-weight: 600;\\n margin-bottom: 11px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-line {\\n display: block;\\n margin: 0;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark tb-widget-header-line {\\n color: white !important; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-container {\\n display: block;\\n font-size: 11px;\\n margin-bottom: 23px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-line {\\n display: block;\\n margin: 5px 0;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark tb-widget-description-line {\\n color: white !important; }\\n @media only screen and (min-device-width: 736px) {\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup {\\n width: 525px;\\n padding: 42px 80px 72px 80px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-container {\\n font-size: 28px;\\n margin-bottom: 24px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-icon_body img {\\n width: 48px;\\n margin-bottom: 30px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-container {\\n font-size: 22px;\\n margin-bottom: 40px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup #tb-notification-brand-badge {\\n bottom: 20px;\\n right: 20px;\\n width: 160px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close {\\n font-size: 28px;\\n right: 10px;\\n top: 5px; } }\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _uuidJs = __webpack_require__(10);\n\nvar _uuidJs2 = _interopRequireDefault(_uuidJs);\n\nvar _icon_vk = __webpack_require__(40);\n\nvar _icon_vk2 = _interopRequireDefault(_icon_vk);\n\nvar _icon_vk_circle = __webpack_require__(168);\n\nvar _icon_vk_circle2 = _interopRequireDefault(_icon_vk_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint no-console: \"off\" */\n\nvar VKButton = function (_Button) {\n _inherits(VKButton, _Button);\n\n function VKButton() {\n _classCallCheck(this, VKButton);\n\n var _this = _possibleConstructorReturn(this, (VKButton.__proto__ || Object.getPrototypeOf(VKButton)).apply(this, arguments));\n\n _this.element.setAttribute('type', _this.config.type || 'widget');\n\n _this.buttonContainerId = _uuidJs2.default.create(4).hex;\n\n if (_this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n _this.element.setAttribute('authorized', _this.channelAPI.authorized);\n _this.element.addEventListener('click', function (event) {\n event.preventDefault();\n _this.channelAPI.subscribeViaApi();\n });\n\n _this.set({\n ready: true\n });\n } else if (_this.config.markUp.style !== 'square') {\n _this.element.addEventListener('click', function (event) {\n event.preventDefault();\n _this.channelAPI.subscribe();\n });\n\n _this.set({\n ready: true\n });\n } else {\n _this.set({\n ready: true\n });\n\n _this.channelAPI.renderVKSubscriptionButton(30, _this.buttonContainerId);\n }\n return _this;\n }\n\n _createClass(VKButton, [{\n key: 'template',\n get: function get() {\n if (this.ready) {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a href=\"javascript:void(0)\">\\n <tb-notification-button__icon>' + _icon_vk2.default + '</tb-notification-button__icon> \\n <tb-notification-button__text for=\"login\">' + this.text('vkontakte login') + '</tb-notification-button__text> \\n <tb-notification-button__text for=\"subscribe\">' + this.text('vkontakte') + '</tb-notification-button__text>\\n </a>\\n <p class=\"tb-notification-button__tip\">\\n ' + this.text('vkontakte_tip') + '\\n </p>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a href=\"#\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_vk2.default : _icon_vk_circle2.default) + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('vkontakte') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_vk2.default + '</tb-notification-button__icon>\\n <a id=\"' + this.buttonContainerId + '\"></a>\\n </div>\\n ';\n }\n }\n return '';\n }\n }]);\n\n return VKButton;\n}(_index2.default);\n\nmodule.exports = VKButton;\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = __webpack_require__(167);\nif(typeof content === 'string') content = [[module.i, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = __webpack_require__(16)(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(false) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(15)(false);\n// imports\n\n\n// module\nexports.push([module.i, \"tb-notification-widget {\\n /* new design */\\n /* old design */\\n /* popup */\\n /* circle icons design */\\n /*styles for non mobile*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-button a {\\n cursor: pointer !important; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-notification-button__tip {\\n position: absolute;\\n font-size: 10px;\\n text-align: center;\\n margin-top: 19px;\\n left: 0;\\n width: 100%;\\n color: #6f7b8a; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-center {\\n text-align: center; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-left {\\n text-align: left; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-right {\\n text-align: right; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square {\\n /* inline & popup */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button {\\n display: block;\\n width: 100%;\\n margin: 0px 0px 20px;\\n padding: 0px;\\n background-color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"skype\\\"] .tb-notification-button__inner > a {\\n background-color: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"skype\\\"] tb-notification-button__icon > svg path {\\n fill: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"facebook\\\"] .tb-notification-button__inner > a {\\n background-color: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"facebook\\\"] tb-notification-button__icon > svg path {\\n fill: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > a {\\n background-color: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] tb-notification-button__icon > svg path {\\n fill: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > div {\\n transition: box-shadow 0.4s; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > div:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[authorized=\\\"true\\\"] tb-notification-button__text[for=\\\"login\\\"], tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[authorized=\\\"false\\\"] tb-notification-button__text[for=\\\"subscribe\\\"] {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"viber\\\"] .tb-notification-button__inner > a {\\n background-color: #59267c; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"tg\\\"] .tb-notification-button__inner > a {\\n background-color: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"tg\\\"] tb-notification-button__icon > svg path {\\n fill: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"whatsapp\\\"] .tb-notification-button__inner > a {\\n background-color: #189d0e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner {\\n position: relative;\\n display: inline-block;\\n box-sizing: border-box;\\n width: 219px;\\n padding-left: 35px;\\n float: initial; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a {\\n all: initial;\\n display: block;\\n box-sizing: content-box;\\n border-radius: 2px;\\n cursor: pointer;\\n color: #fff;\\n position: relative;\\n font-size: 12px;\\n font-family: Arial,Helvetica,sans-serif;\\n padding: 0px;\\n line-height: 29px;\\n height: 30px;\\n text-align: center;\\n text-decoration: none !important;\\n transition: box-shadow 0.4s; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a:hover {\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__text {\\n display: inline-block;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon {\\n position: absolute;\\n top: 0px;\\n left: 0px;\\n width: 30px;\\n height: 30px;\\n margin: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded {\\n /* inline */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n transition: box-shadow 0.4s;\\n box-sizing: content-box;\\n padding: 10px 20px;\\n border-radius: 25px;\\n cursor: pointer;\\n background-color: #2979FF;\\n color: #fff;\\n display: inline-block;\\n margin: 0 13px 45px 0;\\n position: relative; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"skype\\\"] {\\n background-color: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"facebook\\\"] {\\n background-color: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"vk\\\"] {\\n background-color: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[authorized=\\\"true\\\"] tb-notification-button__text[for=\\\"login\\\"], tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[authorized=\\\"false\\\"] tb-notification-button__text[for=\\\"subscribe\\\"] {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"viber\\\"] {\\n background-color: #59267c; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"tg\\\"] {\\n background-color: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"whatsapp\\\"] {\\n background-color: #189d0e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n all: initial;\\n display: block;\\n text-decoration: none;\\n color: #fff;\\n font-family: inherit;\\n margin: -10px -20px;\\n text-decoration: none !important;\\n padding: 6px 30px 8px;\\n min-width: 110px;\\n text-align: center;\\n font-size: 15px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a:hover {\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n display: inline-block;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n display: inline-block;\\n vertical-align: middle;\\n width: 30px;\\n height: 30px;\\n margin: -10px 0 -10px -15px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n tb-notification-widget.tb-no-api-call #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n margin-bottom: 13px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n display: inline-block;\\n width: 120px;\\n height: 24px;\\n padding: 0px;\\n margin: 0px 0px 18px 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n position: relative;\\n text-align: center;\\n font-size: 12px;\\n padding: 5px 20px;\\n margin: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n display: block;\\n position: absolute;\\n left: 8px;\\n top: 2px;\\n width: 20px;\\n height: 20px;\\n margin: 0px;\\n padding: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n vertical-align: baseline;\\n width: 60px;\\n text-align: center;\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons {\\n /* inline */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button {\\n display: inline-block;\\n position: relative;\\n margin: 0px 13px 13px 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button:hover {\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button > a {\\n all: initial;\\n display: block;\\n text-decoration: none;\\n font-family: inherit;\\n text-decoration: none !important;\\n min-width: 80px;\\n text-align: center;\\n font-size: 13px;\\n color: #333; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button > a:hover {\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__text {\\n display: block;\\n margin-top: 4px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__icon {\\n display: block;\\n width: 50px;\\n height: 50px;\\n margin: 0px auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n @media only screen and (min-device-width: 736px) {\\n tb-notification-widget {\\n /* new design */\\n /* old design*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner {\\n padding-left: 55px;\\n width: 239px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon {\\n top: -5px;\\n left: 0px;\\n width: 40px;\\n height: 40px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n margin: 0px 19px 24px 0px;\\n width: 206px;\\n height: 50px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n padding: 10px 20px;\\n font-size: 20px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n width: 40px;\\n height: 40px;\\n left: 15px;\\n top: 5px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n width: 100px;\\n line-height: 30px; } }\\n\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 53.5 53.5\\\" enable-background=\\\"new 0 0 53.5 53.5\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#4F749D\\\" d=\\\"M53.4,26.7c0,14.8-12,26.7-26.7,26.7C12,53.4,0,41.5,0,26.7C0,12,12,0,26.7,0C41.5,0,53.4,12,53.4,26.7 L53.4,26.7z M53.4,26.7\\\"></path><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#FFFFFF\\\" d=\\\"M25.2,37.5h2.1c0,0,0.6-0.1,1-0.4c0.3-0.3,0.3-0.9,0.3-0.9 s0-2.8,1.3-3.2c1.3-0.4,2.9,2.7,4.7,3.9c1.3,0.9,2.3,0.7,2.3,0.7l4.7-0.1c0,0,2.5-0.2,1.3-2.1c-0.1-0.2-0.7-1.4-3.5-4 c-2.9-2.7-2.5-2.3,1-7c2.2-2.9,3-4.6,2.7-5.4c-0.3-0.7-1.8-0.5-1.8-0.5l-5.3,0c0,0-0.4-0.1-0.7,0.1c-0.3,0.2-0.5,0.6-0.5,0.6 s-0.8,2.2-1.9,4.1c-2.3,4-3.3,4.2-3.7,4c-0.9-0.6-0.7-2.3-0.7-3.6c0-3.9,0.6-5.5-1.1-5.9c-0.6-0.1-1-0.2-2.5-0.2 c-1.9,0-3.5,0-4.4,0.4c-0.6,0.3-1.1,0.9-0.8,1c0.3,0,1.1,0.2,1.6,0.8c0.5,0.7,0.5,2.4,0.5,2.4s0.3,4.6-0.7,5.1 c-0.7,0.4-1.7-0.4-3.8-4c-1.1-1.9-1.9-3.9-1.9-3.9S15.3,19,15,18.8c-0.3-0.2-0.8-0.3-0.8-0.3l-5,0c0,0-0.8,0-1,0.3 c-0.2,0.3,0,0.9,0,0.9s3.9,9.2,8.4,13.8C20.6,37.8,25.2,37.5,25.2,37.5L25.2,37.5z M25.2,37.5\\\"></path></g></svg>\"\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _icon_tg = __webpack_require__(170);\n\nvar _icon_tg2 = _interopRequireDefault(_icon_tg);\n\nvar _icon_tg_circle = __webpack_require__(171);\n\nvar _icon_tg_circle2 = _interopRequireDefault(_icon_tg_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TelegramButton = function (_Button) {\n _inherits(TelegramButton, _Button);\n\n function TelegramButton() {\n _classCallCheck(this, TelegramButton);\n\n return _possibleConstructorReturn(this, (TelegramButton.__proto__ || Object.getPrototypeOf(TelegramButton)).apply(this, arguments));\n }\n\n _createClass(TelegramButton, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(TelegramButton.prototype.__proto__ || Object.getPrototypeOf(TelegramButton.prototype), 'render', this).call(this);\n\n var link = this.element.querySelector('a');\n link.addEventListener('click', function (event) {\n event.preventDefault();\n _this2.channelAPI.subscribe();\n });\n }\n }, {\n key: 'template',\n get: function get() {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a target=\"_blank\" href=\"https://telegram.me/' + this.config.id + '?start=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + _icon_tg2.default + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('telegram') + '</tb-notification-button__text>\\n </a>\\n <p class=\"tb-notification-button__tip\">\\n ' + this.text('telegram_tip') + '\\n </p>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a target=\"_blank\" href=\"https://telegram.me/' + this.config.id + '?start=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_tg2.default : _icon_tg_circle2.default) + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('telegram') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_tg2.default + '</tb-notification-button__icon> \\n <a target=\"_blank\" href=\"https://telegram.me/' + this.config.id + '?start=' + this.deepLink + '\">\\n <tb-notification-button__text>' + this.text('sign-telegram') + '</tb-notification-button__text>\\n </a>\\n </div>\\n ';\n }\n }\n }]);\n\n return TelegramButton;\n}(_index2.default);\n\n;\n\nmodule.exports = TelegramButton;\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M39.4,13.8L9.5,25.5c-1,0.4-0.9,1.8,0.1,2.1l7.6,2.2l2.8,9 c0.3,0.9,1.5,1.2,2.2,0.5l3.9-4l7.7,5.7c0.9,0.7,2.3,0.2,2.5-1l5.1-24.4C41.7,14.4,40.5,13.4,39.4,13.8 M35.6,19.2L21.7,31.5 c-0.1,0.1-0.2,0.3-0.2,0.5L21,36.7c0,0.2-0.2,0.2-0.3,0l-2.2-7.1c-0.1-0.3,0-0.7,0.3-0.9l16.4-10.2C35.6,18.4,36,18.9,35.6,19.2\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#589DD2\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9S0,41.7,0,26.9S12,0,26.9,0 S53.8,12,53.8,26.9\\\"></path></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M39.4,13.8L9.5,25.5c-1,0.4-0.9,1.8,0.1,2.1l7.6,2.2l2.8,9 c0.3,0.9,1.5,1.2,2.2,0.5l3.9-4l7.7,5.7c0.9,0.7,2.3,0.2,2.5-1l5.1-24.4C41.7,14.4,40.5,13.4,39.4,13.8 M35.6,19.2L21.7,31.5 c-0.1,0.1-0.2,0.3-0.2,0.5L21,36.7c0,0.2-0.2,0.2-0.3,0l-2.2-7.1c-0.1-0.3,0-0.7,0.3-0.9l16.4-10.2C35.6,18.4,36,18.9,35.6,19.2\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _icon_facebook = __webpack_require__(173);\n\nvar _icon_facebook2 = _interopRequireDefault(_icon_facebook);\n\nvar _icon_facebook_circle = __webpack_require__(174);\n\nvar _icon_facebook_circle2 = _interopRequireDefault(_icon_facebook_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FacebookButton = function (_Button) {\n _inherits(FacebookButton, _Button);\n\n function FacebookButton() {\n _classCallCheck(this, FacebookButton);\n\n return _possibleConstructorReturn(this, (FacebookButton.__proto__ || Object.getPrototypeOf(FacebookButton)).apply(this, arguments));\n }\n\n _createClass(FacebookButton, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(FacebookButton.prototype.__proto__ || Object.getPrototypeOf(FacebookButton.prototype), 'render', this).call(this);\n\n var link = this.element.querySelector('a');\n link.addEventListener('click', function (event) {\n event.preventDefault();\n _this2.channelAPI.subscribe();\n });\n }\n }, {\n key: 'template',\n get: function get() {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a target=\"_blank\" href=\"https://m.me/' + this.config.id + '?ref=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + _icon_facebook2.default + '</tb-notification-button__icon>\\n <tb-notification-button__text>' + this.text('facebook') + '</tb-notification-button__text>\\n </a>\\n <p class=\"tb-notification-button__tip\">\\n ' + this.text('facebook_tip') + '\\n </p>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a target=\"_blank\" href=\"https://m.me/' + this.config.id + '?ref=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_facebook2.default : _icon_facebook_circle2.default) + '</tb-notification-button__icon>\\n <tb-notification-button__text>' + this.text('facebook') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_facebook2.default + '</tb-notification-button__icon> \\n <a target=\"_blank\" href=\"https://m.me/' + this.config.id + '?ref=' + this.deepLink + '\">\\n <tb-notification-button__text>' + this.text('sign-facebook') + '</tb-notification-button__text>\\n </a>\\n </div>\\n ';\n }\n }\n }]);\n\n return FacebookButton;\n}(_index2.default);\n\n;\n\nmodule.exports = FacebookButton;\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.1\\\" enable-background=\\\"new 0 0 54.2 54.1\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#ffffff\\\" d=\\\"M33.6,27.9h-4.8v17.6h-7.3V27.9h-3.5v-6.2h3.5v-4c0-2.9,1.4-7.3,7.3-7.3l5.4,0v6h-3.9 c-0.6,0-1.5,0.3-1.5,1.7v3.6h5.4L33.6,27.9z M33.6,27.9\\\"></path></g></svg>\"\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.1\\\" enable-background=\\\"new 0 0 54.2 54.1\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#405C98\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9C12,53.8,0,41.7,0,26.9C0,12,12,0,26.9,0C41.7,0,53.8,12,53.8,26.9 L53.8,26.9z M53.8,26.9\\\"></path><path fill=\\\"#FFFFFF\\\" d=\\\"M33.6,27.9h-4.8v17.6h-7.3V27.9h-3.5v-6.2h3.5v-4c0-2.9,1.4-7.3,7.3-7.3l5.4,0v6h-3.9 c-0.6,0-1.5,0.3-1.5,1.7v3.6h5.4L33.6,27.9z M33.6,27.9\\\"></path></g></svg>\"\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _icon_skype = __webpack_require__(176);\n\nvar _icon_skype2 = _interopRequireDefault(_icon_skype);\n\nvar _icon_skype_new = __webpack_require__(177);\n\nvar _icon_skype_new2 = _interopRequireDefault(_icon_skype_new);\n\nvar _icon_skype_circle = __webpack_require__(178);\n\nvar _icon_skype_circle2 = _interopRequireDefault(_icon_skype_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SkypeButton = function (_Button) {\n _inherits(SkypeButton, _Button);\n\n function SkypeButton() {\n _classCallCheck(this, SkypeButton);\n\n return _possibleConstructorReturn(this, (SkypeButton.__proto__ || Object.getPrototypeOf(SkypeButton)).apply(this, arguments));\n }\n\n _createClass(SkypeButton, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(SkypeButton.prototype.__proto__ || Object.getPrototypeOf(SkypeButton.prototype), 'render', this).call(this);\n\n var link = this.element.querySelector('a');\n link.addEventListener('click', function (event) {\n event.preventDefault();\n _this2.channelAPI.subscribe();\n });\n }\n }, {\n key: 'template',\n get: function get() {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a target=\"_blank\" href=\"https://join.skype.com/bot/' + this.config.id + '?add\">\\n <tb-notification-button__icon>' + _icon_skype2.default + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('skype') + '</tb-notification-button__text>\\n </a>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a target=\"_blank\" href=\"https://join.skype.com/bot/' + this.config.id + '?add\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_skype2.default : _icon_skype_circle2.default) + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('skype') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_skype_new2.default + '</tb-notification-button__icon> \\n <a target=\"_blank\" href=\"https://join.skype.com/bot/' + this.config.id + '?add\">\\n <tb-notification-button__text>' + this.text('sign-skype') + '</tb-notification-button__text>\\n </a>\\n </div>\\n ';\n }\n }\n }]);\n\n return SkypeButton;\n}(_index2.default);\n\n;\n\nmodule.exports = SkypeButton;\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g></g><g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M53.9,33.8\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#ffffff\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" version=\\\"1.1\\\" id=\\\"Layer_1\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\" sodipodi:docname=\\\"icon_skype_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3717\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id=\\\"defs3715\\\"></defs><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3713\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"10.745996\\\" inkscape:cx=\\\"24.349007\\\" inkscape:cy=\\\"27.684012\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Layer_1\\\"></sodipodi><g inkscape:groupmode=\\\"layer\\\" id=\\\"layer2\\\" inkscape:label=\\\"S 1\\\" sodipodi:insensitive=\\\"true\\\"><rect style=\\\"fill:#ff0000;fill-opacity:1;stroke:#ffffff;stroke-width:1.03057516;stroke-opacity:1\\\" id=\\\"rect4560\\\" width=\\\"17.774063\\\" height=\\\"20.854279\\\" x=\\\"18.518526\\\" y=\\\"16.799427\\\"></rect></g><g id=\\\"g3688\\\"><g id=\\\"g3686\\\"><defs id=\\\"defs3681\\\"><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\" id=\\\"use3683\\\"></use></clipPath></g></g><g id=\\\"g3710\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><g id=\\\"g3698\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><defs id=\\\"defs3691\\\" style=\\\"fill-opacity:1.0\\\"><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\" style=\\\"fill-opacity:1.0\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\" style=\\\"fill-opacity:1.0\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\" id=\\\"use3693\\\" style=\\\"fill-opacity:1.0\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" d=\\\"M53.9,33.8\\\" id=\\\"path3696\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\" fill=\\\"#ffffff\\\"></path></g><g id=\\\"g3708\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><defs id=\\\"defs3701\\\" style=\\\"fill-opacity:1.0\\\"><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\" style=\\\"fill-opacity:1.0\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\" style=\\\"fill-opacity:1.0\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\" id=\\\"use3703\\\" style=\\\"fill-opacity:1.0\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\" id=\\\"path3706\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\" fill=\\\"#ffffff\\\"></path></g></g><path style=\\\"fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.09305792;stroke-opacity:1\\\" d=\\\"m 25.169216,36.539777 c -1.9225,-0.282019 -3.508857,-1.056961 -4.57471,-2.234766 -1.233748,-1.363337 -1.605654,-3.026058 -0.882484,-3.945419 0.419803,-0.533694 1.396912,-0.756727 2.074638,-0.473556 0.369148,0.15424 0.8834,0.820713 1.109808,1.438315 0.216434,0.590396 0.862093,1.477456 1.341578,1.843171 1.127511,0.859982 3.545001,1.012118 5.010702,0.315332 0.913077,-0.43407 1.613276,-1.34575 1.613276,-2.100534 0,-0.420713 -0.220616,-0.926762 -0.568619,-1.304301 -0.582736,-0.632193 -1.430923,-0.964429 -3.693188,-1.446623 -4.501049,-0.959385 -6.577778,-2.378472 -6.902717,-4.716824 -0.342895,-2.467561 1.145311,-4.515056 3.860515,-5.311351 1.149048,-0.336984 1.826723,-0.42083 3.443143,-0.426006 1.741545,-0.0056 2.521637,0.119837 3.681577,0.591878 0.962147,0.391549 1.471469,0.722324 2.144094,1.392465 0.716342,0.713696 1.010195,1.235166 1.080638,1.917689 0.07833,0.758973 -0.02787,1.116994 -0.466911,1.574028 -0.436647,0.454541 -0.921432,0.591506 -1.662696,0.469757 -0.489752,-0.08044 -1.081797,-0.644164 -1.552539,-1.478273 -0.363281,-0.643698 -1.089576,-1.370887 -1.630963,-1.632967 -0.917947,-0.444371 -2.781777,-0.453289 -3.796873,-0.01817 -0.59293,0.254159 -1.151473,0.781982 -1.334423,1.261029 -0.304069,0.796193 0.20919,1.670076 1.257094,2.140347 0.307703,0.138089 1.616824,0.51734 2.909157,0.84278 3.218208,0.810419 4.740091,1.378012 5.678538,2.117834 0.44227,0.348662 1.139438,1.318802 1.330832,1.85191 0.225133,0.627091 0.271123,1.955686 0.09622,2.779673 -0.413564,1.948325 -1.867884,3.453488 -4.041579,4.182869 -1.24244,0.4169 -3.961771,0.598896 -5.524107,0.369711 z\\\" id=\\\"path4562\\\" inkscape:connector-curvature=\\\"0\\\"></path></svg>\"\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#2A8AC3\\\" d=\\\"M55.2,27.4c0,15.1-12.2,27.3-27.3,27.3c-15.1,0-27.3-12.2-27.3-27.3 c0-15.1,12.2-27.3,27.3-27.3C43,0.1,55.2,12.3,55.2,27.4\\\"></path></g></g><g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#2D84A6\\\" d=\\\"M53.9,33.8\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _icon_viber = __webpack_require__(180);\n\nvar _icon_viber2 = _interopRequireDefault(_icon_viber);\n\nvar _icon_viber_new = __webpack_require__(181);\n\nvar _icon_viber_new2 = _interopRequireDefault(_icon_viber_new);\n\nvar _icon_viber_circle = __webpack_require__(182);\n\nvar _icon_viber_circle2 = _interopRequireDefault(_icon_viber_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ViberButton = function (_Button) {\n _inherits(ViberButton, _Button);\n\n function ViberButton() {\n _classCallCheck(this, ViberButton);\n\n return _possibleConstructorReturn(this, (ViberButton.__proto__ || Object.getPrototypeOf(ViberButton)).apply(this, arguments));\n }\n\n _createClass(ViberButton, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(ViberButton.prototype.__proto__ || Object.getPrototypeOf(ViberButton.prototype), 'render', this).call(this);\n\n var link = this.element.querySelector('a');\n link.addEventListener('click', function (event) {\n event.preventDefault();\n _this2.channelAPI.subscribe();\n });\n }\n }, {\n key: 'template',\n get: function get() {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a target=\"_blank\" href=\"viber://pa?chatURI=' + this.config.id + '&context=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + _icon_viber2.default + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('viber') + '</tb-notification-button__text>\\n </a>\\n <p class=\"tb-notification-button__tip\">\\n ' + this.text('viber_tip') + '\\n </p>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a target=\"_blank\" href=\"viber://pa?chatURI=' + this.config.id + '&context=' + this.deepLink + '\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_viber2.default : _icon_viber_circle2.default) + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('viber') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_viber_new2.default + '</tb-notification-button__icon> \\n <a target=\"_blank\" href=\"viber://pa?chatURI=' + this.config.id + '&context=' + this.deepLink + '\">\\n <tb-notification-button__text>' + this.text('sign-viber') + '</tb-notification-button__text>\\n </a>\\n </div>\\n ';\n }\n }\n }]);\n\n return ViberButton;\n}(_index2.default);\n\n;\n\nmodule.exports = ViberButton;\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M41.8,20L41.8,20c-0.7-3-4.1-6.2-7.1-6.9l0,0c-4.9-0.9-9.9-0.9-14.9,0l0,0 c-3,0.7-6.4,3.9-7.1,6.8l0,0c-0.9,4.2-0.9,8.4,0,12.5l0,0c0.7,2.8,3.8,5.9,6.7,6.7v3.3c0,1.2,1.5,1.8,2.3,0.9L25,40 c0.7,0,1.5,0.1,2.2,0.1c2.5,0,5-0.2,7.4-0.7l0,0c3-0.7,6.4-3.9,7.1-6.8l0,0C42.7,28.3,42.7,24.1,41.8,20 M39.2,31.9 c-0.5,1.9-3,4.4-5,4.8c-2.6,0.5-5.3,0.7-7.9,0.6c-0.1,0-0.1,0-0.1,0.1c-0.4,0.4-2.5,2.5-2.5,2.5L21,42.6c-0.2,0.2-0.5,0.1-0.5-0.2 v-5.5c0-0.1-0.1-0.2-0.2-0.2h0c-2-0.4-4.5-2.9-5-4.8c-0.8-3.8-0.8-7.6,0-11.3c0.5-1.9,3-4.4,5-4.8c4.6-0.9,9.2-0.9,13.8,0 c2,0.4,4.5,2.9,5,4.8C40,24.3,40,28.1,39.2,31.9\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#ffffff\\\" d=\\\"M31.6,34.4c-0.3-0.1-0.6-0.2-0.9-0.3c-2.8-1.2-5.4-2.7-7.5-5 c-1.2-1.3-2.1-2.8-2.9-4.4c-0.4-0.7-0.7-1.5-1-2.3c-0.3-0.7,0.1-1.4,0.6-2c0.4-0.5,1-0.9,1.5-1.2c0.5-0.2,0.9-0.1,1.2,0.3 c0.7,0.8,1.4,1.7,1.9,2.7c0.3,0.6,0.2,1.3-0.4,1.7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.2-0.2,0.5-0.1,0.8 c0.7,2,2,3.6,4,4.4c0.3,0.1,0.7,0.3,1,0.2c0.6-0.1,0.8-0.8,1.3-1.1c0.4-0.4,1-0.4,1.4-0.1c0.5,0.3,0.9,0.6,1.4,0.9 c0.4,0.3,0.9,0.6,1.3,1c0.4,0.3,0.5,0.8,0.3,1.3c-0.4,0.9-1,1.6-1.8,2C32.1,34.3,31.9,34.4,31.6,34.4 C31.3,34.3,31.9,34.4,31.6,34.4\\\"></path></g><g><defs><rect id=\\\"SVGID_7_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_8_)\\\" fill=\\\"#ffffff\\\" d=\\\"M27.2,18.4c3.7,0.1,6.7,2.6,7.4,6.2c0.1,0.6,0.2,1.3,0.2,1.9 c0,0.3-0.1,0.5-0.4,0.5c-0.3,0-0.4-0.2-0.4-0.5c0-0.5-0.1-1.1-0.1-1.6c-0.4-2.8-2.6-5-5.3-5.5c-0.4-0.1-0.8-0.1-1.3-0.1 c-0.3,0-0.6,0-0.7-0.4c0-0.3,0.2-0.5,0.4-0.5C27.1,18.4,27.2,18.4,27.2,18.4C30.9,18.5,27.2,18.4,27.2,18.4\\\"></path></g><g><defs><rect id=\\\"SVGID_9_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_10_\\\"><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_10_)\\\" fill=\\\"#ffffff\\\" d=\\\"M32.9,25.7c0,0,0,0.2,0,0.3c-0.1,0.4-0.7,0.4-0.8,0c0-0.1,0-0.2,0-0.4 c0-0.8-0.2-1.6-0.6-2.2c-0.4-0.7-1-1.3-1.8-1.6c-0.4-0.2-0.9-0.3-1.4-0.4c-0.2,0-0.4-0.1-0.6-0.1c-0.3,0-0.4-0.2-0.4-0.5 c0-0.2,0.2-0.4,0.4-0.4c0.8,0,1.7,0.2,2.4,0.6c1.5,0.8,2.4,2.1,2.7,3.8c0,0.1,0,0.2,0,0.2C32.8,25.2,32.8,25.4,32.9,25.7 C32.9,25.7,32.8,25.4,32.9,25.7\\\"></path></g><g><defs><rect id=\\\"SVGID_11_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_12_\\\"><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_12_)\\\" fill=\\\"#ffffff\\\" d=\\\"M30.6,25.6c-0.3,0-0.5-0.2-0.5-0.4c0-0.2,0-0.4-0.1-0.6 c-0.1-0.4-0.3-0.7-0.6-1c-0.1-0.1-0.3-0.2-0.5-0.2c-0.2-0.1-0.5,0-0.7-0.1c-0.2-0.1-0.4-0.3-0.3-0.5c0-0.2,0.2-0.4,0.5-0.4 c1.4,0.1,2.5,0.8,2.6,2.5c0,0.1,0,0.2,0,0.4C30.8,25.5,30.7,25.6,30.6,25.6C30.3,25.6,30.7,25.6,30.6,25.6\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52.5 51.5\\\" enable-background=\\\"new 0 0 52.5 51.5\\\" version=\\\"1.1\\\" id=\\\"svg4500\\\" sodipodi:docname=\\\"icon_viber_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata4506\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc:type></cc:Work></rdf:RDF></metadata><defs id=\\\"defs4504\\\"></defs><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview4502\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"11.643234\\\" inkscape:cx=\\\"12.523617\\\" inkscape:cy=\\\"24.462125\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg4500\\\"></sodipodi:namedview><g id=\\\"g4488\\\" transform=\\\"matrix(0.89735236,0,0,0.89735236,2.6945005,3.2433535)\\\"><title id=\\\"title4485\\\">background</title><rect id=\\\"canvas_background\\\" height=\\\"51.5\\\" width=\\\"52.5\\\" y=\\\"0\\\" x=\\\"0\\\" style=\\\"fill:none\\\"></rect></g><g id=\\\"g4498\\\" transform=\\\"matrix(0.89735236,0,0,0.89735236,2.6945008,3.5746654)\\\"><g stroke=\\\"null\\\" id=\\\"svg_1\\\"><path stroke=\\\"null\\\" id=\\\"svg_2\\\" d=\\\"m 36.974497,37.974109 c 3.120405,-0.696789 7.028484,-4.453393 7.785864,-7.452617 1.272398,-5.846972 1.272398,-11.784829 0,-17.631801 -0.75738,-3.029519 -4.665459,-6.755828 -7.785864,-7.452617 -7.11937,-1.363284 -14.359921,-1.363284 -21.448995,0 -3.120405,0.696789 -7.028484,4.453393 -7.785864,7.452617 -1.272398,5.846972 -1.272398,11.754534 0,17.601506 0.787675,3.029519 4.665459,6.755828 7.785864,7.452617 0.121181,0.03029 0.242362,0.151476 0.242362,0.302952 v 8.543244 c 0,0.424133 0.515018,0.636199 0.81797,0.333247 l 4.059556,-4.150441 c 0,0 3.241585,-3.332471 3.817194,-3.90808 0.06059,-0.06059 0.121181,-0.09089 0.212066,-0.09089 4.120146,0.121181 8.209997,-0.212066 12.299847,-0.999741 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#59267c\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_3\\\" d=\\\"M 33.036122,34.459866 C 32.551399,34.30839 32.096971,34.217504 31.672838,34.035733 27.280035,32.218022 23.250775,29.854997 20.039485,26.280164 18.221774,24.220091 16.767604,21.917656 15.586092,19.463746 15.010483,18.312529 14.52576,17.100721 14.041037,15.888913 c -0.454428,-1.090627 0.212066,-2.211549 0.908856,-3.059814 0.666494,-0.787675 1.484464,-1.363284 2.39332,-1.817711 0.727085,-0.333247 1.393579,-0.151476 1.938892,0.454428 1.090627,1.332988 2.120663,2.696272 2.938634,4.211032 0.515018,0.908856 0.393837,2.060073 -0.545313,2.696272 -0.212066,0.121181 -0.424133,0.302952 -0.636199,0.484723 -0.181771,0.151476 -0.363542,0.302952 -0.484723,0.515018 -0.242362,0.393837 -0.242362,0.81797 -0.09089,1.211808 1.151217,3.120405 3.09011,5.574315 6.210514,6.907304 0.515018,0.212066 1.030037,0.454428 1.605645,0.393837 0.969446,-0.121181 1.302693,-1.181512 1.969187,-1.757121 0.666494,-0.545313 1.51476,-0.545313 2.241844,-0.09089 0.727085,0.454428 1.423874,0.939151 2.120663,1.454169 0.696789,0.484723 1.363284,0.969446 1.969187,1.51476 0.605904,0.545313 0.81797,1.211808 0.454428,1.938892 -0.636199,1.332988 -1.545055,2.423615 -2.847748,3.120405 -0.302952,0.212066 -0.75738,0.272657 -1.151217,0.393837 -0.484723,-0.121181 0.393837,-0.121181 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_4\\\" d=\\\"m 27.007379,9.587514 c 0.272657,0.030295 0.515018,0.06059 0.787675,0.090886 5.029002,0.727085 8.997672,4.362508 9.936823,9.51269 0.181771,0.969446 0.242362,1.938892 0.302952,2.938634 0.03029,0.393837 -0.212066,0.787675 -0.636199,0.81797 -0.454428,0 -0.666494,-0.393837 -0.696789,-0.787675 -0.06059,-0.81797 -0.09089,-1.63594 -0.212066,-2.45391 -0.636199,-4.271622 -4.02926,-7.816159 -8.300882,-8.573539 -0.636199,-0.121181 -1.302693,-0.151476 -1.938892,-0.212066 -0.393837,-0.03029 -0.939151,-0.06059 -1.030037,-0.575609 -0.06059,-0.424133 0.272657,-0.787675 0.696789,-0.787675 0.121181,0 0.212066,0 0.333247,0 0,-0.030295 0.515018,0 0.75738,0.030295 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_5\\\" d=\\\"m 34.975014,20.857326 c 0,0.06059 0,0.242362 -0.06059,0.393837 -0.151476,0.575609 -1.030037,0.636199 -1.211808,0.06059 -0.06059,-0.181771 -0.06059,-0.363542 -0.06059,-0.545313 0,-1.211808 -0.272657,-2.423615 -0.878561,-3.483947 -0.636199,-1.090627 -1.57535,-1.999483 -2.726567,-2.544796 -0.696789,-0.333247 -1.423874,-0.545313 -2.181254,-0.666494 -0.333247,-0.06059 -0.666494,-0.09089 -0.999741,-0.121181 -0.393837,-0.06059 -0.605904,-0.302952 -0.605904,-0.696789 0,-0.363542 0.302952,-0.636199 0.696789,-0.605904 1.302693,0.06059 2.605386,0.363542 3.756604,0.969446 2.39332,1.242103 3.756604,3.241585 4.150441,5.907562 0,0.121181 0.03029,0.242362 0.06059,0.363542 0.0303,0.272657 0.06059,0.575609 0.06059,0.969446 0,0.06059 0,-0.393837 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_6\\\" d=\\\"m 31.400182,20.70585 c -0.484723,0 -0.75738,-0.272657 -0.787675,-0.696789 -0.0303,-0.302952 -0.06059,-0.605904 -0.121181,-0.908856 -0.151476,-0.575609 -0.454428,-1.151217 -0.939151,-1.51476 -0.242362,-0.181771 -0.484723,-0.302952 -0.787675,-0.393837 -0.333247,-0.09089 -0.727085,-0.06059 -1.060332,-0.151476 -0.393837,-0.09089 -0.605904,-0.393837 -0.545313,-0.75738 0.06059,-0.333247 0.393837,-0.575609 0.727085,-0.545313 2.241844,0.151476 3.817194,1.302693 4.059556,3.938375 0,0.181771 0.0303,0.393837 0,0.545313 -0.09089,0.333247 -0.333247,0.484723 -0.545313,0.484723 -0.484723,0.03029 0.212066,0 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#70499D\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9S0,41.7,0,26.9S12,0,26.9,0 S53.8,12,53.8,26.9\\\"></path></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M41.8,20L41.8,20c-0.7-3-4.1-6.2-7.1-6.9l0,0c-4.9-0.9-9.9-0.9-14.9,0l0,0 c-3,0.7-6.4,3.9-7.1,6.8l0,0c-0.9,4.2-0.9,8.4,0,12.5l0,0c0.7,2.8,3.8,5.9,6.7,6.7v3.3c0,1.2,1.5,1.8,2.3,0.9L25,40 c0.7,0,1.5,0.1,2.2,0.1c2.5,0,5-0.2,7.4-0.7l0,0c3-0.7,6.4-3.9,7.1-6.8l0,0C42.7,28.3,42.7,24.1,41.8,20 M39.2,31.9 c-0.5,1.9-3,4.4-5,4.8c-2.6,0.5-5.3,0.7-7.9,0.6c-0.1,0-0.1,0-0.1,0.1c-0.4,0.4-2.5,2.5-2.5,2.5L21,42.6c-0.2,0.2-0.5,0.1-0.5-0.2 v-5.5c0-0.1-0.1-0.2-0.2-0.2h0c-2-0.4-4.5-2.9-5-4.8c-0.8-3.8-0.8-7.6,0-11.3c0.5-1.9,3-4.4,5-4.8c4.6-0.9,9.2-0.9,13.8,0 c2,0.4,4.5,2.9,5,4.8C40,24.3,40,28.1,39.2,31.9\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M31.6,34.4c-0.3-0.1-0.6-0.2-0.9-0.3c-2.8-1.2-5.4-2.7-7.5-5 c-1.2-1.3-2.1-2.8-2.9-4.4c-0.4-0.7-0.7-1.5-1-2.3c-0.3-0.7,0.1-1.4,0.6-2c0.4-0.5,1-0.9,1.5-1.2c0.5-0.2,0.9-0.1,1.2,0.3 c0.7,0.8,1.4,1.7,1.9,2.7c0.3,0.6,0.2,1.3-0.4,1.7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.2-0.2,0.5-0.1,0.8 c0.7,2,2,3.6,4,4.4c0.3,0.1,0.7,0.3,1,0.2c0.6-0.1,0.8-0.8,1.3-1.1c0.4-0.4,1-0.4,1.4-0.1c0.5,0.3,0.9,0.6,1.4,0.9 c0.4,0.3,0.9,0.6,1.3,1c0.4,0.3,0.5,0.8,0.3,1.3c-0.4,0.9-1,1.6-1.8,2C32.1,34.3,31.9,34.4,31.6,34.4 C31.3,34.3,31.9,34.4,31.6,34.4\\\"></path></g><g><defs><rect id=\\\"SVGID_7_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_8_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M27.2,18.4c3.7,0.1,6.7,2.6,7.4,6.2c0.1,0.6,0.2,1.3,0.2,1.9 c0,0.3-0.1,0.5-0.4,0.5c-0.3,0-0.4-0.2-0.4-0.5c0-0.5-0.1-1.1-0.1-1.6c-0.4-2.8-2.6-5-5.3-5.5c-0.4-0.1-0.8-0.1-1.3-0.1 c-0.3,0-0.6,0-0.7-0.4c0-0.3,0.2-0.5,0.4-0.5C27.1,18.4,27.2,18.4,27.2,18.4C30.9,18.5,27.2,18.4,27.2,18.4\\\"></path></g><g><defs><rect id=\\\"SVGID_9_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_10_\\\"><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_10_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M32.9,25.7c0,0,0,0.2,0,0.3c-0.1,0.4-0.7,0.4-0.8,0c0-0.1,0-0.2,0-0.4 c0-0.8-0.2-1.6-0.6-2.2c-0.4-0.7-1-1.3-1.8-1.6c-0.4-0.2-0.9-0.3-1.4-0.4c-0.2,0-0.4-0.1-0.6-0.1c-0.3,0-0.4-0.2-0.4-0.5 c0-0.2,0.2-0.4,0.4-0.4c0.8,0,1.7,0.2,2.4,0.6c1.5,0.8,2.4,2.1,2.7,3.8c0,0.1,0,0.2,0,0.2C32.8,25.2,32.8,25.4,32.9,25.7 C32.9,25.7,32.8,25.4,32.9,25.7\\\"></path></g><g><defs><rect id=\\\"SVGID_11_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_12_\\\"><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_12_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M30.6,25.6c-0.3,0-0.5-0.2-0.5-0.4c0-0.2,0-0.4-0.1-0.6 c-0.1-0.4-0.3-0.7-0.6-1c-0.1-0.1-0.3-0.2-0.5-0.2c-0.2-0.1-0.5,0-0.7-0.1c-0.2-0.1-0.4-0.3-0.3-0.5c0-0.2,0.2-0.4,0.5-0.4 c1.4,0.1,2.5,0.8,2.6,2.5c0,0.1,0,0.2,0,0.4C30.8,25.5,30.7,25.6,30.6,25.6C30.3,25.6,30.7,25.6,30.6,25.6\\\"></path></g></g></svg>\"\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _index = __webpack_require__(17);\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _icon_whatsapp = __webpack_require__(184);\n\nvar _icon_whatsapp2 = _interopRequireDefault(_icon_whatsapp);\n\nvar _icon_whatsapp_new = __webpack_require__(185);\n\nvar _icon_whatsapp_new2 = _interopRequireDefault(_icon_whatsapp_new);\n\nvar _icon_whatsapp_circle = __webpack_require__(186);\n\nvar _icon_whatsapp_circle2 = _interopRequireDefault(_icon_whatsapp_circle);\n\nvar _constants = __webpack_require__(0);\n\nvar _constants2 = _interopRequireDefault(_constants);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar prefixText = encodeURIComponent('Отправьте не изменяя это сообщение ');\n\nvar WhatsappButton = function (_Button) {\n _inherits(WhatsappButton, _Button);\n\n function WhatsappButton() {\n _classCallCheck(this, WhatsappButton);\n\n return _possibleConstructorReturn(this, (WhatsappButton.__proto__ || Object.getPrototypeOf(WhatsappButton)).apply(this, arguments));\n }\n\n _createClass(WhatsappButton, [{\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n _get(WhatsappButton.prototype.__proto__ || Object.getPrototypeOf(WhatsappButton.prototype), 'render', this).call(this);\n\n var link = this.element.querySelector('a');\n link.addEventListener('click', function (event) {\n event.preventDefault();\n _this2.channelAPI.subscribe();\n });\n }\n }, {\n key: 'template',\n get: function get() {\n if (this.config.type === _constants2.default.WIDGET_TYPE_API_CALL) {\n return '\\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=' + this.config.id + '&text=' + (prefixText + this.deepLink) + '\">\\n <tb-notification-button__icon>' + _icon_whatsapp2.default + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('whatsapp') + '</tb-notification-button__text>\\n </a>\\n <p class=\"tb-notification-button__tip\">\\n ' + this.text('whatsapp_tip') + '\\n </p>\\n ';\n } else if (this.config.markUp.style !== 'square') {\n return '\\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=' + this.config.id + '&text=' + (prefixText + this.deepLink) + '\">\\n <tb-notification-button__icon>' + (this.config.markUp.style === 'rounded' ? _icon_whatsapp2.default : _icon_whatsapp_circle2.default) + '</tb-notification-button__icon> \\n <tb-notification-button__text>' + this.text('whatsapp') + '</tb-notification-button__text>\\n </a>\\n ';\n } else {\n return '\\n <div class=\"tb-notification-button__inner\">\\n <tb-notification-button__icon>' + _icon_whatsapp_new2.default + '</tb-notification-button__icon> \\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=' + this.config.id + '&text=' + (prefixText + this.deepLink) + '\">\\n <tb-notification-button__text>' + this.text('sign-whatsapp') + '</tb-notification-button__text>\\n </a>\\n </div>\\n ';\n }\n }\n }]);\n\n return WhatsappButton;\n}(_index2.default);\n\n;\n\nmodule.exports = WhatsappButton;\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52 52\\\" version=\\\"2.0\\\" id=\\\"svg3780\\\" sodipodi:docname=\\\"icon_whatsapp_my_fill_empty.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3784\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>Group.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3782\\\" showgrid=\\\"true\\\" showguides=\\\"false\\\" inkscape:zoom=\\\"11.313709\\\" inkscape:cx=\\\"5.5565263\\\" inkscape:cy=\\\"32.501721\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"g59\\\"><inkscape:grid type=\\\"xygrid\\\" id=\\\"grid3786\\\"></inkscape></sodipodi:namedview><title id=\\\"title3755\\\">Group.svg</title><desc id=\\\"desc3757\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.590909,0,0,1.590909,151.68181,-4.2272709)\\\" figma:type=\\\"canvas\\\"><g id=\\\"Group\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"frame\\\" transform=\\\"translate(29.734454,-2.8865086)\\\"><g id=\\\"g59\\\"><g id=\\\"g4565\\\"><g id=\\\"Vector\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" figma:type=\\\"vector\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path1_fill\\\" transform=\\\"translate(-90,8)\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" id=\\\"use3762\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"Ellipse 2\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff;fill-opacity:1\\\" figma:type=\\\"ellipse\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path2_fill\\\" transform=\\\"translate(-89,9)\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff;fill-opacity:1\\\" id=\\\"use3765\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"g3770\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" figma:type=\\\"vector\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path3_fill\\\" transform=\\\"translate(-84.534,13.8663)\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" id=\\\"use3768\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><path inkscape:connector-curvature=\\\"0\\\" id=\\\"path80\\\" d=\\\"m -117.13953,25.377785 -1.18064,4.638689 4.37316,-1.365142 z\\\" style=\\\"fill:#ffffff;stroke:#ffffff;stroke-width:0.62857145px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\\\"></path></g></g></g></g><defs id=\\\"defs3778\\\"><path id=\\\"path0_fill\\\" d=\\\"m 20.2189,10.0642 c 0,5.5583 -4.5261,10.0642 -10.1094,10.0642 -1.91642,0 -5.23529,-1.4529 -5.23529,-1.4529 L 0.242388,20.1284 1.77789,15.133 C 1.77789,15.133 0,12.1983 0,10.0642 0,4.5059 4.52616,0 10.1095,0 15.6928,0 20.2189,4.5059 20.2189,10.0642 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M -6.06014e-8,22 1.55433,16.3511 C 0.595736,14.6977 0.0917074,12.8222 0.0924295,10.901 0.0945958,4.89013 5.00852,-1.26145e-7 11.0464,-1.26145e-7 13.9767,0.00107818 16.7268,1.13654 18.7949,3.19682 20.863,5.25747 22.0014,7.99673 22,10.9096 21.9975,16.9201 17.0832,21.8109 11.046,21.8109 H 11.0413 C 9.20792,21.8099 7.40699,21.3527 5.8068,20.4839 Z M 5.8068,19.4103 c 1.39728,0.8256 3.60547,1.4136 5.2392,1.4144 5.0179,0 9.952,-4.4736 9.954,-9.9237 C 21.001,8.25482 19.719,5.71235 18,4 16.281,2.28765 13.4734,1.00108 11.0413,1 6.0191,1 1,5.5 1,10.901 0.999639,12.613 1.5887,14.5572 2.5,16 l -1.23032,4.8247 z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path2_fill\\\" d=\\\"M 20,10 C 20,15.5228 15.5228,20 10,20 4.47715,20 0,15.5228 0,10 0,4.47715 4.47715,0 10,0 15.5228,0 20,4.47715 20,10 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path3_fill\\\" d=\\\"M 2.82812,0.477351 C 2.62341,0.0237427 2.40714,0.0143968 2.21253,0.00648926 2.05294,-6.99463e-4 1.87025,2.0221e-5 1.68792,2.0221e-5 1.50559,2.0221e-5 1.2088,0.0679529 0.958232,0.340765 0.70694,0.613217 -2.42406e-7,1.27278 -2.42406e-7,2.61312 -2.42406e-7,3.95382 0.980979,5.24922 1.11782,5.4311 1.25466,5.61297 3.01118,8.4518 5.79308,9.5434 8.10526,10.4513 8.57571,10.2709 9.07758,10.2253 9.57944,10.18 10.6969,9.56641 10.9251,8.92985 11.1529,8.29365 11.1529,7.74838 11.0847,7.63444 11.0161,7.52086 10.8334,7.45257 10.5601,7.31598 10.2864,7.17975 8.94074,6.52091 8.68981,6.42961 8.43888,6.33867 8.25654,6.29374 8.07349,6.56656 7.89152,6.83901 7.36691,7.45257 7.20733,7.63444 7.04774,7.81632 6.88816,7.8386 6.61448,7.70237 6.34044,7.56579 5.45911,7.2786 4.41314,6.35018 3.59969,5.62807 3.05017,4.73595 2.89058,4.46314 2.731,4.19068 2.87362,4.04332 3.01081,3.90745 3.13357,3.78524 3.28449,3.58899 3.42133,3.43012 3.55781,3.27125 3.6033,3.15731 3.69465,2.97543 3.78599,2.79356 3.74014,2.63469 3.6719,2.4981 3.60366,2.36367 3.07183,1.01615 2.82812,0.477351 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52 52\\\" version=\\\"2.0\\\" id=\\\"svg3780\\\" sodipodi:docname=\\\"icon_whatsapp_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3784\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>Group.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3782\\\" showgrid=\\\"true\\\" showguides=\\\"false\\\" inkscape:zoom=\\\"19.272727\\\" inkscape:cx=\\\"14.060761\\\" inkscape:cy=\\\"25.081119\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Canvas\\\"><inkscape:grid type=\\\"xygrid\\\" id=\\\"grid3786\\\"></inkscape></sodipodi:namedview><title id=\\\"title3755\\\">Group.svg</title><desc id=\\\"desc3757\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.590909,0,0,1.590909,151.68181,-4.2272709)\\\" figma:type=\\\"canvas\\\"><g figma:type=\\\"vector\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"Ellipse\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3759\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e\\\" transform=\\\"translate(-89.2779,8.86696)\\\" xlink:href=\\\"#path0_fill\\\"></use></g><g figma:type=\\\"ellipse\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"Ellipse 2\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3765\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e\\\" transform=\\\"translate(-89,9)\\\" xlink:href=\\\"#path2_fill\\\"></use></g><g figma:type=\\\"vector\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"g3770\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3768\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff\\\" transform=\\\"translate(-84.534,13.8663)\\\" xlink:href=\\\"#path3_fill\\\"></use></g></g><defs id=\\\"defs3778\\\"><path id=\\\"path0_fill\\\" d=\\\"m 20.2189,10.0642 c 0,5.5583 -4.5261,10.0642 -10.1094,10.0642 -1.91642,0 -5.23529,-1.4529 -5.23529,-1.4529 L 0.242388,20.1284 1.77789,15.133 C 1.77789,15.133 0,12.1983 0,10.0642 0,4.5059 4.52616,0 10.1095,0 15.6928,0 20.2189,4.5059 20.2189,10.0642 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M -6.06014e-8,22 1.55433,16.3511 C 0.595736,14.6977 0.0917074,12.8222 0.0924295,10.901 0.0945958,4.89013 5.00852,-1.26145e-7 11.0464,-1.26145e-7 13.9767,0.00107818 16.7268,1.13654 18.7949,3.19682 20.863,5.25747 22.0014,7.99673 22,10.9096 21.9975,16.9201 17.0832,21.8109 11.046,21.8109 H 11.0413 C 9.20792,21.8099 7.40699,21.3527 5.8068,20.4839 Z M 5.8068,19.4103 c 1.39728,0.8256 3.60547,1.4136 5.2392,1.4144 5.0179,0 9.952,-4.4736 9.954,-9.9237 C 21.001,8.25482 19.719,5.71235 18,4 16.281,2.28765 13.4734,1.00108 11.0413,1 6.0191,1 1,5.5 1,10.901 0.999639,12.613 1.5887,14.5572 2.5,16 l -1.23032,4.8247 z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path2_fill\\\" d=\\\"M 20,10 C 20,15.5228 15.5228,20 10,20 4.47715,20 0,15.5228 0,10 0,4.47715 4.47715,0 10,0 15.5228,0 20,4.47715 20,10 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path3_fill\\\" d=\\\"M 2.82812,0.477351 C 2.62341,0.0237427 2.40714,0.0143968 2.21253,0.00648926 2.05294,-6.99463e-4 1.87025,2.0221e-5 1.68792,2.0221e-5 1.50559,2.0221e-5 1.2088,0.0679529 0.958232,0.340765 0.70694,0.613217 -2.42406e-7,1.27278 -2.42406e-7,2.61312 -2.42406e-7,3.95382 0.980979,5.24922 1.11782,5.4311 1.25466,5.61297 3.01118,8.4518 5.79308,9.5434 8.10526,10.4513 8.57571,10.2709 9.07758,10.2253 9.57944,10.18 10.6969,9.56641 10.9251,8.92985 11.1529,8.29365 11.1529,7.74838 11.0847,7.63444 11.0161,7.52086 10.8334,7.45257 10.5601,7.31598 10.2864,7.17975 8.94074,6.52091 8.68981,6.42961 8.43888,6.33867 8.25654,6.29374 8.07349,6.56656 7.89152,6.83901 7.36691,7.45257 7.20733,7.63444 7.04774,7.81632 6.88816,7.8386 6.61448,7.70237 6.34044,7.56579 5.45911,7.2786 4.41314,6.35018 3.59969,5.62807 3.05017,4.73595 2.89058,4.46314 2.731,4.19068 2.87362,4.04332 3.01081,3.90745 3.13357,3.78524 3.28449,3.58899 3.42133,3.43012 3.55781,3.27125 3.6033,3.15731 3.69465,2.97543 3.78599,2.79356 3.74014,2.63469 3.6719,2.4981 3.60366,2.36367 3.07183,1.01615 2.82812,0.477351 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 55 55\\\" version=\\\"2.0\\\" id=\\\"svg3702\\\" sodipodi:docname=\\\"icon_whatsapp.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3706\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>icon_whatsapp.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3704\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"12.114286\\\" inkscape:cx=\\\"12.991352\\\" inkscape:cy=\\\"23.922899\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Canvas\\\"></sodipodi:namedview><title id=\\\"title3680\\\">icon_whatsapp.svg</title><desc id=\\\"desc3682\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.5428571,0,0,1.5428571,-388.4699,38.911052)\\\" figma:type=\\\"canvas\\\"><g id=\\\"icon_whatsapp\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"frame\\\" transform=\\\"translate(0.16050839,0.16050839)\\\"><g id=\\\"Vector\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"vector\\\"><use xlink:href=\\\"#path0_fill\\\" transform=\\\"translate(252,-25)\\\" style=\\\"mix-blend-mode:normal;fill:url(#tb-wa-paint0_linear)\\\" id=\\\"use3684\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"g3689\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"vector\\\"><use xlink:href=\\\"#path1_fill\\\" transform=\\\"translate(260.697,-15.6669)\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff\\\" id=\\\"use3687\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g></g></g><defs id=\\\"defs3700\\\"><linearGradient id=\\\"tb-wa-paint0_linear\\\" x1=\\\"0\\\" y1=\\\"0\\\" x2=\\\"1\\\" y2=\\\"0\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(0,35,-34.9161,0,34.9161,0)\\\"><stop offset=\\\"0\\\" stop-color=\\\"#61D36C\\\" id=\\\"stop3693\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#2AB540\\\" id=\\\"stop3695\\\"></stop></linearGradient><path id=\\\"path0_fill\\\" d=\\\"m 17.5311,0 c 4.6504,0.0020521 9.0151,1.80825 12.2977,5.08624 3.2821,3.27822 5.0889,7.63576 5.0873,12.27016 -0.0041,9.5621 -7.8037,17.3433 -17.385,17.3433 H 17.531 17.5237 C 14.6142,34.6985 11.7553,33.9703 9.21606,32.5884 L 0,35 2.46636,26.013 C 0.945145,23.3829 0.144814,20.3991 0.145944,17.3424 0.149796,7.77984 7.94827,0 17.5311,0 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M 4.48878,0.759171 C 4.16341,0.0372639 3.82084,0.0228124 3.51128,0.0101819 3.25809,-6.56688e-4 2.96823,8.37383e-6 2.67883,8.37383e-6 2.3892,8.37383e-6 1.91856,0.108625 1.52055,0.542399 1.12231,0.976173 4.2426e-8,2.0248 4.2426e-8,4.15751 4.2426e-8,6.29045 1.55675,8.35137 1.77374,8.64083 1.99096,8.92986 4.77887,13.4464 9.19411,15.184 c 3.66949,1.444 4.41619,1.1567 5.21269,1.0845 0.7964,-0.0723 2.5699,-1.0484 2.932,-2.0607 0.362,-1.0121 0.362,-1.8796 0.2534,-2.0609 -0.1086,-0.1807 -0.3982,-0.2891 -0.8327,-0.5058 -0.4344,-0.2168 -2.57,-1.2657 -2.9682,-1.4102 -0.3982,-0.1445 -0.6879,-0.2167 -0.9775,0.2173 -0.2896,0.4335 -1.1216,1.4096 -1.3751,1.6987 -0.2534,0.2897 -0.5068,0.3258 -0.9413,0.109 C 10.063,12.0385 8.66394,11.5812 7.00426,10.1044 5.71292,8.95556 4.84108,7.5366 4.58766,7.10262 4.33423,6.66908 4.56049,6.43425 4.77841,6.21814 4.97344,6.02394 5.21285,5.71211 5.43007,5.45898 5.64683,5.20585 5.71923,5.0252 5.86405,4.73617 6.00886,4.44668 5.93646,4.19358 5.82784,3.97681 5.71923,3.76004 4.87503,1.61631 4.48878,0.759171 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// index.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 102);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 76368bd652f6fc5f994a","const COOKIE_NAME_PREFIX = 'tb_notif_widget_';\r\nconst constants = {\r\n COOKIE_NAME_PREFIX: COOKIE_NAME_PREFIX,\r\n /**\r\n * 10 years\r\n */\r\n WIDGET_USER_ID_COOKIE_TTL: 315360000,\r\n COOKIE_WIDGET_USER_ID: `${COOKIE_NAME_PREFIX}widgetUserId`,\r\n SECONDS_IN_DAY: 86400,\r\n // make subscription using API call\r\n WIDGET_TYPE_API_CALL : 'apiCall',\r\n // make subscription using native social widget\r\n WIDGET_TYPE_WIDGET : 'widget',\r\n DEFAULT_WIDGET_TYPE : 'widget',\r\n SUBSCRIPTION_WINDOW_PROPS: 'width=600,height=800',\r\n};\r\n\r\nexport default constants;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/constants.js","import { Observer, EVENTS } from '../events/observer.js';\r\n\r\nexport default class Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n this.config = channelData;\r\n\r\n this.channel = channelData.channel;\r\n this.channelId = channelData.channelId;\r\n this.enabled = channelData.enabled;\r\n this.id = channelData.id;\r\n this.slug = channelData.slug;\r\n\r\n this.deeplink = deeplink;\r\n this.widget = widget;\r\n\r\n this.initPromise = null;\r\n this.hasError = false;\r\n }\r\n\r\n subscribe() {\r\n Observer.trigger(EVENTS.SUBSCRIBE_START, { \r\n widgetId: this.widget.id,\r\n channel: this,\r\n });\r\n }\r\n\r\n reportError(...args) {\r\n console.error(...args);\r\n this.hasError = true;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/channel.js","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObject.js\n// module id = 2\n// module chunks = 0 1","export default function apiErrorHandler(res) {\r\n return res.json()\r\n .then(data => {\r\n if (data.$error) {\r\n return Promise.reject(data.$error.msg || data.$error.scn);\r\n }\r\n data.headers = res.headers;\r\n\r\n return data;\r\n })\r\n .catch(() => Promise.reject(`widget error: ${res.status}`));\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/apiErrorHandler.js","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_root.js\n// module id = 4\n// module chunks = 0 1","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLike.js\n// module id = 5\n// module chunks = 0 1","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isObjectLike.js\n// module id = 6\n// module chunks = 0 1","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseGetTag.js\n// module id = 7\n// module chunks = 0 1","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/eq.js\n// module id = 8\n// module chunks = 0 1","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isPrototype.js\n// module id = 9\n// module chunks = 0 1","/*\n * UUID-js: A js library to generate and parse UUIDs, TimeUUIDs and generate\n * TimeUUID based on dates for range selections.\n * @see http://www.ietf.org/rfc/rfc4122.txt\n **/\n\nfunction UUIDjs() {\n};\n\nUUIDjs.maxFromBits = function(bits) {\n return Math.pow(2, bits);\n};\n\nUUIDjs.limitUI04 = UUIDjs.maxFromBits(4);\nUUIDjs.limitUI06 = UUIDjs.maxFromBits(6);\nUUIDjs.limitUI08 = UUIDjs.maxFromBits(8);\nUUIDjs.limitUI12 = UUIDjs.maxFromBits(12);\nUUIDjs.limitUI14 = UUIDjs.maxFromBits(14);\nUUIDjs.limitUI16 = UUIDjs.maxFromBits(16);\nUUIDjs.limitUI32 = UUIDjs.maxFromBits(32);\nUUIDjs.limitUI40 = UUIDjs.maxFromBits(40);\nUUIDjs.limitUI48 = UUIDjs.maxFromBits(48);\n\n// Returns a random integer between min and max\n// Using Math.round() will give you a non-uniform distribution!\n// @see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random\nfunction getRandomInt(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nUUIDjs.randomUI04 = function() {\n return getRandomInt(0, UUIDjs.limitUI04-1);\n};\nUUIDjs.randomUI06 = function() {\n return getRandomInt(0, UUIDjs.limitUI06-1);\n};\nUUIDjs.randomUI08 = function() {\n return getRandomInt(0, UUIDjs.limitUI08-1);\n};\nUUIDjs.randomUI12 = function() {\n return getRandomInt(0, UUIDjs.limitUI12-1);\n};\nUUIDjs.randomUI14 = function() {\n return getRandomInt(0, UUIDjs.limitUI14-1);\n};\nUUIDjs.randomUI16 = function() {\n return getRandomInt(0, UUIDjs.limitUI16-1);\n};\nUUIDjs.randomUI32 = function() {\n return getRandomInt(0, UUIDjs.limitUI32-1);\n};\nUUIDjs.randomUI40 = function() {\n return (0 | Math.random() * (1 << 30)) + (0 | Math.random() * (1 << 40 - 30)) * (1 << 30);\n};\nUUIDjs.randomUI48 = function() {\n return (0 | Math.random() * (1 << 30)) + (0 | Math.random() * (1 << 48 - 30)) * (1 << 30);\n};\n\nUUIDjs.paddedString = function(string, length, z) {\n string = String(string);\n z = (!z) ? '0' : z;\n var i = length - string.length;\n for (; i > 0; i >>>= 1, z += z) {\n if (i & 1) {\n string = z + string;\n }\n }\n return string;\n};\n\nUUIDjs.prototype.fromParts = function(timeLow, timeMid, timeHiAndVersion, clockSeqHiAndReserved, clockSeqLow, node) {\n this.version = (timeHiAndVersion >> 12) & 0xF;\n this.hex = UUIDjs.paddedString(timeLow.toString(16), 8)\n + '-'\n + UUIDjs.paddedString(timeMid.toString(16), 4)\n + '-'\n + UUIDjs.paddedString(timeHiAndVersion.toString(16), 4)\n + '-'\n + UUIDjs.paddedString(clockSeqHiAndReserved.toString(16), 2)\n + UUIDjs.paddedString(clockSeqLow.toString(16), 2)\n + '-'\n + UUIDjs.paddedString(node.toString(16), 12);\n return this;\n};\n\nUUIDjs.prototype.toString = function() {\n return this.hex;\n};\nUUIDjs.prototype.toURN = function() {\n return 'urn:uuid:' + this.hex;\n};\n\nUUIDjs.prototype.toBytes = function() {\n var parts = this.hex.split('-');\n var ints = [];\n var intPos = 0;\n for (var i = 0; i < parts.length; i++) {\n for (var j = 0; j < parts[i].length; j+=2) {\n ints[intPos++] = parseInt(parts[i].substr(j, 2), 16);\n }\n }\n return ints;\n};\n\nUUIDjs.prototype.equals = function(uuid) {\n if (!(uuid instanceof UUID)) {\n return false;\n }\n if (this.hex !== uuid.hex) {\n return false;\n }\n return true;\n};\n\nUUIDjs.getTimeFieldValues = function(time) {\n var ts = time - Date.UTC(1582, 9, 15);\n var hm = ((ts / 0x100000000) * 10000) & 0xFFFFFFF;\n return { low: ((ts & 0xFFFFFFF) * 10000) % 0x100000000,\n mid: hm & 0xFFFF, hi: hm >>> 16, timestamp: ts };\n};\n\nUUIDjs._create4 = function() {\n return new UUIDjs().fromParts(\n UUIDjs.randomUI32(),\n UUIDjs.randomUI16(),\n 0x4000 | UUIDjs.randomUI12(),\n 0x80 | UUIDjs.randomUI06(),\n UUIDjs.randomUI08(),\n UUIDjs.randomUI48()\n );\n};\n\nUUIDjs._create1 = function() {\n var now = new Date().getTime();\n var sequence = UUIDjs.randomUI14();\n var node = (UUIDjs.randomUI08() | 1) * 0x10000000000 + UUIDjs.randomUI40();\n var tick = UUIDjs.randomUI04();\n var timestamp = 0;\n var timestampRatio = 1/4;\n\n if (now != timestamp) {\n if (now < timestamp) {\n sequence++;\n }\n timestamp = now;\n tick = UUIDjs.randomUI04();\n } else if (Math.random() < timestampRatio && tick < 9984) {\n tick += 1 + UUIDjs.randomUI04();\n } else {\n sequence++;\n }\n\n var tf = UUIDjs.getTimeFieldValues(timestamp);\n var tl = tf.low + tick;\n var thav = (tf.hi & 0xFFF) | 0x1000;\n\n sequence &= 0x3FFF;\n var cshar = (sequence >>> 8) | 0x80;\n var csl = sequence & 0xFF;\n\n return new UUIDjs().fromParts(tl, tf.mid, thav, cshar, csl, node);\n};\n\nUUIDjs.create = function(version) {\n version = version || 4;\n return this['_create' + version]();\n};\n\nUUIDjs.fromTime = function(time, last) {\n last = (!last) ? false : last;\n var tf = UUIDjs.getTimeFieldValues(time);\n var tl = tf.low;\n var thav = (tf.hi & 0xFFF) | 0x1000; // set version '0001'\n if (last === false) {\n return new UUIDjs().fromParts(tl, tf.mid, thav, 0, 0, 0);\n } else {\n return new UUIDjs().fromParts(tl, tf.mid, thav, 0x80 | UUIDjs.limitUI06, UUIDjs.limitUI08 - 1, UUIDjs.limitUI48 - 1);\n }\n};\n\nUUIDjs.firstFromTime = function(time) {\n return UUIDjs.fromTime(time, false);\n};\nUUIDjs.lastFromTime = function(time) {\n return UUIDjs.fromTime(time, true);\n};\n\nUUIDjs.fromURN = function(strId) {\n var r, p = /^(?:urn:uuid:|\\{)?([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{2})([0-9a-f]{2})-([0-9a-f]{12})(?:\\})?$/i;\n if ((r = p.exec(strId))) {\n return new UUIDjs().fromParts(parseInt(r[1], 16), parseInt(r[2], 16),\n parseInt(r[3], 16), parseInt(r[4], 16),\n parseInt(r[5], 16), parseInt(r[6], 16));\n }\n return null;\n};\n\nUUIDjs.fromBytes = function(ints) {\n if (ints.length < 5) {\n return null;\n }\n var str = '';\n var pos = 0;\n var parts = [4, 2, 2, 2, 6];\n for (var i = 0; i < parts.length; i++) {\n for (var j = 0; j < parts[i]; j++) {\n var octet = ints[pos++].toString(16);\n if (octet.length == 1) {\n octet = '0' + octet;\n }\n str += octet;\n }\n if (parts[i] !== 6) {\n str += '-';\n }\n }\n return UUIDjs.fromURN(str);\n};\n\nUUIDjs.fromBinary = function(binary) {\n var ints = [];\n for (var i = 0; i < binary.length; i++) {\n ints[i] = binary.charCodeAt(i);\n if (ints[i] > 255 || ints[i] < 0) {\n throw new Error('Unexpected byte in binary data.');\n }\n }\n return UUIDjs.fromBytes(ints);\n};\n\n// Aliases to support legacy code. Do not use these when writing new code as\n// they may be removed in future versions!\nUUIDjs.new = function() {\n return this.create(4);\n};\nUUIDjs.newTS = function() {\n return this.create(1);\n};\n\nmodule.exports = UUIDjs;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/uuid-js/lib/uuid.js\n// module id = 10\n// module chunks = 0 1","var assignValue = require('./_assignValue'),\n copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n isArrayLike = require('./isArrayLike'),\n isPrototype = require('./_isPrototype'),\n keys = require('./keys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nmodule.exports = assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/assign.js\n// module id = 11\n// module chunks = 0 1","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseAssignValue.js\n// module id = 12\n// module chunks = 0 1","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isFunction.js\n// module id = 13\n// module chunks = 0 1","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 14\n// module chunks = 0 1","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader/lib/css-base.js\n// module id = 15\n// module chunks = 0 1","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\nvar stylesInDom = {};\n\nvar\tmemoize = function (fn) {\n\tvar memo;\n\n\treturn function () {\n\t\tif (typeof memo === \"undefined\") memo = fn.apply(this, arguments);\n\t\treturn memo;\n\t};\n};\n\nvar isOldIE = memoize(function () {\n\t// Test for IE <= 9 as proposed by Browserhacks\n\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n\t// Tests for existence of standard globals is to allow style-loader\n\t// to operate correctly into non-standard environments\n\t// @see https://github.com/webpack-contrib/style-loader/issues/177\n\treturn window && document && document.all && !window.atob;\n});\n\nvar getElement = (function (fn) {\n\tvar memo = {};\n\n\treturn function(selector) {\n\t\tif (typeof memo[selector] === \"undefined\") {\n\t\t\tvar styleTarget = fn.call(this, selector);\n\t\t\t// Special case to return head of iframe instead of iframe itself\n\t\t\tif (styleTarget instanceof window.HTMLIFrameElement) {\n\t\t\t\ttry {\n\t\t\t\t\t// This will throw an exception if access to iframe is blocked\n\t\t\t\t\t// due to cross-origin restrictions\n\t\t\t\t\tstyleTarget = styleTarget.contentDocument.head;\n\t\t\t\t} catch(e) {\n\t\t\t\t\tstyleTarget = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmemo[selector] = styleTarget;\n\t\t}\n\t\treturn memo[selector]\n\t};\n})(function (target) {\n\treturn document.querySelector(target)\n});\n\nvar singleton = null;\nvar\tsingletonCounter = 0;\nvar\tstylesInsertedAtTop = [];\n\nvar\tfixUrls = require(\"./urls\");\n\nmodule.exports = function(list, options) {\n\tif (typeof DEBUG !== \"undefined\" && DEBUG) {\n\t\tif (typeof document !== \"object\") throw new Error(\"The style-loader cannot be used in a non-browser environment\");\n\t}\n\n\toptions = options || {};\n\n\toptions.attrs = typeof options.attrs === \"object\" ? options.attrs : {};\n\n\t// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n\t// tags it will allow on a page\n\tif (!options.singleton && typeof options.singleton !== \"boolean\") options.singleton = isOldIE();\n\n\t// By default, add <style> tags to the <head> element\n\tif (!options.insertInto) options.insertInto = \"head\";\n\n\t// By default, add <style> tags to the bottom of the target\n\tif (!options.insertAt) options.insertAt = \"bottom\";\n\n\tvar styles = listToStyles(list, options);\n\n\taddStylesToDom(styles, options);\n\n\treturn function update (newList) {\n\t\tvar mayRemove = [];\n\n\t\tfor (var i = 0; i < styles.length; i++) {\n\t\t\tvar item = styles[i];\n\t\t\tvar domStyle = stylesInDom[item.id];\n\n\t\t\tdomStyle.refs--;\n\t\t\tmayRemove.push(domStyle);\n\t\t}\n\n\t\tif(newList) {\n\t\t\tvar newStyles = listToStyles(newList, options);\n\t\t\taddStylesToDom(newStyles, options);\n\t\t}\n\n\t\tfor (var i = 0; i < mayRemove.length; i++) {\n\t\t\tvar domStyle = mayRemove[i];\n\n\t\t\tif(domStyle.refs === 0) {\n\t\t\t\tfor (var j = 0; j < domStyle.parts.length; j++) domStyle.parts[j]();\n\n\t\t\t\tdelete stylesInDom[domStyle.id];\n\t\t\t}\n\t\t}\n\t};\n};\n\nfunction addStylesToDom (styles, options) {\n\tfor (var i = 0; i < styles.length; i++) {\n\t\tvar item = styles[i];\n\t\tvar domStyle = stylesInDom[item.id];\n\n\t\tif(domStyle) {\n\t\t\tdomStyle.refs++;\n\n\t\t\tfor(var j = 0; j < domStyle.parts.length; j++) {\n\t\t\t\tdomStyle.parts[j](item.parts[j]);\n\t\t\t}\n\n\t\t\tfor(; j < item.parts.length; j++) {\n\t\t\t\tdomStyle.parts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\t\t} else {\n\t\t\tvar parts = [];\n\n\t\t\tfor(var j = 0; j < item.parts.length; j++) {\n\t\t\t\tparts.push(addStyle(item.parts[j], options));\n\t\t\t}\n\n\t\t\tstylesInDom[item.id] = {id: item.id, refs: 1, parts: parts};\n\t\t}\n\t}\n}\n\nfunction listToStyles (list, options) {\n\tvar styles = [];\n\tvar newStyles = {};\n\n\tfor (var i = 0; i < list.length; i++) {\n\t\tvar item = list[i];\n\t\tvar id = options.base ? item[0] + options.base : item[0];\n\t\tvar css = item[1];\n\t\tvar media = item[2];\n\t\tvar sourceMap = item[3];\n\t\tvar part = {css: css, media: media, sourceMap: sourceMap};\n\n\t\tif(!newStyles[id]) styles.push(newStyles[id] = {id: id, parts: [part]});\n\t\telse newStyles[id].parts.push(part);\n\t}\n\n\treturn styles;\n}\n\nfunction insertStyleElement (options, style) {\n\tvar target = getElement(options.insertInto)\n\n\tif (!target) {\n\t\tthrow new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");\n\t}\n\n\tvar lastStyleElementInsertedAtTop = stylesInsertedAtTop[stylesInsertedAtTop.length - 1];\n\n\tif (options.insertAt === \"top\") {\n\t\tif (!lastStyleElementInsertedAtTop) {\n\t\t\ttarget.insertBefore(style, target.firstChild);\n\t\t} else if (lastStyleElementInsertedAtTop.nextSibling) {\n\t\t\ttarget.insertBefore(style, lastStyleElementInsertedAtTop.nextSibling);\n\t\t} else {\n\t\t\ttarget.appendChild(style);\n\t\t}\n\t\tstylesInsertedAtTop.push(style);\n\t} else if (options.insertAt === \"bottom\") {\n\t\ttarget.appendChild(style);\n\t} else if (typeof options.insertAt === \"object\" && options.insertAt.before) {\n\t\tvar nextSibling = getElement(options.insertInto + \" \" + options.insertAt.before);\n\t\ttarget.insertBefore(style, nextSibling);\n\t} else {\n\t\tthrow new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");\n\t}\n}\n\nfunction removeStyleElement (style) {\n\tif (style.parentNode === null) return false;\n\tstyle.parentNode.removeChild(style);\n\n\tvar idx = stylesInsertedAtTop.indexOf(style);\n\tif(idx >= 0) {\n\t\tstylesInsertedAtTop.splice(idx, 1);\n\t}\n}\n\nfunction createStyleElement (options) {\n\tvar style = document.createElement(\"style\");\n\n\toptions.attrs.type = \"text/css\";\n\n\taddAttrs(style, options.attrs);\n\tinsertStyleElement(options, style);\n\n\treturn style;\n}\n\nfunction createLinkElement (options) {\n\tvar link = document.createElement(\"link\");\n\n\toptions.attrs.type = \"text/css\";\n\toptions.attrs.rel = \"stylesheet\";\n\n\taddAttrs(link, options.attrs);\n\tinsertStyleElement(options, link);\n\n\treturn link;\n}\n\nfunction addAttrs (el, attrs) {\n\tObject.keys(attrs).forEach(function (key) {\n\t\tel.setAttribute(key, attrs[key]);\n\t});\n}\n\nfunction addStyle (obj, options) {\n\tvar style, update, remove, result;\n\n\t// If a transform function was defined, run it on the css\n\tif (options.transform && obj.css) {\n\t result = options.transform(obj.css);\n\n\t if (result) {\n\t \t// If transform returns a value, use that instead of the original css.\n\t \t// This allows running runtime transformations on the css.\n\t \tobj.css = result;\n\t } else {\n\t \t// If the transform function returns a falsy value, don't add this css.\n\t \t// This allows conditional loading of css\n\t \treturn function() {\n\t \t\t// noop\n\t \t};\n\t }\n\t}\n\n\tif (options.singleton) {\n\t\tvar styleIndex = singletonCounter++;\n\n\t\tstyle = singleton || (singleton = createStyleElement(options));\n\n\t\tupdate = applyToSingletonTag.bind(null, style, styleIndex, false);\n\t\tremove = applyToSingletonTag.bind(null, style, styleIndex, true);\n\n\t} else if (\n\t\tobj.sourceMap &&\n\t\ttypeof URL === \"function\" &&\n\t\ttypeof URL.createObjectURL === \"function\" &&\n\t\ttypeof URL.revokeObjectURL === \"function\" &&\n\t\ttypeof Blob === \"function\" &&\n\t\ttypeof btoa === \"function\"\n\t) {\n\t\tstyle = createLinkElement(options);\n\t\tupdate = updateLink.bind(null, style, options);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\n\t\t\tif(style.href) URL.revokeObjectURL(style.href);\n\t\t};\n\t} else {\n\t\tstyle = createStyleElement(options);\n\t\tupdate = applyToTag.bind(null, style);\n\t\tremove = function () {\n\t\t\tremoveStyleElement(style);\n\t\t};\n\t}\n\n\tupdate(obj);\n\n\treturn function updateStyle (newObj) {\n\t\tif (newObj) {\n\t\t\tif (\n\t\t\t\tnewObj.css === obj.css &&\n\t\t\t\tnewObj.media === obj.media &&\n\t\t\t\tnewObj.sourceMap === obj.sourceMap\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdate(obj = newObj);\n\t\t} else {\n\t\t\tremove();\n\t\t}\n\t};\n}\n\nvar replaceText = (function () {\n\tvar textStore = [];\n\n\treturn function (index, replacement) {\n\t\ttextStore[index] = replacement;\n\n\t\treturn textStore.filter(Boolean).join('\\n');\n\t};\n})();\n\nfunction applyToSingletonTag (style, index, remove, obj) {\n\tvar css = remove ? \"\" : obj.css;\n\n\tif (style.styleSheet) {\n\t\tstyle.styleSheet.cssText = replaceText(index, css);\n\t} else {\n\t\tvar cssNode = document.createTextNode(css);\n\t\tvar childNodes = style.childNodes;\n\n\t\tif (childNodes[index]) style.removeChild(childNodes[index]);\n\n\t\tif (childNodes.length) {\n\t\t\tstyle.insertBefore(cssNode, childNodes[index]);\n\t\t} else {\n\t\t\tstyle.appendChild(cssNode);\n\t\t}\n\t}\n}\n\nfunction applyToTag (style, obj) {\n\tvar css = obj.css;\n\tvar media = obj.media;\n\n\tif(media) {\n\t\tstyle.setAttribute(\"media\", media)\n\t}\n\n\tif(style.styleSheet) {\n\t\tstyle.styleSheet.cssText = css;\n\t} else {\n\t\twhile(style.firstChild) {\n\t\t\tstyle.removeChild(style.firstChild);\n\t\t}\n\n\t\tstyle.appendChild(document.createTextNode(css));\n\t}\n}\n\nfunction updateLink (link, options, obj) {\n\tvar css = obj.css;\n\tvar sourceMap = obj.sourceMap;\n\n\t/*\n\t\tIf convertToAbsoluteUrls isn't defined, but sourcemaps are enabled\n\t\tand there is no publicPath defined then lets turn convertToAbsoluteUrls\n\t\ton by default. Otherwise default to the convertToAbsoluteUrls option\n\t\tdirectly\n\t*/\n\tvar autoFixUrls = options.convertToAbsoluteUrls === undefined && sourceMap;\n\n\tif (options.convertToAbsoluteUrls || autoFixUrls) {\n\t\tcss = fixUrls(css);\n\t}\n\n\tif (sourceMap) {\n\t\t// http://stackoverflow.com/a/26603875\n\t\tcss += \"\\n/*# sourceMappingURL=data:application/json;base64,\" + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + \" */\";\n\t}\n\n\tvar blob = new Blob([css], { type: \"text/css\" });\n\n\tvar oldSrc = link.href;\n\n\tlink.href = URL.createObjectURL(blob);\n\n\tif(oldSrc) URL.revokeObjectURL(oldSrc);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/style-loader/lib/addStyles.js\n// module id = 16\n// module chunks = 0 1","import Component from '../index.js';\r\nimport appInsights from '../../../sdk/utils/appInsights.js';\r\nimport find from '../../../sdk/utils/find.js';\r\nimport './styles.scss';\r\n\r\nexport default class Button extends Component {\r\n constructor() {\r\n super(...arguments);\r\n\r\n this.element.setAttribute('channel', this.channel);\r\n\r\n this.channelAPI = find(this.widgetAPI.getEnabledChannels(), channel => {\r\n return channel.id === this.config.id && channel.channel === this.config.channel && channel.channelId === this.config.channelId;\r\n });\r\n }\r\n\r\n render() {\r\n let self = this;\r\n super.render();\r\n this.element.addEventListener('click', () => {\r\n appInsights.trackButtonClick(this.widgetId, 'notificationWidget.button.click', this.channel)\r\n });\r\n }\r\n\r\n get defaults() {\r\n return {\r\n config: JSON.parse(this.element.getAttribute('config')) || {},\r\n channel: this.element.getAttribute('channel')\r\n }\r\n }\r\n\r\n static get tagName() {\r\n return 'tb-notification-button';\r\n }\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/index.js","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignValue.js\n// module id = 18\n// module chunks = 0 1","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_defineProperty.js\n// module id = 19\n// module chunks = 0 1","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getNative.js\n// module id = 20\n// module chunks = 0 1","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Symbol.js\n// module id = 21\n// module chunks = 0 1","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_freeGlobal.js\n// module id = 22\n// module chunks = 0 1","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 23\n// module chunks = 0 1","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/identity.js\n// module id = 24\n// module chunks = 0 1","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isLength.js\n// module id = 25\n// module chunks = 0 1","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIndex.js\n// module id = 26\n// module chunks = 0 1","const appInsights = {\r\n init(aiKey, userId, accountId) {\r\n return new Promise((resolve, reject) => {\r\n window.TextBack = window.TextBack || {};\r\n let context = window.TextBack;\r\n if (aiKey) {\r\n let appInsights = context.appInsights || function (config) {\r\n //basically most below code is got from MS so it's kinda unreadable hmm.. see MS instructions on appinsigths\r\n function r(config) {\r\n t[config] = function () {\r\n let i = arguments;\r\n t.queue.push(function () {\r\n t[config].apply(t, i)\r\n })\r\n }\r\n }\r\n\r\n let t = {\r\n config: config\r\n },\r\n u = document,\r\n e = context,\r\n o = \"script\",\r\n s = u.createElement(o),\r\n i, f;\r\n for (s.src = config.url || \"//az416426.vo.msecnd.net/scripts/a/ai.0.js\", u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = [\"Event\", \"Exception\", \"Metric\", \"PageView\", \"Trace\"]; i.length;) r(\"track\" + i.pop());\r\n return r(\"setAuthenticatedUserContext\"), r(\"clearAuthenticatedUserContext\"), config.disableExceptionTracking || (i = \"onerror\", r(\"_\" + i), f = e[i], e[i] = function (config, r, u, e, o) {\r\n let s = f && f(config, r, u, e, o);\r\n return s !== !0 && t[\"_\" + i](config, r, u, e, o), s\r\n }), t\r\n }({\r\n instrumentationKey: aiKey,\r\n // Don't log browser exceptions.\r\n disableExceptionTracking: true,\r\n // Don't log ajax calls.\r\n disableAjaxTracking: true,\r\n //this url will point to the library - use @dev for testing when updating\\editing lib - use @latest for production version of lib\r\n //keep in mind that prod widget should always use @latest\r\n url: '//unpkg.com/@textback/notification-widget@latest/src/libraries/ai.1.0.11.js'\r\n // url: '//unpkg.com/@textback/notification-widget@dev/src/libraries/ai.1.0.11.js'\r\n //url: '//localhost:8080/src/libraries/ai.1.0.11.js',\r\n });\r\n\r\n\r\n this.accountId = accountId;\r\n context.appInsights = appInsights;\r\n //ensure appinsights is fully loaded\r\n let timer = setInterval(function () {\r\n if(appInsights._onerror){\r\n clearInterval(timer);\r\n appInsights.setAuthenticatedUserContext(userId);\r\n resolve(true);\r\n }\r\n }, 50);\r\n\r\n }\r\n //no aiKey - no telemetry\r\n else{\r\n resolve(true);\r\n }\r\n });\r\n },\r\n trackEvent(eventName, data) {\r\n let context = window.TextBack;\r\n context.appInsights && context.appInsights.trackEvent(eventName, data);\r\n },\r\n trackButtonClick(widgetId, eventName, channelType) {\r\n let payload = {\r\n channelType,\r\n widgetId,\r\n accountId: this.accountId,\r\n widgetUrl: window.location.href\r\n };\r\n this.trackEvent(eventName, payload);\r\n },\r\n trackWidgetEvent(widgetId, eventName, reason) {\r\n let payload = {\r\n reason,\r\n widgetId,\r\n accountId: this.accountId,\r\n widgetUrl: window.location.href\r\n };\r\n this.trackEvent(eventName, payload);\r\n }\r\n};\r\n\r\nexport default appInsights;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/appInsights.js","import assign from 'lodash/assign';\r\n\r\nconst EVENTS = {\r\n WIDGET_INIT: 'widget.init',\r\n SUBSCRIBE_START: 'subscribe.start',\r\n};\r\n\r\nconst _handlers = {};\r\n\r\nwindow.TextBack = window.TextBack || {};\r\nwindow.TextBack.Observer = window.TextBack.Observer || {\r\n on(eventName, fn) {\r\n if (!_handlers[eventName]) {\r\n _handlers[eventName] = [ fn ];\r\n } else {\r\n _handlers[eventName].push(fn);\r\n }\r\n\r\n return () => {\r\n const fnIndex = _handlers[eventName].indexOf(fn);\r\n if (fnIndex !== -1) {\r\n _handlers[eventName].splice(fnIndex, 1);\r\n }\r\n };\r\n },\r\n\r\n trigger(eventName, data) {\r\n if (_handlers[eventName]) {\r\n const eventData = assign({}, data, { type: eventName });\r\n setTimeout(() => {\r\n _handlers[eventName].forEach(handler => {\r\n try {\r\n handler(eventData)\r\n } catch (err) {\r\n console.error(`Error occuired while executing event handler on event ${eventName}`, err);\r\n }\r\n });\r\n }, 0);\r\n \r\n }\r\n }\r\n};\r\n\r\nconst Observer = window.TextBack.Observer;\r\n\r\nexport { Observer, EVENTS };\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/events/observer.js","import SDK from './sdk.js';\r\n\r\nwindow.TextBack = window.TextBack || {};\r\nwindow.TextBack.SDK = window.TextBack.SDK || new SDK();\r\n\r\nexport default window.TextBack.SDK;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/index.js","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyObject.js\n// module id = 30\n// module chunks = 0 1","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createAssigner.js\n// module id = 31\n// module chunks = 0 1","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_arrayLikeKeys.js\n// module id = 32\n// module chunks = 0 1","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArguments.js\n// module id = 33\n// module chunks = 0 1","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArray.js\n// module id = 34\n// module chunks = 0 1","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isBuffer.js\n// module id = 35\n// module chunks = 0 1","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isTypedArray.js\n// module id = 36\n// module chunks = 0 1","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overArg.js\n// module id = 37\n// module chunks = 0 1","/**\r\n * Created by martb on 28.06.2017.\r\n * Module for work with cookies\r\n */\r\n\r\nconst cookies = {\r\n /**\r\n * возвращает cookie с именем name, если есть, если нет, то null\r\n * @param name {String}\r\n * @returns {String|null}\r\n */\r\n getCookie: function (name) {\r\n let nameEQ = name + \"=\";\r\n let ca = document.cookie.split(';');\r\n for (let i = 0; i < ca.length; i++) {\r\n let c = ca[i];\r\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\r\n if (c.indexOf(nameEQ) === 0) return decodeURIComponent(c.substring(nameEQ.length, c.length));\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * устанавливает куку\r\n * @param name - имя куки\r\n * @param value - значение куки\r\n * @param t - время в секундах\r\n */\r\n setCookie: function (name, value, t) {\r\n let expires = \"\";\r\n if (t) {\r\n let date = new Date();\r\n t *= 1000;\r\n date.setTime(date.getTime() + t);\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + encodeURIComponent(value) + expires + \"; path=/\";\r\n },\r\n\r\n\r\n /*\r\n * удаляет куку по имени\r\n * @param name {String}\r\n */\r\n deleteCookie: function (name) {\r\n setCookie(name, \"\", -1);\r\n }\r\n};\r\n\r\nexport default cookies;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/cookies.js","export default function find(array, predicate) {\r\n for (let i = 0; i < array.length; i++) {\r\n if (predicate(array[i], i, array)) {\r\n return array[i];\r\n }\r\n }\r\n return undefined;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/find.js","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 53.5 53.5\\\" enable-background=\\\"new 0 0 53.5 53.5\\\" xml:space=\\\"preserve\\\"><g><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#ffffff\\\" d=\\\"M25.2,37.5h2.1c0,0,0.6-0.1,1-0.4c0.3-0.3,0.3-0.9,0.3-0.9 s0-2.8,1.3-3.2c1.3-0.4,2.9,2.7,4.7,3.9c1.3,0.9,2.3,0.7,2.3,0.7l4.7-0.1c0,0,2.5-0.2,1.3-2.1c-0.1-0.2-0.7-1.4-3.5-4 c-2.9-2.7-2.5-2.3,1-7c2.2-2.9,3-4.6,2.7-5.4c-0.3-0.7-1.8-0.5-1.8-0.5l-5.3,0c0,0-0.4-0.1-0.7,0.1c-0.3,0.2-0.5,0.6-0.5,0.6 s-0.8,2.2-1.9,4.1c-2.3,4-3.3,4.2-3.7,4c-0.9-0.6-0.7-2.3-0.7-3.6c0-3.9,0.6-5.5-1.1-5.9c-0.6-0.1-1-0.2-2.5-0.2 c-1.9,0-3.5,0-4.4,0.4c-0.6,0.3-1.1,0.9-0.8,1c0.3,0,1.1,0.2,1.6,0.8c0.5,0.7,0.5,2.4,0.5,2.4s0.3,4.6-0.7,5.1 c-0.7,0.4-1.7-0.4-3.8-4c-1.1-1.9-1.9-3.9-1.9-3.9S15.3,19,15,18.8c-0.3-0.2-0.8-0.3-0.8-0.3l-5,0c0,0-0.8,0-1,0.3 c-0.2,0.3,0,0.9,0,0.9s3.9,9.2,8.4,13.8C20.6,37.8,25.2,37.5,25.2,37.5L25.2,37.5z M25.2,37.5\\\"></path></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_vk.svg\n// module id = 40\n// module chunks = 0 1","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_ListCache.js\n// module id = 41\n// module chunks = 0","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assocIndexOf.js\n// module id = 42\n// module chunks = 0","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nativeCreate.js\n// module id = 43\n// module chunks = 0","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getMapData.js\n// module id = 44\n// module chunks = 0","require('es6-promise').polyfill();\r\nimport 'whatwg-fetch';\r\n\r\nimport Widget from './widget/widget.js';\r\nimport { Observer, EVENTS } from './events/observer.js';\r\n\r\nexport default class SDK {\r\n constructor() {\r\n this.widgets = {};\r\n }\r\n\r\n initWidget(config) {\r\n if (config && config.widgetId) {\r\n const widget = new Widget(config, this);\r\n this.widgets[config.widgetId] = widget.initialize();\r\n this.widgets[config.widgetId].then(widget => Observer.trigger(EVENTS.WIDGET_INIT, { widgetId: config.widgetId }), err => console.error(err));\r\n return this.widgets[config.widgetId];\r\n } else {\r\n throw new Error('Widget id is not defined');\r\n }\r\n }\r\n\r\n getWidget(widgetId) {\r\n return this.widgets[widgetId] ? this.widgets[widgetId] : null;\r\n }\r\n\r\n on(eventName, fn) {\r\n return Observer.on(eventName, fn);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/sdk.js","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/whatwg-fetch/fetch.js\n// module id = 46\n// module chunks = 0 1","import UUID from 'uuid-js';\r\nimport assign from 'lodash/assign';\r\n\r\nimport apiErrorHandler from '../utils/apiErrorHandler.js';\r\nimport loadConfig from '../utils/loadConfig.js';\r\nimport loadDeepLink from '../utils/loadDeepLink.js';\r\nimport loadSubscriptions from '../utils/loadSubscriptions.js';\r\nimport cookies from '../utils/cookies.js';\r\nimport constants from '../utils/constants.js';\r\nimport parseQueryString from '../utils/parseQueryString.js';\r\nimport find from '../utils/find.js';\r\nimport appInsights from '../utils/appInsights.js';\r\n\r\nimport channelsFactory from '../channels/factory.js';\r\n\r\nconst INITIAL_CONFIG_DEFAULTS = {\r\n apiPath: 'https://api.textback.io/api',\r\n};\r\n\r\nexport default class Widget {\r\n constructor(config, sdk) {\r\n this.initialConfig = assign({}, INITIAL_CONFIG_DEFAULTS, config);\r\n this.sdk = sdk;\r\n\r\n this.config = {};\r\n this.channels = [];\r\n this.initialized = false;\r\n this.initPromise = null;\r\n\r\n this.id = this.initialConfig.widgetId;\r\n this.widgetUserId = Widget.getWidgetUserId();\r\n this.insecureContext = Widget.createInsecureContext(this.initialConfig.insecureContext);\r\n this.secureContextToken = this.initialConfig.secureContextToken;\r\n }\r\n\r\n getConfig() {\r\n return this.config;\r\n }\r\n\r\n initialize() {\r\n this.initPromise = Promise.all([\r\n this.initializeConfig(),\r\n loadSubscriptions(this.widgetUserId, this.initialConfig.widgetId, this.initialConfig.apiPath),\r\n ]).then(([config, subscriptions]) => {\r\n this.config = config.$value;\r\n this.subscriptions = subscriptions.$items;\r\n\r\n this.useVKApi = this.config.type === constants.WIDGET_TYPE_API_CALL;\r\n this.aiKey = Widget.getAiKey(config);\r\n\r\n return Promise.all([\r\n loadDeepLink(\r\n this.initialConfig.apiPath,\r\n {\r\n accountId: this.config.accountId,\r\n insecureContext: this.insecureContext,\r\n widgetId: this.config.id,\r\n secureContextToken: this.secureContextToken,\r\n user: {\r\n id: this.widgetUserId\r\n }\r\n }\r\n ),\r\n appInsights.init(this.aiKey, this.widgetUserId, this.config.accountId)\r\n ]);\r\n }).then(([deeplink, ai]) => {\r\n this.deeplink = `subscribe_${deeplink.$value.id}`;\r\n this.channels = this.config.channels.map(channel => channelsFactory.create(channel, this.deeplink, this))\r\n .filter(channel => !!channel);\r\n const channelInitPromises = this.channels.filter(channel => !!channel.initPromise)\r\n .map(channel => channel.initPromise);\r\n\r\n return Promise.all(channelInitPromises);\r\n }).then(channelPromises => {\r\n return this;\r\n }, err => {\r\n appInsights.trackWidgetEvent(this.config.id, 'Widget.initialize.error', err);\r\n return Promise.reject(err);\r\n })\r\n\r\n return this.initPromise;\r\n }\r\n\r\n initializeConfig() {\r\n let promise;\r\n if (!this.initialConfig.overrideConfig) {\r\n promise = loadConfig(this.initialConfig.widgetId, this.initialConfig.apiPath);\r\n } else {\r\n promise = Promise.resolve({ $value: this.initialConfig.overrideConfig });\r\n }\r\n\r\n return promise;\r\n }\r\n\r\n subscribe(channelCode) {\r\n const channel = find(this.getEnabledChannels(), chan => chan.channel === channelCode);\r\n if (channel) {\r\n channel.subscribe();\r\n }\r\n }\r\n\r\n getChannels() {\r\n return this.channels;\r\n }\r\n\r\n getEnabledChannels() {\r\n return this.channels.filter(channel => channel.enabled && !channel.hasError);\r\n }\r\n\r\n static getWidgetUserId() {\r\n let widgetUserId = cookies.getCookie(constants.COOKIE_WIDGET_USER_ID);\r\n if (widgetUserId === null) {\r\n let uuid = UUID.create(4);\r\n widgetUserId = uuid.hex;\r\n cookies.setCookie(constants.COOKIE_WIDGET_USER_ID, widgetUserId, constants.WIDGET_USER_ID_COOKIE_TTL);\r\n }\r\n return widgetUserId;\r\n }\r\n\r\n static createInsecureContext(insecureContext = {}) {\r\n const ctx = assign({}, insecureContext);//Object.assign({}, insecureContext);\r\n ctx.pageTitle = window.document.title;\r\n ctx.pageUrl = window.location.protocol + '//' + window.location.host + window.location.pathname;\r\n ctx.params = parseQueryString(window.location.search.substring(1));\r\n ctx.timezoneOffset = new Date().getTimezoneOffset();\r\n\r\n return ctx;\r\n }\r\n\r\n static getAiKey(config) {\r\n let aiKey = undefined;\r\n try {\r\n aiKey = config.headers.get('X-TB-AIKEY');\r\n } catch (e) { }\r\n\r\n return aiKey;\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/widget/widget.js","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsNative.js\n// module id = 48\n// module chunks = 0 1","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getRawTag.js\n// module id = 49\n// module chunks = 0 1","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_objectToString.js\n// module id = 50\n// module chunks = 0 1","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isMasked.js\n// module id = 51\n// module chunks = 0 1","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_coreJsData.js\n// module id = 52\n// module chunks = 0 1","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_toSource.js\n// module id = 53\n// module chunks = 0 1","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getValue.js\n// module id = 54\n// module chunks = 0 1","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseRest.js\n// module id = 55\n// module chunks = 0 1","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_overRest.js\n// module id = 56\n// module chunks = 0 1","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_apply.js\n// module id = 57\n// module chunks = 0 1","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_setToString.js\n// module id = 58\n// module chunks = 0 1","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseSetToString.js\n// module id = 59\n// module chunks = 0 1","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/constant.js\n// module id = 60\n// module chunks = 0 1","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_shortOut.js\n// module id = 61\n// module chunks = 0 1","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isIterateeCall.js\n// module id = 62\n// module chunks = 0 1","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keys.js\n// module id = 63\n// module chunks = 0 1","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseTimes.js\n// module id = 64\n// module chunks = 0 1","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsArguments.js\n// module id = 65\n// module chunks = 0 1","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/stubFalse.js\n// module id = 66\n// module chunks = 0 1","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseIsTypedArray.js\n// module id = 67\n// module chunks = 0 1","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseUnary.js\n// module id = 68\n// module chunks = 0 1","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nodeUtil.js\n// module id = 69\n// module chunks = 0 1","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseKeys.js\n// module id = 70\n// module chunks = 0 1","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nativeKeys.js\n// module id = 71\n// module chunks = 0 1","import apiErrorHandler from './apiErrorHandler.js';\r\n\r\nconst cache = {};\r\n\r\n\r\nexport default function loadConfig(widgetId, apiPath) {\r\n if (!widgetId) {\r\n return Promise.reject('Widget id required');\r\n }\r\n\r\n if (cache[widgetId]) {\r\n return cache[widgetId];\r\n }\r\n\r\n const loadingPromise = fetch(`${apiPath}/endUserNotifications/widgets/${widgetId}`).then(apiErrorHandler);\r\n loadingPromise.then(() => {\r\n cache[widgetId] = loadingPromise;\r\n });\r\n\r\n return loadingPromise;\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/loadConfig.js","import apiErrorHandler from './apiErrorHandler.js';\r\n\r\nconst cache = {};\r\n\r\nexport default function loadDeepLink(apiPath, options = {}) {\r\n const body = JSON.stringify(options);\r\n\r\n if (cache[body]) {\r\n return cache[body];\r\n }\r\n\r\n cache[body] = fetch(`${apiPath}/endUserNotifications/deepLinks`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body\r\n }).then(apiErrorHandler);\r\n\r\n return cache[body];\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/loadDeepLink.js","import apiErrorHandler from './apiErrorHandler.js';\r\n\r\nexport default function loadSubscriptions(uuid, widgetId, apiPath){\r\n const subscribedUsers = fetch(`${apiPath}/endUserNotifications/widgets/${widgetId}/subscribedUsers/${uuid}`).then(apiErrorHandler);\r\n return subscribedUsers;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/loadSubscriptions.js","function parseQueryString(query) {\r\n const vars = query.split('&'),\r\n queryString = {};\r\n\r\n if (query.length > 0) {\r\n for (var i = 0; i < vars.length; i++) {\r\n const pair = vars[i].split('='),\r\n key = decodeURIComponent(pair[0]),\r\n value = decodeURIComponent(pair[1]);\r\n\r\n if (!key) \r\n continue;\r\n\r\n switch ( typeof queryString[key] ) {\r\n // If first entry with this name\r\n case 'undefined':\r\n queryString[key] = value;\r\n break;\r\n // If second entry with this name\r\n case 'string': {\r\n const arr = [ queryString[key], value ];\r\n queryString[ key ] = arr;\r\n break;\r\n }\r\n // If third or later entry with this name\r\n default:\r\n queryString[key].push(value);\r\n }\r\n }\r\n }\r\n return queryString;\r\n}\r\n\r\nexport default parseQueryString;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/parseQueryString.js","import FacebookChannel from './facebook.js';\r\nimport SkypeChannel from './skype.js';\r\nimport TelegramChannel from './telegram.js';\r\nimport ViberChanel from './viber.js';\r\nimport VKChannel from './vk.js';\r\nimport WhatsappChannel from './whatsapp.js';\r\n\r\nfunction getConstructor(channel) {\r\n switch(channel) {\r\n case 'facebook':\r\n return FacebookChannel;\r\n case 'skype':\r\n return SkypeChannel;\r\n case 'tg':\r\n return TelegramChannel;\r\n case 'viber':\r\n return ViberChanel;\r\n case 'vk':\r\n return VKChannel;\r\n case 'whatsapp':\r\n return WhatsappChannel;\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nconst channelsFactory = {\r\n create(channelObj, deeplink, widget) {\r\n const constructor = getConstructor(channelObj.channel);\r\n return (constructor ? new constructor(channelObj, deeplink, widget) : null);\r\n }\r\n}\r\n\r\nexport default channelsFactory;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/factory.js","import Channel from './channel.js';\r\nimport constants from '../utils/constants.js';\r\n\r\nexport default class FacebookChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n window.open(`https://m.me/${this.id}?ref=${this.deeplink}`, 'tb_facebook', constants.SUBSCRIPTION_WINDOW_PROPS);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/facebook.js","import Channel from './channel.js';\r\nimport constants from '../utils/constants.js';\r\n\r\nexport default class SkypeChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n window.open(`https://join.skype.com/bot/${this.id}?add`, 'tb_skype', constants.SUBSCRIPTION_WINDOW_PROPS);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/skype.js","import Channel from './channel.js';\r\nimport constants from '../utils/constants.js';\r\n\r\nexport default class TelegramChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n window.open(`https://telegram.me/${this.id}?start=${this.deeplink}`, 'tb_tg', constants.SUBSCRIPTION_WINDOW_PROPS);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/telegram.js","import Channel from './channel.js';\r\nimport constants from '../utils/constants.js';\r\n\r\nexport default class ViberChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n window.open(`viber://pa?chatURI=${this.id}&context=${this.deeplink}`, 'viber', constants.SUBSCRIPTION_WINDOW_PROPS);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/viber.js","import UUID from 'uuid-js';\r\n\r\nimport loadScript from '../utils/loadScript.js';\r\nimport apiErrorHandler from '../utils/apiErrorHandler.js';\r\n\r\nimport Channel from './channel.js';\r\nimport VKModal from './vk-modal/vk-modal.js';\r\n\r\nconst VK_API_VERSION = '5.73';\r\n\r\nfunction loadVkLib(){\r\n return new Promise((resolve, reject) => {\r\n if (window.VK && window.VK.Auth) {\r\n resolve('vk cache')\r\n }\r\n else {\r\n loadScript('//vk.com/js/api/openapi.js')\r\n .then(function () {\r\n resolve('vk load')\r\n }, function (err) {\r\n reject(err)\r\n })\r\n }\r\n });\r\n}\r\n\r\nfunction initVK(apiId) {\r\n return new Promise((resolve, reject) => {\r\n if (apiId) {\r\n if (!window.VK._apiId) {\r\n window.VK.init({apiId}); \r\n }\r\n window.VK.Auth.getLoginStatus(resolve)\r\n } else {\r\n reject('noVApiId')\r\n }\r\n })\r\n}\r\n\r\nfunction handleVKLoadingError(error) {\r\n console.error('Failed to load VK openapi.js. VK channel will be unavailable');\r\n return null; \r\n}\r\n\r\nexport default class VKChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n\r\n this.vkApiId = this.widget.config.vkApiId;\r\n this.initPromise = null;\r\n this.vkPluginContainerId = null;\r\n this.authorized = false;\r\n\r\n if (this.enabled) {\r\n if (!this.widget.useVKApi) {\r\n this.vkPluginContainerId = UUID.create(4).hex;\r\n this.initPromise = loadVkLib()\r\n .catch(err => this.__handleVKLoadingError(err));\r\n } else {\r\n this.initPromise = loadVkLib()\r\n .then(() => initVK(this.vkApiId))\r\n .then(() => {\r\n this.authorized = !!(window.VK.Auth.getSession());\r\n })\r\n .catch(err => this.__handleVKLoadingError(err));\r\n }\r\n }\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n this.subscribeViaPlugin();\r\n }\r\n\r\n subscribeViaApi() {\r\n let promise = null;\r\n if (!this.authorized) {\r\n promise = this.__login().then( res => this.__allowMessagesFromGroup() );\r\n } else {\r\n promise = this.__allowMessagesFromGroup();\r\n }\r\n return promise;\r\n }\r\n\r\n __allowMessagesFromGroup () {\r\n window.VK.Api.call(\r\n 'messages.allowMessagesFromGroup',\r\n {\r\n group_id: this.id,\r\n v: VK_API_VERSION,\r\n },\r\n res => {\r\n const vkSession = window.VK.Auth.getSession();\r\n const vkUserId = vkSession.mid;\r\n\r\n if (res.response === 1) {\r\n this.__textbackSubscribe(vkUserId);\r\n } else {\r\n console.log('VK res error:', res)\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n __login () {\r\n return new Promise(resolve => {\r\n window.VK.Auth.login(res => {\r\n resolve(res)\r\n }, 4096)\r\n })\r\n }\r\n\r\n __textbackSubscribe (vkUserId) {\r\n return fetch(`${this.widget.initialConfig.apiPath}/endUserNotifications/subscriptions`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({\r\n 'accountId': this.widget.config.accountId,\r\n 'insecureContext': this.widget.insecureContext,\r\n 'secureContextToken': this.widget.secureContextToken,\r\n 'address': {\r\n 'channel': 'vk',\r\n 'channelId': this.config.channelId,\r\n 'accountId': this.widget.config.accountId,\r\n 'remoteAddress': vkUserId,\r\n 'chatId': vkUserId\r\n },\r\n widgetId: this.widget.id,\r\n \"user\": {\r\n \"id\": this.widget.widgetUserId\r\n }\r\n })\r\n }).then(apiErrorHandler);\r\n }\r\n\r\n __handleVKLoadingError(err) {\r\n super.reportError('Failed to load VK openapi.js. VK channel will be unavailable.', err);\r\n return null; \r\n }\r\n\r\n subscribeViaPlugin() {\r\n const modal = new VKModal(this.vkPluginContainerId);\r\n this.renderVKSubscriptionButton();\r\n\r\n modal.onClose = () => {\r\n if (this.vkSubscribeHandler) {\r\n window.VK.Observer.unsubscribe('widgets.allowMessagesFromCommunity.allowed', this.vkSubscribeHandler);\r\n this.vkSubscribeHandler = null;\r\n }\r\n };\r\n }\r\n\r\n renderVKSubscriptionButton(height = 30, containerId = this.vkPluginContainerId) {\r\n if (this.vkSubscribeHandler) {\r\n window.VK.Observer.unsubscribe('widgets.allowMessagesFromCommunity.allowed', this.vkSubscribeHandler);\r\n this.vkSubscribeHandler = null;\r\n }\r\n\r\n const options = {\r\n height,\r\n key: this.deeplink\r\n };\r\n\r\n window.VK.Widgets.AllowMessagesFromCommunity(containerId, options, this.id);\r\n if (!this.config.disableAllowMessageEvents) {\r\n this.vkSubscribeHandler = this.__textbackSubscribe.bind(this);\r\n window.VK.Observer.subscribe('widgets.allowMessagesFromCommunity.allowed', this.vkSubscribeHandler);\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/vk.js","const cache = {};\r\n\r\nexport default function loadScript(url) {\r\n if (cache[url]){\r\n return cache[url];\r\n }\r\n\r\n cache[url] = new Promise((resolve, reject) => {\r\n let ready = false;\r\n const scriptElement = document.createElement(\"script\");\r\n\r\n scriptElement.type = \"text/javascript\";\r\n scriptElement.src = url;\r\n scriptElement.async = true;\r\n scriptElement.onload = scriptElement.onreadystatechange = function() {\r\n if (!ready && (!this.readyState || this.readyState == \"complete\")) {\r\n ready = true;\r\n resolve();\r\n }\r\n };\r\n scriptElement.onerror = scriptElement.onabort = reject;\r\n document.head.appendChild(scriptElement);\r\n });\r\n\r\n return cache[url];\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/loadScript.js","import t from '../../../libraries/t.js';\r\n\r\nimport './vk-modal.scss';\r\nimport vkTemplate from './vk-modal.html';\r\nimport vkIcon from '../../../widget/icons/icon_vk.svg';\r\n\r\nexport default class VKModal {\r\n constructor(vkPluginContainerId) {\r\n const modalContainer = document.createElement('div');\r\n \r\n modalContainer.innerHTML = new t(vkTemplate).render({ vkPluginContainerId, vkIcon });\r\n\r\n this.element = document.body.appendChild(modalContainer.firstChild);\r\n this.element.querySelector('.tb-close').addEventListener('click', event => {\r\n document.body.classList.remove('tb-modal-open');\r\n document.body.removeChild(this.element);\r\n\r\n if (this.onClose) {\r\n this.onClose();\r\n }\r\n });\r\n\r\n document.body.classList.add('tb-modal-open');\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/vk-modal/vk-modal.js","// local-scoped modification of https://github.com/jasonmoo/t.js\r\nvar blockregex = /\\{\\{(([@!]?)(.+?))\\}\\}(([\\s\\S]+?)(\\{\\{:\\1\\}\\}([\\s\\S]+?))?)\\{\\{\\/\\1\\}\\}/g,\r\n valregex = /\\{\\{([=%])(.+?)\\}\\}/g;\r\n\r\nfunction t(template) {\r\n this.t = template;\r\n}\r\n\r\nfunction scrub(val) {\r\n return new Option(val).innerHTML.replace(/\"/g,\""\");\r\n}\r\n\r\nfunction get_value(vars, key) {\r\n var parts = key.split('.');\r\n while (parts.length) {\r\n if (!(parts[0] in vars)) {\r\n return false;\r\n }\r\n vars = vars[parts.shift()];\r\n }\r\n return vars;\r\n}\r\n\r\nfunction render(fragment, vars) {\r\n return fragment\r\n .replace(blockregex, function(_, __, meta, key, inner, if_true, has_else, if_false) {\r\n\r\n var val = get_value(vars,key), temp = \"\", i;\r\n\r\n if (!val) {\r\n\r\n // handle if not\r\n if (meta == '!') {\r\n return render(inner, vars);\r\n }\r\n // check for else\r\n if (has_else) {\r\n return render(if_false, vars);\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n // regular if\r\n if (!meta) {\r\n return render(if_true, vars);\r\n }\r\n\r\n // process array/obj iteration\r\n if (meta == '@') {\r\n // store any previous vars\r\n // reuse existing vars\r\n _ = vars._key;\r\n __ = vars._val;\r\n for (i in val) {\r\n if (val.hasOwnProperty(i)) {\r\n vars._key = i;\r\n vars._val = val[i];\r\n temp += render(inner, vars);\r\n }\r\n }\r\n vars._key = _;\r\n vars._val = __;\r\n return temp;\r\n }\r\n\r\n })\r\n .replace(valregex, function(_, meta, key) {\r\n var val = get_value(vars,key);\r\n\r\n if (val || val === 0) {\r\n return meta == '%' ? scrub(val) : val;\r\n }\r\n return \"\";\r\n });\r\n}\r\n\r\nt.prototype.render = function (vars) {\r\n return render(this.t, vars);\r\n};\r\n\r\nexport default t;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/libraries/t.js","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./vk-modal.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./vk-modal.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./vk-modal.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/sdk/channels/vk-modal/vk-modal.scss\n// module id = 85\n// module chunks = 0 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".tb-modal-open {\\n overflow: hidden; }\\n .tb-modal-open .tb-modal {\\n overflow-x: hidden;\\n overflow-y: auto;\\n display: block; }\\n\\n.tb-modal {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n display: none;\\n background-color: rgba(0, 0, 0, 0.7);\\n z-index: 1072;\\n height: 100%;\\n width: 100%;\\n text-align: center; }\\n .tb-modal * {\\n box-sizing: border-box; }\\n .tb-modal .tb-modal-dialog {\\n height: 100%;\\n width: 100%; }\\n .tb-modal .tb-modal-dialog:before {\\n display: inline-block;\\n vertical-align: middle;\\n content: \\\" \\\";\\n height: 100%; }\\n .tb-modal .tb-modal-dialog .tb-modal-content {\\n display: inline-block;\\n position: relative;\\n padding: 25px 25px 35px;\\n background-color: #fff;\\n width: 310px; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-modal-content_text {\\n display: flex;\\n justify-content: center; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-close {\\n position: absolute;\\n top: 5px;\\n right: 12px;\\n border: none;\\n outline: 0;\\n padding: 0;\\n background-color: transparent;\\n font-size: 24px;\\n font-weight: bold;\\n color: #000;\\n opacity: 0.7; }\\n .tb-modal .tb-modal-dialog .tb-modal-content .tb-close:hover {\\n opacity: 1;\\n cursor: pointer; }\\n\\n.tb-vk-button {\\n margin-top: 15px;\\n display: inline-block;\\n width: 230px;\\n position: relative;\\n padding-left: 40px; }\\n .tb-vk-button .tb-vk-icon {\\n width: 30px;\\n height: 30px;\\n position: absolute;\\n top: 0px;\\n left: 0px; }\\n .tb-vk-button .tb-vk-icon > svg path {\\n fill: #45668e; }\\n\\n@media only screen and (min-device-width: 736px) {\\n .tb-modal .tb-modal-dialog .tb-modal-content {\\n width: 500px; }\\n .tb-vk-button {\\n width: 245px;\\n padding-left: 55px; }\\n .tb-vk-button .tb-vk-icon {\\n width: 40px;\\n height: 40px;\\n top: -5px; } }\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./src/sdk/channels/vk-modal/vk-modal.scss\n// module id = 86\n// module chunks = 0 1","\n/**\n * When source maps are enabled, `style-loader` uses a link element with a data-uri to\n * embed the css on the page. This breaks all relative urls because now they are relative to a\n * bundle instead of the current page.\n *\n * One solution is to only use full urls, but that may be impossible.\n *\n * Instead, this function \"fixes\" the relative urls to be absolute according to the current page location.\n *\n * A rudimentary test suite is located at `test/fixUrls.js` and can be run via the `npm test` command.\n *\n */\n\nmodule.exports = function (css) {\n // get current location\n var location = typeof window !== \"undefined\" && window.location;\n\n if (!location) {\n throw new Error(\"fixUrls requires window.location\");\n }\n\n\t// blank or null?\n\tif (!css || typeof css !== \"string\") {\n\t return css;\n }\n\n var baseUrl = location.protocol + \"//\" + location.host;\n var currentDir = baseUrl + location.pathname.replace(/\\/[^\\/]*$/, \"/\");\n\n\t// convert each url(...)\n\t/*\n\tThis regular expression is just a way to recursively match brackets within\n\ta string.\n\n\t /url\\s*\\( = Match on the word \"url\" with any whitespace after it and then a parens\n\t ( = Start a capturing group\n\t (?: = Start a non-capturing group\n\t [^)(] = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t (?: = Start another non-capturing groups\n\t [^)(]+ = Match anything that isn't a parentheses\n\t | = OR\n\t \\( = Match a start parentheses\n\t [^)(]* = Match anything that isn't a parentheses\n\t \\) = Match a end parentheses\n\t ) = End Group\n *\\) = Match anything and then a close parens\n ) = Close non-capturing group\n * = Match anything\n ) = Close capturing group\n\t \\) = Match a close parens\n\n\t /gi = Get all matches, not the first. Be case insensitive.\n\t */\n\tvar fixedCss = css.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi, function(fullMatch, origUrl) {\n\t\t// strip quotes (if they exist)\n\t\tvar unquotedOrigUrl = origUrl\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, function(o, $1){ return $1; })\n\t\t\t.replace(/^'(.*)'$/, function(o, $1){ return $1; });\n\n\t\t// already a full url? no change\n\t\tif (/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/)/i.test(unquotedOrigUrl)) {\n\t\t return fullMatch;\n\t\t}\n\n\t\t// convert the url to a full url\n\t\tvar newUrl;\n\n\t\tif (unquotedOrigUrl.indexOf(\"//\") === 0) {\n\t\t \t//TODO: should we add protocol?\n\t\t\tnewUrl = unquotedOrigUrl;\n\t\t} else if (unquotedOrigUrl.indexOf(\"/\") === 0) {\n\t\t\t// path should be relative to the base url\n\t\t\tnewUrl = baseUrl + unquotedOrigUrl; // already starts with '/'\n\t\t} else {\n\t\t\t// path should be relative to current directory\n\t\t\tnewUrl = currentDir + unquotedOrigUrl.replace(/^\\.\\//, \"\"); // Strip leading './'\n\t\t}\n\n\t\t// send back the fixed url(...)\n\t\treturn \"url(\" + JSON.stringify(newUrl) + \")\";\n\t});\n\n\t// send back the fixed css\n\treturn fixedCss;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/style-loader/lib/urls.js\n// module id = 87\n// module chunks = 0 1","module.exports = \"<div class=\\\"tb-modal\\\">\\r\\n <div class=\\\"tb-modal-dialog\\\">\\r\\n <div class=\\\"tb-modal-content\\\">\\r\\n <button class=\\\"tb-close\\\" type=\\\"button\\\">×</button>\\r\\n <div class=\\\"tb-modal-content_text\\\">\\r\\n <p>\\r\\n Разрешите сообществу присылать сообщения. <br>\\r\\n Вы в любой момент сможете отписаться.\\r\\n </p>\\r\\n </div>\\r\\n <div class=\\\"tb-vk-button\\\">\\r\\n <div class=\\\"tb-vk-icon\\\">{{=vkIcon}}</div>\\r\\n <div id=\\\"{{=vkPluginContainerId}}\\\"></div> \\r\\n </div> \\r\\n </div>\\r\\n </div>\\r\\n</div> \\r\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/sdk/channels/vk-modal/vk-modal.html\n// module id = 88\n// module chunks = 0 1","import Channel from './channel.js';\r\nimport browserInfo from '../utils/browserInfo.js';\r\nimport constants from '../utils/constants.js';\r\n\r\nconst prefixText = encodeURIComponent('Отправьте не изменяя это сообщение ');\r\n\r\nexport default class WhatsappChannel extends Channel {\r\n constructor(channelData = {}, deeplink, widget) {\r\n super(channelData, deeplink, widget);\r\n\r\n this.domainPrefix = browserInfo.isMobile() ? 'api' : 'web';\r\n }\r\n\r\n subscribe() {\r\n super.subscribe();\r\n window.open(`https://${this.domainPrefix}.whatsapp.com/send?phone=${this.id}&text=${prefixText + this.deeplink}`, 'whatsapp', constants.SUBSCRIPTION_WINDOW_PROPS);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/channels/whatsapp.js","const isMobile = /Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(navigator.userAgent);\r\n\r\nconst browserInfo = {\r\n isMobile() { \r\n return isMobile;\r\n },\r\n};\r\n\r\nexport default browserInfo;\n\n\n// WEBPACK FOOTER //\n// ./src/sdk/utils/browserInfo.js","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.4+314e4831\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nvar TRY_CATCH_ERROR = { error: null };\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction getThen(promise) {\n try {\n return promise.then;\n } catch (error) {\n TRY_CATCH_ERROR.error = error;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === TRY_CATCH_ERROR) {\n reject(promise, TRY_CATCH_ERROR.error);\n TRY_CATCH_ERROR.error = null;\n } else if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction tryCatch(callback, detail) {\n try {\n return callback(detail);\n } catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = void 0,\n failed = void 0;\n\n if (hasCallback) {\n value = tryCatch(callback, detail);\n\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n } else {\n succeeded = true;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n succeeded = true;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (failed) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = getThen(entry);\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/es6-promise/dist/es6-promise.js\n// module id = 91\n// module chunks = 0 1","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 92\n// module chunks = 0 1","// const merge = require('lodash/merge');\r\nimport merge from 'lodash/merge';\r\nimport text from '../utils/text.js';\r\nimport getLocale from '../utils/getLocale.js';\r\n\r\nexport default class Component {\r\n constructor(props = {}) {\r\n this.element = props.element || document.createElement(this.constructor.tagName);\r\n\r\n const dataset = JSON.parse(JSON.stringify(this.element.dataset || {}));\r\n const data = merge(JSON.parse(this.element.getAttribute('data')), dataset);\r\n\r\n this.set(this.defaults, props, {data});\r\n }\r\n\r\n render() {\r\n this.element.innerHTML = this.template;\r\n }\r\n\r\n text(string) {\r\n return text(string, this.lang);\r\n }\r\n\r\n get template() {\r\n return this.content;\r\n }\r\n\r\n get lang() {\r\n return this.element.getAttribute('lang') || getLocale();\r\n }\r\n\r\n set lang(value) {\r\n this.element.setAttribute('lang', value);\r\n }\r\n\r\n set() {\r\n merge(this, ...arguments);\r\n this.render();\r\n }\r\n\r\n get defaults() {\r\n return {};\r\n }\r\n\r\n static get tagName() {\r\n return 'div';\r\n }\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/index.js","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Map.js\n// module id = 94\n// module chunks = 0","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_assignMergeValue.js\n// module id = 95\n// module chunks = 0","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_getPrototype.js\n// module id = 96\n// module chunks = 0","/**\n * Gets the value at `key`, unless `key` is \"__proto__\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n return key == '__proto__'\n ? undefined\n : object[key];\n}\n\nmodule.exports = safeGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_safeGet.js\n// module id = 97\n// module chunks = 0","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/keysIn.js\n// module id = 98\n// module chunks = 0","module.exports = {\r\n main: require('./en'),\r\n ru: require('./ru'),\r\n pl: require('./pl'),\r\n ro: require('./ro'),\r\n uk: require('./uk'),\r\n cz: require('./cz'),\r\n 'cs-CZ': require('./cz'),\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/index.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Poslat přes Facebook',\r\n skype: 'Skype',\r\n 'sign-skype': 'Poslat přes Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Poslat přes Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Poslat přes Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Login',\r\n 'sign-vk': 'Poslat přes VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Poslat přes WhatsApp',\r\n 'telegram_tip': 'Stiskněte <strong>\"Start\"</strong><br/> v aplikaci Telegram',\r\n 'facebook_tip': 'Stiskněte <strong>\"Začít\"</strong><br/> v Facebook Messenger',\r\n 'viber_tip': ' Musíte mít nainstalovanou <br/><strong>Viber Desktop aplikaci</strong>',\r\n 'vkontakte_tip': 'Stiskněte <strong>\"Povolit\"</strong><br/> ve vyskakovacím okně',\r\n 'whatsapp_tip': 'Pošlete <strong>předvyplněný text</strong><br/> přes WhatsApp bez změn'\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/cz.js","import SDK from '../sdk/index.js';\r\nimport NotificationWidget from './index.js';\r\n\r\nwindow.TextBack.NotificationWidget = window.TextBack.NotificationWidget || NotificationWidget;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/widget.entry.js","import Widget from './components/tb-notification-widget/index.js';\r\nconst locales = require('./locales');\r\n\r\nWidget.locales = locales;\r\nWidget.VERSION = VERSION; // provided by webpack\r\n\r\nfunction initializeWidgets() {\r\n const widgetElements = document.getElementsByTagName(Widget.tagName);\r\n\r\n if (widgetElements) {\r\n for (let i = 0; i < widgetElements.length; i++) {\r\n new Widget({\r\n element: widgetElements[i]\r\n });\r\n }\r\n }\r\n}\r\n\r\nif (!window.TextBack.NotificationWidget) {\r\n if (document.readyState === 'loading') {\r\n document.addEventListener('DOMContentLoaded', initializeWidgets);\r\n } else {\r\n initializeWidgets();\r\n }\r\n}\r\n\r\n\r\n\r\nexport default Widget;\n\n\n// WEBPACK FOOTER //\n// ./src/widget/index.js","import assign from 'lodash/assign';\r\nimport Component from '../index.js';\r\n\r\nimport stringifyAttributes from '../../utils/stringifyAttributes.js';\r\nimport cookiesEx from '../../utils/cookiesEx.js';\r\nimport appInsights from '../../../sdk/utils/appInsights';\r\nimport config from '../../config';\r\nimport widgetsStorage from '../../utils/widgetsStorage.js';\r\n\r\nimport constants from '../../../sdk/utils/constants';\r\nimport SDK from '../../../sdk/index.js';\r\n\r\nimport iconBell from '../../icons/bell-icon.png';\r\nimport iconBroadcast from '../../icons/broadcast-icon.png';\r\nimport iconPaperPlane from '../../icons/paper-plane-icon.png';\r\nimport iconTextBackBadge from '../../icons/text-back-badge.png';\r\n\r\nimport './normalize.scss';\r\nimport './styles.scss';\r\n\r\nconst channelButtons = {\r\n vk: require('../tb-notification-button/vk'),\r\n tg: require('../tb-notification-button/telegram'),\r\n facebook: require('../tb-notification-button/facebook'),\r\n skype: require('../tb-notification-button/skype'),\r\n viber: require('../tb-notification-button/viber'),\r\n whatsapp: require('../tb-notification-button/whatsapp')\r\n};\r\n\r\n\r\nconst DEFAULT_BUTTONS_MARKUP = {\r\n style: 'square',\r\n displayMode: 'horizontal',\r\n align: 'center',\r\n};\r\n\r\nexport default class Widget extends Component {\r\n constructor() {\r\n super(...arguments);\r\n\r\n this.apiPath = this.apiPath || config.apiPath;\r\n this.onlyManual = this.onlyManual || this.element.hasAttribute('only-manual');\r\n\r\n const predefinedConfig = this.widgetConfig;\r\n\r\n //override widgetId property with data from widgetConfig\r\n if (!!predefinedConfig) {\r\n this.widgetId = predefinedConfig.id;\r\n }\r\n\r\n let widgetInitPromise = SDK.getWidget(this.widgetId);\r\n if (!widgetInitPromise) {\r\n // init widget\r\n widgetInitPromise = SDK.initWidget({\r\n widgetId: this.widgetId,\r\n apiPath: this.apiPath,\r\n insecureContext: this.data,\r\n secureContextToken: this.secureContextToken,\r\n overrideConfig: predefinedConfig,\r\n });\r\n }\r\n\r\n widgetInitPromise = widgetInitPromise\r\n .then(widget => {\r\n this.widget = widget;\r\n\r\n this.widgetUserId = widget.widgetUserId;\r\n this.config = widget.getConfig();\r\n this.config.type = this.config.type || constants.DEFAULT_WIDGET_TYPE;\r\n this.config.markUp = this.config.markUp || {};\r\n this.config.markUp.buttons = assign({}, DEFAULT_BUTTONS_MARKUP, this.config.markUp.buttons);\r\n\r\n this.widgetSubscriptions = widget.subscriptions;\r\n this.deepLink = widget.deeplink;\r\n const aiKey = widget.aiKey;\r\n\r\n return appInsights.init(aiKey, this.widgetUserId, this.config.accountId);\r\n })\r\n .then(res => {\r\n this.set({\r\n ready: true\r\n });\r\n return this;\r\n }, err => {\r\n console.error(err);\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.error', err);\r\n this.set({error: err});\r\n return this;\r\n });\r\n\r\n widgetsStorage.setWidget(this.widgetId, widgetInitPromise);\r\n }\r\n\r\n get defaults() {\r\n return {\r\n widgetId: this.element.getAttribute('widget-id'),\r\n secureContextToken: this.element.getAttribute('secure-context-token'),\r\n apiPath: this.element.getAttribute('api-path') || config.apiPath\r\n }\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.element.id = this.element.id ? this.element.id : 'tb-notification-widget';\r\n\r\n const buttons = this.element.querySelectorAll('tb-notification-button');\r\n\r\n if (buttons) {\r\n for (let i = 0; i < buttons.length; i++) {\r\n const channel = buttons[i].getAttribute('channel');\r\n new channelButtons[channel]({\r\n element: buttons[i],\r\n accountId: this.config.accountId,\r\n userId: this.userId,\r\n apiPath: this.apiPath,\r\n insecureContext: this.data,\r\n secureContextToken: this.secureContextToken,\r\n deepLink: this.deepLink,\r\n lang: this.lang,\r\n vkApiId: this.config.vkApiId,\r\n widgetId: this.config.id,\r\n widget: this,\r\n widgetAPI: this.widget,\r\n });\r\n }\r\n }\r\n\r\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\r\n let sessionShowCounterName = constants.COOKIE_NAME_PREFIX + this.widgetId + '_s_show_counter';\r\n let daysShowCounterName = constants.COOKIE_NAME_PREFIX + this.widgetId + '_days_show_counter';\r\n let daysCloseCounterName = constants.COOKIE_NAME_PREFIX + this.widgetId + '_days_close_counter';\r\n let totalCloseCounterName = constants.COOKIE_NAME_PREFIX + this.widgetId + '_total_close_counter';\r\n\r\n let showWidgetSetting = this.config.showWidgetSetting;\r\n\r\n let popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\r\n document.getElementById(\"tb-notification-widget-close\").addEventListener(\"click\", (e) => {\r\n popup.className += \" hidden closed\";\r\n e.preventDefault();\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.click.close', 'userAction');\r\n if (showWidgetSetting) {\r\n let daysTimeout = showWidgetSetting.showAfterDays * constants.SECONDS_IN_DAY;\r\n\r\n cookiesEx.incrementIntCookie(daysCloseCounterName, daysTimeout);\r\n cookiesEx.incrementIntCookie(totalCloseCounterName, constants.WIDGET_USER_ID_COOKIE_TTL);\r\n }\r\n });\r\n\r\n\r\n if (showWidgetSetting) {\r\n if (!showWidgetSetting.showIfSubscribed && this.widgetSubscriptions.length > 0) {\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.popup.notShown', 'alreadySubscribed');\r\n return;\r\n }\r\n\r\n\r\n let daysTimeout = showWidgetSetting.showAfterDays * constants.SECONDS_IN_DAY;\r\n let sessionTimeout = showWidgetSetting.showSessionLength * 60;\r\n\r\n let daysShowCounter = cookiesEx.incrementIntCookie(daysShowCounterName, daysTimeout);\r\n let sessionShowCounter = cookiesEx.incrementIntCookie(sessionShowCounterName, sessionTimeout);\r\n let daysCloseCounter = cookiesEx.getIntCookie(daysCloseCounterName) || 0;\r\n let totalCloseCounter = cookiesEx.getIntCookie(totalCloseCounterName) || 0;\r\n\r\n const sendNonDisplayed = (reason) => {\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.popup.notShown', reason);\r\n return true;\r\n };\r\n\r\n if (sessionShowCounter > showWidgetSetting.showTimesInSession && sendNonDisplayed('timesPerSession')|| // Не более N раз в сессию\r\n (showWidgetSetting.showTimesInRow > 0 && daysShowCounter > showWidgetSetting.showTimesInRow && sendNonDisplayed('timesPerDays')) ||// Не более N раз в M дней\r\n (showWidgetSetting.closeTimesInRow > 0 && daysCloseCounter >= showWidgetSetting.closeTimesInRow && sendNonDisplayed('closedTimesPerDays')) || // Не более N закрытий в M дней\r\n (showWidgetSetting.closeTimesInTotal > 0 && totalCloseCounter >= showWidgetSetting.closeTimesInTotal && sendNonDisplayed('closedTimes')) // Не более N закрытий всего\r\n ) {\r\n return;\r\n }\r\n }\r\n\r\n if (this.onlyManual) {\r\n popup.className = 'hidden';\r\n return;\r\n }\r\n\r\n if (this.config.displayOptions && (this.config.displayOptions.onTimeout || this.config.displayOptions.onLeave)) {\r\n let telemetryFlag = false;\r\n if (this.config.displayOptions.onTimeout) {\r\n setTimeout(() => {\r\n if(popup.className.indexOf('closed') === -1 && !telemetryFlag){\r\n telemetryFlag = true;\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.popup.show', 'timeout');\r\n }\r\n popup.className = popup.className.indexOf('closed') === -1 ? \"\" : popup.className;\r\n }, +this.config.displayOptions.timeoutDelay * 1000);\r\n }\r\n if (this.config.displayOptions.onLeave) {\r\n document.addEventListener('mousemove', (e) => {\r\n if (e.clientY < 50) {\r\n if(popup.className.indexOf('closed') === -1 && !telemetryFlag){\r\n telemetryFlag = true;\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.popup.show', 'onLeave');\r\n }\r\n popup.className = popup.className.indexOf('closed') === -1 ? \"\" : popup.className;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n get header() {\r\n if (this.config.markUp && this.config.markUp.header && this.config.markUp.header.value) {\r\n var color = this.config.markUp.header.color ? 'style=\"color: ' + this.config.markUp.header.color + '\"' : undefined;\r\n var result = '';\r\n\r\n result += '<tb-widget-header-line ' + color + ' class=\"tb-widget-header-line\">' + this.config.markUp.header.value + '</tb-widget-header-line>';\r\n\r\n return '<tb-widget-header-container>' + result + '</tb-widget-header-container>';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n\r\n get description() {\r\n if (this.config.markUp && this.config.markUp.description && this.config.markUp.description.value) {\r\n var color = this.config.markUp.description.color ? 'style=\"color: ' + this.config.markUp.description.color + '\"' : undefined;\r\n var result = '';\r\n\r\n result += '<tb-widget-description-line ' + color + ' class=\"tb-widget-description-line\">' + this.config.markUp.description.value + '</tb-widget-description-line>'\r\n\r\n return '<tb-widget-description-container>' + result + '</tb-widget-description-container>';\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n\r\n static iconPreset(val) {\r\n switch (val) {\r\n case 'widgetIconBell':\r\n return iconBell;\r\n case 'widgetIconBroadcast':\r\n return iconBroadcast;\r\n case 'widgetIconPaperPlane':\r\n return iconPaperPlane;\r\n case 'text-back-badge':\r\n return iconTextBackBadge;\r\n }\r\n\r\n }\r\n\r\n get icon() {\r\n if (this.config.markUp && this.config.markUp.icon && this.config.markUp.icon.type === \"custom\") {\r\n return '<tb-notification-widget-icon_body>'\r\n + '<img src=\"' + this.config.markUp.icon.url + '\">'\r\n + '</tb-notification-widget-icon_body>'\r\n }\r\n if (this.config.markUp && this.config.markUp.icon && this.config.markUp.icon.type === \"preset\") {\r\n return '<tb-notification-widget-icon_body>'\r\n + '<img src=\"' + Widget.iconPreset(this.config.markUp.icon.value) + '\">'\r\n + '</tb-notification-widget-icon_body>'\r\n }\r\n else {\r\n return '';\r\n }\r\n\r\n }\r\n\r\n get pallet() {\r\n return this.config && this.config.markUp.body.palette && this.config.markUp.body.palette === \"light\" ? 'pallet-light' : 'pallet-dark'\r\n }\r\n\r\n get template() {\r\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\r\n this.element.className = (this.config.type === constants.WIDGET_TYPE_WIDGET ? 'tb-no-api-call' : '');\r\n\r\n const buttonsStyle = (this.config.type === constants.WIDGET_TYPE_WIDGET ? 'square' : 'rounded'),\r\n buttonsStyleClass = (this.config.type === constants.WIDGET_TYPE_WIDGET ? 'tb-btn-style-square' : 'tb-btn-style-rounded');\r\n\r\n var body = '';\r\n if (this.ready) {\r\n const channels = this.widget.getEnabledChannels();\r\n body = channels.map((channel, index) => {\r\n const item = assign({}, channel.config, { \r\n type: this.config.type, \r\n markUp: assign({}, this.config.markUp.buttons, { style: buttonsStyle }),\r\n });\r\n const attributes = stringifyAttributes({\r\n channel: item.channel,\r\n config: item,\r\n });\r\n\r\n return item.enabled ? `<div><tb-notification-button id=\"tb-notification-button-${index}\" ${attributes}></tb-notification-button></div>` : '';\r\n }).join('');\r\n } else if (this.error) {\r\n console.warn('could not render widget. reason: ' + this.error);\r\n body = '';\r\n } else {\r\n body = '';\r\n }\r\n\r\n return `<tb-notification-widget-inner id=\"tb-notification-widget-inner\" class=\"tb-notification-widget-inner\"><tb-notification-widget-overlay class=\"hidden\">\r\n <tb-notification-widget-popup class=\"${this.pallet}\">\r\n <span id=\"tb-notification-widget-close\" class=\"close\">×</span>\r\n <a target=\"_blank\" href=\"//textback.ru/?utm_source=${window.location.host}&utm_medium=link&utm_content=notify_widget_opened&utm_campaign=ref_ad\">\r\n <img id=\"tb-notification-brand-badge\" src=\"${Widget.iconPreset('text-back-badge')}\">\r\n </a>\r\n ${this.icon}\r\n ${this.header}\r\n ${this.description}\r\n <div class=\"tb-widget-buttons tb-btn-align-center ${buttonsStyleClass}\">${body}</div>\r\n </tb-notification-widget-popup>\r\n </tb-notification-widget-overlay></tb-notification-widget-inner>`;\r\n\r\n } else {\r\n if (this.ready) {\r\n this.element.className = (this.config.type === constants.WIDGET_TYPE_WIDGET ? 'tb-no-api-call' : '');\r\n const buttonsContainerClasses = (this.config.type === constants.WIDGET_TYPE_WIDGET \r\n ? this.getButtonsClasses()\r\n : 'tb-btn-style-rounded tb-btn-mode-horizontal tb-btn-align-left');\r\n // let\r\n\r\n const channels = this.widget.getEnabledChannels();\r\n const body = channels.map((channel, index) => {\r\n const item = assign({}, channel.config, { type: this.config.type, markUp: this.config.markUp.buttons });\r\n const attributes = stringifyAttributes({\r\n channel: item.channel,\r\n config: item,\r\n });\r\n\r\n if (item.enabled) {\r\n let html = `<tb-notification-button id=\"tb-notification-button-${index}\" ${attributes}></tb-notification-button>`;\r\n if (this.config.markUp.buttons.displayMode === 'vertical') {\r\n html = `<div>${html}</div>`;\r\n }\r\n return html;\r\n } else {\r\n return '';\r\n }\r\n }).join('');\r\n \r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.inline.show', 'displaySettings');\r\n return `<tb-notification-widget-inner id=\"tb-notification-widget-inner\" class=\"tb-notification-widget-inner\">\r\n <div class=\"tb-widget-buttons ${buttonsContainerClasses}\">\r\n ${body}\r\n </div>\r\n </tb-notification-widget-inner>`;\r\n } else if (this.error) {\r\n console.warn('could not render widget. reason: ' + this.error);\r\n return '';\r\n } else {\r\n return ''\r\n }\r\n\r\n }\r\n }\r\n\r\n static get tagName() {\r\n return 'tb-notification-widget';\r\n }\r\n\r\n static getWidget(widgetId) {\r\n return widgetsStorage.getWidget(widgetId);\r\n }\r\n\r\n show() {\r\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\r\n const popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\r\n if (popup.className.indexOf('hidden') !== -1 || popup.className.indexOf('closed')) {\r\n appInsights.trackWidgetEvent(this.config.id, 'notificationWidget.popup.show', 'manual');\r\n }\r\n popup.className = '';\r\n }\r\n }\r\n\r\n hide() {\r\n if (this.config && this.config.displayMode && this.config.displayMode === \"popup\") {\r\n const popup = this.element.getElementsByTagName(\"tb-notification-widget-overlay\")[0];\r\n if (popup.className.indexOf('hidden') !== -1) {\r\n popup.className += 'hidden';\r\n }\r\n }\r\n }\r\n\r\n getButtonsClasses() {\r\n console.log(this.config);\r\n const classes = [];\r\n\r\n if (this.config.markUp && this.config.markUp.buttons) {\r\n const markUp = this.config.markUp.buttons;\r\n classes.push( getButtonsStyleClass(markUp.style) );\r\n classes.push( getButtonsAlignmentClass(markUp.align) );\r\n classes.push( getButtonsDisplayModeClass(markUp.displayMode) );\r\n }\r\n\r\n function getButtonsStyleClass(style) {\r\n const prefix = 'tb-btn-style';\r\n switch (style) {\r\n case 'rounded':\r\n return `${prefix}-rounded`;\r\n case 'icons': \r\n return `${prefix}-icons`;\r\n default:\r\n return `${prefix}-square`;\r\n }\r\n }\r\n\r\n function getButtonsAlignmentClass(align) {\r\n const prefix = 'tb-btn-align';\r\n switch (align) {\r\n case 'left':\r\n return `${prefix}-left`;\r\n case 'right': \r\n return `${prefix}-right`;\r\n default:\r\n return `${prefix}-center`;\r\n }\r\n }\r\n\r\n function getButtonsDisplayModeClass(mode) {\r\n const prefix = 'tb-btn-mode';\r\n if (mode === 'vertical') {\r\n return `${prefix}-vertical`;\r\n } else {\r\n return `${prefix}-horizontal`;\r\n }\r\n }\r\n\r\n return classes.join(' ');\r\n }\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-widget/index.js","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/merge.js\n// module id = 105\n// module chunks = 0","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n if (isObject(srcValue)) {\n stack || (stack = new Stack);\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMerge.js\n// module id = 106\n// module chunks = 0","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Stack.js\n// module id = 107\n// module chunks = 0","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheClear.js\n// module id = 108\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheDelete.js\n// module id = 109\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheGet.js\n// module id = 110\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheHas.js\n// module id = 111\n// module chunks = 0","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_listCacheSet.js\n// module id = 112\n// module chunks = 0","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stackClear.js\n// module id = 113\n// module chunks = 0","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stackDelete.js\n// module id = 114\n// module chunks = 0","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stackGet.js\n// module id = 115\n// module chunks = 0","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stackHas.js\n// module id = 116\n// module chunks = 0","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_stackSet.js\n// module id = 117\n// module chunks = 0","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_MapCache.js\n// module id = 118\n// module chunks = 0","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_mapCacheClear.js\n// module id = 119\n// module chunks = 0","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Hash.js\n// module id = 120\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hashClear.js\n// module id = 121\n// module chunks = 0","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hashDelete.js\n// module id = 122\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hashGet.js\n// module id = 123\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hashHas.js\n// module id = 124\n// module chunks = 0","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_hashSet.js\n// module id = 125\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_mapCacheDelete.js\n// module id = 126\n// module chunks = 0","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_isKeyable.js\n// module id = 127\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_mapCacheGet.js\n// module id = 128\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_mapCacheHas.js\n// module id = 129\n// module chunks = 0","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_mapCacheSet.js\n// module id = 130\n// module chunks = 0","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseFor.js\n// module id = 131\n// module chunks = 0","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_createBaseFor.js\n// module id = 132\n// module chunks = 0","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseMergeDeep.js\n// module id = 133\n// module chunks = 0","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneBuffer.js\n// module id = 134\n// module chunks = 0","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneTypedArray.js\n// module id = 135\n// module chunks = 0","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_cloneArrayBuffer.js\n// module id = 136\n// module chunks = 0","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_Uint8Array.js\n// module id = 137\n// module chunks = 0","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_copyArray.js\n// module id = 138\n// module chunks = 0","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_initCloneObject.js\n// module id = 139\n// module chunks = 0","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseCreate.js\n// module id = 140\n// module chunks = 0","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isArrayLikeObject.js\n// module id = 141\n// module chunks = 0","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/isPlainObject.js\n// module id = 142\n// module chunks = 0","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/toPlainObject.js\n// module id = 143\n// module chunks = 0","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_baseKeysIn.js\n// module id = 144\n// module chunks = 0","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/lodash/_nativeKeysIn.js\n// module id = 145\n// module chunks = 0","const locales = require('../locales');\r\n\r\nfunction text(string, locale) {\r\n const dictionary = locales[locale] || locales[locale.split('-')[0]] || locales.main;\r\n\r\n return dictionary[string] || locales.main[string] || string;\r\n}\r\n\r\nexport default text;\n\n\n// WEBPACK FOOTER //\n// ./src/widget/utils/text.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Send to Messenger',\r\n skype: 'Skype',\r\n 'sign-skype': 'Send to Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Send to Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Send to Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Sing In',\r\n 'sign-vk': 'Send to VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Send to WhatsApp',\r\n 'telegram_tip': 'Tap <strong>\"Start\"</strong></br> when enter Telegram App',\r\n 'facebook_tip': 'Tap <strong>\"Get started\"</strong><br/>in Facebook Messenger',\r\n 'viber_tip': '<strong>Viber Desktop App</strong></br> should be installed on your PC',\r\n 'vkontakte_tip': 'Press <strong>\"Allow messages\"</strong><br/>in a popup window',\r\n 'whatsapp_tip': '<strong>Send generated text</strong><br/>in WhatsApp',\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/en.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Подписаться в Facebook',\r\n skype: 'Skype',\r\n 'sign-skype': 'Подписаться в Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Подписаться в Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Подписаться в Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Login',\r\n 'sign-vk': 'Подписаться VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Подписаться в WhatsApp',\r\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\r\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\r\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\r\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\r\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/ru.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Zapisz się Facebook',\r\n skype: 'Skype',\r\n 'sign-skype': 'Zapisz się Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Zapisz się Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Zapisz się Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Login',\r\n 'sign-vk': 'Zapisz się VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Zapisz się WhatsApp',\r\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\r\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\r\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\r\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\r\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/pl.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Abonează-te Facebook',\r\n skype: 'Skype',\r\n 'sign-skype': 'Abonează-te Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Abonează-te Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Abonează-te Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Login',\r\n 'sign-vk': 'Abonează-te VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Abonează-te WhatsApp',\r\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\r\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\r\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\r\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\r\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/ro.js","module.exports = {\r\n facebook: 'Facebook',\r\n 'sign-facebook': 'Підписатися на Facebook',\r\n skype: 'Skype',\r\n 'sign-skype': 'Підписатися на Skype',\r\n telegram: 'Telegram',\r\n 'sign-telegram': 'Підписатися на Telegram',\r\n viber: 'Viber',\r\n 'sign-viber': 'Підписатися на Viber',\r\n vkontakte: 'VKontakte',\r\n 'vkontakte login': 'VK Login',\r\n 'sign-vk': 'Підписатися на VKontakte',\r\n whatsapp: 'WhatsApp',\r\n 'sign-whatsapp': 'Підписатися на WhatsApp',\r\n 'telegram_tip': 'Нажмите <strong>\"Start\"</strong></br>в приложении Telegram',\r\n 'facebook_tip': 'Нажмите <strong>\"Начать\"</strong><br/>в Facebook Messenger',\r\n 'viber_tip': ' У вас должно быть установлено<br/><strong>Viber Desktop приложение</strong>',\r\n 'vkontakte_tip': 'Нажмите <strong>\"Разрешить\"</strong><br/>во всплывающем окне',\r\n 'whatsapp_tip': 'Отправьте <strong>предзаполненный текст</strong><br/>в WhatsApp без изменений'\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/widget/locales/uk.js","function getLocale() {\r\n let locale = 'main';\r\n\r\n if (document) {\r\n locale = document.querySelector('html').getAttribute('lang')\r\n }\r\n\r\n if (!locale && navigator) {\r\n locale = navigator.language;\r\n }\r\n\r\n return locale;\r\n}\r\n\r\nexport default getLocale;\n\n\n// WEBPACK FOOTER //\n// ./src/widget/utils/getLocale.js","function stringifyAttributes(attributesMap = {}) {\r\n return Object.keys(attributesMap)\r\n .map(key => {\r\n let value = attributesMap[key]\r\n\r\n if (value === null || typeof value === 'undefined') {\r\n return ''\r\n }\r\n\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value)\r\n }\r\n\r\n return `${key}='${value}'`\r\n })\r\n .join(' ');\r\n}\r\n\r\nexport default stringifyAttributes;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/utils/stringifyAttributes.js","// const cookies = require('./cookies');\r\nimport cookies from '../../sdk/utils/cookies.js';\r\n\r\n/**\r\n *\r\n * @extends cookies\r\n */\r\nconst cookiesEx = Object.create(cookies);\r\n\r\n/**\r\n *\r\n * @param name {string}\r\n * @returns {Number}\r\n */\r\ncookiesEx.getIntCookie = function (name) {\r\n return parseInt(this.getCookie(name));\r\n};\r\n\r\n/**\r\n *\r\n * @param name {string}\r\n * @returns {boolean}\r\n */\r\ncookiesEx.getBoolCookie = function (name) {\r\n return (this.getCookie(name)) === 'true';\r\n};\r\n/**\r\n *\r\n * @param name {string}\r\n * @param timeToLive {number}\r\n * @returns {number}\r\n */\r\ncookiesEx.incrementIntCookie = function (name, timeToLive) {\r\n let val = this.getIntCookie(name) || 0;\r\n val++;\r\n this.setCookie(name, val, timeToLive);\r\n\r\n return val;\r\n};\r\n\r\nexport default cookiesEx;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/utils/cookiesEx.js","const config = {\r\n apiPath: 'https://api.textback.io/api',\r\n rootElement: 'tb-notification-widget'\r\n};\r\nexport default config;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/config.js","const storage = {};\r\n\r\nfunction setWidget(widgetId, widgetPromise) {\r\n storage[widgetId] = storage[widgetId] || {};\r\n storage[widgetId].promise = widgetPromise;\r\n}\r\n\r\nfunction getWidget(widgetId) {\r\n return storage[widgetId] ? storage[widgetId].promise : null;\r\n}\r\n\r\nfunction setVkHandler(widgetId, handler) {\r\n storage[widgetId] = storage[widgetId] || {};\r\n storage[widgetId].vkHandler = handler;\r\n}\r\n\r\nfunction getVkHandler(widgetId) {\r\n return storage[widgetId] ? storage[widgetId].vkHandler : null;\r\n}\r\n\r\nconst widgetsStorage = {\r\n setWidget,\r\n getWidget,\r\n setVkHandler,\r\n getVkHandler,\r\n};\r\n\r\nexport default widgetsStorage;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/utils/widgetsStorage.js","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYAAAAG8CAYAAADXf3JpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc5NDM2NDE2NDdDMTExRTdBNTRDRUUwN0RENzM1NERBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc5NDM2NDE3NDdDMTExRTdBNTRDRUUwN0RENzM1NERBIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Nzk0MzY0MTQ0N0MxMTFFN0E1NENFRTA3REQ3MzU0REEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Nzk0MzY0MTU0N0MxMTFFN0E1NENFRTA3REQ3MzU0REEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5gC3s6AAAbO0lEQVR42uzd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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/bell-icon.png\n// module id = 157\n// module chunks = 0","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdQAAAFYCAYAAADqVQ3PAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJDNzJBODY0NDdDMTExRTc5MjNCQzExMDg0MDFGMzkwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJDNzJBODY1NDdDMTExRTc5MjNCQzExMDg0MDFGMzkwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkM3MkE4NjI0N0MxMTFFNzkyM0JDMTEwODQwMUYzOTAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkM3MkE4NjM0N0MxMTFFNzkyM0JDMTEwODQwMUYzOTAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4c3m3UAAAsuklEQVR42uyd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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/broadcast-icon.png\n// module id = 158\n// module chunks = 0","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh8AAAFZCAYAAAA4tE09AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk2RjREMTdGNDdDMTExRTc4OEIzQTM0NjUyNTU0N0IzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk2RjREMTgwNDdDMTExRTc4OEIzQTM0NjUyNTU0N0IzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTZGNEQxN0Q0N0MxMTFFNzg4QjNBMzQ2NTI1NTQ3QjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTZGNEQxN0U0N0MxMTFFNzg4QjNBMzQ2NTI1NTQ3QjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7N3Z9FAAAvnElEQVR42uzd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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/paper-plane-icon.png\n// module id = 159\n// module chunks = 0","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ0AAAAUCAYAAACXmT/GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2RTUyM0YwMURDM0FFNzExQjA1M0Y4QjdDNDAyNEUzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpERDI0MEFCNzQ4NjkxMUU3OTRDQzgxREI5REQ3RUE1RSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpERDI0MEFCNjQ4NjkxMUU3OTRDQzgxREI5REQ3RUE1RSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjZCOTI3MDEwRjM0MkU3MTE5RUU1QzY1QjU1MjVFRkJEIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZFNTIzRjAxREMzQUU3MTFCMDUzRjhCN0M0MDI0RTMxIi8+IDwvcmRmOkRlc2NyaXB0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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/text-back-badge.png\n// module id = 160\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./normalize.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./normalize.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./normalize.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/components/tb-notification-widget/normalize.scss\n// module id = 161\n// module chunks = 0","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"/*based on*/\\n/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */\\ntb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner {\\n /**\\r\\n * Correct the font size and margin on `h1` elements within `section` and\\r\\n * `article` contexts in Chrome, Firefox, and Safari.\\r\\n */\\n /* Grouping content\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 9-.\\r\\n * 1. Add the correct display in IE.\\r\\n */\\n /**\\r\\n * 1. Add the correct box sizing in Firefox.\\r\\n * 2. Show the overflow in Edge and IE.\\r\\n */\\n /**\\r\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\r\\n * 2. Correct the odd `em` font sizing in all browsers.\\r\\n */\\n /* Text-level semantics\\r\\n ========================================================================== */\\n /**\\r\\n * 1. Remove the gray background on active links in IE 10.\\r\\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\\r\\n */\\n /**\\r\\n * 1. Remove the bottom border in Chrome 57- and Firefox 39-.\\r\\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\\r\\n */\\n /**\\r\\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\\r\\n */\\n /**\\r\\n * Add the correct font weight in Chrome, Edge, and Safari.\\r\\n */\\n /**\\r\\n * 1. Correct the inheritance and scaling of font size in all browsers.\\r\\n * 2. Correct the odd `em` font sizing in all browsers.\\r\\n */\\n /**\\r\\n * Add the correct font style in Android 4.3-.\\r\\n */\\n /**\\r\\n * Add the correct background and color in IE 9-.\\r\\n */\\n /**\\r\\n * Add the correct font size in all browsers.\\r\\n */\\n /**\\r\\n * Prevent `sub` and `sup` elements from affecting the line height in\\r\\n * all browsers.\\r\\n */\\n /* Embedded content\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 9-.\\r\\n */\\n /**\\r\\n * Add the correct display in iOS 4-7.\\r\\n */\\n /**\\r\\n * Remove the border on images inside links in IE 10-.\\r\\n */\\n /**\\r\\n * Hide the overflow in IE.\\r\\n */\\n /* Forms\\r\\n ========================================================================== */\\n /**\\r\\n * 1. Change the font styles in all browsers (opinionated).\\r\\n * 2. Remove the margin in Firefox and Safari.\\r\\n */\\n /**\\r\\n * Show the overflow in IE.\\r\\n * 1. Show the overflow in Edge.\\r\\n */\\n /**\\r\\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\\r\\n * 1. Remove the inheritance of text transform in Firefox.\\r\\n */\\n /**\\r\\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\\r\\n * controls in Android 4.\\r\\n * 2. Correct the inability to style clickable types in iOS and Safari.\\r\\n */\\n /**\\r\\n * Remove the inner border and padding in Firefox.\\r\\n */\\n /**\\r\\n * Restore the focus styles unset by the previous rule.\\r\\n */\\n /**\\r\\n * Correct the padding in Firefox.\\r\\n */\\n /**\\r\\n * 1. Correct the text wrapping in Edge and IE.\\r\\n * 2. Correct the color inheritance from `fieldset` elements in IE.\\r\\n * 3. Remove the padding so developers are not caught out when they zero out\\r\\n * `fieldset` elements in all browsers.\\r\\n */\\n /**\\r\\n * 1. Add the correct display in IE 9-.\\r\\n * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.\\r\\n */\\n /**\\r\\n * Remove the default vertical scrollbar in IE.\\r\\n */\\n /**\\r\\n * 1. Add the correct box sizing in IE 10-.\\r\\n * 2. Remove the padding in IE 10-.\\r\\n */\\n /**\\r\\n * Correct the cursor style of increment and decrement buttons in Chrome.\\r\\n */\\n /**\\r\\n * 1. Correct the odd appearance in Chrome and Safari.\\r\\n * 2. Correct the outline style in Safari.\\r\\n */\\n /**\\r\\n * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.\\r\\n */\\n /**\\r\\n * 1. Correct the inability to style clickable types in iOS and Safari.\\r\\n * 2. Change font properties to `inherit` in Safari.\\r\\n */\\n /* Interactive\\r\\n ========================================================================== */\\n /*\\r\\n * Add the correct display in IE 9-.\\r\\n * 1. Add the correct display in Edge, IE, and Firefox.\\r\\n */\\n /*\\r\\n * Add the correct display in all browsers.\\r\\n */\\n /* Scripting\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE.\\r\\n */\\n /* Hidden\\r\\n ========================================================================== */\\n /**\\r\\n * Add the correct display in IE 10-.\\r\\n */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner h1 {\\n font-size: 2em;\\n margin: 0.67em 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner figcaption,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner figure,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner main {\\n /* 1 */\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner hr {\\n box-sizing: content-box;\\n /* 1 */\\n height: 0;\\n /* 1 */\\n overflow: visible;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner pre {\\n font-family: monospace, monospace;\\n /* 1 */\\n font-size: 1em;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner a {\\n background-color: transparent;\\n /* 1 */\\n -webkit-text-decoration-skip: objects;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner abbr[title] {\\n border-bottom: none;\\n /* 1 */\\n text-decoration: underline;\\n /* 2 */\\n text-decoration: underline dotted;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner b,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner strong {\\n font-weight: inherit; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner b,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner strong {\\n font-weight: bolder; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner code,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner kbd,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner samp {\\n font-family: monospace, monospace;\\n /* 1 */\\n font-size: 1em;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner dfn {\\n font-style: italic; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner mark {\\n background-color: #ff0;\\n color: #000; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner small {\\n font-size: 80%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sub,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sub {\\n bottom: -0.25em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner sup {\\n top: -0.5em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner audio,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner video {\\n display: inline-block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner audio:not([controls]) {\\n display: none;\\n height: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner img {\\n border-style: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner svg:not(:root) {\\n overflow: hidden; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner input,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner optgroup,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner select,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner textarea {\\n font-family: sans-serif;\\n /* 1 */\\n font-size: 100%;\\n /* 1 */\\n line-height: 1.15;\\n /* 1 */\\n margin: 0;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner input {\\n /* 1 */\\n overflow: visible; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner select {\\n /* 1 */\\n text-transform: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner html [type=\\\"button\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"] {\\n -webkit-appearance: button;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"button\\\"]::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"]::-moz-focus-inner,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"]::-moz-focus-inner {\\n border-style: none;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner button:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"button\\\"]:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"reset\\\"]:-moz-focusring,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"submit\\\"]:-moz-focusring {\\n outline: 1px dotted ButtonText; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner fieldset {\\n padding: 0.35em 0.75em 0.625em; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner legend {\\n box-sizing: border-box;\\n /* 1 */\\n color: inherit;\\n /* 2 */\\n display: table;\\n /* 1 */\\n max-width: 100%;\\n /* 1 */\\n padding: 0;\\n /* 3 */\\n white-space: normal;\\n /* 1 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner progress {\\n display: inline-block;\\n /* 1 */\\n vertical-align: baseline;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner textarea {\\n overflow: auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"checkbox\\\"],\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"radio\\\"] {\\n box-sizing: border-box;\\n /* 1 */\\n padding: 0;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"number\\\"]::-webkit-inner-spin-button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"] {\\n -webkit-appearance: textfield;\\n /* 1 */\\n outline-offset: -2px;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"]::-webkit-search-cancel-button,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner ::-webkit-file-upload-button {\\n -webkit-appearance: button;\\n /* 1 */\\n font: inherit;\\n /* 2 */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner details,\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner menu {\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner summary {\\n display: list-item; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner template {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner [hidden] {\\n display: none; }\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./src/widget/components/tb-notification-widget/normalize.scss\n// module id = 162\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/components/tb-notification-widget/styles.scss\n// module id = 163\n// module chunks = 0","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"tb-notification-widget {\\n all: initial;\\n display: inline-block;\\n font-family: 'Open Sans', 'Droid Sans', Arial, sans-serif;\\n line-height: 1.42857;\\n position: relative; }\\n tb-notification-widget.tb-no-api-call {\\n display: block; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner {\\n /*styles for non mobile*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .hidden {\\n display: none; }\\n\\n@keyframes spin {\\n from {\\n transform: rotate(0deg); }\\n to {\\n transform: rotate(360deg); } }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay {\\n display: block;\\n text-align: center;\\n position: fixed;\\n z-index: 11000;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: auto;\\n background-color: rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay.hidden {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay:before {\\n display: inline-block;\\n vertical-align: middle;\\n content: \\\" \\\";\\n height: 100%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup {\\n box-sizing: content-box;\\n display: inline-block;\\n position: relative;\\n background-color: #fefefe;\\n margin: 0px auto;\\n width: 240px;\\n padding: 20px 35px 22px 35px;\\n border: 1px solid #888;\\n border-radius: 5px;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark {\\n background-color: #282828; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close {\\n line-height: 1;\\n opacity: 1;\\n text-shadow: none;\\n position: absolute;\\n top: 2px;\\n right: 5px;\\n color: #aaa;\\n float: right;\\n font-size: 16px;\\n font-weight: bold; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup #tb-notification-brand-badge {\\n position: absolute;\\n bottom: 10px;\\n right: 10px;\\n width: 80px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close:hover, tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close:active {\\n opacity: 1;\\n color: black;\\n text-decoration: none;\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-icon_body img {\\n width: 24px;\\n margin-bottom: 14px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-container {\\n display: block;\\n font-size: 14px;\\n font-weight: 600;\\n margin-bottom: 11px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-line {\\n display: block;\\n margin: 0;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark tb-widget-header-line {\\n color: white !important; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-container {\\n display: block;\\n font-size: 11px;\\n margin-bottom: 23px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-line {\\n display: block;\\n margin: 5px 0;\\n padding: 0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup.pallet-dark tb-widget-description-line {\\n color: white !important; }\\n @media only screen and (min-device-width: 736px) {\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup {\\n width: 525px;\\n padding: 42px 80px 72px 80px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-header-container {\\n font-size: 28px;\\n margin-bottom: 24px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-icon_body img {\\n width: 48px;\\n margin-bottom: 30px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-widget-description-container {\\n font-size: 22px;\\n margin-bottom: 40px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup #tb-notification-brand-badge {\\n bottom: 20px;\\n right: 20px;\\n width: 160px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-popup span.close {\\n font-size: 28px;\\n right: 10px;\\n top: 5px; } }\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./src/widget/components/tb-notification-widget/styles.scss\n// module id = 164\n// module chunks = 0","/* eslint no-console: \"off\" */\r\n\r\nimport Button from './index.js';\r\nimport UUID from 'uuid-js';\r\nimport icon from '../../icons/icon_vk.svg';\r\nimport iconCircle from '../../icons/icon_vk_circle.svg';\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nclass VKButton extends Button {\r\n constructor() {\r\n super(...arguments);\r\n this.element.setAttribute('type', this.config.type || 'widget');\r\n\r\n this.buttonContainerId = UUID.create(4).hex;\r\n \r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n this.element.setAttribute('authorized', this.channelAPI.authorized);\r\n this.element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribeViaApi();\r\n });\r\n\r\n this.set({\r\n ready: true\r\n });\r\n } else if (this.config.markUp.style !== 'square') {\r\n this.element.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n\r\n this.set({\r\n ready: true\r\n });\r\n } else {\r\n this.set({\r\n ready: true\r\n });\r\n\r\n this.channelAPI.renderVKSubscriptionButton(30, this.buttonContainerId);\r\n }\r\n }\r\n\r\n\r\n\r\n get template () {\r\n if (this.ready) {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a href=\"javascript:void(0)\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <tb-notification-button__text for=\"login\">${this.text('vkontakte login')}</tb-notification-button__text> \r\n <tb-notification-button__text for=\"subscribe\">${this.text('vkontakte')}</tb-notification-button__text>\r\n </a>\r\n <p class=\"tb-notification-button__tip\">\r\n ${this.text('vkontakte_tip')}\r\n </p>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a href=\"#\">\r\n <tb-notification-button__icon>${( this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('vkontakte')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon>\r\n <a id=\"${this.buttonContainerId}\"></a>\r\n </div>\r\n `;\r\n }\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nmodule.exports = VKButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/vk.js","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\nif(typeof content === 'string') content = [[module.id, content, '']];\n// Prepare cssTransformation\nvar transform;\n\nvar options = {\"hmr\":true}\noptions.transform = transform\n// add the styles to the DOM\nvar update = require(\"!../../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\nif(content.locals) module.exports = content.locals;\n// Hot Module Replacement\nif(module.hot) {\n\t// When the styles change, update the <style> tags\n\tif(!content.locals) {\n\t\tmodule.hot.accept(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\", function() {\n\t\t\tvar newContent = require(\"!!../../../../node_modules/css-loader/index.js!../../../../node_modules/sass-loader/lib/loader.js!./styles.scss\");\n\t\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\t\t\tupdate(newContent);\n\t\t});\n\t}\n\t// When the module is disposed, remove the <style> tags\n\tmodule.hot.dispose(function() { update(); });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/components/tb-notification-button/styles.scss\n// module id = 166\n// module chunks = 0","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \"tb-notification-widget {\\n /* new design */\\n /* old design */\\n /* popup */\\n /* circle icons design */\\n /*styles for non mobile*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-button a {\\n cursor: pointer !important; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-notification-button__tip {\\n position: absolute;\\n font-size: 10px;\\n text-align: center;\\n margin-top: 19px;\\n left: 0;\\n width: 100%;\\n color: #6f7b8a; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-center {\\n text-align: center; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-left {\\n text-align: left; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-btn-align-right {\\n text-align: right; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square {\\n /* inline & popup */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button {\\n display: block;\\n width: 100%;\\n margin: 0px 0px 20px;\\n padding: 0px;\\n background-color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"skype\\\"] .tb-notification-button__inner > a {\\n background-color: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"skype\\\"] tb-notification-button__icon > svg path {\\n fill: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"facebook\\\"] .tb-notification-button__inner > a {\\n background-color: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"facebook\\\"] tb-notification-button__icon > svg path {\\n fill: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > a {\\n background-color: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] tb-notification-button__icon > svg path {\\n fill: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > div {\\n transition: box-shadow 0.4s; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"vk\\\"] .tb-notification-button__inner > div:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[authorized=\\\"true\\\"] tb-notification-button__text[for=\\\"login\\\"], tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[authorized=\\\"false\\\"] tb-notification-button__text[for=\\\"subscribe\\\"] {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"viber\\\"] .tb-notification-button__inner > a {\\n background-color: #59267c; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"tg\\\"] .tb-notification-button__inner > a {\\n background-color: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"tg\\\"] tb-notification-button__icon > svg path {\\n fill: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[channel=\\\"whatsapp\\\"] .tb-notification-button__inner > a {\\n background-color: #189d0e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner {\\n position: relative;\\n display: inline-block;\\n box-sizing: border-box;\\n width: 219px;\\n padding-left: 35px;\\n float: initial; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a {\\n all: initial;\\n display: block;\\n box-sizing: content-box;\\n border-radius: 2px;\\n cursor: pointer;\\n color: #fff;\\n position: relative;\\n font-size: 12px;\\n font-family: Arial,Helvetica,sans-serif;\\n padding: 0px;\\n line-height: 29px;\\n height: 30px;\\n text-align: center;\\n text-decoration: none !important;\\n transition: box-shadow 0.4s; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a:hover {\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner > a:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__text {\\n display: inline-block;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon {\\n position: absolute;\\n top: 0px;\\n left: 0px;\\n width: 30px;\\n height: 30px;\\n margin: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded {\\n /* inline */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n transition: box-shadow 0.4s;\\n box-sizing: content-box;\\n padding: 10px 20px;\\n border-radius: 25px;\\n cursor: pointer;\\n background-color: #2979FF;\\n color: #fff;\\n display: inline-block;\\n margin: 0 13px 45px 0;\\n position: relative; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button:hover {\\n box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.4); }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"skype\\\"] {\\n background-color: #00aff0; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"facebook\\\"] {\\n background-color: #3b5998; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"vk\\\"] {\\n background-color: #45668e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[authorized=\\\"true\\\"] tb-notification-button__text[for=\\\"login\\\"], tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[authorized=\\\"false\\\"] tb-notification-button__text[for=\\\"subscribe\\\"] {\\n display: none; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"viber\\\"] {\\n background-color: #59267c; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"tg\\\"] {\\n background-color: #1E96C8; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[channel=\\\"whatsapp\\\"] {\\n background-color: #189d0e; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n all: initial;\\n display: block;\\n text-decoration: none;\\n color: #fff;\\n font-family: inherit;\\n margin: -10px -20px;\\n text-decoration: none !important;\\n padding: 6px 30px 8px;\\n min-width: 110px;\\n text-align: center;\\n font-size: 15px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a:hover {\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n display: inline-block;\\n vertical-align: middle; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n display: inline-block;\\n vertical-align: middle;\\n width: 30px;\\n height: 30px;\\n margin: -10px 0 -10px -15px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n tb-notification-widget.tb-no-api-call #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n margin-bottom: 13px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n display: inline-block;\\n width: 120px;\\n height: 24px;\\n padding: 0px;\\n margin: 0px 0px 18px 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n position: relative;\\n text-align: center;\\n font-size: 12px;\\n padding: 5px 20px;\\n margin: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n display: block;\\n position: absolute;\\n left: 8px;\\n top: 2px;\\n width: 20px;\\n height: 20px;\\n margin: 0px;\\n padding: 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n vertical-align: baseline;\\n width: 60px;\\n text-align: center;\\n color: #fff; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons {\\n /* inline */ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button {\\n display: inline-block;\\n position: relative;\\n margin: 0px 13px 13px 0px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button:hover {\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button[loading] {\\n color: transparent; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button[loading]:after {\\n content: \\\"\\\";\\n border-radius: 100%;\\n border: 3px solid #fff;\\n border-bottom-color: transparent;\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: 16px;\\n height: 16px;\\n margin: -11px 0 0 -11px;\\n animation-name: spin;\\n animation-duration: 1000ms;\\n animation-iteration-count: infinite; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button > a {\\n all: initial;\\n display: block;\\n text-decoration: none;\\n font-family: inherit;\\n text-decoration: none !important;\\n min-width: 80px;\\n text-align: center;\\n font-size: 13px;\\n color: #333; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button > a:hover {\\n cursor: pointer; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__text {\\n display: block;\\n margin-top: 4px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__icon {\\n display: block;\\n width: 50px;\\n height: 50px;\\n margin: 0px auto; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-icons tb-notification-button__icon > svg {\\n width: 100%;\\n height: 100%; }\\n @media only screen and (min-device-width: 736px) {\\n tb-notification-widget {\\n /* new design */\\n /* old design*/ }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner {\\n padding-left: 55px;\\n width: 239px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner .tb-widget-buttons.tb-btn-style-square tb-notification-button .tb-notification-button__inner tb-notification-button__icon {\\n top: -5px;\\n left: 0px;\\n width: 40px;\\n height: 40px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button {\\n margin: 0px 19px 24px 0px;\\n width: 206px;\\n height: 50px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button > a {\\n padding: 10px 20px;\\n font-size: 20px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__icon {\\n width: 40px;\\n height: 40px;\\n left: 15px;\\n top: 5px; }\\n tb-notification-widget #tb-notification-widget-inner.tb-notification-widget-inner tb-notification-widget-overlay .tb-widget-buttons.tb-btn-style-rounded tb-notification-button__text {\\n width: 100px;\\n line-height: 30px; } }\\n\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./src/widget/components/tb-notification-button/styles.scss\n// module id = 167\n// module chunks = 0","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 53.5 53.5\\\" enable-background=\\\"new 0 0 53.5 53.5\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#4F749D\\\" d=\\\"M53.4,26.7c0,14.8-12,26.7-26.7,26.7C12,53.4,0,41.5,0,26.7C0,12,12,0,26.7,0C41.5,0,53.4,12,53.4,26.7 L53.4,26.7z M53.4,26.7\\\"></path><path fill-rule=\\\"evenodd\\\" clip-rule=\\\"evenodd\\\" fill=\\\"#FFFFFF\\\" d=\\\"M25.2,37.5h2.1c0,0,0.6-0.1,1-0.4c0.3-0.3,0.3-0.9,0.3-0.9 s0-2.8,1.3-3.2c1.3-0.4,2.9,2.7,4.7,3.9c1.3,0.9,2.3,0.7,2.3,0.7l4.7-0.1c0,0,2.5-0.2,1.3-2.1c-0.1-0.2-0.7-1.4-3.5-4 c-2.9-2.7-2.5-2.3,1-7c2.2-2.9,3-4.6,2.7-5.4c-0.3-0.7-1.8-0.5-1.8-0.5l-5.3,0c0,0-0.4-0.1-0.7,0.1c-0.3,0.2-0.5,0.6-0.5,0.6 s-0.8,2.2-1.9,4.1c-2.3,4-3.3,4.2-3.7,4c-0.9-0.6-0.7-2.3-0.7-3.6c0-3.9,0.6-5.5-1.1-5.9c-0.6-0.1-1-0.2-2.5-0.2 c-1.9,0-3.5,0-4.4,0.4c-0.6,0.3-1.1,0.9-0.8,1c0.3,0,1.1,0.2,1.6,0.8c0.5,0.7,0.5,2.4,0.5,2.4s0.3,4.6-0.7,5.1 c-0.7,0.4-1.7-0.4-3.8-4c-1.1-1.9-1.9-3.9-1.9-3.9S15.3,19,15,18.8c-0.3-0.2-0.8-0.3-0.8-0.3l-5,0c0,0-0.8,0-1,0.3 c-0.2,0.3,0,0.9,0,0.9s3.9,9.2,8.4,13.8C20.6,37.8,25.2,37.5,25.2,37.5L25.2,37.5z M25.2,37.5\\\"></path></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_vk_circle.svg\n// module id = 168\n// module chunks = 0","import Button from './index.js';\r\nimport icon from '../../icons/icon_tg.svg';\r\nimport iconCircle from '../../icons/icon_tg_circle.svg';\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nclass TelegramButton extends Button {\r\n render() {\r\n super.render();\r\n\r\n const link = this.element.querySelector('a');\r\n link.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n }\r\n\r\n get template() {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a target=\"_blank\" href=\"https://telegram.me/${this.config.id}?start=${this.deepLink}\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('telegram')}</tb-notification-button__text>\r\n </a>\r\n <p class=\"tb-notification-button__tip\">\r\n ${this.text('telegram_tip')}\r\n </p>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a target=\"_blank\" href=\"https://telegram.me/${this.config.id}?start=${this.deepLink}\">\r\n <tb-notification-button__icon>${ (this.config.markUp.style === 'rounded' ? icon : iconCircle) }</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('telegram')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <a target=\"_blank\" href=\"https://telegram.me/${this.config.id}?start=${this.deepLink}\">\r\n <tb-notification-button__text>${this.text('sign-telegram')}</tb-notification-button__text>\r\n </a>\r\n </div>\r\n `;\r\n }\r\n }\r\n};\r\n\r\nmodule.exports = TelegramButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/telegram.js","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M39.4,13.8L9.5,25.5c-1,0.4-0.9,1.8,0.1,2.1l7.6,2.2l2.8,9 c0.3,0.9,1.5,1.2,2.2,0.5l3.9-4l7.7,5.7c0.9,0.7,2.3,0.2,2.5-1l5.1-24.4C41.7,14.4,40.5,13.4,39.4,13.8 M35.6,19.2L21.7,31.5 c-0.1,0.1-0.2,0.3-0.2,0.5L21,36.7c0,0.2-0.2,0.2-0.3,0l-2.2-7.1c-0.1-0.3,0-0.7,0.3-0.9l16.4-10.2C35.6,18.4,36,18.9,35.6,19.2\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_tg.svg\n// module id = 170\n// module chunks = 0","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#589DD2\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9S0,41.7,0,26.9S12,0,26.9,0 S53.8,12,53.8,26.9\\\"></path></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M39.4,13.8L9.5,25.5c-1,0.4-0.9,1.8,0.1,2.1l7.6,2.2l2.8,9 c0.3,0.9,1.5,1.2,2.2,0.5l3.9-4l7.7,5.7c0.9,0.7,2.3,0.2,2.5-1l5.1-24.4C41.7,14.4,40.5,13.4,39.4,13.8 M35.6,19.2L21.7,31.5 c-0.1,0.1-0.2,0.3-0.2,0.5L21,36.7c0,0.2-0.2,0.2-0.3,0l-2.2-7.1c-0.1-0.3,0-0.7,0.3-0.9l16.4-10.2C35.6,18.4,36,18.9,35.6,19.2\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_tg_circle.svg\n// module id = 171\n// module chunks = 0","import Button from './index.js';\r\nimport icon from '../../icons/icon_facebook.svg';\r\nimport iconCircle from '../../icons/icon_facebook_circle.svg';\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nclass FacebookButton extends Button {\r\n render() {\r\n super.render();\r\n \r\n const link = this.element.querySelector('a');\r\n link.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n }\r\n \r\n get template() {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a target=\"_blank\" href=\"https://m.me/${this.config.id}?ref=${this.deepLink}\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon>\r\n <tb-notification-button__text>${this.text('facebook')}</tb-notification-button__text>\r\n </a>\r\n <p class=\"tb-notification-button__tip\">\r\n ${this.text('facebook_tip')}\r\n </p>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a target=\"_blank\" href=\"https://m.me/${this.config.id}?ref=${this.deepLink}\">\r\n <tb-notification-button__icon>${(this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon>\r\n <tb-notification-button__text>${this.text('facebook')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <a target=\"_blank\" href=\"https://m.me/${this.config.id}?ref=${this.deepLink}\">\r\n <tb-notification-button__text>${this.text('sign-facebook')}</tb-notification-button__text>\r\n </a>\r\n </div>\r\n `;\r\n }\r\n }\r\n};\r\n\r\nmodule.exports = FacebookButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/facebook.js","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.1\\\" enable-background=\\\"new 0 0 54.2 54.1\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#ffffff\\\" d=\\\"M33.6,27.9h-4.8v17.6h-7.3V27.9h-3.5v-6.2h3.5v-4c0-2.9,1.4-7.3,7.3-7.3l5.4,0v6h-3.9 c-0.6,0-1.5,0.3-1.5,1.7v3.6h5.4L33.6,27.9z M33.6,27.9\\\"></path></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_facebook.svg\n// module id = 173\n// module chunks = 0","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.1\\\" enable-background=\\\"new 0 0 54.2 54.1\\\" xml:space=\\\"preserve\\\"><g><path fill=\\\"#405C98\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9C12,53.8,0,41.7,0,26.9C0,12,12,0,26.9,0C41.7,0,53.8,12,53.8,26.9 L53.8,26.9z M53.8,26.9\\\"></path><path fill=\\\"#FFFFFF\\\" d=\\\"M33.6,27.9h-4.8v17.6h-7.3V27.9h-3.5v-6.2h3.5v-4c0-2.9,1.4-7.3,7.3-7.3l5.4,0v6h-3.9 c-0.6,0-1.5,0.3-1.5,1.7v3.6h5.4L33.6,27.9z M33.6,27.9\\\"></path></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_facebook_circle.svg\n// module id = 174\n// module chunks = 0","import Button from './index.js';\r\nimport icon from '../../icons/icon_skype.svg';\r\nimport iconNew from '../../icons/icon_skype_new.svg';\r\nimport iconCircle from '../../icons/icon_skype_circle.svg';\r\n\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nclass SkypeButton extends Button {\r\n render() {\r\n super.render();\r\n \r\n const link = this.element.querySelector('a');\r\n link.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n }\r\n \r\n get template() {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a target=\"_blank\" href=\"https://join.skype.com/bot/${this.config.id}?add\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('skype')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a target=\"_blank\" href=\"https://join.skype.com/bot/${this.config.id}?add\">\r\n <tb-notification-button__icon>${(this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('skype')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${iconNew}</tb-notification-button__icon> \r\n <a target=\"_blank\" href=\"https://join.skype.com/bot/${this.config.id}?add\">\r\n <tb-notification-button__text>${this.text('sign-skype')}</tb-notification-button__text>\r\n </a>\r\n </div>\r\n `;\r\n }\r\n }\r\n};\r\n\r\nmodule.exports = SkypeButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/skype.js","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g></g><g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M53.9,33.8\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#ffffff\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_skype.svg\n// module id = 176\n// module chunks = 0","module.exports = \"<svg xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" version=\\\"1.1\\\" id=\\\"Layer_1\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\" sodipodi:docname=\\\"icon_skype_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3717\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id=\\\"defs3715\\\"></defs><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3713\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"10.745996\\\" inkscape:cx=\\\"24.349007\\\" inkscape:cy=\\\"27.684012\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Layer_1\\\"></sodipodi><g inkscape:groupmode=\\\"layer\\\" id=\\\"layer2\\\" inkscape:label=\\\"S 1\\\" sodipodi:insensitive=\\\"true\\\"><rect style=\\\"fill:#ff0000;fill-opacity:1;stroke:#ffffff;stroke-width:1.03057516;stroke-opacity:1\\\" id=\\\"rect4560\\\" width=\\\"17.774063\\\" height=\\\"20.854279\\\" x=\\\"18.518526\\\" y=\\\"16.799427\\\"></rect></g><g id=\\\"g3688\\\"><g id=\\\"g3686\\\"><defs id=\\\"defs3681\\\"><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\" id=\\\"use3683\\\"></use></clipPath></g></g><g id=\\\"g3710\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><g id=\\\"g3698\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><defs id=\\\"defs3691\\\" style=\\\"fill-opacity:1.0\\\"><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\" style=\\\"fill-opacity:1.0\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\" style=\\\"fill-opacity:1.0\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\" id=\\\"use3693\\\" style=\\\"fill-opacity:1.0\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" d=\\\"M53.9,33.8\\\" id=\\\"path3696\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\" fill=\\\"#ffffff\\\"></path></g><g id=\\\"g3708\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\"><defs id=\\\"defs3701\\\" style=\\\"fill-opacity:1.0\\\"><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\" style=\\\"fill-opacity:1.0\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\" style=\\\"fill-opacity:1.0\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\" id=\\\"use3703\\\" style=\\\"fill-opacity:1.0\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\" id=\\\"path3706\\\" style=\\\"fill:#00aff0;fill-opacity:1\\\" fill=\\\"#ffffff\\\"></path></g></g><path style=\\\"fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.09305792;stroke-opacity:1\\\" d=\\\"m 25.169216,36.539777 c -1.9225,-0.282019 -3.508857,-1.056961 -4.57471,-2.234766 -1.233748,-1.363337 -1.605654,-3.026058 -0.882484,-3.945419 0.419803,-0.533694 1.396912,-0.756727 2.074638,-0.473556 0.369148,0.15424 0.8834,0.820713 1.109808,1.438315 0.216434,0.590396 0.862093,1.477456 1.341578,1.843171 1.127511,0.859982 3.545001,1.012118 5.010702,0.315332 0.913077,-0.43407 1.613276,-1.34575 1.613276,-2.100534 0,-0.420713 -0.220616,-0.926762 -0.568619,-1.304301 -0.582736,-0.632193 -1.430923,-0.964429 -3.693188,-1.446623 -4.501049,-0.959385 -6.577778,-2.378472 -6.902717,-4.716824 -0.342895,-2.467561 1.145311,-4.515056 3.860515,-5.311351 1.149048,-0.336984 1.826723,-0.42083 3.443143,-0.426006 1.741545,-0.0056 2.521637,0.119837 3.681577,0.591878 0.962147,0.391549 1.471469,0.722324 2.144094,1.392465 0.716342,0.713696 1.010195,1.235166 1.080638,1.917689 0.07833,0.758973 -0.02787,1.116994 -0.466911,1.574028 -0.436647,0.454541 -0.921432,0.591506 -1.662696,0.469757 -0.489752,-0.08044 -1.081797,-0.644164 -1.552539,-1.478273 -0.363281,-0.643698 -1.089576,-1.370887 -1.630963,-1.632967 -0.917947,-0.444371 -2.781777,-0.453289 -3.796873,-0.01817 -0.59293,0.254159 -1.151473,0.781982 -1.334423,1.261029 -0.304069,0.796193 0.20919,1.670076 1.257094,2.140347 0.307703,0.138089 1.616824,0.51734 2.909157,0.84278 3.218208,0.810419 4.740091,1.378012 5.678538,2.117834 0.44227,0.348662 1.139438,1.318802 1.330832,1.85191 0.225133,0.627091 0.271123,1.955686 0.09622,2.779673 -0.413564,1.948325 -1.867884,3.453488 -4.041579,4.182869 -1.24244,0.4169 -3.961771,0.598896 -5.524107,0.369711 z\\\" id=\\\"path4562\\\" inkscape:connector-curvature=\\\"0\\\"></path></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_skype_new.svg\n// module id = 177\n// module chunks = 0","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 55.3 55.8\\\" enable-background=\\\"new 0 0 55.3 55.8\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0.6\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#2A8AC3\\\" d=\\\"M55.2,27.4c0,15.1-12.2,27.3-27.3,27.3c-15.1,0-27.3-12.2-27.3-27.3 c0-15.1,12.2-27.3,27.3-27.3C43,0.1,55.2,12.3,55.2,27.4\\\"></path></g></g><g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#2D84A6\\\" d=\\\"M53.9,33.8\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"54.7\\\" height=\\\"54.9\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M41.4,29.6c0.1-0.7,0.2-1.5,0.2-2.2c0-8-6.5-14.4-14.4-14.4 c-0.8,0-1.5,0.1-2.2,0.2c-1.3-0.8-2.9-1.3-4.6-1.3c-4.8,0-8.7,3.9-8.7,8.7c0,1.7,0.5,3.2,1.3,4.6c-0.1,0.7-0.2,1.5-0.2,2.2 c0,8,6.5,14.4,14.4,14.4c0.8,0,1.5-0.1,2.3-0.2c1.3,0.8,2.9,1.3,4.6,1.3c4.8,0,8.7-3.9,8.7-8.7C42.7,32.5,42.2,30.9,41.4,29.6 M34,33.9c-0.6,0.9-1.5,1.6-2.7,2.1c-1.2,0.5-2.6,0.7-4.2,0.7c-1.9,0-3.5-0.3-4.8-1c-0.9-0.5-1.6-1.1-2.2-1.9 c-0.6-0.8-0.8-1.6-0.8-2.4c0-0.5,0.2-0.9,0.5-1.2c0.3-0.3,0.8-0.5,1.3-0.5c0.4,0,0.8,0.1,1.1,0.4c0.3,0.3,0.5,0.6,0.7,1.1 c0.2,0.6,0.5,1,0.8,1.4c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.2,1.2,0.4,2,0.4c1.2,0,2.1-0.2,2.8-0.7c0.7-0.5,1.1-1.1,1.1-1.8 c0-0.6-0.2-1-0.6-1.4c-0.4-0.4-0.9-0.6-1.5-0.8c-0.6-0.2-1.4-0.4-2.5-0.6c-1.4-0.3-2.6-0.7-3.5-1.1c-0.9-0.4-1.7-1-2.3-1.7 c-0.6-0.7-0.8-1.6-0.8-2.6c0-1,0.3-1.9,0.9-2.7c0.6-0.8,1.4-1.4,2.6-1.8c1.1-0.4,2.4-0.6,3.9-0.6c1.2,0,2.2,0.1,3.1,0.4 c0.9,0.3,1.6,0.6,2.2,1.1c0.6,0.5,1,0.9,1.3,1.4c0.3,0.5,0.4,1,0.4,1.5c0,0.5-0.2,0.9-0.5,1.2c-0.3,0.4-0.8,0.5-1.3,0.5 c-0.5,0-0.8-0.1-1.1-0.3c-0.2-0.2-0.5-0.6-0.8-1c-0.3-0.7-0.8-1.2-1.3-1.6c-0.5-0.4-1.3-0.6-2.3-0.6c-1,0-1.8,0.2-2.4,0.6 c-0.6,0.4-0.9,0.9-0.9,1.4c0,0.3,0.1,0.6,0.3,0.9c0.2,0.3,0.5,0.5,0.9,0.7c0.4,0.2,0.7,0.3,1.1,0.4c0.4,0.1,1,0.3,1.9,0.5 c1.1,0.2,2.1,0.5,3,0.8c0.9,0.3,1.6,0.6,2.3,1c0.6,0.4,1.1,0.9,1.5,1.6c0.4,0.6,0.5,1.4,0.5,2.3C34.9,32,34.6,33,34,33.9\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_skype_circle.svg\n// module id = 178\n// module chunks = 0","import Button from './index.js';\r\nimport icon from '../../icons/icon_viber.svg';\r\nimport iconNew from '../../icons/icon_viber_new.svg';\r\nimport iconCircle from '../../icons/icon_viber_circle.svg';\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nclass ViberButton extends Button {\r\n render() {\r\n super.render();\r\n \r\n const link = this.element.querySelector('a');\r\n link.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n }\r\n \r\n get template() {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a target=\"_blank\" href=\"viber://pa?chatURI=${this.config.id}&context=${this.deepLink}\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('viber')}</tb-notification-button__text>\r\n </a>\r\n <p class=\"tb-notification-button__tip\">\r\n ${this.text('viber_tip')}\r\n </p>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a target=\"_blank\" href=\"viber://pa?chatURI=${this.config.id}&context=${this.deepLink}\">\r\n <tb-notification-button__icon>${( this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('viber')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${iconNew}</tb-notification-button__icon> \r\n <a target=\"_blank\" href=\"viber://pa?chatURI=${this.config.id}&context=${this.deepLink}\">\r\n <tb-notification-button__text>${this.text('sign-viber')}</tb-notification-button__text>\r\n </a>\r\n </div>\r\n `;\r\n }\r\n \r\n }\r\n};\r\n\r\nmodule.exports = ViberButton;\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/viber.js","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#ffffff\\\" d=\\\"M41.8,20L41.8,20c-0.7-3-4.1-6.2-7.1-6.9l0,0c-4.9-0.9-9.9-0.9-14.9,0l0,0 c-3,0.7-6.4,3.9-7.1,6.8l0,0c-0.9,4.2-0.9,8.4,0,12.5l0,0c0.7,2.8,3.8,5.9,6.7,6.7v3.3c0,1.2,1.5,1.8,2.3,0.9L25,40 c0.7,0,1.5,0.1,2.2,0.1c2.5,0,5-0.2,7.4-0.7l0,0c3-0.7,6.4-3.9,7.1-6.8l0,0C42.7,28.3,42.7,24.1,41.8,20 M39.2,31.9 c-0.5,1.9-3,4.4-5,4.8c-2.6,0.5-5.3,0.7-7.9,0.6c-0.1,0-0.1,0-0.1,0.1c-0.4,0.4-2.5,2.5-2.5,2.5L21,42.6c-0.2,0.2-0.5,0.1-0.5-0.2 v-5.5c0-0.1-0.1-0.2-0.2-0.2h0c-2-0.4-4.5-2.9-5-4.8c-0.8-3.8-0.8-7.6,0-11.3c0.5-1.9,3-4.4,5-4.8c4.6-0.9,9.2-0.9,13.8,0 c2,0.4,4.5,2.9,5,4.8C40,24.3,40,28.1,39.2,31.9\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#ffffff\\\" d=\\\"M31.6,34.4c-0.3-0.1-0.6-0.2-0.9-0.3c-2.8-1.2-5.4-2.7-7.5-5 c-1.2-1.3-2.1-2.8-2.9-4.4c-0.4-0.7-0.7-1.5-1-2.3c-0.3-0.7,0.1-1.4,0.6-2c0.4-0.5,1-0.9,1.5-1.2c0.5-0.2,0.9-0.1,1.2,0.3 c0.7,0.8,1.4,1.7,1.9,2.7c0.3,0.6,0.2,1.3-0.4,1.7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.2-0.2,0.5-0.1,0.8 c0.7,2,2,3.6,4,4.4c0.3,0.1,0.7,0.3,1,0.2c0.6-0.1,0.8-0.8,1.3-1.1c0.4-0.4,1-0.4,1.4-0.1c0.5,0.3,0.9,0.6,1.4,0.9 c0.4,0.3,0.9,0.6,1.3,1c0.4,0.3,0.5,0.8,0.3,1.3c-0.4,0.9-1,1.6-1.8,2C32.1,34.3,31.9,34.4,31.6,34.4 C31.3,34.3,31.9,34.4,31.6,34.4\\\"></path></g><g><defs><rect id=\\\"SVGID_7_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_8_)\\\" fill=\\\"#ffffff\\\" d=\\\"M27.2,18.4c3.7,0.1,6.7,2.6,7.4,6.2c0.1,0.6,0.2,1.3,0.2,1.9 c0,0.3-0.1,0.5-0.4,0.5c-0.3,0-0.4-0.2-0.4-0.5c0-0.5-0.1-1.1-0.1-1.6c-0.4-2.8-2.6-5-5.3-5.5c-0.4-0.1-0.8-0.1-1.3-0.1 c-0.3,0-0.6,0-0.7-0.4c0-0.3,0.2-0.5,0.4-0.5C27.1,18.4,27.2,18.4,27.2,18.4C30.9,18.5,27.2,18.4,27.2,18.4\\\"></path></g><g><defs><rect id=\\\"SVGID_9_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_10_\\\"><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_10_)\\\" fill=\\\"#ffffff\\\" d=\\\"M32.9,25.7c0,0,0,0.2,0,0.3c-0.1,0.4-0.7,0.4-0.8,0c0-0.1,0-0.2,0-0.4 c0-0.8-0.2-1.6-0.6-2.2c-0.4-0.7-1-1.3-1.8-1.6c-0.4-0.2-0.9-0.3-1.4-0.4c-0.2,0-0.4-0.1-0.6-0.1c-0.3,0-0.4-0.2-0.4-0.5 c0-0.2,0.2-0.4,0.4-0.4c0.8,0,1.7,0.2,2.4,0.6c1.5,0.8,2.4,2.1,2.7,3.8c0,0.1,0,0.2,0,0.2C32.8,25.2,32.8,25.4,32.9,25.7 C32.9,25.7,32.8,25.4,32.9,25.7\\\"></path></g><g><defs><rect id=\\\"SVGID_11_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_12_\\\"><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_12_)\\\" fill=\\\"#ffffff\\\" d=\\\"M30.6,25.6c-0.3,0-0.5-0.2-0.5-0.4c0-0.2,0-0.4-0.1-0.6 c-0.1-0.4-0.3-0.7-0.6-1c-0.1-0.1-0.3-0.2-0.5-0.2c-0.2-0.1-0.5,0-0.7-0.1c-0.2-0.1-0.4-0.3-0.3-0.5c0-0.2,0.2-0.4,0.5-0.4 c1.4,0.1,2.5,0.8,2.6,2.5c0,0.1,0,0.2,0,0.4C30.8,25.5,30.7,25.6,30.6,25.6C30.3,25.6,30.7,25.6,30.6,25.6\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_viber.svg\n// module id = 180\n// module chunks = 0","module.exports = \"<svg xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52.5 51.5\\\" enable-background=\\\"new 0 0 52.5 51.5\\\" version=\\\"1.1\\\" id=\\\"svg4500\\\" sodipodi:docname=\\\"icon_viber_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata4506\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc:type></cc:Work></rdf:RDF></metadata><defs id=\\\"defs4504\\\"></defs><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview4502\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"11.643234\\\" inkscape:cx=\\\"12.523617\\\" inkscape:cy=\\\"24.462125\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"svg4500\\\"></sodipodi:namedview><g id=\\\"g4488\\\" transform=\\\"matrix(0.89735236,0,0,0.89735236,2.6945005,3.2433535)\\\"><title id=\\\"title4485\\\">background</title><rect id=\\\"canvas_background\\\" height=\\\"51.5\\\" width=\\\"52.5\\\" y=\\\"0\\\" x=\\\"0\\\" style=\\\"fill:none\\\"></rect></g><g id=\\\"g4498\\\" transform=\\\"matrix(0.89735236,0,0,0.89735236,2.6945008,3.5746654)\\\"><g stroke=\\\"null\\\" id=\\\"svg_1\\\"><path stroke=\\\"null\\\" id=\\\"svg_2\\\" d=\\\"m 36.974497,37.974109 c 3.120405,-0.696789 7.028484,-4.453393 7.785864,-7.452617 1.272398,-5.846972 1.272398,-11.784829 0,-17.631801 -0.75738,-3.029519 -4.665459,-6.755828 -7.785864,-7.452617 -7.11937,-1.363284 -14.359921,-1.363284 -21.448995,0 -3.120405,0.696789 -7.028484,4.453393 -7.785864,7.452617 -1.272398,5.846972 -1.272398,11.754534 0,17.601506 0.787675,3.029519 4.665459,6.755828 7.785864,7.452617 0.121181,0.03029 0.242362,0.151476 0.242362,0.302952 v 8.543244 c 0,0.424133 0.515018,0.636199 0.81797,0.333247 l 4.059556,-4.150441 c 0,0 3.241585,-3.332471 3.817194,-3.90808 0.06059,-0.06059 0.121181,-0.09089 0.212066,-0.09089 4.120146,0.121181 8.209997,-0.212066 12.299847,-0.999741 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#59267c\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_3\\\" d=\\\"M 33.036122,34.459866 C 32.551399,34.30839 32.096971,34.217504 31.672838,34.035733 27.280035,32.218022 23.250775,29.854997 20.039485,26.280164 18.221774,24.220091 16.767604,21.917656 15.586092,19.463746 15.010483,18.312529 14.52576,17.100721 14.041037,15.888913 c -0.454428,-1.090627 0.212066,-2.211549 0.908856,-3.059814 0.666494,-0.787675 1.484464,-1.363284 2.39332,-1.817711 0.727085,-0.333247 1.393579,-0.151476 1.938892,0.454428 1.090627,1.332988 2.120663,2.696272 2.938634,4.211032 0.515018,0.908856 0.393837,2.060073 -0.545313,2.696272 -0.212066,0.121181 -0.424133,0.302952 -0.636199,0.484723 -0.181771,0.151476 -0.363542,0.302952 -0.484723,0.515018 -0.242362,0.393837 -0.242362,0.81797 -0.09089,1.211808 1.151217,3.120405 3.09011,5.574315 6.210514,6.907304 0.515018,0.212066 1.030037,0.454428 1.605645,0.393837 0.969446,-0.121181 1.302693,-1.181512 1.969187,-1.757121 0.666494,-0.545313 1.51476,-0.545313 2.241844,-0.09089 0.727085,0.454428 1.423874,0.939151 2.120663,1.454169 0.696789,0.484723 1.363284,0.969446 1.969187,1.51476 0.605904,0.545313 0.81797,1.211808 0.454428,1.938892 -0.636199,1.332988 -1.545055,2.423615 -2.847748,3.120405 -0.302952,0.212066 -0.75738,0.272657 -1.151217,0.393837 -0.484723,-0.121181 0.393837,-0.121181 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_4\\\" d=\\\"m 27.007379,9.587514 c 0.272657,0.030295 0.515018,0.06059 0.787675,0.090886 5.029002,0.727085 8.997672,4.362508 9.936823,9.51269 0.181771,0.969446 0.242362,1.938892 0.302952,2.938634 0.03029,0.393837 -0.212066,0.787675 -0.636199,0.81797 -0.454428,0 -0.666494,-0.393837 -0.696789,-0.787675 -0.06059,-0.81797 -0.09089,-1.63594 -0.212066,-2.45391 -0.636199,-4.271622 -4.02926,-7.816159 -8.300882,-8.573539 -0.636199,-0.121181 -1.302693,-0.151476 -1.938892,-0.212066 -0.393837,-0.03029 -0.939151,-0.06059 -1.030037,-0.575609 -0.06059,-0.424133 0.272657,-0.787675 0.696789,-0.787675 0.121181,0 0.212066,0 0.333247,0 0,-0.030295 0.515018,0 0.75738,0.030295 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_5\\\" d=\\\"m 34.975014,20.857326 c 0,0.06059 0,0.242362 -0.06059,0.393837 -0.151476,0.575609 -1.030037,0.636199 -1.211808,0.06059 -0.06059,-0.181771 -0.06059,-0.363542 -0.06059,-0.545313 0,-1.211808 -0.272657,-2.423615 -0.878561,-3.483947 -0.636199,-1.090627 -1.57535,-1.999483 -2.726567,-2.544796 -0.696789,-0.333247 -1.423874,-0.545313 -2.181254,-0.666494 -0.333247,-0.06059 -0.666494,-0.09089 -0.999741,-0.121181 -0.393837,-0.06059 -0.605904,-0.302952 -0.605904,-0.696789 0,-0.363542 0.302952,-0.636199 0.696789,-0.605904 1.302693,0.06059 2.605386,0.363542 3.756604,0.969446 2.39332,1.242103 3.756604,3.241585 4.150441,5.907562 0,0.121181 0.03029,0.242362 0.06059,0.363542 0.0303,0.272657 0.06059,0.575609 0.06059,0.969446 0,0.06059 0,-0.393837 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path><path stroke=\\\"null\\\" id=\\\"svg_6\\\" d=\\\"m 31.400182,20.70585 c -0.484723,0 -0.75738,-0.272657 -0.787675,-0.696789 -0.0303,-0.302952 -0.06059,-0.605904 -0.121181,-0.908856 -0.151476,-0.575609 -0.454428,-1.151217 -0.939151,-1.51476 -0.242362,-0.181771 -0.484723,-0.302952 -0.787675,-0.393837 -0.333247,-0.09089 -0.727085,-0.06059 -1.060332,-0.151476 -0.393837,-0.09089 -0.605904,-0.393837 -0.545313,-0.75738 0.06059,-0.333247 0.393837,-0.575609 0.727085,-0.545313 2.241844,0.151476 3.817194,1.302693 4.059556,3.938375 0,0.181771 0.0303,0.393837 0,0.545313 -0.09089,0.333247 -0.333247,0.484723 -0.545313,0.484723 -0.484723,0.03029 0.212066,0 0,0 v 0 z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill:#ffffff\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_viber_new.svg\n// module id = 181\n// module chunks = 0","module.exports = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 54.2 54.3\\\" enable-background=\\\"new 0 0 54.2 54.3\\\" xml:space=\\\"preserve\\\"><g><g><defs><rect id=\\\"SVGID_1_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_2_\\\"><use xlink:href=\\\"#SVGID_1_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_2_)\\\" fill=\\\"#70499D\\\" d=\\\"M53.8,26.9c0,14.8-12,26.9-26.9,26.9S0,41.7,0,26.9S12,0,26.9,0 S53.8,12,53.8,26.9\\\"></path></g><g><defs><rect id=\\\"SVGID_3_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_4_\\\"><use xlink:href=\\\"#SVGID_3_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_4_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M41.8,20L41.8,20c-0.7-3-4.1-6.2-7.1-6.9l0,0c-4.9-0.9-9.9-0.9-14.9,0l0,0 c-3,0.7-6.4,3.9-7.1,6.8l0,0c-0.9,4.2-0.9,8.4,0,12.5l0,0c0.7,2.8,3.8,5.9,6.7,6.7v3.3c0,1.2,1.5,1.8,2.3,0.9L25,40 c0.7,0,1.5,0.1,2.2,0.1c2.5,0,5-0.2,7.4-0.7l0,0c3-0.7,6.4-3.9,7.1-6.8l0,0C42.7,28.3,42.7,24.1,41.8,20 M39.2,31.9 c-0.5,1.9-3,4.4-5,4.8c-2.6,0.5-5.3,0.7-7.9,0.6c-0.1,0-0.1,0-0.1,0.1c-0.4,0.4-2.5,2.5-2.5,2.5L21,42.6c-0.2,0.2-0.5,0.1-0.5-0.2 v-5.5c0-0.1-0.1-0.2-0.2-0.2h0c-2-0.4-4.5-2.9-5-4.8c-0.8-3.8-0.8-7.6,0-11.3c0.5-1.9,3-4.4,5-4.8c4.6-0.9,9.2-0.9,13.8,0 c2,0.4,4.5,2.9,5,4.8C40,24.3,40,28.1,39.2,31.9\\\"></path></g><g><defs><rect id=\\\"SVGID_5_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_6_\\\"><use xlink:href=\\\"#SVGID_5_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_6_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M31.6,34.4c-0.3-0.1-0.6-0.2-0.9-0.3c-2.8-1.2-5.4-2.7-7.5-5 c-1.2-1.3-2.1-2.8-2.9-4.4c-0.4-0.7-0.7-1.5-1-2.3c-0.3-0.7,0.1-1.4,0.6-2c0.4-0.5,1-0.9,1.5-1.2c0.5-0.2,0.9-0.1,1.2,0.3 c0.7,0.8,1.4,1.7,1.9,2.7c0.3,0.6,0.2,1.3-0.4,1.7c-0.1,0.1-0.3,0.2-0.4,0.3c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.2-0.2,0.5-0.1,0.8 c0.7,2,2,3.6,4,4.4c0.3,0.1,0.7,0.3,1,0.2c0.6-0.1,0.8-0.8,1.3-1.1c0.4-0.4,1-0.4,1.4-0.1c0.5,0.3,0.9,0.6,1.4,0.9 c0.4,0.3,0.9,0.6,1.3,1c0.4,0.3,0.5,0.8,0.3,1.3c-0.4,0.9-1,1.6-1.8,2C32.1,34.3,31.9,34.4,31.6,34.4 C31.3,34.3,31.9,34.4,31.6,34.4\\\"></path></g><g><defs><rect id=\\\"SVGID_7_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_8_\\\"><use xlink:href=\\\"#SVGID_7_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_8_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M27.2,18.4c3.7,0.1,6.7,2.6,7.4,6.2c0.1,0.6,0.2,1.3,0.2,1.9 c0,0.3-0.1,0.5-0.4,0.5c-0.3,0-0.4-0.2-0.4-0.5c0-0.5-0.1-1.1-0.1-1.6c-0.4-2.8-2.6-5-5.3-5.5c-0.4-0.1-0.8-0.1-1.3-0.1 c-0.3,0-0.6,0-0.7-0.4c0-0.3,0.2-0.5,0.4-0.5C27.1,18.4,27.2,18.4,27.2,18.4C30.9,18.5,27.2,18.4,27.2,18.4\\\"></path></g><g><defs><rect id=\\\"SVGID_9_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_10_\\\"><use xlink:href=\\\"#SVGID_9_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_10_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M32.9,25.7c0,0,0,0.2,0,0.3c-0.1,0.4-0.7,0.4-0.8,0c0-0.1,0-0.2,0-0.4 c0-0.8-0.2-1.6-0.6-2.2c-0.4-0.7-1-1.3-1.8-1.6c-0.4-0.2-0.9-0.3-1.4-0.4c-0.2,0-0.4-0.1-0.6-0.1c-0.3,0-0.4-0.2-0.4-0.5 c0-0.2,0.2-0.4,0.4-0.4c0.8,0,1.7,0.2,2.4,0.6c1.5,0.8,2.4,2.1,2.7,3.8c0,0.1,0,0.2,0,0.2C32.8,25.2,32.8,25.4,32.9,25.7 C32.9,25.7,32.8,25.4,32.9,25.7\\\"></path></g><g><defs><rect id=\\\"SVGID_11_\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"53.8\\\" height=\\\"53.8\\\"></rect></defs><clipPath id=\\\"SVGID_12_\\\"><use xlink:href=\\\"#SVGID_11_\\\" overflow=\\\"visible\\\"></use></clipPath><path clip-path=\\\"url(#SVGID_12_)\\\" fill=\\\"#FFFFFF\\\" d=\\\"M30.6,25.6c-0.3,0-0.5-0.2-0.5-0.4c0-0.2,0-0.4-0.1-0.6 c-0.1-0.4-0.3-0.7-0.6-1c-0.1-0.1-0.3-0.2-0.5-0.2c-0.2-0.1-0.5,0-0.7-0.1c-0.2-0.1-0.4-0.3-0.3-0.5c0-0.2,0.2-0.4,0.5-0.4 c1.4,0.1,2.5,0.8,2.6,2.5c0,0.1,0,0.2,0,0.4C30.8,25.5,30.7,25.6,30.6,25.6C30.3,25.6,30.7,25.6,30.6,25.6\\\"></path></g></g></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_viber_circle.svg\n// module id = 182\n// module chunks = 0","import Button from './index.js';\r\nimport icon from '../../icons/icon_whatsapp.svg';\r\nimport iconNew from '../../icons/icon_whatsapp_new.svg';\r\nimport iconCircle from '../../icons/icon_whatsapp_circle.svg';\r\nimport constants from '../../../sdk/utils/constants.js';\r\n\r\nconst prefixText = encodeURIComponent('Отправьте не изменяя это сообщение ');\r\n\r\nclass WhatsappButton extends Button {\r\n render() {\r\n super.render();\r\n \r\n const link = this.element.querySelector('a');\r\n link.addEventListener('click', (event) => {\r\n event.preventDefault();\r\n this.channelAPI.subscribe();\r\n });\r\n }\r\n \r\n get template() {\r\n if (this.config.type === constants.WIDGET_TYPE_API_CALL) {\r\n return `\r\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=${this.config.id}&text=${prefixText + this.deepLink}\">\r\n <tb-notification-button__icon>${icon}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('whatsapp')}</tb-notification-button__text>\r\n </a>\r\n <p class=\"tb-notification-button__tip\">\r\n ${this.text('whatsapp_tip')}\r\n </p>\r\n `;\r\n } else if (this.config.markUp.style !== 'square') {\r\n return `\r\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=${this.config.id}&text=${prefixText + this.deepLink}\">\r\n <tb-notification-button__icon>${( this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon> \r\n <tb-notification-button__text>${this.text('whatsapp')}</tb-notification-button__text>\r\n </a>\r\n `;\r\n } else {\r\n return `\r\n <div class=\"tb-notification-button__inner\">\r\n <tb-notification-button__icon>${iconNew}</tb-notification-button__icon> \r\n <a target=\"_blank\" href=\"https://api.whatsapp.com/send?phone=${this.config.id}&text=${prefixText + this.deepLink}\">\r\n <tb-notification-button__text>${this.text('sign-whatsapp')}</tb-notification-button__text>\r\n </a>\r\n </div>\r\n `;\r\n }\r\n }\r\n};\r\n\r\nmodule.exports = WhatsappButton;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/components/tb-notification-button/whatsapp.js","module.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52 52\\\" version=\\\"2.0\\\" id=\\\"svg3780\\\" sodipodi:docname=\\\"icon_whatsapp_my_fill_empty.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3784\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>Group.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3782\\\" showgrid=\\\"true\\\" showguides=\\\"false\\\" inkscape:zoom=\\\"11.313709\\\" inkscape:cx=\\\"5.5565263\\\" inkscape:cy=\\\"32.501721\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"g59\\\"><inkscape:grid type=\\\"xygrid\\\" id=\\\"grid3786\\\"></inkscape></sodipodi:namedview><title id=\\\"title3755\\\">Group.svg</title><desc id=\\\"desc3757\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.590909,0,0,1.590909,151.68181,-4.2272709)\\\" figma:type=\\\"canvas\\\"><g id=\\\"Group\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"frame\\\" transform=\\\"translate(29.734454,-2.8865086)\\\"><g id=\\\"g59\\\"><g id=\\\"g4565\\\"><g id=\\\"Vector\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" figma:type=\\\"vector\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path1_fill\\\" transform=\\\"translate(-90,8)\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" id=\\\"use3762\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"Ellipse 2\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff;fill-opacity:1\\\" figma:type=\\\"ellipse\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path2_fill\\\" transform=\\\"translate(-89,9)\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff;fill-opacity:1\\\" id=\\\"use3765\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"g3770\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" figma:type=\\\"vector\\\" transform=\\\"translate(-30.034444,1.6579773)\\\"><use xlink:href=\\\"#path3_fill\\\" transform=\\\"translate(-84.534,13.8663)\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e;fill-opacity:1\\\" id=\\\"use3768\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><path inkscape:connector-curvature=\\\"0\\\" id=\\\"path80\\\" d=\\\"m -117.13953,25.377785 -1.18064,4.638689 4.37316,-1.365142 z\\\" style=\\\"fill:#ffffff;stroke:#ffffff;stroke-width:0.62857145px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\\\"></path></g></g></g></g><defs id=\\\"defs3778\\\"><path id=\\\"path0_fill\\\" d=\\\"m 20.2189,10.0642 c 0,5.5583 -4.5261,10.0642 -10.1094,10.0642 -1.91642,0 -5.23529,-1.4529 -5.23529,-1.4529 L 0.242388,20.1284 1.77789,15.133 C 1.77789,15.133 0,12.1983 0,10.0642 0,4.5059 4.52616,0 10.1095,0 15.6928,0 20.2189,4.5059 20.2189,10.0642 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M -6.06014e-8,22 1.55433,16.3511 C 0.595736,14.6977 0.0917074,12.8222 0.0924295,10.901 0.0945958,4.89013 5.00852,-1.26145e-7 11.0464,-1.26145e-7 13.9767,0.00107818 16.7268,1.13654 18.7949,3.19682 20.863,5.25747 22.0014,7.99673 22,10.9096 21.9975,16.9201 17.0832,21.8109 11.046,21.8109 H 11.0413 C 9.20792,21.8099 7.40699,21.3527 5.8068,20.4839 Z M 5.8068,19.4103 c 1.39728,0.8256 3.60547,1.4136 5.2392,1.4144 5.0179,0 9.952,-4.4736 9.954,-9.9237 C 21.001,8.25482 19.719,5.71235 18,4 16.281,2.28765 13.4734,1.00108 11.0413,1 6.0191,1 1,5.5 1,10.901 0.999639,12.613 1.5887,14.5572 2.5,16 l -1.23032,4.8247 z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path2_fill\\\" d=\\\"M 20,10 C 20,15.5228 15.5228,20 10,20 4.47715,20 0,15.5228 0,10 0,4.47715 4.47715,0 10,0 15.5228,0 20,4.47715 20,10 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path3_fill\\\" d=\\\"M 2.82812,0.477351 C 2.62341,0.0237427 2.40714,0.0143968 2.21253,0.00648926 2.05294,-6.99463e-4 1.87025,2.0221e-5 1.68792,2.0221e-5 1.50559,2.0221e-5 1.2088,0.0679529 0.958232,0.340765 0.70694,0.613217 -2.42406e-7,1.27278 -2.42406e-7,2.61312 -2.42406e-7,3.95382 0.980979,5.24922 1.11782,5.4311 1.25466,5.61297 3.01118,8.4518 5.79308,9.5434 8.10526,10.4513 8.57571,10.2709 9.07758,10.2253 9.57944,10.18 10.6969,9.56641 10.9251,8.92985 11.1529,8.29365 11.1529,7.74838 11.0847,7.63444 11.0161,7.52086 10.8334,7.45257 10.5601,7.31598 10.2864,7.17975 8.94074,6.52091 8.68981,6.42961 8.43888,6.33867 8.25654,6.29374 8.07349,6.56656 7.89152,6.83901 7.36691,7.45257 7.20733,7.63444 7.04774,7.81632 6.88816,7.8386 6.61448,7.70237 6.34044,7.56579 5.45911,7.2786 4.41314,6.35018 3.59969,5.62807 3.05017,4.73595 2.89058,4.46314 2.731,4.19068 2.87362,4.04332 3.01081,3.90745 3.13357,3.78524 3.28449,3.58899 3.42133,3.43012 3.55781,3.27125 3.6033,3.15731 3.69465,2.97543 3.78599,2.79356 3.74014,2.63469 3.6719,2.4981 3.60366,2.36367 3.07183,1.01615 2.82812,0.477351 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_whatsapp.svg\n// module id = 184\n// module chunks = 0","module.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 52 52\\\" version=\\\"2.0\\\" id=\\\"svg3780\\\" sodipodi:docname=\\\"icon_whatsapp_new.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3784\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>Group.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3782\\\" showgrid=\\\"true\\\" showguides=\\\"false\\\" inkscape:zoom=\\\"19.272727\\\" inkscape:cx=\\\"14.060761\\\" inkscape:cy=\\\"25.081119\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Canvas\\\"><inkscape:grid type=\\\"xygrid\\\" id=\\\"grid3786\\\"></inkscape></sodipodi:namedview><title id=\\\"title3755\\\">Group.svg</title><desc id=\\\"desc3757\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.590909,0,0,1.590909,151.68181,-4.2272709)\\\" figma:type=\\\"canvas\\\"><g figma:type=\\\"vector\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"Ellipse\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3759\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e\\\" transform=\\\"translate(-89.2779,8.86696)\\\" xlink:href=\\\"#path0_fill\\\"></use></g><g figma:type=\\\"ellipse\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"Ellipse 2\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3765\\\" style=\\\"mix-blend-mode:normal;fill:#189d0e\\\" transform=\\\"translate(-89,9)\\\" xlink:href=\\\"#path2_fill\\\"></use></g><g figma:type=\\\"vector\\\" style=\\\"mix-blend-mode:normal\\\" id=\\\"g3770\\\"><use height=\\\"100%\\\" width=\\\"100%\\\" y=\\\"0\\\" x=\\\"0\\\" id=\\\"use3768\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff\\\" transform=\\\"translate(-84.534,13.8663)\\\" xlink:href=\\\"#path3_fill\\\"></use></g></g><defs id=\\\"defs3778\\\"><path id=\\\"path0_fill\\\" d=\\\"m 20.2189,10.0642 c 0,5.5583 -4.5261,10.0642 -10.1094,10.0642 -1.91642,0 -5.23529,-1.4529 -5.23529,-1.4529 L 0.242388,20.1284 1.77789,15.133 C 1.77789,15.133 0,12.1983 0,10.0642 0,4.5059 4.52616,0 10.1095,0 15.6928,0 20.2189,4.5059 20.2189,10.0642 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M -6.06014e-8,22 1.55433,16.3511 C 0.595736,14.6977 0.0917074,12.8222 0.0924295,10.901 0.0945958,4.89013 5.00852,-1.26145e-7 11.0464,-1.26145e-7 13.9767,0.00107818 16.7268,1.13654 18.7949,3.19682 20.863,5.25747 22.0014,7.99673 22,10.9096 21.9975,16.9201 17.0832,21.8109 11.046,21.8109 H 11.0413 C 9.20792,21.8099 7.40699,21.3527 5.8068,20.4839 Z M 5.8068,19.4103 c 1.39728,0.8256 3.60547,1.4136 5.2392,1.4144 5.0179,0 9.952,-4.4736 9.954,-9.9237 C 21.001,8.25482 19.719,5.71235 18,4 16.281,2.28765 13.4734,1.00108 11.0413,1 6.0191,1 1,5.5 1,10.901 0.999639,12.613 1.5887,14.5572 2.5,16 l -1.23032,4.8247 z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path2_fill\\\" d=\\\"M 20,10 C 20,15.5228 15.5228,20 10,20 4.47715,20 0,15.5228 0,10 0,4.47715 4.47715,0 10,0 15.5228,0 20,4.47715 20,10 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path3_fill\\\" d=\\\"M 2.82812,0.477351 C 2.62341,0.0237427 2.40714,0.0143968 2.21253,0.00648926 2.05294,-6.99463e-4 1.87025,2.0221e-5 1.68792,2.0221e-5 1.50559,2.0221e-5 1.2088,0.0679529 0.958232,0.340765 0.70694,0.613217 -2.42406e-7,1.27278 -2.42406e-7,2.61312 -2.42406e-7,3.95382 0.980979,5.24922 1.11782,5.4311 1.25466,5.61297 3.01118,8.4518 5.79308,9.5434 8.10526,10.4513 8.57571,10.2709 9.07758,10.2253 9.57944,10.18 10.6969,9.56641 10.9251,8.92985 11.1529,8.29365 11.1529,7.74838 11.0847,7.63444 11.0161,7.52086 10.8334,7.45257 10.5601,7.31598 10.2864,7.17975 8.94074,6.52091 8.68981,6.42961 8.43888,6.33867 8.25654,6.29374 8.07349,6.56656 7.89152,6.83901 7.36691,7.45257 7.20733,7.63444 7.04774,7.81632 6.88816,7.8386 6.61448,7.70237 6.34044,7.56579 5.45911,7.2786 4.41314,6.35018 3.59969,5.62807 3.05017,4.73595 2.89058,4.46314 2.731,4.19068 2.87362,4.04332 3.01081,3.90745 3.13357,3.78524 3.28449,3.58899 3.42133,3.43012 3.55781,3.27125 3.6033,3.15731 3.69465,2.97543 3.78599,2.79356 3.74014,2.63469 3.6719,2.4981 3.60366,2.36367 3.07183,1.01615 2.82812,0.477351 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_whatsapp_new.svg\n// module id = 185\n// module chunks = 0","module.exports = \"<svg xmlns:figma=\\\"http://www.figma.com/figma/ns\\\" xmlns:dc=\\\"http://purl.org/dc/elements/1.1/\\\" xmlns:cc=\\\"http://creativecommons.org/ns#\\\" xmlns:rdf=\\\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\\\" xmlns:svg=\\\"http://www.w3.org/2000/svg\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" xmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\" viewBox=\\\"0 0 55 55\\\" version=\\\"2.0\\\" id=\\\"svg3702\\\" sodipodi:docname=\\\"icon_whatsapp.svg\\\" inkscape:version=\\\"0.92.1 r15371\\\"><metadata id=\\\"metadata3706\\\"><rdf:RDF><cc:Work rdf:about><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\\\"http://purl.org/dc/dcmitype/StillImage\\\"></dc><dc:title>icon_whatsapp.svg</dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview pagecolor=\\\"#ffffff\\\" bordercolor=\\\"#666666\\\" borderopacity=\\\"1\\\" objecttolerance=\\\"10\\\" gridtolerance=\\\"10\\\" guidetolerance=\\\"10\\\" inkscape:pageopacity=\\\"0\\\" inkscape:pageshadow=\\\"2\\\" inkscape:window-width=\\\"1920\\\" inkscape:window-height=\\\"1017\\\" id=\\\"namedview3704\\\" showgrid=\\\"false\\\" inkscape:zoom=\\\"12.114286\\\" inkscape:cx=\\\"12.991352\\\" inkscape:cy=\\\"23.922899\\\" inkscape:window-x=\\\"-8\\\" inkscape:window-y=\\\"-8\\\" inkscape:window-maximized=\\\"1\\\" inkscape:current-layer=\\\"Canvas\\\"></sodipodi:namedview><title id=\\\"title3680\\\">icon_whatsapp.svg</title><desc id=\\\"desc3682\\\">Created using Figma 0.90</desc><g id=\\\"Canvas\\\" transform=\\\"matrix(1.5428571,0,0,1.5428571,-388.4699,38.911052)\\\" figma:type=\\\"canvas\\\"><g id=\\\"icon_whatsapp\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"frame\\\" transform=\\\"translate(0.16050839,0.16050839)\\\"><g id=\\\"Vector\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"vector\\\"><use xlink:href=\\\"#path0_fill\\\" transform=\\\"translate(252,-25)\\\" style=\\\"mix-blend-mode:normal;fill:url(#tb-wa-paint0_linear)\\\" id=\\\"use3684\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g><g id=\\\"g3689\\\" style=\\\"mix-blend-mode:normal\\\" figma:type=\\\"vector\\\"><use xlink:href=\\\"#path1_fill\\\" transform=\\\"translate(260.697,-15.6669)\\\" style=\\\"mix-blend-mode:normal;fill:#ffffff\\\" id=\\\"use3687\\\" x=\\\"0\\\" y=\\\"0\\\" width=\\\"100%\\\" height=\\\"100%\\\"></use></g></g></g><defs id=\\\"defs3700\\\"><linearGradient id=\\\"tb-wa-paint0_linear\\\" x1=\\\"0\\\" y1=\\\"0\\\" x2=\\\"1\\\" y2=\\\"0\\\" gradientUnits=\\\"userSpaceOnUse\\\" gradientTransform=\\\"matrix(0,35,-34.9161,0,34.9161,0)\\\"><stop offset=\\\"0\\\" stop-color=\\\"#61D36C\\\" id=\\\"stop3693\\\"></stop><stop offset=\\\"1\\\" stop-color=\\\"#2AB540\\\" id=\\\"stop3695\\\"></stop></linearGradient><path id=\\\"path0_fill\\\" d=\\\"m 17.5311,0 c 4.6504,0.0020521 9.0151,1.80825 12.2977,5.08624 3.2821,3.27822 5.0889,7.63576 5.0873,12.27016 -0.0041,9.5621 -7.8037,17.3433 -17.385,17.3433 H 17.531 17.5237 C 14.6142,34.6985 11.7553,33.9703 9.21606,32.5884 L 0,35 2.46636,26.013 C 0.945145,23.3829 0.144814,20.3991 0.145944,17.3424 0.149796,7.77984 7.94827,0 17.5311,0 Z\\\" inkscape:connector-curvature=\\\"0\\\"></path><path id=\\\"path1_fill\\\" d=\\\"M 4.48878,0.759171 C 4.16341,0.0372639 3.82084,0.0228124 3.51128,0.0101819 3.25809,-6.56688e-4 2.96823,8.37383e-6 2.67883,8.37383e-6 2.3892,8.37383e-6 1.91856,0.108625 1.52055,0.542399 1.12231,0.976173 4.2426e-8,2.0248 4.2426e-8,4.15751 4.2426e-8,6.29045 1.55675,8.35137 1.77374,8.64083 1.99096,8.92986 4.77887,13.4464 9.19411,15.184 c 3.66949,1.444 4.41619,1.1567 5.21269,1.0845 0.7964,-0.0723 2.5699,-1.0484 2.932,-2.0607 0.362,-1.0121 0.362,-1.8796 0.2534,-2.0609 -0.1086,-0.1807 -0.3982,-0.2891 -0.8327,-0.5058 -0.4344,-0.2168 -2.57,-1.2657 -2.9682,-1.4102 -0.3982,-0.1445 -0.6879,-0.2167 -0.9775,0.2173 -0.2896,0.4335 -1.1216,1.4096 -1.3751,1.6987 -0.2534,0.2897 -0.5068,0.3258 -0.9413,0.109 C 10.063,12.0385 8.66394,11.5812 7.00426,10.1044 5.71292,8.95556 4.84108,7.5366 4.58766,7.10262 4.33423,6.66908 4.56049,6.43425 4.77841,6.21814 4.97344,6.02394 5.21285,5.71211 5.43007,5.45898 5.64683,5.20585 5.71923,5.0252 5.86405,4.73617 6.00886,4.44668 5.93646,4.19358 5.82784,3.97681 5.71923,3.76004 4.87503,1.61631 4.48878,0.759171 Z\\\" inkscape:connector-curvature=\\\"0\\\" style=\\\"fill-rule:evenodd\\\"></path></defs></svg>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/widget/icons/icon_whatsapp_circle.svg\n// module id = 186\n// module chunks = 0"],"sourceRoot":""}
|