File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/modules/im/install/js/im/lib/utils/dist/utils.bundle.js.map
Back
{"version":3,"file":"utils.bundle.js","sources":["../src/utils.js"],"sourcesContent":["/**\n * Bitrix Messenger\n * Utils\n *\n * @package bitrix\n * @subpackage im\n * @copyright 2001-2019 Bitrix\n */\n\nimport {DateFormat} from 'im.const';\nimport 'main.date';\n\nlet Utils =\n{\n\tbrowser:\n\t{\n\t\tisSafari()\n\t\t{\n\t\t\tif (this.isChrome())\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!navigator.userAgent.toLowerCase().includes('safari'))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !this.isSafariBased();\n\t\t},\n\t\tisSafariBased()\n\t\t{\n\t\t\tif (!navigator.userAgent.toLowerCase().includes('applewebkit'))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tnavigator.userAgent.toLowerCase().includes('yabrowser')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('yaapp_ios_browser')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('crios')\n\t\t\t)\n\t\t},\n\t\tisChrome()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('chrome');\n\t\t},\n\t\tisFirefox()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('firefox');\n\t\t},\n\t\tisIe()\n\t\t{\n\t\t\treturn navigator.userAgent.match(/(Trident\\/|MSIE\\/)/) !== null;\n\t\t},\n\n\t\tfindParent(item, findTag)\n\t\t{\n\t\t\tlet isHtmlElement = findTag instanceof HTMLElement;\n\n\t\t\tif (\n\t\t\t\t!findTag\n\t\t\t\t|| typeof findTag !== 'string' && !isHtmlElement\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tfor (; item && item !== document; item = item.parentNode)\n\t\t\t{\n\t\t\t\tif (typeof findTag === 'string')\n\t\t\t\t{\n\t\t\t\t\tif (item.classList.contains(findTag))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (isHtmlElement)\n\t\t\t\t{\n\t\t\t\t\tif (item === findTag)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t},\n\n\tplatform:\n\t{\n\t\tisMac()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('macintosh');\n\t\t},\n\t\tisLinux()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('linux');\n\t\t},\n\t\tisWindows()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('windows') || (!this.isMac() && !this.isLinux());\n\t\t},\n\t\tisBitrixMobile()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('bitrixmobile');\n\t\t},\n\t\tisBitrixDesktop()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('bitrixdesktop');\n\t\t},\n\t\tgetDesktopVersion()\n\t\t{\n\t\t\tif (typeof this.getDesktopVersionStatic !== 'undefined')\n\t\t\t{\n\t\t\t\treturn this.getDesktopVersionStatic;\n\t\t\t}\n\n\t\t\tif (typeof BXDesktopSystem === 'undefined')\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tconst version = BXDesktopSystem.GetProperty('versionParts');\n\t\t\tthis.getDesktopVersionStatic = version[3];\n\n\t\t\treturn this.getDesktopVersionStatic;\n\t\t},\n\t\tisDesktopFeatureEnabled(code)\n\t\t{\n\t\t\tif (typeof BXDesktopSystem === 'undefined')\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (typeof BXDesktopSystem.FeatureEnabled !== 'function')\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn !!BXDesktopSystem.FeatureEnabled(code);\n\t\t},\n\t\tisMobile()\n\t\t{\n\t\t\treturn this.isAndroid() || this.isIos() || this.isBitrixMobile();\n\t\t},\n\t\tisIos(): boolean\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('iphone') || navigator.userAgent.toLowerCase().includes('ipad');\n\t\t},\n\t\tgetIosVersion()\n\t\t{\n\t\t\tif (!this.isIos())\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet matches = navigator.userAgent.toLowerCase().match(/(iphone|ipad)(.+)(OS\\s([0-9]+)([_.]([0-9]+))?)/i);\n\t\t\tif (!matches || !matches[4])\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn parseFloat(matches[4]+'.'+(matches[6]? matches[6]: 0));\n\t\t},\n\t\tisAndroid()\n\t\t{\n\t\t\treturn navigator.userAgent.toLowerCase().includes('android');\n\t\t},\n\t\topenNewPage(url)\n\t\t{\n\t\t\tif (!url)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (this.isBitrixMobile())\n\t\t\t{\n\t\t\t\tif (typeof BX.MobileTools !== 'undefined')\n\t\t\t\t{\n\t\t\t\t\tlet openWidget = BX.MobileTools.resolveOpenFunction(url);\n\t\t\t\t\tif (openWidget)\n\t\t\t\t\t{\n\t\t\t\t\t\topenWidget();\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tapp.openNewPage(url);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\twindow.open(url, '_blank');\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\t},\n\n\tdevice:\n\t{\n\t\tisDesktop()\n\t\t{\n\t\t\treturn !this.isMobile();\n\t\t},\n\n\t\tisMobile()\n\t\t{\n\t\t\tif (typeof this.isMobileStatic !== 'undefined')\n\t\t\t{\n\t\t\t\treturn this.isMobileStatic;\n\t\t\t}\n\n\t\t\tthis.isMobileStatic = (\n\t\t\t\tnavigator.userAgent.toLowerCase().includes('android')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('webos')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('iphone')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('ipad')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('ipod')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('blackberry')\n\t\t\t\t|| navigator.userAgent.toLowerCase().includes('windows phone')\n\t\t\t);\n\n\t\t\treturn this.isMobileStatic;\n\t\t},\n\n\t\torientationHorizontal: 'horizontal',\n\t\torientationPortrait: 'portrait',\n\n\t\tgetOrientation()\n\t\t{\n\t\t\tif (!this.isMobile())\n\t\t\t{\n\t\t\t\treturn this.orientationHorizontal;\n\t\t\t}\n\n\t\t\treturn Math.abs(window.orientation) === 0? this.orientationPortrait: this.orientationHorizontal;\n\t\t},\n\t},\n\n\ttypes:\n\t{\n\t\tisString(item)\n\t\t{\n\t\t\treturn item === '' ? true : (item ? (typeof (item) == \"string\" || item instanceof String) : false);\n\t\t},\n\n\t\tisArray(item)\n\t\t{\n\t\t\treturn item && Object.prototype.toString.call(item) == \"[object Array]\";\n\t\t},\n\n\t\tisFunction(item)\n\t\t{\n\t\t\treturn item === null ? false : (typeof (item) == \"function\" || item instanceof Function);\n\t\t},\n\n\t\tisDomNode(item)\n\t\t{\n\t\t\treturn item && typeof (item) == \"object\" && \"nodeType\" in item;\n\t\t},\n\n\t\tisDate(item)\n\t\t{\n\t\t\treturn item && Object.prototype.toString.call(item) == \"[object Date]\";\n\t\t},\n\n\t\tisPlainObject(item)\n\t\t{\n\t\t\tif (!item || typeof item !== \"object\" || item.nodeType)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst hasProp = Object.prototype.hasOwnProperty;\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\titem.constructor\n\t\t\t\t\t&& !hasProp.call(item, \"constructor\")\n\t\t\t\t\t&& !hasProp.call(item.constructor.prototype, \"isPrototypeOf\")\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key;\n\t\t\tfor (let key in item)\n\t\t\t{\n\t\t\t}\n\n\t\t\treturn typeof(key) === \"undefined\" || hasProp.call(item, key);\n\t\t},\n\n\t\tisUuidV4(uuid)\n\t\t{\n\t\t\tif (!this.isString(uuid))\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst uuidV4pattern = new RegExp(/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i);\n\n\t\t\treturn uuid.search(uuidV4pattern) === 0;\n\t\t},\n\t},\n\n\tdialog:\n\t{\n\t\tgetChatIdByDialogId(dialogId)\n\t\t{\n\t\t\tif (!this.isChatId(dialogId))\n\t\t\t{\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn parseInt(dialogId.toString().substr(4));\n\t\t},\n\n\t\tisChatId(dialogId)\n\t\t{\n\t\t\treturn dialogId.toString().startsWith('chat')\n\t\t},\n\n\t\tisEmptyDialogId(dialogId)\n\t\t{\n\t\t\tif (!dialogId)\n\t\t\t{\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif (typeof dialogId === \"string\")\n\t\t\t{\n\t\t\t\tif (dialogId === 'chat0' || dialogId === \"0\")\n\t\t\t\t{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t},\n\n\ttext:\n\t{\n\t\tquote(text, params, files = {}, localize = null)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text.toString();\n\t\t\t}\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\ttext = text.replace(/\\[USER=([0-9]{1,})](.*?)\\[\\/USER]/ig, (whole, userId, text) => text);\n\t\t\ttext = text.replace(/\\[CHAT=(imol\\|)?([0-9]{1,})](.*?)[\\/CHAT]/ig, (whole, imol, chatId, text) => text);\n\t\t\ttext = text.replace(/\\[CALL(?:=(.+?))?](.+?)?\\[\\/CALL]/ig, (whole, command, text) => text? text: command);\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, (whole, command, text) => command === 10000? '': '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/\\[RATING=([1-5]{1})]/ig, (whole, rating) => '['+localize.IM_F_RATING+'] ');\n\t\t\ttext = text.replace(/ /ig, \" \");\n\n\t\t\ttext = text.replace(/------------------------------------------------------(.*?)------------------------------------------------------/gmis, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"]\");\n\t\t\ttext = text.replace(/^(>>(.*)\\n)/gi, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"]\\n\");\n\n\t\t\tif (params && params.FILE_ID && params.FILE_ID.length > 0)\n\t\t\t{\n\t\t\t\tlet filesText = [];\n\t\t\t\tparams.FILE_ID.forEach(fileId =>\n\t\t\t\t{\n\t\t\t\t\tif (files[fileId].type === 'image')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_IMAGE']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'audio')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_AUDIO']);\n\t\t\t\t\t}\n\t\t\t\t\telse if (files[fileId].type === 'video')\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_VIDEO']);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfilesText.push(files[fileId].name);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (filesText.length <= 0)\n\t\t\t\t{\n\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_FILE']);\n\t\t\t\t}\n\n\t\t\t\ttext = filesText.join('\\n')+text;\n\t\t\t}\n\t\t\telse if (params && params.ATTACH && params.ATTACH.length > 0)\n\t\t\t{\n\t\t\t\ttext = '['+localize['IM_UTILS_TEXT_ATTACH']+']\\n'+text;\n\t\t\t}\n\t\t\tif (text.length <= 0)\n\t\t\t{\n\t\t\t\ttext = localize['IM_UTILS_TEXT_DELETED'];\n\t\t\t}\n\n\t\t\treturn text.trim();\n\t\t},\n\n\t\tpurify(text, params, files = {}, localize = null)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text.toString();\n\t\t\t}\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\ttext = text.trim();\n\n\t\t\tif (text.startsWith('/me'))\n\t\t\t{\n\t\t\t\ttext = text.substr(4);\n\t\t\t}\n\t\t\telse if (text.startsWith('/loud'))\n\t\t\t{\n\t\t\t\ttext = text.substr(6);\n\t\t\t}\n\n\t\t\ttext = text.replace(/<br><br \\/>/ig, '<br />');\n\t\t\ttext = text.replace(/<br \\/><br>/ig, '<br />');\n\n\t\t\tconst codeReplacement = [];\n\t\t\ttext = text.replace(/\\[CODE\\]\\n?([\\0-\\uFFFF]*?)\\[\\/CODE\\]/ig, function(whole,text)\n\t\t\t{\n\t\t\t\tconst id = codeReplacement.length;\n\t\t\t\tcodeReplacement.push(text);\n\t\t\t\treturn '####REPLACEMENT_CODE_'+id+'####';\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[PUT(?:=(?:.+?))?\\](?:.+?)?\\[\\/PUT]/ig, function(match)\n\t\t\t{\n\t\t\t\treturn match.replace(/\\[PUT(?:=(.+))?\\](.+?)?\\[\\/PUT]/ig, function(whole, command, text) {\n\t\t\t\t\treturn text? text: command;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[SEND(?:=(?:.+?))?\\](?:.+?)?\\[\\/SEND]/ig, function(match)\n\t\t\t{\n\t\t\t\treturn match.replace(/\\[SEND(?:=(.+))?\\](.+?)?\\[\\/SEND]/ig, function(whole, command, text) {\n\t\t\t\t\treturn text? text: command;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[[buis]](.*?)\\[\\/[buis]]/ig, '$1');\n\t\t\ttext = text.replace(/\\[url](.*?)\\[\\/url]/ig, '$1');\n\t\t\ttext = text.replace(/\\[RATING=([1-5]{1})]/ig, () => '['+localize['IM_UTILS_TEXT_RATING']+'] ');\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, () => '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/\\[USER=([0-9]{1,})](.*?)\\[\\/USER]/ig, '$2');\n\t\t\ttext = text.replace(/\\[CHAT=([0-9]{1,})](.*?)\\[\\/CHAT]/ig, '$2');\n\t\t\ttext = text.replace(/\\[dialog=(chat\\d+|\\d+)(?: message=(\\d+))?](.*?)\\[\\/dialog]/gi, (whole, dialogId, messageId, message) => message);\n\t\t\ttext = text.replace(/\\[SEND(?:=(?:.+?))?\\](.+?)?\\[\\/SEND]/ig, '$1');\n\t\t\ttext = text.replace(/\\[PUT(?:=(?:.+?))?\\](.+?)?\\[\\/PUT]/ig, '$1');\n\t\t\ttext = text.replace(/\\[CALL=(.*?)](.*?)\\[\\/CALL\\]/ig, '$2');\n\t\t\ttext = text.replace(/\\[PCH=([0-9]{1,})](.*?)\\[\\/PCH]/ig, '$2');\n\t\t\ttext = text.replace(/<img.*?data-code=\"([^\"]*)\".*?>/ig, '$1');\n\t\t\ttext = text.replace(/<span.*?title=\"([^\"]*)\".*?>.*?<\\/span>/ig, '($1)');\n\t\t\ttext = text.replace(/<img.*?title=\"([^\"]*)\".*?>/ig, '($1)');\n\t\t\ttext = text.replace(/\\[ATTACH=([0-9]{1,})]/ig, (whole, command, text) => command === 10000? '': '['+localize['IM_UTILS_TEXT_ATTACH']+'] ');\n\t\t\ttext = text.replace(/<s>([^\"]*)<\\/s>/ig, ' ');\n\t\t\ttext = text.replace(/\\[s]([^\"]*)\\[\\/s]/ig, ' ');\n\t\t\ttext = text.replace(/\\[icon=([^\\]]*)]/ig, (whole) =>\n\t\t\t{\n\t\t\t\tlet title = whole.match(/title=(.*[^\\s\\]])/i);\n\t\t\t\tif (title && title[1])\n\t\t\t\t{\n\t\t\t\t\ttitle = title[1];\n\t\t\t\t\tif (title.indexOf('width=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('width='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('height=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('height='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('size=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('size='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = '('+title.trim()+')';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttitle = '('+localize['IM_UTILS_TEXT_ICON']+')';\n\t\t\t\t}\n\t\t\t\treturn title;\n\t\t\t});\n\n\t\t\tcodeReplacement.forEach((element, index) => {\n\t\t\t\ttext = text.replace('####REPLACEMENT_CODE_'+index+'####', element);\n\t\t\t});\n\n\t\t\ttext = text.replace(/------------------------------------------------------(.*?)------------------------------------------------------/gmis, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"] \");\n\t\t\ttext = text.replace(/^(>>(.*)(\\n)?)/gmi, \"[\"+localize[\"IM_UTILS_TEXT_QUOTE\"]+\"] \");\n\n\t\t\ttext = text.replace(/<\\/?[^>]+>/gi, '');\n\n\t\t\tif (params && params.FILE_ID && params.FILE_ID.length > 0)\n\t\t\t{\n\t\t\t\tlet filesText = [];\n\n\t\t\t\tif (typeof files === 'object')\n\t\t\t\t{\n\t\t\t\t\tparams.FILE_ID.forEach(fileId =>\n\t\t\t\t\t{\n\t\t\t\t\t\tif (typeof files[fileId] === 'undefined')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (files[fileId].type === 'image')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_IMAGE']);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (files[fileId].type === 'audio')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_AUDIO']);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (files[fileId].type === 'video')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_VIDEO']);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfilesText.push(files[fileId].name);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (filesText.length <= 0)\n\t\t\t\t{\n\t\t\t\t\tfilesText.push(localize['IM_UTILS_TEXT_FILE']);\n\t\t\t\t}\n\n\t\t\t\ttext = filesText.join(' ')+text;\n\t\t\t}\n\t\t\telse if (params && (params.WITH_ATTACH || params.ATTACH && params.ATTACH.length > 0))\n\t\t\t{\n\t\t\t\ttext = '['+localize['IM_UTILS_TEXT_ATTACH']+'] '+text;\n\t\t\t}\n\t\t\telse if (params && params.WITH_FILE)\n\t\t\t{\n\t\t\t\ttext = '['+localize['IM_UTILS_TEXT_FILE']+'] '+text;\n\t\t\t}\n\t\t\tif (text.length <= 0)\n\t\t\t{\n\t\t\t\ttext = localize['IM_UTILS_TEXT_DELETED'];\n\t\t\t}\n\n\t\t\treturn text.replace('\\n', ' ').trim();\n\t\t},\n\n\t\tdecode(text = '')\n\t\t{\n\t\t\tif (!text)\n\t\t\t{\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\tconst enableBigSmile = true;\n\n\t\t\ttext = text.toString().trim();\n\t\t\ttext = Utils.text.htmlspecialchars(text);\n\n\t\t\tif (text.startsWith('/me'))\n\t\t\t{\n\t\t\t\ttext = `<i>${text.substr(4)}</i>`;\n\t\t\t}\n\t\t\telse if (text.startsWith('/loud'))\n\t\t\t{\n\t\t\t\ttext = `<b>${text.substr(6)}</b>`;\n\t\t\t}\n\n\t\t\tconst quoteSign = \">>\";\n\t\t\tif (text.indexOf(quoteSign) >= 0)\n\t\t\t{\n\t\t\t\tlet textPrepareFlag = false;\n\t\t\t\tconst textPrepare = text.split(\"\\n\");\n\t\t\t\tfor (let i = 0; i < textPrepare.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif (textPrepare[i].startsWith(quoteSign))\n\t\t\t\t\t{\n\t\t\t\t\t\ttextPrepare[i] = textPrepare[i].replace(quoteSign, '<div class=\"bx-im-message-content-quote\"><div class=\"bx-im-message-content-quote-wrap\">');\n\t\t\t\t\t\twhile (++i < textPrepare.length && textPrepare[i].startsWith(quoteSign))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttextPrepare[i] = textPrepare[i].replace(quoteSign, '');\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttextPrepare[i - 1] += '</div></div><br>';\n\t\t\t\t\t\ttextPrepareFlag = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttext = textPrepare.join(\"<br />\");\n\t\t\t}\n\n\t\t\ttext = text.replace(/\\n/gi, '<br />');\n\n\t\t\ttext = text.replace(/\\t/gi, ' ');\n\n\t\t\ttext = this.decodeBbCode(text, enableBigSmile);\n\n\t\t\ttext = text.replace(/------------------------------------------------------<br \\/>(.*?)\\[(.*?)\\]<br \\/>(.*?)------------------------------------------------------(<br \\/>)?/g, function (whole, p1, p2, p3, p4, offset) {\n\t\t\t\treturn (offset > 0? '<br>': '') + \"<div class=\\\"bx-im-message-content-quote\\\"><div class=\\\"bx-im-message-content-quote-wrap\\\"><div class=\\\"bx-im-message-content-quote-name\\\"><span class=\\\"bx-im-message-content-quote-name-text\\\">\" + p1 + \"</span><span class=\\\"bx-im-message-content-quote-name-time\\\">\" + p2 + \"</span></div>\" + p3 + \"</div></div><br />\";\n\t\t\t});\n\t\t\ttext = text.replace(/------------------------------------------------------<br \\/>(.*?)------------------------------------------------------(<br \\/>)?/g, function (whole, p1, p2, p3, offset) {\n\t\t\t\treturn (offset > 0? '<br>': '') + \"<div class=\\\"bx-im-message-content-quote\\\"><div class=\\\"bx-im-message-content-quote-wrap\\\">\" + p1 + \"</div></div><br />\";\n\t\t\t});\n\n\t\t\tlet changed = false;\n\t\t\ttext = text.replace(/(.)?((https|http):\\/\\/([\\S]+)\\.(jpg|jpeg|png|gif|webp)(\\?[\\S]+)?)/ig, function(whole, letter, url, offset)\n\t\t\t{\n\t\t\t\tif(\n\t\t\t\t\tletter && !(['>', ']'].includes(letter))\n\t\t\t\t\t|| !url.match(/(\\.(jpg|jpeg|png|gif|webp)\\?|\\.(jpg|jpeg|png|gif|webp)$)/i)\n\t\t\t\t\t|| url.toLowerCase().indexOf(\"/docs/pub/\") > 0\n\t\t\t\t\t|| url.toLowerCase().indexOf(\"logout=yes\") > 0\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn whole;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tchanged = true;\n\t\t\t\t\treturn (letter? letter: '')+'<span class=\"bx-im-element-file-image\"><img src=\"'+url+'\" class=\"bx-im-element-file-image-source-text\" onerror=\"Utils.hideErrorImage(this)\"></span>';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (changed)\n\t\t\t{\n\t\t\t\ttext = text\n\t\t\t\t\t.replace(/<\\/span>(\\n?)<\\/a>(\\n?)<br(\\s\\/?)>/ig, '</span></a>')\n\t\t\t\t\t.replace(/<\\/span>(\\n?)(\\n?)<br(\\s\\/?)>/ig, '</span>')\n\t\t\t\t;\n\t\t\t}\n\n\t\t\tif (enableBigSmile)\n\t\t\t{\n\t\t\t\ttext = text.replace(\n\t\t\t\t\t/^(\\s*<img\\s+src=[^>]+?data-code=[^>]+?data-definition=\"UHD\"[^>]+?style=\"width:)(\\d+)(px[^>]+?height:)(\\d+)(px[^>]+?class=\"bx-smile\"\\s*\\/?>\\s*)$/,\n\t\t\t\t\tfunction doubleSmileSize(match, start, width, middle, height, end) {\n\t\t\t\t\t\treturn start + (parseInt(width, 10) * 1.7) + middle + (parseInt(height, 10) * 1.7) + end;\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (text.substr(-6) == '<br />')\n\t\t\t{\n\t\t\t\ttext = text.substr(0, text.length - 6);\n\t\t\t}\n\t\t\ttext = text.replace(/<br><br \\/>/ig, '<br />');\n\t\t\ttext = text.replace(/<br \\/><br>/ig, '<br />');\n\n\t\t\treturn text;\n\t\t},\n\n\t\tdecodeBbCode(text, enableBigSmile = true)\n\t\t{\n\t\t\tconst textOnly = false;\n\n\t\t\tlet putReplacement = [];\n\t\t\ttext = text.replace(/\\[PUT(?:=(.+?))?\\](.+?)?\\[\\/PUT\\]/ig, function(whole)\n\t\t\t{\n\t\t\t\tvar id = putReplacement.length;\n\t\t\t\tputReplacement.push(whole);\n\t\t\t\treturn '####REPLACEMENT_PUT_'+id+'####';\n\t\t\t});\n\n\t\t\tlet sendReplacement = [];\n\t\t\ttext = text.replace(/\\[SEND(?:=(.+?))?\\](.+?)?\\[\\/SEND\\]/ig, function(whole)\n\t\t\t{\n\t\t\t\tvar id = sendReplacement.length;\n\t\t\t\tsendReplacement.push(whole);\n\t\t\t\treturn '####REPLACEMENT_SEND_'+id+'####';\n\t\t\t});\n\n\t\t\tlet codeReplacement = [];\n\t\t\ttext = text.replace(/\\[CODE\\]\\n?(.*?)\\[\\/CODE\\]/sig, function(whole, text) {\n\t\t\t\tlet id = codeReplacement.length;\n\t\t\t\tcodeReplacement.push(text);\n\t\t\t\treturn '####REPLACEMENT_CODE_'+id+'####';\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[url=([^\\]]+)\\](.*?)\\[\\/url\\]/ig, function(whole, link, text)\n\t\t\t{\n\t\t\t\tlet tag = document.createElement('a');\n\t\t\t\ttag.href = Utils.text.htmlspecialcharsback(link);\n\t\t\t\ttag.target = '_blank';\n\t\t\t\ttag.text = Utils.text.htmlspecialcharsback(text);\n\n\t\t\t\tlet allowList = [\n\t\t\t\t\t\"http:\",\n\t\t\t\t\t\"https:\",\n\t\t\t\t\t\"ftp:\",\n\t\t\t\t\t\"file:\",\n\t\t\t\t\t\"tel:\",\n\t\t\t\t\t\"callto:\",\n\t\t\t\t\t\"mailto:\",\n\t\t\t\t\t\"skype:\",\n\t\t\t\t\t\"viber:\",\n\t\t\t\t];\n\t\t\t\tif (allowList.indexOf(tag.protocol) <= -1)\n\t\t\t\t{\n\t\t\t\t\treturn whole;\n\t\t\t\t}\n\n\t\t\t\treturn tag.outerHTML;\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[url\\]([^\\]]+)\\[\\/url\\]/ig, function(whole, link)\n\t\t\t{\n\t\t\t\tlink = Utils.text.htmlspecialcharsback(link);\n\n\t\t\t\tlet tag = document.createElement('a');\n\t\t\t\ttag.href = link;\n\t\t\t\ttag.target = '_blank';\n\t\t\t\ttag.text = link;\n\n\t\t\t\tlet allowList = [\n\t\t\t\t\t\"http:\",\n\t\t\t\t\t\"https:\",\n\t\t\t\t\t\"ftp:\",\n\t\t\t\t\t\"file:\",\n\t\t\t\t\t\"tel:\",\n\t\t\t\t\t\"callto:\",\n\t\t\t\t\t\"mailto:\",\n\t\t\t\t\t\"skype:\",\n\t\t\t\t\t\"viber:\",\n\t\t\t\t];\n\t\t\t\tif (allowList.indexOf(tag.protocol) <= -1)\n\t\t\t\t{\n\t\t\t\t\treturn whole;\n\t\t\t\t}\n\n\t\t\t\treturn tag.outerHTML;\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[size=(\\d+)](.*?)\\[\\/size]/ig, (whole, number, text) => {\n\t\t\t\treturn '<span style=\"font-size: '+number+'px\">'+text+'</span>';\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[color=#([0-9a-f]{3}|[0-9a-f]{6})](.*?)\\[\\/color]/ig, (whole, hex, text) => {\n\t\t\t\treturn '<span style=\"color: #'+hex+'\">'+text+'</span>';\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[LIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-like\"></span>');\n\t\t\ttext = text.replace(/\\[DISLIKE\\]/ig, '<span class=\"bx-smile bx-im-smile-dislike\"></span>');\n\n\t\t\ttext = text.replace(/\\[BR\\]/ig, '<br/>');\n\t\t\ttext = text.replace(/\\[([buis])\\](.*?)\\[(\\/[buis])\\]/ig, (whole, open, inner, close) => '<'+open+'>'+inner+'<'+close+'>'); // TODO tag USER\n\t\t\ttext = text.replace(/\\[USER=([0-9]+)( REPLACE)?](.*?)\\[\\/USER]/ig, (whole, userId, replace, userName) => {\n\t\t\t\tif (replace)\n\t\t\t\t{\n\t\t\t\t\tconst user = BX.Messenger.Application.Core.controller.store.getters['users/get'](userId);\n\t\t\t\t\tuserName = user? Utils.text.htmlspecialchars(user.name): 'User '+userId;\n\t\t\t\t}\n\t\t\t\treturn '<span class=\"bx-im-mention\" data-type=\"USER\" data-value=\"'+userId+'\">'+userName+'</span>'\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[CHAT=(imol\\|)?([0-9]{1,})\\](.*?)\\[\\/CHAT\\]/ig, (whole, openlines, chatId, inner) => openlines? inner: '<span class=\"bx-im-mention\" data-type=\"CHAT\" data-value=\"chat'+chatId+'\">'+inner+'</span>'); // TODO tag CHAT\n\n\t\t\ttext = text.replace(/\\[dialog=(chat\\d+|\\d+)(?: message=(\\d+))?](.*?)\\[\\/dialog]/gi, (whole, dialogId, messageId, message) => {\n\t\t\t\treturn message;\n\t\t\t});\n\n\t\t\tif (false && Utils.device.isMobile())\n\t\t\t{\n\t\t\t\tlet replacements = [];\n\t\t\t\ttext = text.replace(/\\[CALL(?:=(.+?))?\\](.+?)?\\[\\/CALL\\]/ig, (whole, number, text) => {\n\t\t\t\t\tlet index = replacements.length;\n\t\t\t\t\treplacements.push({number, text});\n\t\t\t\t\treturn `####REPLACEMENT_MARK_${index}####`;\n\t\t\t\t});\n\n\t\t\t\ttext = text.replace(/[+]{0,1}(?:[-\\/. ()\\[\\]~;#,]*[0-9]){10,}[^\\n\\r<][-\\/. ()\\[\\]~;#,0-9^]*/g, (number) => {\n\t\t\t\t\tlet pureNumber = number.replace(/\\D/g, '');\n\t\t\t\t\treturn `[CALL=${pureNumber}]${number}[/CALL]`;\n\t\t\t\t});\n\n\t\t\t\treplacements.forEach((item, index) => {\n\t\t\t\t\ttext = text.replace(`####REPLACEMENT_MARK_${index}####`, `[CALL=${item.number}]${item.text}[/CALL]`)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\ttext = text.replace(/\\[CALL(?:=(.+?))?\\](.+?)?\\[\\/CALL\\]/ig, (whole, number, text) => '<span class=\"bx-im-mention\" data-type=\"CALL\" data-value=\"'+Utils.text.htmlspecialchars(number)+'\">'+text+'</span>'); // TODO tag CHAT\n\n\t\t\ttext = text.replace(/\\[PCH=([0-9]{1,})\\](.*?)\\[\\/PCH\\]/ig, (whole, historyId, text) => text); // TODO tag PCH\n\n\t\t\tlet textElementSize = 0;\n\t\t\tif (enableBigSmile)\n\t\t\t{\n\t\t\t\ttextElementSize = text.replace(/\\[icon\\=([^\\]]*)\\]/ig, '').trim().length;\n\t\t\t}\n\n\t\t\ttext = text.replace(/\\[icon\\=([^\\]]*)\\]/ig, (whole) =>\n\t\t\t{\n\t\t\t\tlet url = whole.match(/icon\\=(\\S+[^\\s.,> )\\];\\'\\\"!?])/i);\n\t\t\t\tif (url && url[1])\n\t\t\t\t{\n\t\t\t\t\turl = url[1];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tlet attrs = {'src': url, 'border': 0};\n\n\t\t\t\tlet size = whole.match(/size\\=(\\d+)/i);\n\t\t\t\tif (size && size[1])\n\t\t\t\t{\n\t\t\t\t\tattrs['width'] = size[1];\n\t\t\t\t\tattrs['height'] = size[1];\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlet width = whole.match(/width\\=(\\d+)/i);\n\t\t\t\t\tif (width && width[1])\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['width'] = width[1];\n\t\t\t\t\t}\n\n\t\t\t\t\tlet height = whole.match(/height\\=(\\d+)/i);\n\t\t\t\t\tif (height && height[1])\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['height'] = height[1];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (attrs['width'] && !attrs['height'])\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['height'] = attrs['width'];\n\t\t\t\t\t}\n\t\t\t\t\telse if (attrs['height'] && !attrs['width'])\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['width'] = attrs['height'];\n\t\t\t\t\t}\n\t\t\t\t\telse if (attrs['height'] && attrs['width'])\n\t\t\t\t\t{}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['width'] = 20;\n\t\t\t\t\t\tattrs['height'] = 20;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tattrs['width'] = attrs['width']>100? 100: attrs['width'];\n\t\t\t\tattrs['height'] = attrs['height']>100? 100: attrs['height'];\n\n\t\t\t\tif (enableBigSmile && textElementSize === 0 && attrs['width'] === attrs['height'] && attrs['width'] === 20)\n\t\t\t\t{\n\t\t\t\t\tattrs['width'] = 40;\n\t\t\t\t\tattrs['height'] = 40;\n\t\t\t\t}\n\n\t\t\t\tlet title = whole.match(/title\\=(.*[^\\s\\]])/i);\n\t\t\t\tif (title && title[1])\n\t\t\t\t{\n\t\t\t\t\ttitle = title[1];\n\t\t\t\t\tif (title.indexOf('width=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('width='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('height=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('height='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title.indexOf('size=') > -1)\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle = title.substr(0, title.indexOf('size='))\n\t\t\t\t\t}\n\t\t\t\t\tif (title)\n\t\t\t\t\t{\n\t\t\t\t\t\tattrs['title'] = Utils.text.htmlspecialchars(title).trim();\n\t\t\t\t\t\tattrs['alt'] = attrs['title'];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet attributes = '';\n\t\t\t\tfor (let name in attrs)\n\t\t\t\t{\n\t\t\t\t\tif (attrs.hasOwnProperty(name))\n\t\t\t\t\t{\n\t\t\t\t\t\tattributes += name+'=\"'+attrs[name]+'\" ';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn '<img class=\"bx-smile bx-icon\" '+attributes+'>';\n\t\t\t});\n\n\t\t\tsendReplacement.forEach((value, index) => {\n\t\t\t\ttext = text.replace('####REPLACEMENT_SEND_'+index+'####', value);\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[SEND(?:=(?:.+?))?\\](?:.+?)?\\[\\/SEND]/ig, (match) =>\n\t\t\t{\n\t\t\t\treturn match.replace(/\\[SEND(?:=(.+))?\\](.+?)?\\[\\/SEND]/ig, (whole, command, text) =>\n\t\t\t\t{\n\t\t\t\t\tlet html = '';\n\n\t\t\t\t\ttext = text? text: command;\n\t\t\t\t\tcommand = (command? command: text).replace('<br />', '\\n');\n\n\t\t\t\t\tif (!textOnly && text)\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = text.replace(/<([\\w]+)[^>]*>(.*?)<\\\\1>/i, \"$2\", text);\n\t\t\t\t\t\ttext = text.replace(/\\[([\\w]+)[^\\]]*\\](.*?)\\[\\/\\1\\]/i, \"$2\", text);\n\n\t\t\t\t\t\tcommand = command.split('####REPLACEMENT_PUT_').join('####REPLACEMENT_SP_');\n\n\t\t\t\t\t\thtml = '<!--IM_COMMAND_START-->' +\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-wrap\">'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command\" data-entity=\"send\">'+text+'</span>'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-data\">'+command+'</span>'+\n\t\t\t\t\t\t\t'</span>'+\n\t\t\t\t\t\t\t'<!--IM_COMMAND_END-->';\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\thtml = text;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn html;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tputReplacement.forEach((value, index) => {\n\t\t\t\ttext = text.replace('####REPLACEMENT_PUT_'+index+'####', value);\n\t\t\t});\n\n\t\t\ttext = text.replace(/\\[PUT(?:=(?:.+?))?\\](?:.+?)?\\[\\/PUT]/ig, (match) =>\n\t\t\t{\n\t\t\t\treturn match.replace(/\\[PUT(?:=(.+))?\\](.+?)?\\[\\/PUT]/ig, (whole, command, text) =>\n\t\t\t\t{\n\t\t\t\t\tlet html = '';\n\n\t\t\t\t\ttext = text? text: command;\n\t\t\t\t\tcommand = (command? command: text).replace('<br />', '\\n');\n\n\t\t\t\t\tif (!textOnly && text)\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = text.replace(/<([\\w]+)[^>]*>(.*?)<\\/\\1>/i, \"$2\", text);\n\t\t\t\t\t\ttext = text.replace(/\\[([\\w]+)[^\\]]*\\](.*?)\\[\\/\\1\\]/i, \"$2\", text);\n\n\t\t\t\t\t\thtml = '<!--IM_COMMAND_START-->' +\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-wrap\">'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command\" data-entity=\"put\">'+text+'</span>'+\n\t\t\t\t\t\t\t'<span class=\"bx-im-message-command-data\">'+command+'</span>'+\n\t\t\t\t\t\t\t'</span>'+\n\t\t\t\t\t\t\t'<!--IM_COMMAND_END-->';\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\thtml = text;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn html;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tcodeReplacement.forEach((code, index) => {\n\t\t\t\ttext = text.replace('####REPLACEMENT_CODE_'+index+'####',\n\t\t\t\t\t!textOnly? '<div class=\"bx-im-message-content-code\">'+code+'</div>': code\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tif (sendReplacement.length > 0)\n\t\t\t{\n\t\t\t\tdo\n\t\t\t\t{\n\t\t\t\t\tsendReplacement.forEach((value, index) => {\n\t\t\t\t\t\ttext = text.replace('####REPLACEMENT_SEND_'+index+'####', value);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twhile (text.includes('####REPLACEMENT_SEND_'));\n\t\t\t}\n\n\t\t\ttext = text.split('####REPLACEMENT_SP_').join('####REPLACEMENT_PUT_');\n\n\t\t\tif (putReplacement.length > 0)\n\t\t\t{\n\t\t\t\tdo\n\t\t\t\t{\n\t\t\t\t\tputReplacement.forEach((value, index) => {\n\t\t\t\t\t\ttext = text.replace('####REPLACEMENT_PUT_'+index+'####', value);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\twhile (text.includes('####REPLACEMENT_PUT_'));\n\t\t\t}\n\n\t\t\treturn text;\n\t\t},\n\n\t\thtmlspecialchars(text)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\treturn text.replace(/&/g, '&')\n\t\t\t\t.replace(/\"/g, '"')\n\t\t\t\t.replace(/</g, '<')\n\t\t\t\t.replace(/>/g, '>');\n\t\t},\n\n\t\thtmlspecialcharsback(text)\n\t\t{\n\t\t\tif (typeof text !== 'string')\n\t\t\t{\n\t\t\t\treturn text;\n\t\t\t}\n\n\t\t\treturn text.replace(/\\"/g, '\"')\n\t\t\t\t.replace(/'/g, \"'\")\n\t\t\t\t.replace(/\\</g, '<')\n\t\t\t\t.replace(/\\>/g, '>')\n\t\t\t\t.replace(/\\&/g, '&')\n\t\t\t\t.replace(/\\ /g, ' ');\n\t\t},\n\n\t\tgetLocalizeForNumber(phrase, number, language = 'en', localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet pluralFormType = 1;\n\n\t\t\tnumber = parseInt(number);\n\n\t\t\tif (number < 0)\n\t\t\t{\n\t\t\t\tnumber = number * -1;\n\t\t\t}\n\n\t\t\tif (language)\n\t\t\t{\n\t\t\t\tswitch (language)\n\t\t\t\t{\n\t\t\t\t\tcase 'de':\n\t\t\t\t\tcase 'en':\n\t\t\t\t\t\tpluralFormType = ((number !== 1) ? 1 : 0);\n\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'ru':\n\t\t\t\t\tcase 'ua':\n\t\t\t\t\t\tpluralFormType = (((number%10 === 1) && (number%100 !== 11)) ? 0 : (((number%10 >= 2) && (number%10 <= 4) && ((number%100 < 10) || (number%100 >= 20))) ? 1 : 2));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn localize[phrase + '_PLURAL_' + pluralFormType];\n\t\t}\n\t},\n\n\tdate:\n\t{\n\t\tgetFormatType(type = DateFormat.default, localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message;\n\t\t\t}\n\n\t\t\tlet format = [];\n\t\t\tif (type === DateFormat.groupTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.message)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_TIME\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.recentTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"today\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_RECENT\"]]\n\t\t\t\t]\n\t\t\t}\n\t\t\telse if (type === DateFormat.recentLinesTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow\"],\n\t\t\t\t\t[\"today\", \"today\"],\n\t\t\t\t\t[\"yesterday\", \"yesterday\"],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_RECENT\"]]\n\t\t\t\t]\n\t\t\t}\n\t\t\telse if (type === DateFormat.readedTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"today\", \"today, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"yesterday\", \"yesterday, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_READED\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse if (type === DateFormat.vacationTitle)\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_SHORT\"]]\n\t\t\t\t];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tformat = [\n\t\t\t\t\t[\"tommorow\", \"tommorow, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"today\", \"today, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"yesterday\", \"yesterday, \"+localize[\"IM_UTILS_FORMAT_TIME\"]],\n\t\t\t\t\t[\"\", localize[\"IM_UTILS_FORMAT_DATE_TIME\"]]\n\t\t\t\t];\n\t\t\t}\n\n\t\t\treturn format;\n\t\t},\n\n\t\tgetDateFunction(localize = null)\n\t\t{\n\t\t\tif (this.dateFormatFunction)\n\t\t\t{\n\t\t\t\treturn this.dateFormatFunction;\n\t\t\t}\n\n\t\t\tthis.dateFormatFunction = Object.create(BX.Main.Date);\n\t\t\tif (localize)\n\t\t\t{\n\t\t\t\tthis.dateFormatFunction._getMessage = (phrase) => localize[phrase];\n\t\t\t}\n\n\t\t\treturn this.dateFormatFunction;\n\t\t},\n\n\t\tformat(timestamp, format = null, localize = null)\n\t\t{\n\t\t\tif (!format)\n\t\t\t{\n\t\t\t\tformat = this.getFormatType(DateFormat.default, localize);\n\t\t\t}\n\n\t\t\treturn this.getDateFunction(localize).format(format, timestamp);\n\t\t},\n\n\t\tcast(date, def = new Date())\n\t\t{\n\t\t\tlet result = def;\n\n\t\t\tif (date instanceof Date)\n\t\t\t{\n\t\t\t\tresult = date;\n\t\t\t}\n\t\t\telse if (typeof date === \"string\")\n\t\t\t{\n\t\t\t\tresult = new Date(date);\n\t\t\t}\n\t\t\telse if (typeof date === \"number\")\n\t\t\t{\n\t\t\t\tresult = new Date(date*1000);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tresult instanceof Date\n\t\t\t\t&& Number.isNaN(result.getTime())\n\t\t\t)\n\t\t\t{\n\t\t\t\tresult = def;\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t},\n\n\tobject:\n\t{\n\t\tcountKeys(obj)\n\t\t{\n\t\t\tlet result = 0;\n\n\t\t\tfor (let i in obj)\n\t\t\t{\n\t\t\t\tif (obj.hasOwnProperty(i))\n\t\t\t\t{\n\t\t\t\t\tresult++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t},\n\n\tuser:\n\t{\n\t\tgetLastDateText(params, localize = null)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tlet dateFunction = Utils.date.getDateFunction(localize);\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message || {};\n\t\t\t}\n\n\t\t\tlet text = '';\n\t\t\tlet online = {};\n\t\t\tif (params.bot || params.network)\n\t\t\t{\n\t\t\t\ttext = '';\n\t\t\t}\n\t\t\telse if (params.absent && !this.isMobileActive(params, localize))\n\t\t\t{\n\t\t\t\tonline = this.getOnlineStatus(params, localize);\n\t\t\t\ttext = localize['IM_STATUS_VACATION_TITLE'].replace('#DATE#',\n\t\t\t\t\tdateFunction.format(Utils.date.getFormatType(DateFormat.vacationTitle, localize), params.absent.getTime()/1000)\n\t\t\t\t);\n\n\t\t\t\tif (online.isOnline && params.idle)\n\t\t\t\t{\n\t\t\t\t\t text = localize['IM_STATUS_AWAY_TITLE'].replace('#TIME#', this.getIdleText(params, localize))+'. '+text;\n\t\t\t\t}\n\t\t\t\telse if (online.isOnline && !online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\ttext = online.statusText+'. '+text;\n\t\t\t\t}\n\t\t\t\telse if (online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (!Utils.platform.isMobile())\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = text+'. '+localize['IM_LAST_SEEN_'+(params.gender === 'F'? 'F': 'M')].replace('#POSITION#', text).replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (params.lastActivityDate)\n\t\t\t{\n\t\t\t\tonline = this.getOnlineStatus(params, localize);\n\t\t\t\tif (online.isOnline && params.idle && !this.isMobileActive(params, localize))\n\t\t\t\t{\n\t\t\t\t\t text = localize['IM_STATUS_AWAY_TITLE'].replace('#TIME#', this.getIdleText(params, localize));\n\t\t\t\t}\n\t\t\t\telse if (online.isOnline && !online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (Utils.platform.isMobile() && this.isMobileActive(params, localize))\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_STATUS_MOBILE'];\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = online.statusText;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (online.lastSeenText)\n\t\t\t\t{\n\t\t\t\t\tif (Utils.platform.isMobile())\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_LAST_SEEN_SHORT_'+(params.gender === 'F'? 'F': 'M')].replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttext = localize['IM_LAST_SEEN_'+(params.gender === 'F'? 'F': 'M')].replace('#POSITION#', text).replace('#LAST_SEEN#', online.lastSeenText);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn text;\n\t\t},\n\n\t\tgetIdleText(params, localize = null)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif (!params.idle)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\treturn Utils.date.getDateFunction(localize).format([\n\t\t\t [\"s60\", \"sdiff\"],\n\t\t\t [\"i60\", \"idiff\"],\n\t\t\t [\"H24\", \"Hdiff\"],\n\t\t\t [\"\", \"ddiff\"]\n\t\t\t], params.idle);\n\t\t},\n\n\t\tgetOnlineStatus(params, localize = null)\n\t\t{\n\t\t\tlet result = {\n\t\t\t\t'isOnline': false,\n\t\t\t\t'status': 'offline',\n\t\t\t\t'statusText': localize? localize.IM_STATUS_OFFLINE: 'offline',\n\t\t\t\t'lastSeen': params.lastActivityDate,\n\t\t\t\t'lastSeenText': '',\n\t\t\t};\n\n\t\t\tif (!params.lastActivityDate || params.lastActivityDate.getTime() === 0)\n\t\t\t{\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tlet date = new Date();\n\n\t\t\tresult.isOnline = date.getTime() - params.lastActivityDate.getTime() <= this.getOnlineLimit(localize)*1000;\n\t\t\tresult.status = result.isOnline? params.status: 'offline';\n\t\t\tresult.statusText = localize && localize['IM_STATUS_'+result.status.toUpperCase()]? localize['IM_STATUS_'+result.status.toUpperCase()]: result.status;\n\n\t\t\tif (localize && params.lastActivityDate.getTime() > 0 && date.getTime() - params.lastActivityDate.getTime() > 300*1000)\n\t\t\t{\n\t\t\t\tresult.lastSeenText = Utils.date.getDateFunction(localize).formatLastActivityDate(params.lastActivityDate);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tisMobileActive(params, localize = null)\n\t\t{\n\t\t\tif (!params)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message || {};\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tparams.mobileLastDate\n\t\t\t\t&& new Date() - params.mobileLastDate < this.getOnlineLimit(localize)*1000\n\t\t\t\t&& params.lastActivityDate-params.mobileLastDate < 300*1000\n\t\t\t);\n\t\t},\n\n\t\tgetOnlineLimit(localize = null)\n\t\t{\n\t\t\tif (!localize)\n\t\t\t{\n\t\t\t\tlocalize = BX.message || {};\n\t\t\t}\n\n\t\t\treturn localize.LIMIT_ONLINE? parseInt(localize.LIMIT_ONLINE): 15*60;\n\t\t},\n\t},\n\n\tisDarkColor(hex)\n\t{\n\t\tif (!hex || !hex.match(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (hex.length === 4)\n\t\t{\n\t\t\thex = hex.replace(/#([A-Fa-f0-9])/gi, \"$1$1\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\thex = hex.replace(/#([A-Fa-f0-9])/gi, \"$1\");\n\t\t}\n\n\t\thex = hex.toLowerCase();\n\n\t\tlet darkColor = [\n\t\t\t\"#17a3ea\",\n\t\t\t\"#00aeef\",\n\t\t\t\"#00c4fb\",\n\t\t\t\"#47d1e2\",\n\t\t\t\"#75d900\",\n\t\t\t\"#ffab00\",\n\t\t\t\"#ff5752\",\n\t\t\t\"#468ee5\",\n\t\t\t\"#1eae43\"\n\t\t];\n\n\t\tif (darkColor.includes('#'+hex))\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tlet bigint = parseInt(hex, 16);\n\n\t\tlet red = (bigint >> 16) & 255;\n\t\tlet green = (bigint >> 8) & 255;\n\t\tlet blue = bigint & 255;\n\n\t\tlet brightness = (red * 299 + green * 587 + blue * 114) / 1000;\n\n\t\treturn brightness < 128;\n\t},\n\n\thashCode(string = '')\n\t{\n\t\tlet hash = 0;\n\n\t\tif (typeof string === 'object' && string)\n\t\t{\n\t\t\tstring = JSON.stringify(string);\n\t\t}\n\t\telse if (typeof string !== 'string')\n\t\t{\n\t\t\tstring = string.toString();\n\t\t}\n\n\t\tif (typeof string !== 'string')\n\t\t{\n\t\t\treturn hash;\n\t\t}\n\n\t\tfor (let i = 0; i < string.length; i++)\n\t\t{\n\t\t\tlet char = string.charCodeAt(i);\n\t\t\thash = ((hash<<5)-hash)+char;\n\t\t\thash = hash & hash;\n\t\t}\n\t\treturn hash;\n\t},\n\n\t/**\n\t * The method compares versions, and returns - 0 if they are the same, 1 if version1 is greater, -1 if version1 is less\n\t *\n\t * @param version1\n\t * @param version2\n\t * @returns {number|NaN}\n\t */\n\tversionCompare(version1, version2)\n\t{\n\t\tlet isNumberRegExp = /^([\\d+\\.]+)$/;\n\n\t\tif (\n\t\t\t!isNumberRegExp.test(version1)\n\t\t\t|| !isNumberRegExp.test(version2)\n\t\t)\n\t\t{\n\t\t\treturn NaN;\n\t\t}\n\n\t\tversion1 = version1.toString().split('.');\n\t\tversion2 = version2.toString().split('.');\n\n\t\tif (version1.length < version2.length)\n\t\t{\n\t\t\twhile (version1.length < version2.length)\n\t\t\t{\n\t\t\t\tversion1.push(0);\n\t\t\t}\n\t\t}\n\t\telse if (version2.length < version1.length)\n\t\t{\n\t\t\twhile (version2.length < version1.length)\n\t\t\t{\n\t\t\t\tversion2.push(0);\n\t\t\t}\n\t\t}\n\n\t\tfor (var i = 0; i < version1.length; i++)\n\t\t{\n\t\t\tif (version1[i] > version2[i])\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\telse if (version1[i] < version2[i])\n\t\t\t{\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t},\n\n\t/**\n\t * Throttle function. Callback will be executed no more than 'wait' period (in ms).\n\t *\n\t * @param callback\n\t * @param wait\n\t * @param context\n\t * @returns {Function}\n\t */\n\tthrottle(callback, wait, context = this)\n\t{\n\t\tlet timeout = null;\n\t\tlet callbackArgs = null;\n\n\t\tconst nextCallback = () => {\n\t\t\tcallback.apply(context, callbackArgs);\n\t\t\ttimeout = null;\n\t\t};\n\n\t\treturn function()\n\t\t{\n\t\t\tif (!timeout)\n\t\t\t{\n\t\t\t\tcallbackArgs = arguments;\n\t\t\t\ttimeout = setTimeout(nextCallback, wait);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Debounce function. Callback will be executed if it hast been called for longer than 'wait' period (in ms).\n\t *\n\t * @param callback\n\t * @param wait\n\t * @param context\n\t * @returns {Function}\n\t */\n\tdebounce(callback, wait, context = this)\n\t{\n\t\tlet timeout = null;\n\t\tlet callbackArgs = null;\n\n\t\tconst nextCallback = () => {\n\t\t\tcallback.apply(context, callbackArgs);\n\t\t};\n\n\t\treturn function()\n\t\t{\n\t\t\tcallbackArgs = arguments;\n\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = setTimeout(nextCallback, wait);\n\t\t}\n\t},\n\n\tgetLogTrackingParams(params = {}): string\n\t{\n\t\tlet result = [];\n\n\t\tlet {\n\t\t\tname = 'tracking',\n\t\t\tdata = [],\n\t\t\tdialog = null,\n\t\t\tmessage = null,\n\t\t\tfiles = null,\n\t\t} = params;\n\n\t\tname = encodeURIComponent(name);\n\n\t\tif (\n\t\t\tdata\n\t\t\t&& !(data instanceof Array)\n\t\t\t&& typeof data === 'object'\n\t\t)\n\t\t{\n\t\t\tlet dataArray = [];\n\t\t\tfor (let name in data)\n\t\t\t{\n\t\t\t\tif (data.hasOwnProperty(name))\n\t\t\t\t{\n\t\t\t\t\tdataArray.push(encodeURIComponent(name)+\"=\"+encodeURIComponent(data[name]));\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata = dataArray;\n\t\t}\n\t\telse if (!data instanceof Array)\n\t\t{\n\t\t\tdata = [];\n\t\t}\n\n\t\tif (dialog)\n\t\t{\n\t\t\tresult.push('timType='+dialog.type);\n\n\t\t\tif (dialog.type === 'lines')\n\t\t\t{\n\t\t\t\tresult.push('timLinesType='+dialog.entityId.split('|')[0]);\n\t\t\t}\n\t\t}\n\n\t\tif (files)\n\t\t{\n\t\t\tlet type = 'file';\n\t\t\tif (files instanceof Array && files[0])\n\t\t\t{\n\t\t\t\ttype = files[0].type;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttype = files.type;\n\t\t\t}\n\t\t\tresult.push('timMessageType='+type);\n\t\t}\n\t\telse if (message)\n\t\t{\n\t\t\tresult.push('timMessageType=text');\n\t\t}\n\n\t\tif (this.platform.isBitrixMobile())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixMobile');\n\t\t}\n\t\telse if (this.platform.isBitrixDesktop())\n\t\t{\n\t\t\tresult.push('timDevice=bitrixDesktop');\n\t\t}\n\t\telse if (this.platform.isIos() || this.platform.isAndroid())\n\t\t{\n\t\t\tresult.push('timDevice=mobile');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult.push('timDevice=web');\n\t\t}\n\n\t\treturn name + (data.length? '&'+data.join('&'): '') + (result.length? '&'+result.join('&'): '');\n\t}\n};\n\nexport {Utils};"],"names":["Utils","browser","isSafari","isChrome","navigator","userAgent","toLowerCase","includes","isSafariBased","isFirefox","isIe","match","findParent","item","findTag","isHtmlElement","HTMLElement","document","parentNode","classList","contains","platform","isMac","isLinux","isWindows","isBitrixMobile","isBitrixDesktop","getDesktopVersion","getDesktopVersionStatic","BXDesktopSystem","version","GetProperty","isDesktopFeatureEnabled","code","FeatureEnabled","isMobile","isAndroid","isIos","getIosVersion","matches","parseFloat","openNewPage","url","BX","MobileTools","openWidget","resolveOpenFunction","app","window","open","device","isDesktop","isMobileStatic","orientationHorizontal","orientationPortrait","getOrientation","Math","abs","orientation","types","isString","String","isArray","Object","prototype","toString","call","isFunction","Function","isDomNode","isDate","isPlainObject","nodeType","hasProp","hasOwnProperty","constructor","e","key","isUuidV4","uuid","uuidV4pattern","RegExp","search","dialog","getChatIdByDialogId","dialogId","isChatId","parseInt","substr","startsWith","isEmptyDialogId","text","quote","params","files","localize","message","replace","whole","userId","imol","chatId","command","rating","IM_F_RATING","FILE_ID","length","filesText","forEach","fileId","type","push","name","join","ATTACH","trim","purify","codeReplacement","id","messageId","title","indexOf","element","index","WITH_ATTACH","WITH_FILE","decode","enableBigSmile","htmlspecialchars","quoteSign","textPrepare","split","i","decodeBbCode","p1","p2","p3","p4","offset","changed","letter","doubleSmileSize","start","width","middle","height","end","putReplacement","sendReplacement","link","tag","createElement","href","htmlspecialcharsback","target","allowList","protocol","outerHTML","number","hex","inner","close","userName","user","Messenger","Application","Core","controller","store","getters","openlines","historyId","textElementSize","attrs","size","attributes","value","html","getLocalizeForNumber","phrase","language","pluralFormType","date","getFormatType","DateFormat","format","groupTitle","recentTitle","recentLinesTitle","readedTitle","vacationTitle","getDateFunction","dateFormatFunction","create","Main","Date","_getMessage","timestamp","cast","def","result","Number","isNaN","getTime","object","countKeys","obj","getLastDateText","dateFunction","online","bot","network","absent","isMobileActive","getOnlineStatus","isOnline","idle","getIdleText","lastSeenText","statusText","gender","lastActivityDate","IM_STATUS_OFFLINE","getOnlineLimit","status","toUpperCase","formatLastActivityDate","mobileLastDate","LIMIT_ONLINE","isDarkColor","darkColor","bigint","red","green","blue","brightness","hashCode","string","hash","JSON","stringify","char","charCodeAt","versionCompare","version1","version2","isNumberRegExp","test","NaN","throttle","callback","wait","context","timeout","callbackArgs","nextCallback","apply","arguments","setTimeout","debounce","clearTimeout","getLogTrackingParams","data","encodeURIComponent","Array","dataArray","entityId"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings