Your IP : 172.69.214.233


Current Path : /var/www/element/data/www/revenuestory.ru/bitrix/js/main/rating/
Upload File :
Current File : /var/www/element/data/www/revenuestory.ru/bitrix/js/main/rating/main.rating.js.map

{"version":3,"file":"main.rating.js","sources":["src/listpopup.js","src/render.js","src/manager.js","src/like.js","src/index.js"],"sourcesContent":["import { Type, Dom, Event, ajax } from 'main.core';\nimport { Popup } from 'main.popup';\nimport { EventEmitter } from 'main.core.events';\n\nimport { RatingManager } from './manager';\nimport { RatingLike } from './like';\nimport { RatingRender } from './render';\n\nexport class ListPopup\n{\n\tstatic popupLikeId = null;\n\n\tstatic removeOnCloseHandler = this.removeOnClose.bind(this);\n\n\tstatic getListPopup(params)\n\t{\n\t\tconst likeId = params.likeId;\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\t\tconst target = params.target;\n\t\tconst reaction = params.reaction;\n\t\tconst nodeId = params.nodeId;\n\n\t\tif (this.popupLikeId === likeId)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (likeInstance.popupContentPage != 1)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.List(likeId, 1, reaction, true);\n\n\t\tlikeInstance.popupTimeoutIdShow = setTimeout(() => {\n\t\t\tthis.getListPopupShow({\n\t\t\t\tlikeId: likeId,\n\t\t\t\treaction: reaction,\n\t\t\t\ttarget: target,\n\t\t\t\tnodeId: nodeId,\n\t\t\t})\n\t\t}, 100);\n\t}\n\n\tstatic getListPopupShow(params)\n\t{\n\t\tconst likeId = params.likeId;\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\t\tconst target = params.target;\n\t\tconst reaction = params.reaction;\n\t\tconst nodeId = params.nodeId;\n\n\t\tlikeInstance.resultPopupAnimation = true;\n\n\t\tsetTimeout(() => {\n\t\t\tthis.getListPopupAnimation({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}, 500);\n\n\t\tif (likeInstance.mouseInShowPopupNode[reaction])\n\t\t{\n\t\t\tthis.OpenWindow(\n\t\t\t\tlikeId,\n\t\t\t\tnull,\n\t\t\t\ttarget,\n\t\t\t\tnodeId\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getListPopupAnimation(params)\n\t{\n\t\tconst likeId = params.likeId;\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tlikeInstance.resultPopupAnimation = false;\n\t}\n\n\tstatic OpenWindow(likeId, clickEvent, target, targetId)\n\t{\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (Number(likeInstance.countText.innerHTML) === 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst bindNode = (\n\t\t\tlikeInstance.template === 'standart'\n\t\t\t\t? likeInstance.count\n\t\t\t\t: (\n\t\t\t\t\tlikeInstance.version === 2\n\t\t\t\t\t\t? (\n\t\t\t\t\t\t\tType.isDomNode(target)\n\t\t\t\t\t\t\t\t? target\n\t\t\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t\t\tType.isStringFilled(targetId) && document.getElementById(targetId)\n\t\t\t\t\t\t\t\t\t\t? document.getElementById(targetId)\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: likeInstance.box\n\t\t\t\t)\n\t\t);\n\n\t\tif (!Type.isDomNode(bindNode))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (likeInstance.popup == null)\n\t\t{\n\t\t\tconst globalZIndex = this.getGlobalIndex(bindNode);\n\n\t\t\tconst popupClassNameList = [];\n\t\t\tif (likeInstance.topPanel)\n\t\t\t{\n\t\t\t\tpopupClassNameList.push('bx-ilike-wrap-block-react-wrap');\n\t\t\t}\n\t\t\tif (RatingManager.mobile)\n\t\t\t{\n\t\t\t\tpopupClassNameList.push('bx-ilike-mobile-wrap');\n\t\t\t}\n\n\t\t\tlikeInstance.popup = new Popup({\n\t\t\t\tid: `ilike-popup-${likeId}`,\n\t\t\t\tbindElement: bindNode,\n\t\t\t\tlightShadow : true,\n\t\t\t\toffsetTop: 0,\n\t\t\t\toffsetLeft: (\n\t\t\t\t\t!Type.isUndefined(clickEvent)\n\t\t\t\t\t&& !Type.isNull(clickEvent)\n\t\t\t\t\t&& !Type.isUndefined(clickEvent.offsetX)\n\t\t\t\t\t\t? (clickEvent.offsetX - 100)\n\t\t\t\t\t\t: (likeInstance.version == 2 ? -30 : 5)\n\t\t\t\t),\n\t\t\t\tautoHide: true,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\tzIndexAbsolute: (globalZIndex > 1000 ? globalZIndex + 1 : 1000),\n\t\t\t\tbindOptions: {\n\t\t\t\t\tposition: 'top',\n\t\t\t\t},\n\t\t\t\tanimation: 'fading-slide',\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupClose: () => {\n\t\t\t\t\t\tthis.popupLikeId = null;\n\t\t\t\t\t},\n\t\t\t\t\tonPopupDestroy: () => {},\n\t\t\t\t},\n\t\t\t\tcontent : document.getElementById(`bx-ilike-popup-cont-${likeId}`),\n\t\t\t\tclassName: popupClassNameList.join(' '),\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\t!likeInstance.topPanel\n\t\t\t\t&& !RatingManager.mobile\n\t\t\t)\n\t\t\t{\n\t\t\t\tlikeInstance.popup.setAngle({});\n\n\t\t\t\tdocument.getElementById(`ilike-popup-${likeId}`).addEventListener('mouseout', () => {\n\t\t\t\t\tclearTimeout(likeInstance.popupTimeout);\n\t\t\t\t\tlikeInstance.popupTimeout = setTimeout(() => {\n\t\t\t\t\t\tlikeInstance.popup.close();\n\t\t\t\t\t}, 1000);\n\t\t\t\t});\n\n\t\t\t\tdocument.getElementById(`ilike-popup-${likeId}`).addEventListener('mouseover', () => {\n\t\t\t\t\tclearTimeout(likeInstance.popupTimeout);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (\n\t\t\t\t!Type.isUndefined(clickEvent)\n\t\t\t\t&& !Type.isNull(clickEvent)\n\t\t\t\t&& !Type.isUndefined(clickEvent.offsetX)\n\t\t\t)\n\t\t\t{\n\t\t\t\tlikeInstance.popup.offsetLeft = (clickEvent.offsetX - 100);\n\t\t\t}\n\n\t\t\tlikeInstance.popup.setBindElement(bindNode);\n\t\t}\n\n\t\tif (this.popupLikeId !== likeId)\n\t\t{\n\t\t\tconst popupLikeInstance = RatingLike.getInstance(this.popupLikeId);\n\t\t\tif (popupLikeInstance)\n\t\t\t{\n\t\t\t\tpopupLikeInstance.popup.close();\n\t\t\t}\n\t\t}\n\n\t\tthis.popupLikeId = likeId;\n\n\t\tlikeInstance.popup.show();\n\n\t\tthis.AdjustWindow(likeId);\n\t}\n\n\tstatic getGlobalIndex(element)\n\t{\n\t\tlet index = 0;\n\t\tlet propertyValue = '';\n\n\t\tdo\n\t\t{\n\t\t\tpropertyValue = Dom.style(element, 'z-index');\n\t\t\tif (propertyValue !== 'auto')\n\t\t\t{\n\t\t\t\tindex = !Number.isNaN(parseInt(propertyValue)) ? index : 0;\n\t\t\t}\n\t\t\telement = element.offsetParent;\n\t\t}\n\t\twhile (\n\t\t\telement\n\t\t\t&& element.tagName !== 'BODY'\n\t\t\t);\n\n\t\treturn index;\n\t}\n\n\tstatic removeOnClose()\n\t{\n\t\tEventEmitter.unsubscribe(BX.SidePanel.Instance.getTopSlider().getWindow(), 'SidePanel.Slider:onClose', this.removeOnCloseHandler);\n\n\t\tconst popupLikeInstance = RatingLike.getInstance(this.popupLikeId);\n\t\tif (popupLikeInstance)\n\t\t{\n\t\t\tpopupLikeInstance.popup.close();\n\t\t}\n\t}\n\n\tstatic AdjustWindow(likeId)\n\t{\n\t\tlet likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (!likeInstance.popup)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tlikeInstance.popup.bindOptions.forceBindPosition = true;\n\t\tlikeInstance.popup.adjustPosition();\n\t\tlikeInstance.popup.bindOptions.forceBindPosition = false;\n\t}\n\n\tstatic PopupScroll(likeId)\n\t{\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tlet contentContainerNodeList = likeInstance.popupContent.querySelectorAll('.bx-ilike-popup-content'); // reactions\n\t\tif (contentContainerNodeList.length <= 0)\n\t\t{\n\t\t\tcontentContainerNodeList = [ likeInstance.popupContent ];\n\t\t}\n\n\t\tcontentContainerNodeList.forEach((contentContainerNode) => {\n\t\t\tcontentContainerNode.addEventListener('scroll', (e) => {\n\t\t\t\tif (e.target.scrollTop <= (e.target.scrollHeight - e.target.offsetHeight) / 1.5)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.List(likeId, null, (likeInstance.version == 2 ? RatingRender.popupCurrentReaction : false));\n\t\t\t\tEvent.unbindAll(e.target);\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic List(likeId, page, reaction, clear)\n\t{\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (Number(likeInstance.countText.innerHTML) === 0)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treaction = (Type.isStringFilled(reaction) ? reaction : '');\n\n\t\tif (Type.isNull(page))\n\t\t{\n\t\t\tpage = (\n\t\t\t\tlikeInstance.version === 2\n\t\t\t\t\t? (\n\t\t\t\t\t\t!Type.isUndefined(RatingRender.popupPagesList[reaction])\n\t\t\t\t\t\t\t? RatingRender.popupPagesList[reaction]\n\t\t\t\t\t\t\t: 1\n\t\t\t\t\t)\n\t\t\t\t\t: likeInstance.popupContentPage\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tclear\n\t\t\t&& Number(page) === 1\n\t\t\t&& likeInstance.version === 2\n\t\t)\n\t\t{\n\t\t\tRatingRender.clearPopupContent({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}\n\n\t\tif (likeInstance.listXHR)\n\t\t{\n\t\t\tlikeInstance.listXHR.abort();\n\t\t}\n\n\t\tajax.runAction('main.rating.list', {\n\t\t\tdata: {\n\t\t\t\tparams: {\n\t\t\t\t\tRATING_VOTE_TYPE_ID: likeInstance.entityTypeId,\n\t\t\t\t\tRATING_VOTE_ENTITY_ID: likeInstance.entityId,\n\t\t\t\t\tRATING_VOTE_LIST_PAGE: page,\n\t\t\t\t\tRATING_VOTE_REACTION: (reaction === 'all' ? '' : reaction),\n\t\t\t\t\tPATH_TO_USER_PROFILE: likeInstance.pathToUserProfile,\n\t\t\t\t},\n\t\t\t},\n\t\t\tonrequeststart: (xhr) => {\n\t\t\t\tlikeInstance.listXHR = xhr;\n\t\t\t},\n\t\t}).then((result) => {\n\t\t\t\tthis.onListSuccess(result.data, {\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\treaction: reaction,\n\t\t\t\t\tpage: page,\n\t\t\t\t\tclear: clear,\n\t\t\t\t});\n\t\t\t},\n\t\t\t() => {}\n\t\t);\n\n\t\treturn false;\n\t}\n\n\tstatic onListSuccess(data, params)\n\t{\n\t\tif (!data)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst likeInstance = RatingLike.getInstance(params.likeId);\n\n\t\tlikeInstance.countText.innerHTML = data.items_all;\n\n\t\tif (Number(data.items_page) === 0)\n\t\t{\n\t\t\tif (Number(data.list_page) === 1)\n\t\t\t{\n\t\t\t\tlikeInstance.popup.close();\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\n\t\tif (likeInstance.version === 2)\n\t\t{\n\t\t\tRatingRender.buildPopupContent({\n\t\t\t\tlikeId: params.likeId,\n\t\t\t\treaction: params.reaction,\n\t\t\t\trating: likeInstance,\n\t\t\t\tpage: params.page,\n\t\t\t\tdata: data,\n\t\t\t\tclear: params.clear,\n\t\t\t});\n\t\t\tlikeInstance.topPanel.setAttribute('data-popup', 'Y');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tRatingRender.buildPopupContentNoReactions({\n\t\t\t\trating: likeInstance,\n\t\t\t\tpage: params.page,\n\t\t\t\tdata: data,\n\t\t\t});\n\t\t}\n\n\t\tthis.AdjustWindow(params.likeId);\n\t\tthis.PopupScroll(params.likeId);\n\t}\n\n\tstatic onResultClick(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : false);\n\t\tconst clickEvent = (!Type.isUndefined(params.event) ? params.event : false);\n\t\tconst reaction = (Type.isStringFilled(params.reaction) ? params.reaction : '');\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (likeInstance.resultPopupAnimation)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tlikeInstance.popup\n\t\t\t&& likeInstance.popup.isShown()\n\t\t)\n\t\t{\n\t\t\tlikeInstance.popup.close();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tclearTimeout(likeInstance.popupTimeoutIdList);\n\t\t\tclearTimeout(likeInstance.popupTimeoutIdShow);\n\n\t\t\tif (\n\t\t\t\tlikeInstance.popupContentPage == 1\n\t\t\t\t&& (\n\t\t\t\t\tlikeInstance.topPanel.getAttribute('data-popup') !== 'Y'\n\t\t\t\t\t|| likeInstance.popupCurrentReaction != reaction\n\t\t\t\t)\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.List(likeId, 1, reaction, true);\n\t\t\t}\n\n\t\t\tthis.OpenWindow(\n\t\t\t\tlikeId,\n\t\t\t\t(clickEvent.currentTarget === likeInstance.count ? null : clickEvent),\n\t\t\t\tclickEvent.currentTarget,\n\t\t\t\tclickEvent.currentTarget.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic onResultMouseEnter(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : false);\n\t\tconst mouseEnterEvent = (!Type.isUndefined(params.event) ? params.event : null);\n\t\tconst reaction = (Type.isStringFilled(params.reaction) ? params.reaction : '');\n\t\tconst nodeId = (\n\t\t\tmouseEnterEvent && Type.isStringFilled(mouseEnterEvent.currentTarget.id)\n\t\t\t\t? mouseEnterEvent.currentTarget.id\n\t\t\t\t: ''\n\t\t);\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tlikeInstance.mouseInShowPopupNode[reaction] = true;\n\n\t\tclearTimeout(likeInstance.popupTimeoutIdList);\n\t\tclearTimeout(likeInstance.popupTimeoutIdShow);\n\n\t\tlikeInstance.popupTimeoutIdList = setTimeout(() => {\n\t\t\tthis.getListPopup({\n\t\t\t\tlikeId: likeId,\n\t\t\t\ttarget: mouseEnterEvent.currentTarget,\n\t\t\t\treaction: reaction,\n\t\t\t\tnodeId: nodeId,\n\t\t\t});\n\t\t}, 300);\n\t}\n\n\tstatic onResultMouseLeave(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : false);\n\t\tconst reaction = (Type.isStringFilled(params.reaction) ? params.reaction : '');\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tlikeInstance.mouseInShowPopupNode[reaction] = false;\n\t\tlikeInstance.resultPopupAnimation = false;\n\t}\n}\n","import { Type, Loc, Dom, Runtime, pos, GetWindowSize } from 'main.core';\nimport { EventEmitter } from 'main.core.events'\nimport {Lottie} from 'ui.lottie';\n\nimport { RatingManager } from './manager';\nimport { RatingLike } from './like';\nimport { ListPopup } from './listpopup';\nimport likeAnimatedEmojiData from '../animations/em_01.json';\nimport laughAnimatedEmojiData from '../animations/em_02.json';\nimport wonderAnimatedEmojiData from '../animations/em_03.json';\nimport cryAnimatedEmojiData from '../animations/em_04.json';\nimport angryAnimatedEmojiData from '../animations/em_05.json';\nimport facepalmAnimatedEmojiData from '../animations/em_06.json';\nimport kissAnimatedEmojiData from '../animations/em_07.json';\n\nexport class RatingRender\n{\n\tstatic reactionsList = [ 'like', 'kiss', 'laugh', 'wonder', 'cry', 'angry', 'facepalm' ];\n\tstatic reactionsAnimationData = {\n\t\tlike: likeAnimatedEmojiData,\n\t\tkiss: kissAnimatedEmojiData,\n\t\tlaugh: laughAnimatedEmojiData,\n\t\twonder: wonderAnimatedEmojiData,\n\t\tcry: cryAnimatedEmojiData,\n\t\tangry: angryAnimatedEmojiData,\n\t\tfacepalm: facepalmAnimatedEmojiData,\n\t}\n\tstatic popupCurrentReaction = false;\n\tstatic popupPagesList = [];\n\tstatic popupSizeInitialized = false;\n\tstatic blockShowPopup = false;\n\tstatic blockShowPopupTimeout = false;\n\tstatic afterClickBlockShowPopup = false;\n\tstatic afterClickHandler = null;\n\tstatic touchStartPosition = null;\n\tstatic touchCurrentPosition = {\n\t\tx: null,\n\t\ty: null,\n\t};\n\tstatic currentReactionNodeHover = null;\n\n\tstatic touchMoveDeltaY = null;\n\tstatic touchScrollTop = 0;\n\n\tstatic hasMobileTouchMoved = null;\n\tstatic mobileOverlay = null;\n\n\tstatic reactionsPopup = null;\n\tstatic reactionsPopupAnimation = null;\n\tstatic reactionsPopupAnimation2 = null;\n\tstatic reactionsPopupLikeId = null;\n\tstatic reactionsPopupMouseOutHandler = null;\n\tstatic reactionsPopupOpacityState = 0;\n\tstatic reactionsPopupTouchStartIn = null;\n\tstatic reactionsPopupPositionY = null;\n\tstatic blockTouchEndByScroll = false;\n\n\tstatic reactionsPopupMobileTouchEndHandler = this.reactionsPopupMobileTouchEnd.bind(this);\n\tstatic reactionsPopupMobileTouchMoveHandler = this.reactionsPopupMobileTouchMove.bind(this);\n\tstatic reactionsPopupMobileHideHandler = this.reactionsPopupMobileHide.bind(this);\n\n\tstatic getTopUsersText(params)\n\t{\n\t\tconst currentUserId = Number(Loc.getMessage('USER_ID'));\n\t\tconst you = (!Type.isUndefined(params.you) ? !!params.you : false);\n\t\tconst topList = (!Type.isUndefined(params.top) && Type.isArray(params.top) ? params.top : []);\n\t\tconst more = (!Type.isUndefined(params.more) ? Number(params.more) : 0);\n\t\tlet result = '';\n\n\t\tif (\n\t\t\ttopList.length <= 0\n\t\t\t&& !you\n\t\t\t&& (\n\t\t\t\tRatingManager.mobile\n\t\t\t\t|| more <= 0\n\t\t\t)\n\t\t)\n\t\t{\n\t\t\treturn result;\n\t\t}\n\n\t\tif (RatingManager.mobile)\n\t\t{\n\t\t\tif (you)\n\t\t\t{\n\t\t\t\ttopList.push({\n\t\t\t\t\tID: currentUserId,\n\t\t\t\t\tNAME_FORMATTED: Loc.getMessage('RATING_LIKE_TOP_TEXT3_YOU'),\n\t\t\t\t\tWEIGHT: 1,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tresult = Loc.getMessage(`RATING_LIKE_TOP_TEXT3_${(topList.length > 1 ? '2' : '1')}`)\n\t\t\t\t.replace('#OVERFLOW_START#', RatingManager.mobile ? '<span class=\"feed-post-emoji-text-item-overflow\">' : '')\n\t\t\t\t.replace('#OVERFLOW_END#', RatingManager.mobile ? '</span>' : '');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresult = Loc.getMessage(`RATING_LIKE_TOP_TEXT2_${(you ? 'YOU_' : '')}${(topList.length)}${(more > 0 ? '_MORE' : '')}`)\n\t\t\t\t.replace('#OVERFLOW_START#', RatingManager.mobile ? '<span class=\"feed-post-emoji-text-item-overflow\">' : '')\n\t\t\t\t.replace('#OVERFLOW_END#', RatingManager.mobile ? '</span>' : '')\n\t\t\t\t.replace('#MORE_START#', RatingManager.mobile ? '<span class=\"feed-post-emoji-text-item-more\">' : '&nbsp;')\n\t\t\t\t.replace('#MORE_END#', RatingManager.mobile ? '</span>' : '');\n\t\t}\n\n\t\tif (RatingManager.mobile)\n\t\t{\n\t\t\ttopList.sort((a, b) => {\n\t\t\t\tif (parseInt(a.ID) === currentUserId)\n\t\t\t\t{\n\t\t\t\t\treturn -1;\n\t\t\t\t}\n\n\t\t\t\tif (parseInt(b.ID) === currentUserId)\n\t\t\t\t{\n\t\t\t\t\treturn 1;\n\t\t\t\t}\n\n\t\t\t\tif (parseFloat(a.WEIGHT) === parseFloat(b.WEIGHT))\n\t\t\t\t{\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn (parseFloat(a.WEIGHT) > parseFloat(b.WEIGHT) ? -1 : 1);\n\t\t\t});\n\n\t\t\tconst userNameList = topList.map((item) => {\n\t\t\t\treturn item.NAME_FORMATTED;\n\t\t\t});\n\n\t\t\tlet userNameBegin = '';\n\t\t\tlet userNameEnd = '';\n\n\t\t\tif (userNameList.length === 1)\n\t\t\t{\n\t\t\t\tuserNameBegin = userNameList.pop();\n\t\t\t\tuserNameEnd = '';\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tuserNameBegin = userNameList.slice(0, userNameList.length - 1)\n\t\t\t\t\t.join(Loc.getMessage('RATING_LIKE_TOP_TEXT3_USERLIST_SEPARATOR').replace(/#USERNAME#/g, ''));\n\t\t\t\tuserNameEnd = userNameList[userNameList.length - 1];\n\t\t\t}\n\n\t\t\tresult = result.replace('#USER_LIST_BEGIN#', userNameBegin)\n\t\t\t\t.replace('#USER_LIST_END#', userNameEnd);\n\t\t}\n\t\telse\n\t\t{\n\t\t\ttopList.forEach((item, i) => {\n\n\t\t\t\tresult = result.replace(\n\t\t\t\t\t`#USER_${(Number(i) + 1)}#`,\n\t\t\t\t\t`<span class=\"feed-post-emoji-text-item\">${item.NAME_FORMATTED}</span>`\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tresult = result.replace('#USERS_MORE#', '<span class=\"feed-post-emoji-text-item\">' + more + '</span>');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tstatic getUserReaction(params)\n\t{\n\t\treturn (\n\t\t\tType.isDomNode(params.userReactionNode)\n\t\t\t\t? params.userReactionNode.getAttribute('data-value')\n\t\t\t\t: ''\n\t\t);\n\t}\n\n\tstatic setReaction(params)\n\t{\n\t\tif (\n\t\t\tType.isUndefined(params.rating)\n\t\t\t|| !Type.isStringFilled(params.likeId)\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst action = (Type.isStringFilled(params.action) ? params.action : 'add');\n\t\tif (!['add', 'cancel', 'change'].includes(action))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst likeId = params.likeId;\n\t\tconst rating = params.rating;\n\t\tconst userReaction = (Type.isStringFilled(params.userReaction) ? params.userReaction : Loc.getMessage('RATING_LIKE_REACTION_DEFAULT'));\n\t\tconst userReactionOld = (Type.isStringFilled(params.userReactionOld) ? params.userReactionOld : Loc.getMessage('RATING_LIKE_REACTION_DEFAULT'));\n\t\tif (\n\t\t\taction === 'change'\n\t\t\t&& userReaction === userReactionOld\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst totalCount = (!Type.isUndefined(params.totalCount) ? Number(params.totalCount) : null);\n\t\tconst currentUserId = Number(Loc.getMessage('USER_ID'));\n\t\tconst userId = (!Type.isUndefined(params.userId) ? Number(params.userId) : currentUserId);\n\n\t\tconst userReactionNode = this.getNode(rating.userReactionNode);\n\t\tconst reactionsNode = this.getNode(rating.reactionsNode);\n\t\tconst topPanel = this.getNode(rating.topPanel);\n\t\tconst topPanelContainer = this.getNode(rating.topPanelContainer);\n\t\tconst topUsersText = this.getNode(rating.topUsersText);\n\t\tconst countText = this.getNode(rating.countText);\n\t\tconst buttonText = this.getNode(rating.buttonText);\n\n\t\tif (\n\t\t\tuserId === currentUserId // not pull\n\t\t\t&& userReactionNode\n\t\t)\n\t\t{\n\t\t\tuserReactionNode.setAttribute('data-value', [ 'add', 'change' ].includes(action) ? userReaction : '');\n\t\t}\n\n\t\tlet i = 0;\n\t\tlet elements = [];\n\t\tlet elementsNew = [];\n\n\t\tif (\n\t\t\ttotalCount !== null\n\t\t\t&& topPanel\n\t\t\t&& topUsersText\n\t\t\t&& reactionsNode\n\t\t)\n\t\t{\n\t\t\tif (totalCount > 0)\n\t\t\t{\n\t\t\t\ttopPanelContainer.classList.add('feed-post-emoji-top-panel-container-active');\n\n\t\t\t\tif (!topPanel.classList.contains('feed-post-emoji-container-toggle'))\n\t\t\t\t{\n\t\t\t\t\ttopPanel.classList.add('feed-post-emoji-container-toggle');\n\t\t\t\t\ttopUsersText.classList.add('feed-post-emoji-move-to-right');\n\t\t\t\t\treactionsNode.classList.add('feed-post-emoji-icon-box-show');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (totalCount <= 0)\n\t\t\t{\n\t\t\t\ttopPanelContainer.classList.remove('feed-post-emoji-top-panel-container-active');\n\n\t\t\t\tif (topPanel.classList.contains('feed-post-emoji-container-toggle'))\n\t\t\t\t{\n\t\t\t\t\ttopPanel.classList.remove('feed-post-emoji-container-toggle');\n\t\t\t\t\ttopUsersText.classList.remove('feed-post-emoji-move-to-right');\n\t\t\t\t\treactionsNode.classList.remove('feed-post-emoji-icon-box-show');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\ttotalCount !== null\n\t\t\t&& countText\n\t\t)\n\t\t{\n\t\t\tif (\n\t\t\t\ttotalCount <= 0\n\t\t\t\t&& !countText.classList.contains('feed-post-emoji-text-counter-invisible')\n\t\t\t)\n\t\t\t{\n\t\t\t\tcountText.classList.add('feed-post-emoji-text-counter-invisible');\n\t\t\t}\n\t\t\telse if (\n\t\t\t\ttotalCount > 0\n\t\t\t\t&& countText.classList.contains('feed-post-emoji-text-counter-invisible')\n\t\t\t)\n\t\t\t{\n\t\t\t\tcountText.classList.remove('feed-post-emoji-text-counter-invisible');\n\t\t\t}\n\t\t}\n\n\t\tif (reactionsNode)\n\t\t{\n\t\t\tconst reactionsContainer = reactionsNode.querySelector('.feed-post-emoji-icon-container');\n\t\t\telements = reactionsNode.querySelectorAll('.feed-post-emoji-icon-item');\n\n\t\t\tif (reactionsContainer)\n\t\t\t{\n\t\t\t\tlet found = false;\n\t\t\t\tlet newValue = false;\n\n\t\t\t\telements.forEach((element) => {\n\n\t\t\t\t\tconst reactionValue = element.getAttribute('data-reaction');\n\t\t\t\t\tconst reactionCount = Number(element.getAttribute('data-value'));\n\n\t\t\t\t\tif (reactionValue === userReaction)\n\t\t\t\t\t{\n\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\tif (action === 'cancel')\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewValue = (reactionCount > 0 ? reactionCount - 1 : 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if ([ 'add', 'change' ].includes(action))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewValue = reactionCount + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (newValue > 0 && newValue > reactionCount)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\t\t\treaction: reactionValue,\n\t\t\t\t\t\t\t\tcount: newValue,\n\t\t\t\t\t\t\t\tanimate: {\n\t\t\t\t\t\t\t\t\ttype: 'pop',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (newValue > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\t\t\treaction: reactionValue,\n\t\t\t\t\t\t\t\tcount: reactionCount,\n\t\t\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (\n\t\t\t\t\t\taction === 'change'\n\t\t\t\t\t\t&& reactionValue === userReactionOld\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tnewValue = (reactionCount > 0 ? reactionCount - 1 : 0);\n\n\t\t\t\t\t\tif (newValue > 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\t\t\treaction: reactionValue,\n\t\t\t\t\t\t\t\tcount: newValue,\n\t\t\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\t\treaction: reactionValue,\n\t\t\t\t\t\t\tcount: reactionCount,\n\t\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (\n\t\t\t\t\t['add', 'change'].includes(action)\n\t\t\t\t\t&& !found\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\treaction: userReaction,\n\t\t\t\t\t\tcount: 1,\n\t\t\t\t\t\tanimate: true,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tDom.clean(reactionsContainer);\n\n\t\t\t\tif (topPanel)\n\t\t\t\t{\n\t\t\t\t\tif (elementsNew.length > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\ttopPanel.classList.add('feed-post-emoji-container-nonempty');\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttopPanel.classList.remove('feed-post-emoji-container-nonempty');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (RatingManager.mobile)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst commentNode = topPanel.closest('.post-comment-block');\n\t\t\t\t\t\tif (commentNode)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (elementsNew.length > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcommentNode.classList.add('comment-block-rating-nonempty');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcommentNode.classList.remove('comment-block-rating-nonempty');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.drawReactions({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\tcontainer: reactionsContainer,\n\t\t\t\t\tdata: elementsNew,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tuserId === currentUserId\n\t\t\t&& buttonText\n\t\t)\n\t\t{\n\t\t\tif ([ 'add', 'change' ].includes(action))\n\t\t\t{\n\t\t\t\tbuttonText.innerHTML = Loc.getMessage(`RATING_LIKE_EMOTION_${userReaction.toUpperCase()}_CALC`);\n\t\t\t\tif (RatingManager.mobile)\n\t\t\t\t{\n\t\t\t\t\tbuttonText.parentElement.className = '';\n\t\t\t\t\tbuttonText.parentElement.classList.add(\n\t\t\t\t\t\t'bx-ilike-left-wrap',\n\t\t\t\t\t\t'bx-you-like-button',\n\t\t\t\t\t\t`bx-you-like-button-${userReaction.toLowerCase()}`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tbuttonText.innerHTML = Loc.getMessage('RATING_LIKE_EMOTION_LIKE_CALC');\n\t\t\t\tif (RatingManager.mobile)\n\t\t\t\t{\n\t\t\t\t\tbuttonText.parentElement.className = 'bx-ilike-left-wrap';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic drawReactions(params)\n\t{\n\t\tconst container = (Type.isDomNode(params.container) ? params.container : null);\n\t\tconst data = (Type.isArray(params.data) ? params.data : []);\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '')\n\t\tif (\n\t\t\t!container\n\t\t\t|| !Type.isStringFilled(likeId)\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst reactionEvents = (\n\t\t\tRatingManager.mobile\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\tclick: this.resultReactionClick.bind(this),\n\t\t\t\t\tmouseenter: this.resultReactionMouseEnter.bind(this),\n\t\t\t\t\tmouseleave: this.resultReactionMouseLeave.bind(this),\n\t\t\t\t}\n\t\t);\n\n\t\tDom.clean(container);\n\n\t\tconst reactionsData = {};\n\n\t\tdata.forEach((element, i) => {\n\n\t\t\tconst classList = [\n\t\t\t\t'feed-post-emoji-icon-item',\n\t\t\t\t`feed-post-emoji-icon-item-${(i+1)}`,\n\t\t\t];\n\n\t\t\tif (element?.animate)\n\t\t\t{\n\t\t\t\tif (element.animate?.type === 'pop')\n\t\t\t\t{\n\t\t\t\t\tclassList.push('feed-post-emoji-animation-pop');\n\t\t\t\t}\n\t\t\t\telse if (i >= 1)\n\t\t\t\t{\n\t\t\t\t\tclassList.push('feed-post-emoji-icon-animate');\n\t\t\t\t}\n\t\t\t\telse if (data.length == 1)\n\t\t\t\t{\n\t\t\t\t\tclassList.push('feed-post-emoji-animation-pop');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst emojiContainer = Dom.create('div', {\n\t\t\t\tprops: {\n\t\t\t\t\tid: `bx-ilike-result-reaction-${element.reaction}-${likeId}`,\n\t\t\t\t\tclassName: classList.join(' '),\n\t\t\t\t},\n\t\t\t\tattrs: {\n\t\t\t\t\t'data-reaction': element.reaction,\n\t\t\t\t\t'data-value': element.count,\n\t\t\t\t\t'data-like-id': likeId,\n\t\t\t\t\ttitle: Loc.getMessage(`RATING_LIKE_EMOTION_${element.reaction.toUpperCase()}_CALC`),\n\t\t\t\t},\n\t\t\t\tevents: reactionEvents,\n\t\t\t});\n\n\t\t\tconst animation = Lottie.loadAnimation({\n\t\t\t\tanimationData: this.reactionsAnimationData[element.reaction],\n\t\t\t\tcontainer: emojiContainer,\n\t\t\t\tloop: false,\n\t\t\t\tautoplay: false,\n\t\t\t\trenderer: 'svg',\n\t\t\t\trendererSettings: {\n\t\t\t\t\tviewBoxOnly: true,\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (Boolean(element.animate))\n\t\t\t{\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tanimation.play();\n\t\t\t\t}, 200);\n\t\t\t}\n\n\t\t\tcontainer.appendChild(emojiContainer);\n\n\t\t\treactionsData[element.reaction] = element.count;\n\t\t});\n\n\t\tcontainer.setAttribute('data-reactions-data', JSON.stringify(reactionsData));\n\t}\n\n\tstatic showReactionsPopup(params)\n\t{\n\t\tconst bindElement = this.getNode(params.bindElement);\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\n\t\tif (\n\t\t\t!bindElement\n\t\t\t|| !Type.isStringFilled(likeId)\n\t\t)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.reactionsPopupLikeId = likeId;\n\n\t\tif (this.reactionsPopup === null)\n\t\t{\n\t\t\tconst reactionsNodesList = [];\n\n\t\t\tthis.reactionsList.forEach((currentEmotion, index) => {\n\n\t\t\t\tconst emojiItem = Dom.create('div', {\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: `feed-post-emoji-icon-item`,\n\t\t\t\t\t},\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\t'data-reaction': currentEmotion,\n\t\t\t\t\t\ttitle: Loc.getMessage(`RATING_LIKE_EMOTION_${currentEmotion.toUpperCase()}_CALC`),\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tLottie.loadAnimation({\n\t\t\t\t\trenderer: 'svg',\n\t\t\t\t\tcontainer: emojiItem,\n\t\t\t\t\tanimationData: this.reactionsAnimationData[currentEmotion],\n\t\t\t\t});\n\n\t\t\t\treactionsNodesList.push(emojiItem);\n\t\t\t});\n\n\t\t\tthis.reactionsPopup = Dom.create('div', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: `feed-post-emoji-popup-container ${(RatingManager.mobile ? '--mobile' : '')}`,\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\tDom.create('div', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'feed-post-emoji-icon-inner',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: reactionsNodesList,\n\t\t\t\t\t})\n\t\t\t\t],\n\t\t\t});\n\n\t\t\tthis.reactionsPopup.addEventListener((RatingManager.mobile ? 'touchend' : 'click'), (e) => {\n\n\t\t\t\tconst reactionNode = (\n\t\t\t\t\t(e.target.classList.contains('feed-post-emoji-icon-item'))\n\t\t\t\t\t\t? e.target\n\t\t\t\t\t\t: e.target.closest('.feed-post-emoji-icon-item')\n\t\t\t\t);\n\n\t\t\t\tif (reactionNode)\n\t\t\t\t{\n\t\t\t\t\tRatingLike.ClickVote(\n\t\t\t\t\t\te,\n\t\t\t\t\t\tthis.reactionsPopupLikeId,\n\t\t\t\t\t\treactionNode.getAttribute('data-reaction'),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\te.preventDefault();\n\t\t\t});\n\n\t\t\tDom.append(this.reactionsPopup, document.body);\n\t\t}\n\t\telse if (this.reactionsPopup.classList.contains('feed-post-emoji-popup-invisible'))\n\t\t{\n\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-invisible');\n\t\t}\n\t\telse if (\n\t\t\tRatingManager.mobile\n\t\t\t&& this.reactionsPopup.classList.contains('feed-post-emoji-popup-invisible-final-mobile')\n\t\t)\n\t\t{\n\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-invisible-final-mobile');\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.reactionsPopupMouseOutHandler = this.getReactionsPopupMouseOutHandler(likeId);\n\n\t\tconst bindElementPosition = pos(bindElement);\n\n\t\tif (\n\t\t\tbindElement.closest('.feed-com-informers-bottom')\n\t\t\t&& bindElement.closest('.iframe-comments-cont, .task-iframe-popup')\n\t\t)\n\t\t{\n\t\t\tbindElementPosition.left += 100;\n\t\t}\n\n\t\tconst inverted = ((bindElementPosition.top - GetWindowSize().scrollTop) < 80);\n\t\tconst deltaY = (inverted ? 15 : -45);\n\n\t\tif (inverted)\n\t\t{\n\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-inverted');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-inverted');\n\t\t}\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (RatingManager.mobile)\n\t\t{\n\t\t\tthis.touchMoveDeltaY = (inverted ? 60 : -45);\n\t\t\tDom.adjust(this.reactionsPopup, {\n\t\t\t\tstyle: {\n\t\t\t\t\tleft: '12px',\n\t\t\t\t\ttop: ((inverted ? (bindElementPosition.top - 23) : (bindElementPosition.top - 28)) + deltaY) + 'px',\n\t\t\t\t\twidth: '330px',\n\t\t\t\t\tborderRadius: '61px',\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-invisible-final');\n\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-active-final');\n\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-active-final-item');\n\t\t\tlikeInstance.box.classList.add('feed-post-emoji-control-active');\n\t\t\tthis.reactionsPopupMobileDisableScroll();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.reactionsPopupAnimation = new BX.easing({\n\t\t\t\tduration: 300,\n\t\t\t\tstart: {\n\t\t\t\t\twidth: 100,\n\t\t\t\t\tleft: (bindElementPosition.left + (bindElementPosition.width / 2) - 50),\n\t\t\t\t\ttop: ((inverted ? bindElementPosition.top - 30 : bindElementPosition.top + 30 ) + deltaY),\n\t\t\t\t\tborderRadius: 0,\n\t\t\t\t\topacity: 0,\n\t\t\t\t},\n\t\t\t\tfinish: {\n\t\t\t\t\twidth: 300,\n\t\t\t\t\tleft: (bindElementPosition.left + (bindElementPosition.width / 2) - 133),\n\t\t\t\t\ttop: (bindElementPosition.top + deltaY - 5),\n\t\t\t\t\tborderRadius: 50,\n\t\t\t\t\topacity: 100,\n\t\t\t\t},\n\t\t\t\ttransition : BX.easing.makeEaseInOut(BX.easing.transitions.cubic),\n\t\t\t\tstep: (state) => {\n\t\t\t\t\tthis.reactionsPopup.style.width = `${state.width}px`;\n\t\t\t\t\tthis.reactionsPopup.style.left = `${state.left}px`;\n\t\t\t\t\tthis.reactionsPopup.style.top = `${state.top}px`;\n\t\t\t\t\tthis.reactionsPopup.style.borderRadius = `${state.borderRadius}px`;\n\t\t\t\t\tthis.reactionsPopup.style.opacity = state.opacity / 100;\n\t\t\t\t\tthis.reactionsPopupOpacityState = state.opacity;\n\t\t\t\t},\n\t\t\t\tcomplete: () => {\n\t\t\t\t\tthis.reactionsPopup.style.opacity = '';\n\t\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-active-final');\n\t\t\t\t\tlikeInstance.box.classList.add('feed-post-emoji-control-active');\n\t\t\t\t},\n\t\t\t});\n\t\t\tthis.reactionsPopupAnimation.animate();\n\n\t\t\tsetTimeout(() => {\n\n\t\t\t\tconst reactions = this.reactionsPopup.querySelectorAll('.feed-post-emoji-icon-item');\n\n\t\t\t\tthis.reactionsPopupAnimation2 = new BX.easing({\n\t\t\t\t\tduration: 140,\n\t\t\t\t\tstart: {\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t\tfinish: {\n\t\t\t\t\t\topacity: 100\n\t\t\t\t\t},\n\t\t\t\t\ttransition : BX.easing.transitions.cubic,\n\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\treactions[0].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[1].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[2].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[3].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[4].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[5].style.opacity = state.opacity / 100;\n\t\t\t\t\t\treactions[6].style.opacity = state.opacity / 100;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-active-final-item');\n\t\t\t\t\t\treactions[0].style.opacity = '';\n\t\t\t\t\t\treactions[1].style.opacity = '';\n\t\t\t\t\t\treactions[2].style.opacity = '';\n\t\t\t\t\t\treactions[3].style.opacity = '';\n\t\t\t\t\t\treactions[4].style.opacity = '';\n\t\t\t\t\t\treactions[5].style.opacity = '';\n\t\t\t\t\t\treactions[6].style.opacity = '';\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tthis.reactionsPopupAnimation2.animate();\n\t\t\t}, 100);\n\t\t}\n\n\t\tif (!this.reactionsPopup.classList.contains('feed-post-emoji-popup-active'))\n\t\t{\n\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-active');\n\t\t}\n\n\t\tif (!RatingManager.mobile)\n\t\t{\n\t\t\tdocument.addEventListener('mousemove', this.reactionsPopupMouseOutHandler);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.touchScrollTop = GetWindowSize().scrollTop;\n\t\t\tthis.hasMobileTouchMoved = null;\n\n\t\t\twindow.addEventListener('touchend', this.reactionsPopupMobileTouchEndHandler);\n\t\t\twindow.addEventListener('touchmove', this.reactionsPopupMobileTouchMoveHandler);\n\t\t}\n\t}\n\n\tstatic reactionsPopupMobileTouchEnd(e)\n\t{\n\t\tconst coords = {\n\t\t\tx: e.changedTouches[0].pageX, // e.touches[0].clientX + window.pageXOffset\n\t\t\ty: e.changedTouches[0].pageY, // e.touches[0].clientY + window.pageYOffset\n\t\t};\n\n\t\tif (this.hasMobileTouchMoved === true)\n\t\t{\n\t\t\tlet userReaction = null;\n\t\t\tconst reactionNode = this.reactionsPopupMobileGetHoverNode(coords.x, coords.y);\n\n\t\t\tif (\n\t\t\t\treactionNode\n\t\t\t\t&& (userReaction = reactionNode.getAttribute('data-reaction'))\n\t\t\t)\n\t\t\t{\n\t\t\t\tRatingLike.ClickVote(\n\t\t\t\t\te,\n\t\t\t\t\tthis.reactionsPopupLikeId,\n\t\t\t\t\tuserReaction,\n\t\t\t\t\ttrue\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis.reactionsPopupMobileHideHandler();\n\t\t}\n\t\telse // show reactions popup and handle clicks\n\t\t{\n\t\t\twindow.addEventListener('touchend', this.reactionsPopupMobileHideHandler);\n\t\t}\n\n\t\twindow.removeEventListener('touchend', this.reactionsPopupMobileTouchEndHandler);\n\t\twindow.removeEventListener('touchmove', this.reactionsPopupMobileTouchMoveHandler);\n\n\t\tthis.touchStartPosition = null;\n\t\te.preventDefault();\n\t}\n\n\tstatic reactionsPopupMobileTouchMove(e)\n\t{\n\t\tconst coords = {\n\t\t\tx: e.touches[0].pageX, // e.touches[0].clientX + window.pageXOffset\n\t\t\ty: e.touches[0].pageY, // e.touches[0].clientY + window.pageYOffset\n\t\t};\n\n\n\t\tthis.touchCurrentPosition = {\n\t\t\tx: coords.x,\n\t\t\ty: coords.y,\n\t\t};\n\n\t\tif (this.touchStartPosition === null)\n\t\t{\n\t\t\tthis.touchStartPosition = {\n\t\t\t\tx: coords.x,\n\t\t\t\ty: coords.y,\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.hasMobileTouchMoved !== true)\n\t\t\t{\n\t\t\t\tthis.hasMobileTouchMoved = !this.reactionsPopupMobileCheckTouchMove();\n\t\t\t}\n\t\t}\n\n\t\tif (this.hasMobileTouchMoved === true)\n\t\t{\n\t\t\tconst reactionNode = this.reactionsPopupMobileGetHoverNode(coords.x, coords.y);\n\t\t\tif (reactionNode)\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tthis.currentReactionNodeHover\n\t\t\t\t\t&& this.currentReactionNodeHover !== reactionNode\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.reactionsPopupMobileRemoveHover(this.currentReactionNodeHover);\n\t\t\t\t}\n\t\t\t\tthis.reactionsPopupMobileAddHover(reactionNode);\n\t\t\t\tthis.currentReactionNodeHover = reactionNode;\n\t\t\t}\n\t\t\telse if (this.currentReactionNodeHover)\n\t\t\t{\n\t\t\t\tthis.reactionsPopupMobileRemoveHover(this.currentReactionNodeHover);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (this.currentReactionNodeHover)\n\t\t\t{\n\t\t\t\tthis.reactionsPopupMobileRemoveHover(this.currentReactionNodeHover);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic blockReactionsPopup()\n\t{\n\t\tif (this.blockShowPopupTimeout)\n\t\t{\n\t\t\twindow.clearTimeout(this.blockShowPopupTimeout);\n\t\t}\n\n\t\tthis.blockShowPopup = true;\n\t\tthis.blockShowPopupTimeout = setTimeout(() => {\n\t\t\tthis.blockShowPopup = false;\n\t\t}, 500);\n\t}\n\n\tstatic hideReactionsPopup(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : false);\n\n\t\tif (this.reactionsPopup)\n\t\t{\n\t\t\tif (RatingManager.mobile)\n\t\t\t{\n\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-invisible-final');\n\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-invisible-final-mobile');\n\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active');\n\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active-final');\n\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active-final-item');\n\t\t\t\tthis.reactionsPopupMobileEnableScroll();\n\t\t\t\tDom.remove(this.reactionsPopup);\n\t\t\t\tthis.reactionsPopup = null;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (this.reactionsPopupAnimation)\n\t\t\t\t{\n\t\t\t\t\tthis.reactionsPopupAnimation.stop();\n\t\t\t\t}\n\t\t\t\tif (this.reactionsPopupAnimation2)\n\t\t\t\t{\n\t\t\t\t\tthis.reactionsPopupAnimation2.stop();\n\t\t\t\t}\n\n\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-invisible');\n\n\t\t\t\tthis.reactionsPopupAnimation4 = new BX.easing({\n\t\t\t\t\tduration: 500,\n\t\t\t\t\tstart: {\n\t\t\t\t\t\topacity: this.reactionsPopupOpacityState,\n\t\t\t\t\t},\n\t\t\t\t\tfinish: {\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t},\n\t\t\t\t\ttransition: BX.easing.transitions.linear,\n\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\tthis.reactionsPopup.style.opacity = state.opacity / 100;\n\t\t\t\t\t\tthis.reactionsPopupOpacityState = state.opacity;\n\t\t\t\t\t},\n\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\tthis.reactionsPopup.style.opacity = '';\n\t\t\t\t\t\tthis.reactionsPopup.classList.add('feed-post-emoji-popup-invisible-final');\n\t\t\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active');\n\t\t\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active-final');\n\t\t\t\t\t\tthis.reactionsPopup.classList.remove('feed-post-emoji-popup-active-final-item');\n\t\t\t\t\t\tDom.remove(this.reactionsPopup);\n\t\t\t\t\t\tthis.reactionsPopup = null;\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\tthis.reactionsPopupAnimation4.animate();\n\t\t\t}\n\n\t\t\tthis.reactionsPopupLikeId = null;\n\n\t\t\tif (likeId)\n\t\t\t{\n\t\t\t\tRatingLike.getInstance(likeId).box.classList.remove('feed-post-emoji-control-active');\n\t\t\t}\n\t\t}\n\n\t\tthis.reactionsPopupMobileRemoveHover(this.currentReactionNodeHover);\n\n\t\tif (likeId)\n\t\t{\n\t\t\tthis.bindReactionsPopup({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic reactionsPopupMobileCheckTouchMove()\n\t{\n\t\tif (this.touchStartPosition === null)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tif (\n\t\t\t\tMath.abs(this.touchCurrentPosition.x - this.touchStartPosition.x) > 5\n\t\t\t\t|| Math.abs(this.touchCurrentPosition.y - this.touchStartPosition.y) > 5\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tstatic reactionsPopupMobileHide(e)\n\t{\n\t\twindow.removeEventListener('touchend', this.reactionsPopupMobileHideHandler);\n\t\tif (this.reactionsPopupLikeId)\n\t\t{\n\t\t\tthis.hideReactionsPopup({\n\t\t\t\tlikeId: this.reactionsPopupLikeId,\n\t\t\t});\n\n\t\t\tif (e)\n\t\t\t{\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic reactionsPopupMobileGetHoverNode(x, y)\n\t{\n\t\tconst nodeAboveFinger = document.elementFromPoint(x, (y + this.touchMoveDeltaY - this.touchScrollTop));\n\t\tconst nodeBelowFinger = document.elementFromPoint(x, (y - this.touchScrollTop));\n\n\t\tconst iconNodeAboveFinger = nodeAboveFinger?.closest('[data-reaction]');\n\t\tconst iconNodeBelowFinger = nodeBelowFinger?.closest('[data-reaction]');\n\n\t\tconst reactionNode = iconNodeAboveFinger || iconNodeBelowFinger;\n\n\t\tconst userReaction = reactionNode?.getAttribute('data-reaction');\n\n\t\treturn Type.isStringFilled(userReaction) ? reactionNode : null;\n\t}\n\n\tstatic reactionsPopupMobileAddHover(reactionNode)\n\t{\n\t\tif (!reactionNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\treactionNode.classList.add('feed-post-emoji-icon-item-hover');\n\t}\n\n\tstatic reactionsPopupMobileRemoveHover(reactionNode)\n\t{\n\t\tif (!reactionNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\treactionNode.classList.remove('feed-post-emoji-icon-item-hover');\n\t}\n\n\tstatic reactionsPopupMobileEnableScroll()\n\t{\n\t\tdocument.removeEventListener('touchmove', this.touchMoveScrollListener, { passive: false });\n\t\tEventEmitter.emit('onPullDownEnable');\n\n\t\tif (this.mobileOverlay !== null)\n\t\t{\n\t\t\tDom.clean(this.mobileOverlay);\n\t\t\tDom.remove(this.mobileOverlay);\n\n\t\t\tthis.mobileOverlay = null;\n\t\t}\n\t}\n\n\tstatic reactionsPopupMobileDisableScroll()\n\t{\n\t\tdocument.addEventListener('touchmove', this.touchMoveScrollListener, { passive: false });\n\t\tif (app)\n\t\t{\n\t\t\tapp.exec('disableTabScrolling');\n\t\t}\n\t\tEventEmitter.emit('onPullDownDisable');\n\n\t\tif (!Type.isNull(this.mobileOverlay))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.mobileOverlay = Dom.create('DIV', {\n\t\t\tprops: {\n\t\t\t\tclassName: 'feed-post-emoji-popup-mobile-overlay',\n\t\t\t},\n\t\t});\n\t\tsetTimeout(() => {\n\t\t\tif (Type.isNull(this.mobileOverlay))\n\t\t\t{\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tDom.append(this.mobileOverlay, document.body);\n\t\t}, 1000); // to avoid blink\n\t}\n\n\tstatic bindReactionsPopup(params) {\n\n\t\tif (RatingManager.mobile)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\n\t\tif (!Type.isStringFilled(likeId))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\t\tif (!likeInstance)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tlikeInstance.mouseOverHandler = Runtime.debounce(this.getMouseOverHandler(likeId), 500);\n\n\t\tlikeInstance.box.addEventListener('mouseenter', likeInstance.mouseOverHandler);\n\t\tlikeInstance.box.addEventListener('mouseleave', this.blockReactionsPopup);\n\t}\n\n\tstatic touchMoveScrollListener(e)\n\t{\n\t\te.preventDefault();\n\t}\n\n\tstatic getReactionsPopupMouseOutHandler(likeId)\n\t{\n\t\treturn (e) => {\n\n\t\t\tconst popupPosition = this.reactionsPopup.getBoundingClientRect();\n\t\t\tconst inverted = this.reactionsPopup.classList.contains('feed-post-emoji-popup-inverted');\n\n\t\t\tif (\n\t\t\t\te.clientX >= popupPosition.left\n\t\t\t\t&& e.clientX <= popupPosition.right\n\t\t\t\t&& e.clientY >= popupPosition.top - (inverted ? 25 : 0)\n\t\t\t\t&& e.clientY <= (popupPosition.bottom + (inverted ? 0 : 25))\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.blockReactionsPopup();\n\t\t\tthis.hideReactionsPopup({\n\t\t\t\tlikeId: likeId\n\t\t\t});\n\n\t\t\tdocument.removeEventListener('mousemove', this.reactionsPopupMouseOutHandler)\n\t\t\tthis.reactionsPopupMouseOutHandler = null;\n\t\t};\n\t}\n\n\tstatic getMouseOverHandler(likeId)\n\t{\n\t\treturn () => {\n\n\t\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\t\tif (!this.afterClickBlockShowPopup)\n\t\t\t{\n\t\t\t\tif (this.blockShowPopup)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (RatingManager.mobile)\n\t\t\t\t{\n\t\t\t\t\tapp.exec('callVibration');\n\t\t\t\t}\n\n\t\t\t\tthis.showReactionsPopup({\n\t\t\t\t\tbindElement: likeInstance.box,\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tlikeInstance.box.removeEventListener('mouseenter', likeInstance.mouseOverHandler);\n\t\t\tlikeInstance.box.removeEventListener('mouseleave', this.blockReactionsPopup.bind(this));\n\t\t};\n\t}\n\n\tstatic buildPopupContent(params)\n\t{\n\t\tconst clear = (params.clear ? Boolean(params.clear) : false);\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\t\tconst rating = params.rating;\n\t\tconst requestReaction = (Type.isStringFilled(params.reaction) ? params.reaction : '');\n\t\tconst page = (Number(params.page) > 0 ? Number(params.page) : 1);\n\t\tconst data = params.data;\n\t\tconst reaction = false;\n\n\t\tconst reactionsList = [];\n\t\tlet reactionsCount = 0;\n\n\t\tif (\n\t\t\tclear\n\t\t\t&& page === 1\n\t\t)\n\t\t{\n\t\t\tthis.clearPopupContent({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}\n\n\t\tthis.popupCurrentReaction = (Type.isStringFilled(requestReaction) ? requestReaction : 'all');\n\n\t\tif (\n\t\t\trequestReaction.length <= 0\n\t\t\t|| requestReaction == 'all'\n\t\t) // first current tab\n\t\t{\n\t\t\tthis.popupSizeInitialized = false;\n\t\t\tdocument.getElementById(`bx-ilike-popup-cont-${likeId}`).style.height = 'auto';\n\t\t\tdocument.getElementById(`bx-ilike-popup-cont-${likeId}`).style.minWidth = 'auto';\n\t\t}\n\n\t\tif (!Type.isStringFilled(requestReaction))\n\t\t{\n\t\t\tthis.popupPagesList = {};\n\t\t}\n\n\t\tthis.popupPagesList[(requestReaction == '' ? 'all' : requestReaction)] = (page + 1);\n\n\t\tif (Type.isPlainObject(data.reactions))\n\t\t{\n\t\t\tObject.entries(data.reactions).forEach(([ reaction, count ]) => {\n\t\t\t\tif (Number(count) <= 0)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treactionsList.push({\n\t\t\t\t\treaction: reaction,\n\t\t\t\t\tcount: Number(count)\n\t\t\t\t});\n\t\t\t\treactionsCount++;\n\t\t\t});\n\t\t}\n\n\t\tconst tabsNode = Dom.create('span', {\n\t\t\tprops: {\n\t\t\t\tclassName: 'bx-ilike-popup-head',\n\t\t\t},\n\t\t});\n\n\t\tif (reactionsCount > 1)\n\t\t{\n\t\t\tconst headClassList = [ 'bx-ilike-popup-head-item' ];\n\t\t\tif (!Type.isStringFilled(requestReaction) || requestReaction == 'all')\n\t\t\t{\n\t\t\t\theadClassList.push('bx-ilike-popup-head-item-current');\n\t\t\t}\n\n\t\t\ttabsNode.appendChild(Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: headClassList.join(' '),\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-head-icon feed-post-emoji-icon-all',\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-head-text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\thtml: Loc.getMessage('RATING_LIKE_POPUP_ALL').replace('#CNT#', Number(data.items_all)),\n\t\t\t\t\t})\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tclick: ((e) => {\n\t\t\t\t\t\tthis.changePopupTab({\n\t\t\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\t\t\trating: rating,\n\t\t\t\t\t\t\treaction: 'all',\n\t\t\t\t\t\t});\n\t\t\t\t\t\te. preventDefault();\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t}));\n\t\t}\n\n\t\tif (reactionsCount === 0)\n\t\t{\n\t\t\treactionsList.push({\n\t\t\t\treaction: Loc.getMessage('RATING_LIKE_REACTION_DEFAULT'),\n\t\t\t\tcount: Number(data.items_all),\n\t\t\t});\n\t\t}\n\n\t\treactionsList.sort((a, b) => {\n\t\t\tconst sample = {\n\t\t\t\tlike: 0,\n\t\t\t\tkiss: 1,\n\t\t\t\tlaugh: 2,\n\t\t\t\twonder: 3,\n\t\t\t\tcry: 4,\n\t\t\t\tangry: 5,\n\t\t\t\tfacepalm: 6,\n\t\t\t};\n\t\t\tif (sample[a.reaction] < sample[b.reaction])\n\t\t\t{\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif (sample[a.reaction] > sample[b.reaction])\n\t\t\t{\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\n\t\treactionsList.forEach((reactionData) => {\n\n\t\t\tconst headItemClassList = [ 'bx-ilike-popup-head-item' ];\n\t\t\tif (requestReaction === reactionData.reaction)\n\t\t\t{\n\t\t\t\theadItemClassList.push('bx-ilike-popup-head-item-current');\n\t\t\t}\n\n\t\t\ttabsNode.appendChild(Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: headItemClassList.join(' '),\n\t\t\t\t},\n\t\t\t\tattrs: {\n\t\t\t\t\ttitle: Loc.getMessage(`RATING_LIKE_EMOTION_${reactionData.reaction.toUpperCase()}_CALC`),\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: [\n\t\t\t\t\t\t\t\t'bx-ilike-popup-head-icon',\n\t\t\t\t\t\t\t\t'feed-post-emoji-icon-item',\n\t\t\t\t\t\t\t\t`feed-post-emoji-icon-${reactionData.reaction}`,\n\t\t\t\t\t\t\t].join(' '),\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-head-text',\n\t\t\t\t\t\t},\n\t\t\t\t\t\thtml: reactionData.count,\n\t\t\t\t\t})\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tclick: (e) => {\n\n\t\t\t\t\t\tconst popupContent = document.getElementById(`bx-ilike-popup-cont-${likeId}`);\n\t\t\t\t\t\tconst popupContentPosition = popupContent.getBoundingClientRect();\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\trequestReaction.length <= 0\n\t\t\t\t\t\t\t|| requestReaction === 'all'\n\t\t\t\t\t\t) // first current tab\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.popupSizeInitialized = true;\n\t\t\t\t\t\t\tpopupContent.style.height = `${popupContentPosition.height}px`;\n\t\t\t\t\t\t\tpopupContent.style.minWidth = `${popupContentPosition.width}px`;\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\tif (popupContentPosition.width > Number(popupContent.style.minWidth))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpopupContent.style.minWidth = `${popupContentPosition.width}px`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.changePopupTab({\n\t\t\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\t\t\trating: rating,\n\t\t\t\t\t\t\treaction: reactionData.reaction,\n\t\t\t\t\t\t});\n\t\t\t\t\t\te. preventDefault();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}));\n\t\t});\n\n\t\tlet usersNode = rating.popupContent.querySelector('.bx-ilike-popup-content-container');\n\t\tlet usersNodeExists = false;\n\n\t\tif (!usersNode)\n\t\t{\n\t\t\tusersNode = Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: 'bx-ilike-popup-content-container',\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tusersNodeExists = true;\n\t\t}\n\n\t\tusersNode.querySelectorAll('.bx-ilike-popup-content').forEach((contentNode) => {\n\t\t\tcontentNode.classList.add('bx-ilike-popup-content-invisible');\n\t\t});\n\n\t\tlet reactionUsersNode = usersNode.querySelector(`.bx-ilike-popup-content-${this.popupCurrentReaction}`);\n\t\tif (!reactionUsersNode)\n\t\t{\n\t\t\treactionUsersNode = Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: [\n\t\t\t\t\t\t'bx-ilike-popup-content',\n\t\t\t\t\t\t`bx-ilike-popup-content-${this.popupCurrentReaction}`,\n\t\t\t\t\t].join(' '),\n\t\t\t\t}\n\t\t\t});\n\t\t\tusersNode.appendChild(reactionUsersNode);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treactionUsersNode.classList.remove('bx-ilike-popup-content-invisible');\n\t\t}\n\n\t\tdata.items.forEach((item) => {\n\n\t\t\tconst userItemClassList = [ 'bx-ilike-popup-user-item' ];\n\t\t\tif (Type.isStringFilled(item.USER_TYPE))\n\t\t\t{\n\t\t\t\tuserItemClassList.push(`bx-ilike-popup-user-item-${item.USER_TYPE}`);\n\t\t\t}\n\n\t\t\treactionUsersNode.appendChild(Dom.create('a', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: userItemClassList.join(' '),\n\t\t\t\t},\n\t\t\t\tattrs: {\n\t\t\t\t\thref: item.URL,\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t},\n\t\t\t\tchildren: [\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-user-icon',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstyle: (\n\t\t\t\t\t\t\tType.isStringFilled(item.PHOTO_SRC)\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t'background-image': `url(\"${encodeURI(item.PHOTO_SRC)}\")`,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t)\n\t\t\t\t\t}),\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-user-name'\n\t\t\t\t\t\t},\n\t\t\t\t\t\thtml: item.FULL_NAME,\n\t\t\t\t\t}),\n\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-user-status',\n\t\t\t\t\t\t},\n\t\t\t\t\t}),\n\t\t\t\t],\n\t\t\t}));\n\t\t});\n\n\n\t\tconst waitNode = rating.popupContent.querySelector('.bx-ilike-wait');\n\t\tif (waitNode)\n\t\t{\n\t\t\tDom.clean(waitNode);\n\t\t\tDom.remove(waitNode);\n\t\t}\n\t\tconst tabsNodeOld = rating.popupContent.querySelector('.bx-ilike-popup-head');\n\t\tif (tabsNodeOld)\n\t\t{\n\t\t\ttabsNodeOld.parentNode.insertBefore(tabsNode, tabsNodeOld);\n\t\t\ttabsNodeOld.parentNode.removeChild(tabsNodeOld);\n\t\t}\n\t\telse\n\t\t{\n\t\t\trating.popupContent.appendChild(tabsNode);\n\t\t}\n\n\t\tif (!usersNodeExists)\n\t\t{\n\t\t\trating.popupContent.appendChild(usersNode);\n\t\t}\n\t}\n\n\tstatic clearPopupContent(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\t\tlikeInstance.popupContent.innerHTML = '';\n\t\tdocument.getElementById(`bx-ilike-popup-cont-${likeId}`).style.height = 'auto';\n\t\tdocument.getElementById(`bx-ilike-popup-cont-${likeId}`).style.minWidth = 'auto';\n\t\tlikeInstance.popupContent.appendChild(Dom.create('span', {\n\t\t\tprops: {\n\t\t\t\tclassName: 'bx-ilike-wait',\n\t\t\t},\n\t\t}));\n\t}\n\n\tstatic changePopupTab(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\t\tconst rating = params.rating;\n\t\tconst reaction = (Type.isStringFilled(params.reaction) ? params.reaction : '');\n\n\t\tconst contentContainerNode = rating.popupContent.querySelector('.bx-ilike-popup-content-container');\n\t\tif (!contentContainerNode)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst reactionUsersNode = contentContainerNode.querySelector('.bx-ilike-popup-content-' + reaction);\n\t\tif (reactionUsersNode)\n\t\t{\n\t\t\tthis.popupCurrentReaction = (Type.isStringFilled(reaction) ? reaction : 'all');\n\n\t\t\trating.popupContent.querySelectorAll('.bx-ilike-popup-head-item').forEach((tabNode) => {\n\t\t\t\ttabNode.classList.remove('bx-ilike-popup-head-item-current');\n\t\t\t\tconst reactionTabNode = tabNode.querySelector(`.feed-post-emoji-icon-${reaction}`);\n\t\t\t\tif (reactionTabNode)\n\t\t\t\t{\n\t\t\t\t\ttabNode.classList.add('bx-ilike-popup-head-item-current');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tcontentContainerNode.querySelectorAll('.bx-ilike-popup-content').forEach((contentNode) => {\n\t\t\t\tcontentNode.classList.add('bx-ilike-popup-content-invisible');\n\t\t\t});\n\t\t\treactionUsersNode.classList.remove('bx-ilike-popup-content-invisible');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tListPopup.List(likeId, 1, reaction);\n\t\t}\n\t}\n\n\tstatic buildPopupContentNoReactions(params)\n\t{\n\t\tconst page = (Number(params.page) > 0 ? Number(params.page) : 1);\n\t\tconst likeInstance = (!Type.isUndefined(params.rating) ? params.rating : null);\n\t\tconst data = params.data;\n\n\t\tif (!likeInstance)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (page === 1)\n\t\t{\n\t\t\tlikeInstance.popupContent.innerHTML = '';\n\t\t\tlikeInstance.popupContent.appendChild(Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: 'bx-ilike-bottom_scroll',\n\t\t\t\t}\n\t\t\t}));\n\t\t}\n\n\t\tlikeInstance.popupContentPage += 1;\n\n\t\tdata.items.forEach((item) => {\n\t\t\tlet avatarNode = null;\n\n\t\t\tif (Type.isStringFilled(item.PHOTO_SRC))\n\t\t\t{\n\t\t\t\tavatarNode = Dom.create('img', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tsrc: encodeURI(item.PHOTO_SRC),\n\t\t\t\t\t},\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: 'bx-ilike-popup-avatar-img',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tavatarNode = Dom.create('img', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\tsrc: '/bitrix/images/main/blank.gif',\n\t\t\t\t\t},\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: 'bx-ilike-popup-avatar-img bx-ilike-popup-avatar-img-default',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst imgClassList = [\n\t\t\t\t'bx-ilike-popup-img',\n\t\t\t];\n\t\t\tif (Type.isStringFilled(item.USER_TYPE))\n\t\t\t{\n\t\t\t\timgClassList.push(`bx-ilike-popup-img-${item.USER_TYPE}`);\n\t\t\t}\n\n\t\t\tlikeInstance.popupContent.appendChild(\n\t\t\t\tDom.create('a', {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\thref: item.URL,\n\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t},\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: imgClassList.join(' '),\n\t\t\t\t\t},\n\t\t\t\t\tchildren: [\n\t\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-avatar-new',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t\tavatarNode,\n\t\t\t\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-avatar-status-icon',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tDom.create('span', {\n\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\tclassName: 'bx-ilike-popup-name-new',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thtml: item.FULL_NAME,\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t})\n\t\t\t);\n\t\t});\n\t}\n\n\tstatic afterClick(params)\n\t{\n\t\tconst likeId = (Type.isStringFilled(params.likeId) ? params.likeId : '');\n\n\t\tif (!Type.isStringFilled(likeId))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.afterClickBlockShowPopup = true;\n\n\t\tthis.afterClickHandler = this.getAfterClickHandler(likeId);\n\n\t\tRatingLike.getInstance(likeId).box.addEventListener('mouseleave', this.afterClickHandler);\n\t}\n\n\tstatic getAfterClickHandler(likeId)\n\t{\n\t\treturn () => {\n\t\t\tthis.afterClickBlockShowPopup = false;\n\n\t\t\tRatingLike.getInstance(likeId).box.removeEventListener('mouseleave', this.afterClickHandler);\n\t\t};\n\t}\n\n\tstatic resultReactionClick(e)\n\t{\n\t\tconst likeId = e.currentTarget.getAttribute('data-like-id');\n\t\tlet reaction = e.currentTarget.getAttribute('data-reaction');\n\n\t\tif (!Type.isSet(reaction))\n\t\t{\n\t\t\treaction = '';\n\t\t}\n\n\t\tListPopup.onResultClick({\n\t\t\tlikeId: likeId,\n\t\t\tevent: e,\n\t\t\treaction: reaction,\n\t\t});\n\n\t\te.stopPropagation();\n\t}\n\n\tstatic resultReactionMouseEnter(e)\n\t{\n\t\tconst likeId = e.currentTarget.getAttribute('data-like-id');\n\t\tconst reaction = e.currentTarget.getAttribute('data-reaction');\n\n\t\tListPopup.onResultMouseEnter({\n\t\t\tlikeId: likeId,\n\t\t\tevent: e,\n\t\t\treaction: reaction,\n\t\t});\n\t}\n\n\tstatic resultReactionMouseLeave(e)\n\t{\n\t\tconst likeId = e.currentTarget.getAttribute('data-like-id');\n\t\tconst reaction = e.currentTarget.getAttribute('data-reaction');\n\n\t\tListPopup.onResultMouseLeave({\n\t\t\tlikeId: likeId,\n\t\t\treaction: reaction,\n\t\t});\n\t}\n\n\tstatic openMobileReactionsPage(params)\n\t{\n\t\tBXMobileApp.PageManager.loadPageBlank({\n\t\t\turl: `${Loc.getMessage('SITE_DIR')}mobile/like/result.php`,\n\t\t\ttitle: Loc.getMessage('RATING_LIKE_RESULTS'),\n\t\t\tbackdrop: {\n\t\t\t\tmediumPositionPercent: 65,\n\t\t\t},\n\t\t\tcache: true,\n\t\t\tdata: {\n\t\t\t\tentityTypeId: params.entityTypeId,\n\t\t\t\tentityId: params.entityId,\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic onRatingLike(eventData)\n\t{\n\t\tRatingLike.repo.forEach((likeInstance, likeId) => {\n\t\t\tif (\n\t\t\t\tlikeInstance.entityTypeId !== eventData.entityTypeId\n\t\t\t\t&& Number(likeInstance.entityId) !== Number(eventData.entityId)\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet voteAction = (Type.isStringFilled(eventData.voteAction) ? eventData.voteAction.toUpperCase() : 'ADD');\n\t\t\tvoteAction = (voteAction === 'PLUS' ? 'ADD' : voteAction);\n\n\t\t\tif (\n\t\t\t\tNumber(eventData.userId) === Number(Loc.getMessage('USER_ID'))\n\t\t\t\t&& likeInstance.button\n\t\t\t)\n\t\t\t{\n\t\t\t\tif (voteAction === 'CANCEL')\n\t\t\t\t{\n\t\t\t\t\tlikeInstance.button.classList.remove('bx-you-like-button');\n\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tlikeInstance.button.classList.add('bx-you-like-button');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tRatingLike.Draw(likeId, {\n\t\t\t\tTYPE: voteAction,\n\t\t\t\tUSER_ID: eventData.userId,\n\t\t\t\tENTITY_TYPE_ID: eventData.entityTypeId,\n\t\t\t\tENTITY_ID: eventData.entityId,\n\t\t\t\tUSER_DATA: eventData.userData,\n\t\t\t\tREACTION: eventData.voteReaction,\n\t\t\t\tREACTION_OLD: eventData.voteReactionOld,\n\t\t\t\tTOTAL_POSITIVE_VOTES: eventData.itemsAll,\n\t\t\t});\n\t\t});\n\t}\n\n\tstatic onMobileCommentsGet()\n\t{\n\t\tconst ratingEmojiSelectorPopup = document.querySelector('.feed-post-emoji-popup-container');\n\t\tif (ratingEmojiSelectorPopup)\n\t\t{\n\t\t\tratingEmojiSelectorPopup.style.top = 0;\n\t\t\tratingEmojiSelectorPopup.style.left = 0;\n\t\t\tratingEmojiSelectorPopup.classList.remove('feed-post-emoji-popup-active');\n\t\t\tratingEmojiSelectorPopup.classList.remove('feed-post-emoji-popup-active-final');\n\t\t\tratingEmojiSelectorPopup.classList.remove('feed-post-emoji-popup-active-final-item');\n\t\t\tratingEmojiSelectorPopup.classList.add('feed-post-emoji-popup-invisible-final');\n\t\t\tratingEmojiSelectorPopup.classList.add('feed-post-emoji-popup-invisible-final-mobile');\n\t\t}\n\t}\n\n\tstatic getNode(node)\n\t{\n\t\tif (Type.isDomNode(node))\n\t\t{\n\t\t\treturn node;\n\t\t}\n\t\telse if (Type.isStringFilled(node))\n\t\t{\n\t\t\treturn document.getElementById(node);\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n}\n","import { Type, Runtime } from 'main.core';\nimport { EventEmitter, BaseEvent } from 'main.core.events';\n\nimport { RatingRender } from './render';\nimport { ListPopup } from './listpopup';\n\nexport class RatingManager\n{\n\tstatic mobile = false;\n\tstatic initialized = false;\n\tstatic displayHeight = 0;\n\tstatic startScrollTop = 0;\n\tstatic entityList = [];\n\tstatic ratingNodeList = new Map();\n\tstatic delayedList = new Map();\n\n\tstatic init(params)\n\t{\n\t\tif (!Type.isPlainObject(params))\n\t\t{\n\t\t\tparams = {};\n\t\t}\n\n\t\tif (this.initialized)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.mobile = (!Type.isUndefined(params.mobile) && !!params.mobile);\n\n\t\tthis.initialized = true;\n\n\t\tthis.setDisplayHeight();\n\n\t\tif (!this.mobile)\n\t\t{\n\t\t\twindow.addEventListener('scroll', Runtime.throttle(() => {\n\t\t\t\tthis.getInViewScope();\n\t\t\t}, 80), { passive: true });\n\n\t\t\twindow.addEventListener('resize', this.setDisplayHeight.bind(this));\n\t\t}\n\n\t\tEventEmitter.subscribe('onBeforeMobileLivefeedRefresh', RatingRender.reactionsPopupMobileHide)\n\t\tEventEmitter.subscribe('BX.MobileLF:onCommentsGet', RatingRender.onMobileCommentsGet)\n\n\t\tif (this.mobile)\n\t\t{\n\t\t\t// new one\n\t\t\tBXMobileApp.addCustomEvent('onRatingLike', RatingRender.onRatingLike);\n\t\t}\n\n\t\tif (this.mobile)\n\t\t{\n\t\t\tBXMobileApp.addCustomEvent('onPull-main', (data) => {\n\t\t\t\tif (data.command == 'rating_vote')\n\t\t\t\t{\n\t\t\t\t\tRatingLike.LiveUpdate(data.params);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEventEmitter.subscribe('onPullEvent-main', (event: BaseEvent) => {\n\t\t\t\tconst [ command, params ] = event.getCompatData();\n\n\t\t\t\tif (command === 'rating_vote')\n\t\t\t\t{\n\t\t\t\t\tRatingLike.LiveUpdate(params);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (\n\t\t\t\t!Type.isUndefined(window.BX.SidePanel)\n\t\t\t\t&& BX.SidePanel.Instance.getTopSlider()\n\t\t\t)\n\t\t\t{\n\t\t\t\tEventEmitter.subscribe(\n\t\t\t\t\tBX.SidePanel.Instance.getTopSlider().getWindow(),\n\t\t\t\t\t'SidePanel.Slider:onCloseComplete',\n\t\t\t\t\tListPopup.removeOnCloseHandler\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic setDisplayHeight()\n\t{\n\t\tthis.displayHeight = document.documentElement.clientHeight;\n\t}\n\n\tstatic getInViewScope()\n\t{\n\t\tlet ratingNode = null;\n\t\tthis.delayedList.forEach((value, key) => {\n\n\t\t\tratingNode = BX(this.getNode(key));\n\n\t\t\tif (!ratingNode)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.isNodeVisibleOnScreen(ratingNode))\n\t\t\t{\n\t\t\t\tthis.fireAnimation(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic addNode(entityId, node)\n\t{\n\t\tif (\n\t\t\t!Type.isDomNode(node)\n//\t\t\t|| !Type.isUndefined(this.ratingNodeList.get(entityId))\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.ratingNodeList.set(entityId, node);\n\t}\n\n\n\tstatic getNode(entityId)\n\t{\n\t\tconst node = this.ratingNodeList.get(entityId);\n\t\treturn (!Type.isUndefined(node) ? node : false);\n\t}\n\n\tstatic isNodeVisibleOnScreen(node)\n\t{\n\t\tconst coords = node.getBoundingClientRect();\n\t\tconst visibleAreaTop = Number(this.displayHeight / 10);\n\t\tconst visibleAreaBottom = Number(this.displayHeight * 9 / 10);\n\n\t\treturn (\n\t\t\t(\n\t\t\t\t(\n\t\t\t\t\tcoords.top > 0\n\t\t\t\t\t&& coords.top < visibleAreaBottom\n\t\t\t\t)\n\t\t\t\t|| (\n\t\t\t\t\tcoords.bottom > visibleAreaTop\n\t\t\t\t\t&& coords.bottom < this.displayHeight\n\t\t\t\t)\n\t\t\t)\n\t\t\t&& (\n\t\t\t\tthis.mobile\n\t\t\t\t|| !(\n\t\t\t\t\t(\n\t\t\t\t\t\tcoords.top < visibleAreaTop\n\t\t\t\t\t\t&& coords.bottom < visibleAreaTop\n\t\t\t\t)\n\t\t\t\t|| (\n\t\t\t\t\tcoords.top > visibleAreaBottom\n\t\t\t\t\t&& coords.bottom > visibleAreaBottom\n\t\t\t\t)\n\t\t\t\t)\n\t\t\t)\n\t\t);\n\t}\n\n\tstatic fireAnimation(key)\n\t{\n\t\tthis.delayedList.delete(key);\n\t}\n\n\tstatic addEntity(entityId, ratingObject)\n\t{\n\t\tif (\n\t\t\t!this.entityList.includes(entityId)\n\t\t\t&& ratingObject.topPanelContainer\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.entityList.push(entityId);\n\t\t\t\tthis.addNode(entityId, ratingObject.topPanelContainer);\n\t\t\t}\n\t}\n\n\tstatic live(params)\n\t{\n\t\tif (\n\t\t\tType.isUndefined(params.TYPE)\n\t\t\t|| params.TYPE !== 'ADD'\n\t\t\t|| !Type.isStringFilled(params.ENTITY_TYPE_ID)\n\t\t\t|| Type.isUndefined(params.ENTITY_ID)\n\t\t\t|| Number(params.ENTITY_ID) <= 0\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst key = `${params.ENTITY_TYPE_ID}_${params.ENTITY_ID}`;\n\t\tif (!this.checkEntity(key))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst ratingNode = this.getNode(key);\n\t\tif (!ratingNode)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.isNodeVisibleOnScreen(ratingNode))\n\t\t{\n\t\t\tthis.fireAnimation(key);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.addDelayed(params)\n\t\t}\n\t}\n\n\tstatic checkEntity(entityId)\n\t{\n\t\treturn this.entityList.includes(entityId);\n\t}\n\n\tstatic addDelayed(liveParams)\n\t{\n\t\tif (\n\t\t\t!Type.isStringFilled(liveParams.ENTITY_TYPE_ID)\n\t\t\t|| Type.isUndefined(liveParams.ENTITY_ID)\n\t\t\t|| Number(liveParams.ENTITY_ID) <= 0\n\t\t)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst key = `${liveParams.ENTITY_TYPE_ID}_${liveParams.ENTITY_ID}`;\n\n\t\tlet delayedListItem = this.delayedList.get(key);\n\t\tif (Type.isUndefined(delayedListItem))\n\t\t{\n\t\t\tdelayedListItem = [];\n\t\t}\n\n\t\tdelayedListItem.push(liveParams);\n\t\tthis.delayedList.set(key, delayedListItem);\n\t}\n}\n","import { Type, Dom, Loc, ajax } from 'main.core';\n\nimport { RatingManager } from './manager';\nimport { RatingRender } from './render';\nimport { ListPopup } from './listpopup';\n\nimport './css/reaction.css';\nimport './css/mobile.css';\n\nexport class RatingLike\n{\n\tstatic repo = new Map();\n\tstatic lastVoteRepo = new Map();\n\tstatic lastReactionRepo = new Map();\n\tstatic additionalParams = new Map();\n\n\tconstructor(likeId, entityTypeId, entityId, available, userId, localize, template, pathToUserProfile)\n\t{\n\t\tif (Type.isObject(arguments[0]))\n\t\t{\n\t\t\tconst params = arguments[0];\n\n\t\t\tthis.likeId = Type.isStringFilled(params.likeId) ? params.likeId : '';\n\t\t\tthis.entityTypeId = Type.isStringFilled(params.entityTypeId) ? params.entityTypeId : '';\n\t\t\tthis.entityId = !Type.isUndefined(params.entityId) ? Number(params.entityId) : 0;\n\t\t\tthis.available = Type.isStringFilled(params.available) ? params.available === 'Y' : false;\n\t\t\tthis.userId = !Type.isUndefined(params.userId) ? Number(params.userId) : 0;\n\t\t\tthis.localize = Type.isPlainObject(params.localize) ? params.localize : {};\n\t\t\tthis.template = Type.isStringFilled(params.template) ? params.template : '';\n\t\t\tthis.pathToUserProfile = Type.isStringFilled(params.pathToUserProfile) ? params.pathToUserProfile : '';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.likeId = Type.isStringFilled(arguments[0]) ? arguments[0] : '';\n\t\t\tthis.entityTypeId = Type.isStringFilled(arguments[1]) ? arguments[1] : '';\n\t\t\tthis.entityId = !Type.isUndefined(arguments[2]) ? Number(arguments[2]) : 0;\n\t\t\tthis.available = Type.isStringFilled(arguments[3]) ? arguments[3] === 'Y' : false;\n\t\t\tthis.userId = !Type.isUndefined(arguments[4]) ? Number(arguments[4]) : 0;\n\t\t\tthis.localize = Type.isPlainObject(arguments[5]) ? arguments[5] : {};\n\t\t\tthis.template = Type.isStringFilled(arguments[6]) ? arguments[6] : '';\n\t\t\tthis.pathToUserProfile = Type.isStringFilled(arguments[7]) ? arguments[7] : '';\n\t\t}\n\n\t\tconst key = `${this.entityTypeId}_${this.entityId}`;\n\n\t\tthis.enabled = true;\n\n\t\tthis.box = document.getElementById(`bx-ilike-button-${this.likeId}`);\n\t\tif (this.box === null)\n\t\t{\n\t\t\tthis.enabled = false;\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.box.setAttribute('data-rating-vote-id', likeId);\n\n\t\tthis.button = this.box.querySelector('.bx-ilike-left-wrap');\n\t\tthis.buttonText = this.button.querySelector('.bx-ilike-text');\n\t\tthis.count = this.box.querySelector('span.bx-ilike-right-wrap');\n\t\tif (!this.count)\n\t\t{\n\t\t\tthis.count = document.getElementById(`bx-ilike-count-${this.likeId}`);\n\t\t}\n\t\tthis.countText = this.count.querySelector('.bx-ilike-right');\n\n\t\tthis.topPanelContainer = document.getElementById(`feed-post-emoji-top-panel-container-${this.likeId}`);\n\t\tthis.topPanel = document.getElementById(`feed-post-emoji-top-panel-${this.likeId}`);\n\t\tthis.topUsersText = document.getElementById(`bx-ilike-top-users-${this.likeId}`);\n\t\tthis.topUsersDataNode = document.getElementById(`bx-ilike-top-users-data-${this.likeId}`);\n\t\tthis.userReactionNode = document.getElementById(`bx-ilike-user-reaction-${this.likeId}`);\n\t\tthis.reactionsNode = document.getElementById(`feed-post-emoji-icons-${this.likeId}`);\n\n\t\tthis.popup = null;\n\t\tthis.popupId = null;\n\t\tthis.popupTimeoutIdShow = null;\n\t\tthis.popupTimeoutIdList = null;\n\n\t\tthis.popupContent = document.getElementById(`bx-ilike-popup-cont-${this.likeId}`).querySelector('span.bx-ilike-popup');\n\t\tthis.popupContentPage = 1;\n\t\tthis.popupTimeout = false;\n\t\tthis.likeTimeout = false;\n\t\tthis.mouseOverHandler = null;\n\t\tthis.version = (Type.isDomNode(this.topPanel) ? 2 : 1);\n\t\tthis.mouseInShowPopupNode = {};\n\t\tthis.listXHR = null;\n\n\t\tif (\n\t\t\tthis.template === 'light'\n\t\t\t&& Type.isDomNode(this.reactionsNode)\n\t\t)\n\t\t{\n\t\t\tconst container = this.reactionsNode.querySelector('.feed-post-emoji-icon-container');\n\t\t\tif (container)\n\t\t\t{\n\t\t\t\tlet reactionsData = container.getAttribute('data-reactions-data');\n\t\t\t\ttry\n\t\t\t\t{\n\t\t\t\t\treactionsData = JSON.parse(reactionsData);\n\n\t\t\t\t\tconst elementsNew = [];\n\t\t\t\t\tObject.entries(reactionsData).forEach(([reaction, count]) => {\n\t\t\t\t\t\telementsNew.push({\n\t\t\t\t\t\t\treaction: reaction,\n\t\t\t\t\t\t\tcount: count,\n\t\t\t\t\t\t\tanimate: false,\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t\tRatingRender.drawReactions({\n\t\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\t\tcontainer: container,\n\t\t\t\t\t\tdata: elementsNew,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcatch (e)\n\t\t\t\t{\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!Type.isUndefined(RatingLike.lastVoteRepo.get(key)))\n\t\t{\n\t\t\tthis.lastVote = RatingLike.lastVoteRepo.get(key);\n\n\t\t\tconst ratingNode = (template === 'standart' ? this.button : this.count);\n\t\t\tif (this.lastVote === 'plus')\n\t\t\t{\n\t\t\t\tratingNode.classList.add('bx-you-like');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tratingNode.classList.remove('bx-you-like');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.lastVote = (\n\t\t\t\t(this.template === 'standart' ? this.button : this.count).classList.contains('bx-you-like')\n\t\t\t\t\t? 'plus'\n\t\t\t\t\t: 'cancel'\n\t\t\t);\n\t\t\tRatingLike.lastVoteRepo.set(key, this.lastVote);\n\t\t}\n\n\t\tif (!Type.isUndefined(RatingLike.lastReactionRepo.get(key)))\n\t\t{\n\t\t\tthis.lastReaction = RatingLike.lastReactionRepo.get(key);\n\t\t\tthis.count.setAttribute('data-myreaction', this.lastReaction);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst lastReaction = this.count.getAttribute('data-myreaction');\n\t\t\tthis.lastReaction = (Type.isStringFilled(lastReaction) ? lastReaction : 'like');\n\t\t\tRatingLike.lastReactionRepo.set(key, this.lastReaction);\n\t\t}\n\n\t\tif (this.topPanelContainer)\n\t\t{\n\t\t\tRatingManager.addEntity(key, this);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tstatic setInstance(likeId: string, likeInstance)\n\t{\n\t\tthis.repo.set(likeId, likeInstance);\n\t\twindow.BXRL[likeId] = likeInstance;\n\t}\n\n\tstatic getInstance(likeId: string)\n\t{\n\t\treturn this.repo.get(likeId);\n\t}\n\n\tstatic ClickVote(e, likeId, userReaction, forceAdd)\n\t{\n\t\tif (Type.isUndefined(userReaction))\n\t\t{\n\t\t\tuserReaction = 'like';\n\t\t}\n\n\t\tconst likeInstance = this.getInstance(likeId);\n\t\tconst container = (likeInstance.template === 'standart' ? e.target : likeInstance.count);\n\n\t\tif (\n\t\t\tlikeInstance.version === 2\n\t\t\t&& likeInstance.userReactionNode\n\t\t)\n\t\t{\n\t\t\tRatingRender.hideReactionsPopup({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t\tRatingRender.blockReactionsPopup();\n\t\t\tdocument.removeEventListener('mousemove', RatingRender.reactionsPopupMouseOutHandler);\n\t\t}\n\n\t\tclearTimeout(likeInstance.likeTimeout);\n\n\t\tconst active = container.classList.contains('bx-you-like');\n\n\t\tforceAdd = !!forceAdd;\n\n\t\tlet change = false;\n\t\tlet userReactionOld = false;\n\n\t\tif (active && !forceAdd)\n\t\t{\n\t\t\tuserReaction = (\n\t\t\t\tlikeInstance.version === 2\n\t\t\t\t\t? RatingRender.getUserReaction({\n\t\t\t\t\t\tuserReactionNode: likeInstance.userReactionNode\n\t\t\t\t\t})\n\t\t\t\t\t: false\n\t\t\t);\n\n\t\t\tlikeInstance.buttonText.innerHTML = likeInstance.localize['LIKE_N'];\n\t\t\tlikeInstance.countText.innerHTML = Number(likeInstance.countText.innerHTML)-1;\n\n\t\t\tcontainer.classList.remove('bx-you-like');\n\t\t\tlikeInstance.button.classList.remove('bx-you-like-button');\n\n\t\t\tif (userReaction)\n\t\t\t{\n\t\t\t\tlikeInstance.button.classList.remove(`bx-you-like-button-${userReaction}`);\n\t\t\t}\n\n\t\t\tlikeInstance.likeTimeout = setTimeout(() => {\n\t\t\t\tif (likeInstance.lastVote != 'cancel')\n\t\t\t\t{\n\t\t\t\t\tthis.Vote(likeId, 'cancel', userReaction);\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\t\telse if (active && forceAdd)\n\t\t{\n\t\t\tchange = true;\n\t\t\tuserReactionOld = (\n\t\t\t\tlikeInstance.version === 2\n\t\t\t\t\t? RatingRender.getUserReaction({ userReactionNode: likeInstance.userReactionNode })\n\t\t\t\t\t: false\n\t\t\t);\n\n\t\t\tif (userReaction != userReactionOld)\n\t\t\t{\n\t\t\t\tif (userReactionOld)\n\t\t\t\t{\n\t\t\t\t\tlikeInstance.button.classList.remove(`bx-you-like-button-${userReactionOld}`);\n\t\t\t\t}\n\t\t\t\tlikeInstance.button.classList.add(`bx-you-like-button-${userReaction}`);\n\n\t\t\t\tlikeInstance.likeTimeout = setTimeout(() => {\n\t\t\t\t\tthis.Vote(likeId, 'change', userReaction, userReactionOld);\n\t\t\t\t}, 1000);\n\t\t\t}\n\t\t}\n\t\telse if (!active)\n\t\t{\n\t\t\tlikeInstance.buttonText.innerHTML = likeInstance.localize['LIKE_Y'];\n\t\t\tlikeInstance.countText.innerHTML = Number(likeInstance.countText.innerHTML) + 1;\n\t\t\tcontainer.classList.add('bx-you-like');\n\n\t\t\tlikeInstance.button.classList.add('bx-you-like-button');\n\t\t\tlikeInstance.button.classList.add(`bx-you-like-button-${userReaction}`);\n\n\t\t\tlikeInstance.likeTimeout = setTimeout(() => {\n\t\t\t\tif (likeInstance.lastVote !== 'plus')\n\t\t\t\t{\n\t\t\t\t\tthis.Vote(likeId, 'plus', userReaction);\n\t\t\t\t}\n\t\t\t\telse if (userReaction !== likeInstance.lastReaction) // http://jabber.bx/view.php?id=99339\n\t\t\t\t{\n\t\t\t\t\tthis.Vote(likeId, 'change', userReaction, likeInstance.lastReaction);\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\n\t\tif (likeInstance.version === 2)\n\t\t{\n\t\t\tif (change)\n\t\t\t{\n\t\t\t\tRatingRender.setReaction({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\trating: likeInstance,\n\t\t\t\t\taction: 'change',\n\t\t\t\t\tuserReaction: userReaction,\n\t\t\t\t\tuserReactionOld: userReactionOld,\n\t\t\t\t\ttotalCount: Number(likeInstance.countText.innerHTML),\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tRatingRender.setReaction({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\trating: likeInstance,\n\t\t\t\t\taction: (active ? 'cancel' : 'add'),\n\t\t\t\t\tuserReaction: userReaction,\n\t\t\t\t\ttotalCount: Number(likeInstance.countText.innerHTML),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t!change\n\t\t\t&& likeInstance.version === 2\n\t\t)\n\t\t{\n\t\t\tconst dataUsers = (\n\t\t\t\tlikeInstance.topUsersDataNode\n\t\t\t\t\t? JSON.parse(likeInstance.topUsersDataNode.getAttribute('data-users'))\n\t\t\t\t\t: false\n\t\t\t);\n\n\t\t\tif (dataUsers)\n\t\t\t{\n\t\t\t\tdataUsers.TOP = Object.values(dataUsers.TOP);\n\n\t\t\t\tlikeInstance.topUsersText.innerHTML = RatingRender.getTopUsersText({\n\t\t\t\t\tyou: !active,\n\t\t\t\t\ttop: dataUsers.TOP,\n\t\t\t\t\tmore: dataUsers.MORE,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tlikeInstance.template === 'light'\n\t\t\t&& !likeInstance.userReactionNode\n\t\t)\n\t\t{\n\t\t\tconst cont = likeInstance.box;\n\t\t\tconst likeNode = cont.cloneNode(true);\n\n\t\t\tlikeNode.id = 'like_anim'; // to not dublicate original id\n\n\t\t\tlet type = 'normal';\n\t\t\tif (cont.closest('.feed-com-informers-bottom'))\n\t\t\t{\n\t\t\t\ttype = 'comment';\n\t\t\t}\n\t\t\telse if (cont.closest('.feed-post-informers'))\n\t\t\t{\n\t\t\t\ttype = 'post';\n\t\t\t}\n\n\t\t\tlikeNode.classList.remove('bx-ilike-button-hover')\n\t\t\tlikeNode.classList.add('bx-like-anim')\n\n\t\t\tDom.adjust(cont.parentNode, { style: { position: 'relative' } });\n\n\t\t\tDom.adjust(likeNode, {\n\t\t\t\tstyle: {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\ttop: (type === 'post' ? '1px' : (type === 'comment' ? '0' : '')),\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tDom.adjust(cont, { style: { visibility: 'hidden' } });\n\t\t\tDom.prepend(likeNode, cont.parentNode);\n\n\t\t\tnew BX.easing({\n\t\t\t\tduration: 140,\n\t\t\t\tstart: { scale: 100 },\n\t\t\t\tfinish: { scale: (type === 'comment' ? 110 : 115) },\n\t\t\t\ttransition : BX.easing.transitions.quad,\n\t\t\t\tstep: (state) => {\n\t\t\t\t\tlikeNode.style.transform = `scale(${state.scale / 100})`;\n\t\t\t\t},\n\t\t\t\tcomplete: () => {\n\t\t\t\t\tconst likeThumbNode = Dom.create('SPAN', {\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tclassName: (active ? 'bx-ilike-icon' : 'bx-ilike-icon bx-ilike-icon-orange'),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\tDom.adjust(likeThumbNode, {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\n\t\t\t\t\tDom.prepend(likeThumbNode, cont.parentNode);\n\n\t\t\t\t\tnew BX.easing({\n\t\t\t\t\t\tduration: 140,\n\t\t\t\t\t\tstart: { scale: (type == 'comment' ? 110 : 115) },\n\t\t\t\t\t\tfinish: { scale: 100 },\n\t\t\t\t\t\ttransition : BX.easing.transitions.quad,\n\t\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\t\tlikeNode.style.transform = `scale(${state.scale / 100})`;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => {}\n\t\t\t\t\t}).animate();\n\n\t\t\t\t\tconst propsStart = {\n\t\t\t\t\t\topacity: 100,\n\t\t\t\t\t\tscale: (type === 'comment' ? 110 : 115),\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t};\n\t\t\t\t\tconst propsFinish = {\n\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\tscale: 200,\n\t\t\t\t\t\ttop: (type === 'comment' ? -3 : -2),\n\t\t\t\t\t};\n\n\t\t\t\t\tif (type !== 'comment')\n\t\t\t\t\t{\n\t\t\t\t\t\tpropsStart.left = -5;\n\t\t\t\t\t\tpropsFinish.left = -13;\n\t\t\t\t\t}\n\n\t\t\t\t\tnew BX.easing({\n\t\t\t\t\t\tduration: 200,\n\t\t\t\t\t\tstart: propsStart,\n\t\t\t\t\t\tfinish: propsFinish,\n\t\t\t\t\t\ttransition : BX.easing.transitions.linear,\n\t\t\t\t\t\tstep: (state) => {\n\t\t\t\t\t\t\tlikeThumbNode.style.transform = `scale(${state.scale / 100})`;\n\t\t\t\t\t\t\tlikeThumbNode.style.opacity = state.opacity / 100;\n\t\t\t\t\t\t\tif (type !== 'comment')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlikeThumbNode.style.left = `${state.left}px`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlikeThumbNode.style.top = `${state.top}px`;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete: () => {\n\t\t\t\t\t\t\tlikeNode.parentNode.removeChild(likeNode);\n\t\t\t\t\t\t\tlikeThumbNode.parentNode.removeChild(likeThumbNode);\n\n\t\t\t\t\t\t\tDom.adjust(cont.parentNode, { style: { position: 'static' } });\n\t\t\t\t\t\t\tDom.adjust(cont, { style: { visibility: 'visible' } });\n\t\t\t\t\t\t}\n\t\t\t\t\t}).animate();\n\n\t\t\t\t}\n\t\t\t}).animate();\n\t\t}\n\n\t\tlikeInstance.box.classList.remove('bx-ilike-button-hover');\n\t}\n\n\tstatic Draw(likeId, params)\n\t{\n\t\tconst likeInstance = this.getInstance(likeId);\n\t\tlikeInstance.countText.innerHTML = Number(params.TOTAL_POSITIVE_VOTES);\n\n\t\tif (\n\t\t\t!Type.isUndefined(params.TYPE)\n\t\t\t&& !Type.isUndefined(params.USER_ID)\n\t\t\t&& Number(params.USER_ID) > 0\n\t\t\t&& !Type.isUndefined(params.USER_DATA)\n\t\t\t&& !Type.isUndefined(params.USER_DATA.WEIGHT)\n\t\t)\n\t\t{\n\t\t\tconst userWeight = parseFloat(params.USER_DATA.WEIGHT);\n\n\t\t\tconst usersData = (\n\t\t\t\tlikeInstance.topUsersDataNode\n\t\t\t\t\t? JSON.parse(likeInstance.topUsersDataNode.getAttribute('data-users'))\n\t\t\t\t\t: false\n\t\t\t);\n\n\t\t\tif (\n\t\t\t\tparams.TYPE != 'CHANGE'\n\t\t\t\t&& Type.isPlainObject(usersData)\n\t\t\t)\n\t\t\t{\n\t\t\t\tusersData.TOP = Object.values(usersData.TOP);\n\t\t\t\tlet recalcNeeded = (usersData.TOP.length < 2);\n\n\t\t\t\tObject.values(usersData.TOP).forEach((item) => {\n\t\t\t\t\tif (recalcNeeded)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tparams.TYPE === 'ADD'\n\t\t\t\t\t\t\t&& userWeight > item.WEIGHT\n\t\t\t\t\t\t)\n\t\t\t\t\t\t|| (\n\t\t\t\t\t\t\tparams.TYPE === 'CANCEL'\n\t\t\t\t\t\t\t&& params.USER_ID === item.ID\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\trecalcNeeded = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\n\t\t\t\tif (recalcNeeded)\n\t\t\t\t{\n\t\t\t\t\tif (\n\t\t\t\t\t\tparams.TYPE === 'ADD'\n\t\t\t\t\t\t&& Number(params.USER_ID) !== Number(Loc.getMessage('USER_ID'))\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (!usersData.TOP.find((a) => {\n\t\t\t\t\t\t\treturn Number(a.ID) === Number(params.USER_ID)\n\t\t\t\t\t\t}))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tusersData.TOP.push({\n\t\t\t\t\t\t\t\tID: Number(params.USER_ID),\n\t\t\t\t\t\t\t\tNAME_FORMATTED: params.USER_DATA.NAME_FORMATTED,\n\t\t\t\t\t\t\t\tWEIGHT: parseFloat(params.USER_DATA.WEIGHT),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (params.TYPE === 'CANCEL')\n\t\t\t\t\t{\n\t\t\t\t\t\tusersData.TOP = usersData.TOP.filter((a) => {\n\t\t\t\t\t\t\treturn Number(a.ID) !== Number(params.USER_ID);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tusersData.TOP.sort((a, b) => {\n\t\t\t\t\t\tif (parseFloat(a.WEIGHT) === parseFloat(b.WEIGHT))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (parseFloat(a.WEIGHT) > parseFloat(b.WEIGHT)) ? -1 : 1;\n\t\t\t\t\t});\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tusersData.TOP.length > 2\n\t\t\t\t\t\t&& params.TYPE === 'ADD'\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tusersData.TOP.pop();\n\t\t\t\t\t\tusersData.MORE++;\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\tif (params.TYPE === 'ADD')\n\t\t\t\t\t{\n\t\t\t\t\t\tusersData.MORE = (\n\t\t\t\t\t\t\t!Type.isUndefined(usersData.MORE)\n\t\t\t\t\t\t\t\t? Number(usersData.MORE) + 1\n\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\telse if (params.TYPE === 'CANCEL')\n\t\t\t\t\t{\n\t\t\t\t\t\tusersData.MORE = (\n\t\t\t\t\t\t\t!Type.isUndefined(usersData.MORE)\n\t\t\t\t\t\t\t&& Number(usersData.MORE) > 0\n\t\t\t\t\t\t\t\t? Number(usersData.MORE) - 1\n\t\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlikeInstance.topUsersDataNode.setAttribute('data-users', JSON.stringify(usersData));\n\n\t\t\t\tif (likeInstance.topUsersText)\n\t\t\t\t{\n\t\t\t\t\tlikeInstance.topUsersText.innerHTML = RatingRender.getTopUsersText({\n\t\t\t\t\t\tyou: (\n\t\t\t\t\t\t\tNumber(params.USER_ID) === Number(Loc.getMessage('USER_ID'))\n\t\t\t\t\t\t\t\t? params.TYPE !== 'CANCEL'\n\t\t\t\t\t\t\t\t: likeInstance.count.classList.contains('bx-you-like')\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttop: usersData.TOP,\n\t\t\t\t\t\tmore: usersData.MORE,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tType.isStringFilled(params.REACTION)\n\t\t\t\t&& Type.isStringFilled(params.REACTION_OLD)\n\t\t\t\t&& params.TYPE === 'CHANGE'\n\t\t\t)\n\t\t\t{\n\t\t\t\tRatingRender.setReaction({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\trating: likeInstance,\n\t\t\t\t\taction: 'change',\n\t\t\t\t\tuserReaction: params.REACTION,\n\t\t\t\t\tuserReactionOld: params.REACTION_OLD,\n\t\t\t\t\ttotalCount: params.TOTAL_POSITIVE_VOTES,\n\t\t\t\t\tuserId: params.USER_ID,\n\t\t\t\t});\n\t\t\t}\n\t\t\telse if (\n\t\t\t\tType.isStringFilled(params.REACTION)\n\t\t\t\t&& [ 'ADD', 'CANCEL' ].includes(params.TYPE)\n\t\t\t)\n\t\t\t{\n\t\t\t\tRatingRender.setReaction({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\trating: likeInstance,\n\t\t\t\t\tuserReaction: params.REACTION,\n\t\t\t\t\taction: (params.TYPE === 'ADD' ? 'add' : 'cancel'),\n\t\t\t\t\ttotalCount: params.TOTAL_POSITIVE_VOTES,\n\t\t\t\t\tuserId: params.USER_ID,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (likeInstance.topPanel)\n\t\t{\n\t\t\tlikeInstance.topPanel.setAttribute('data-popup', 'N');\n\t\t}\n\n\t\tif (!likeInstance.userReactionNode)\n\t\t{\n\t\t\tlikeInstance.count.insertBefore(\n\t\t\t\tDom.create('span', {\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tclassName: 'bx-ilike-plus-one',\n\t\t\t\t\t},\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\twidth: `${(element.countText.clientWidth - 8)}px`,\n\t\t\t\t\t\theight: `${(element.countText.clientHeight - 8)}px`,\n\t\t\t\t\t},\n\t\t\t\t\thtml: (params.TYPE === 'ADD'? '+1': '-1'),\n\t\t\t\t}),\n\t\t\t\telement.count.firstChild\n\t\t\t);\n\t\t}\n\n\t\tif (likeInstance.popup)\n\t\t{\n\t\t\tlikeInstance.popup.close();\n\t\t\tlikeInstance.popupContentPage = 1;\n\t\t}\n\t}\n\n\tstatic Vote(likeId, voteAction, voteReaction, voteReactionOld)\n\t{\n\t\tif (!Type.isStringFilled(voteReaction))\n\t\t{\n\t\t\tvoteReaction = 'like';\n\t\t}\n\n\t\tconst ajaxInstance = (RatingManager.mobile ? new MobileAjaxWrapper : ajax);\n\t\tconst likeInstance = this.getInstance(likeId);\n\n\t\tconst successCallback = (response) => {\n\n\t\t\tconst data = response.data;\n\n\t\t\tlikeInstance.lastVote = data.action;\n\t\t\tlikeInstance.lastReaction = voteReaction;\n\n\t\t\tconst key = `${likeInstance.entityTypeId}_${likeInstance.entityId}`;\n\n\t\t\tthis.lastVoteRepo.set(key, data.action);\n\t\t\tthis.lastReactionRepo.set(key, data.voteReaction);\n\n\t\t\tlikeInstance.countText.innerHTML = data.items_all;\n\t\t\tlikeInstance.popupContentPage = 1;\n\t\t\tlikeInstance.popupContent.innerHTML = '';\n\t\t\tlikeInstance.popupContent.appendChild(Dom.create('span', {\n\t\t\t\tprops: {\n\t\t\t\t\tclassName: 'bx-ilike-wait',\n\t\t\t\t},\n\t\t\t}));\n\n\t\t\tif (likeInstance.topPanel)\n\t\t\t{\n\t\t\t\tlikeInstance.topPanel.setAttribute('data-popup', 'N');\n\t\t\t}\n\n\t\t\tListPopup.AdjustWindow(likeId);\n\n\t\t\tconst popup = document.getElementById(`ilike-popup-${likeId}`)\n\t\t\tif (\n\t\t\t\tpopup\n\t\t\t\t&& popup.style.display === 'block'\n\t\t\t)\n\t\t\t{\n\t\t\t\tListPopup.List(likeId, null, '', true);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tlikeInstance.version >= 2\n\t\t\t\t&& RatingManager.mobile\n\t\t\t)\n\t\t\t{\n\t\t\t\tBXMobileApp.onCustomEvent('onRatingLike', {\n\t\t\t\t\taction: data.action,\n\t\t\t\t\tratingId: likeId,\n\t\t\t\t\tentityTypeId : likeInstance.entityTypeId,\n\t\t\t\t\tentityId: likeInstance.entityId,\n\t\t\t\t\tvoteAction: voteAction,\n\t\t\t\t\tvoteReaction: voteReaction,\n\t\t\t\t\tvoteReactionOld: voteReactionOld,\n\t\t\t\t\tuserId: Loc.getMessage('USER_ID'),\n\t\t\t\t\tuserData: (!Type.isUndefined(data.user_data) ? data.user_data : null),\n\t\t\t\t\titemsAll: data.items_all,\n\t\t\t\t}, true);\n\t\t\t}\n\t\t};\n\n\t\tconst failureCallback = () => {\n\n\t\t\tconst dataUsers = ((likeInstance.topUsersDataNode)\n\t\t\t\t? JSON.parse(likeInstance.topUsersDataNode.getAttribute('data-users'))\n\t\t\t\t: false\n\t\t\t);\n\n\t\t\tif (likeInstance.version == 2)\n\t\t\t{\n\t\t\t\tif (voteAction === 'change')\n\t\t\t\t{\n\t\t\t\t\tRatingRender.setReaction({\n\t\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\t\trating: likeInstance,\n\t\t\t\t\t\taction: voteAction,\n\t\t\t\t\t\tuserReaction: voteReaction,\n\t\t\t\t\t\tuserReactionOld: voteReactionOld,\n\t\t\t\t\t\ttotalCount: Number(likeInstance.countText.innerHTML),\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\tRatingRender.setReaction({\n\t\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\t\trating: likeInstance,\n\t\t\t\t\t\taction: (voteAction === 'cancel' ? 'add' : 'cancel'),\n\t\t\t\t\t\tuserReaction: voteReaction,\n\t\t\t\t\t\ttotalCount: (\n\t\t\t\t\t\t\tvoteAction == 'cancel'\n\t\t\t\t\t\t\t\t? Number(likeInstance.countText.innerHTML) + 1\n\t\t\t\t\t\t\t\t: Number(likeInstance.countText.innerHTML) - 1\n\t\t\t\t\t\t)\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (likeInstance.buttonText)\n\t\t\t\t{\n\t\t\t\t\tif (voteAction === 'add')\n\t\t\t\t\t{\n\t\t\t\t\t\tlikeInstance.buttonText.innerHTML = Loc.getMessage('RATING_LIKE_EMOTION_LIKE_CALC');\n\t\t\t\t\t}\n\t\t\t\t\telse if (voteAction === 'change')\n\t\t\t\t\t{\n\t\t\t\t\t\tlikeInstance.buttonText.innerHTML = Loc.getMessage(`RATING_LIKE_EMOTION_${voteReactionOld.toUpperCase()}_CALC`);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tlikeInstance.buttonText.innerHTML = Loc.getMessage(`RATING_LIKE_EMOTION_${voteReaction.toUpperCase()}_CALC`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tdataUsers\n\t\t\t\t&& voteAction !== 'change'\n\t\t\t\t&& likeInstance.version == 2\n\t\t\t)\n\t\t\t{\n\t\t\t\tlikeInstance.topUsersText.innerHTML = RatingRender.getTopUsersText({\n\t\t\t\t\tyou: (voteAction === 'cancel'), // negative\n\t\t\t\t\ttop: Object.values(dataUsers.TOP),\n\t\t\t\t\tmore: dataUsers.MORE\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst analyticsLabel ={\n\t\t\tb24statAction: 'addLike',\n\t\t}\n\n\t\tif (\n\t\t\tlikeInstance.version >= 2\n\t\t\t&& RatingManager.mobile\n\t\t)\n\t\t{\n\t\t\tanalyticsLabel.b24statContext = 'mobile';\n\t\t}\n\n\t\tajaxInstance.runAction('main.rating.vote', {\n\t\t\tdata: {\n\t\t\t\tparams: {\n\t\t\t\t\tRATING_VOTE_TYPE_ID: likeInstance.entityTypeId,\n\t\t\t\t\tRATING_VOTE_ENTITY_ID: likeInstance.entityId,\n\t\t\t\t\tRATING_VOTE_ACTION: voteAction,\n\t\t\t\t\tRATING_VOTE_REACTION: voteReaction,\n\t\t\t\t},\n\t\t\t},\n\t\t\tanalyticsLabel: analyticsLabel,\n\t\t}).then(\n\t\t\tsuccessCallback,\n\t\t\tfailureCallback\n\t\t);\n\n\t\treturn false;\n\t}\n\n\tstatic LiveUpdate(params)\n\t{\n\t\tif (Number(params.USER_ID) === Number(Loc.getMessage('USER_ID')))\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.repo.forEach((likeInstance, likeId) => {\n\t\t\tif (\n\t\t\t\tlikeInstance.entityTypeId !== params.ENTITY_TYPE_ID\n\t\t\t\t|| Number(likeInstance.entityId) !== Number(params.ENTITY_ID)\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.Draw(likeId, params);\n\t\t});\n\n\n\t\tRatingManager.live(params);\n\t}\n\n\tstatic Set(likeId, entityTypeId, entityId, available, userId, localize, template, pathToUserProfile, pathToAjax, mobile)\n\t{\n\t\tmobile = !!mobile;\n\n\t\tif (template === undefined)\n\t\t{\n\t\t\ttemplate = 'standart';\n\t\t}\n\n\t\tif (this.additionalParams.get('pathToUserProfile'))\n\t\t{\n\t\t\tpathToUserProfile = this.additionalParams.get('pathToUserProfile');\n\t\t}\n\n\t\tlet likeInstance = this.getInstance(likeId);\n\n\t\tif (likeInstance && likeInstance.tryToSet > 5)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst tryToSend = likeInstance && likeInstance.tryToSet ? likeInstance.tryToSet : 1;\n\n\t\tlikeInstance = new RatingLike(likeId, entityTypeId, entityId, available, userId, localize, template, pathToUserProfile);\n\t\tthis.setInstance(\n\t\t\tlikeId,\n\t\t\tlikeInstance\n\t\t);\n\n\t\tif (likeInstance.enabled)\n\t\t{\n\t\t\tthis.Init(likeId, {\n\t\t\t\tmobile: mobile,\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsetTimeout(() => {\n\t\t\t\tlikeInstance.tryToSet = tryToSend + 1;\n\t\t\t\tthis.Set(likeId, entityTypeId, entityId, available, userId, localize, template, pathToUserProfile, pathToAjax, mobile);\n\t\t\t}, 500);\n\t\t}\n\t}\n\n\tstatic setParams(params)\n\t{\n\t\tif (!Type.isUndefined(params.pathToUserProfile))\n\t\t{\n\t\t\tthis.additionalParams.set('pathToUserProfile', params.pathToUserProfile);\n\t\t}\n\t}\n\n\tstatic Init(likeId, params)\n\t{\n\t\tparams = (!Type.isUndefined(params) ? params : {});\n\n\t\tRatingManager.init(params);\n\n\t\tconst likeInstance = this.getInstance(likeId);\n\n\t\t// like/unlike button\n\t\tif (likeInstance.available)\n\t\t{\n\t\t\tlet eventNode = (\n\t\t\t\tlikeInstance.template === 'standart'\n\t\t\t\t\t? likeInstance.button\n\t\t\t\t\t: likeInstance.buttonText\n\t\t\t);\n\n\t\t\tif (!RatingManager.mobile)\n\t\t\t{\n\t\t\t\tconst eventNodeNew = eventNode.closest('.feed-new-like');\n\t\t\t\tif (eventNodeNew)\n\t\t\t\t{\n\t\t\t\t\teventNode = eventNodeNew;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tlikeInstance.version >= 2\n\t\t\t\t&& RatingManager.mobile\n\t\t\t)\n\t\t\t{\n\t\t\t\teventNode.removeEventListener('touchstart', this.mobileTouchStartHandler);\n\t\t\t\teventNode.addEventListener('touchstart', this.mobileTouchStartHandler);\n\t\t\t}\n\n\t\t\tconst eventName = (RatingManager.mobile ? 'touchend' : 'click');\n\t\t\teventNode.removeEventListener(eventName, this.buttonClickHandler);\n\t\t\teventNode.addEventListener(eventName, this.buttonClickHandler);\n\n\t\t\tif (!RatingManager.mobile)\n\t\t\t{\n\t\t\t\t// Hover/unHover like-button\n\t\t\t\tlikeInstance.box.addEventListener('mouseover', () => {\n\t\t\t\t\tlikeInstance.box.classList.add('bx-ilike-button-hover');\n\t\t\t\t});\n\t\t\t\tlikeInstance.box.addEventListener('mouseout', () => {\n\t\t\t\t\tlikeInstance.box.classList.remove('bx-ilike-button-hover');\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tlikeInstance.topPanel.removeEventListener('click', this.mobileTopPanelClickHandler);\n\t\t\t\tlikeInstance.topPanel.addEventListener('click', this.mobileTopPanelClickHandler);\n\t\t\t}\n\t\t}\n\t\telse if (Type.isDomNode(likeInstance.buttonText))\n\t\t{\n\t\t\tlikeInstance.buttonText.innerHTML = likeInstance.localize['LIKE_D'];\n\t\t\tlikeInstance.buttonText.classList.add('bx-ilike-text-unavailable');\n\t\t}\n\t\t// get like-user-list\n\t\tconst clickShowPopupNode = (likeInstance.topUsersText ? likeInstance.topUsersText : likeInstance.count);\n\n\t\tif (!RatingManager.mobile)\n\t\t{\n\t\t\tclickShowPopupNode.addEventListener('mouseenter', (e) => {\n\t\t\t\tListPopup.onResultMouseEnter({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\tevent: e,\n\t\t\t\t\tnodeId: e.currentTarget.id,\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tclickShowPopupNode.addEventListener('mouseleave', (e) => {\n\t\t\t\tListPopup.onResultMouseLeave({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t});\n\t\t\t})\n\n\t\t\tclickShowPopupNode.addEventListener('click', (e) => {\n\t\t\t\tListPopup.onResultClick({\n\t\t\t\t\tlikeId: likeId,\n\t\t\t\t\tevent: e,\n\t\t\t\t\tnodeId: e.currentTarget.id,\n\t\t\t\t});\n\t\t\t})\n\t\t}\n\n\t\tif (\n\t\t\tlikeInstance.version === 2\n\t\t\t&& likeInstance.available\n\t\t\t&& likeInstance.userReactionNode\n\t\t)\n\t\t{\n\t\t\tRatingRender.bindReactionsPopup({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}\n\t}\n\n\tstatic mobileTouchStartHandler()\n\t{\n\t\tRatingManager.startScrollTop = (\n\t\t\t(\n\t\t\t\tdocument.documentElement\n\t\t\t\t&& document.documentElement.scrollTop\n\t\t\t)\n\t\t\t|| document.body.scrollTop\n\t\t);\n\t}\n\n\tstatic buttonClickHandler(e)\n\t{\n\t\tconst likeInstanceNode = e.currentTarget.closest('[data-rating-vote-id]');\n\t\tif (!Type.isDomNode(likeInstanceNode))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst likeId = likeInstanceNode.getAttribute('data-rating-vote-id');\n\t\tif (!Type.isStringFilled(likeId))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tif (\n\t\t\tlikeInstance.version >= 2\n\t\t\t&& RatingManager.mobile\n\t\t\t&& RatingRender.blockTouchEndByScroll\n\t\t)\n\t\t{\n\t\t\tRatingRender.blockTouchEndByScroll = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tlikeInstance.version < 2\n\t\t\t|| !RatingManager.mobile\n\t\t\t|| !RatingRender.reactionsPopupLikeId\n\t\t)\n\t\t{\n\t\t\tif (\n\t\t\t\tlikeInstance.version >= 2\n\t\t\t\t&& RatingManager.mobile\n\t\t\t)\n\t\t\t{\n\t\t\t\tconst currentScrollTop = (\n\t\t\t\t\t(\n\t\t\t\t\t\tdocument.documentElement\n\t\t\t\t\t\t&& document.documentElement.scrollTop\n\t\t\t\t\t)\n\t\t\t\t\t|| document.body.scrollTop\n\t\t\t\t);\n\n\t\t\t\tif (Math.abs(currentScrollTop - RatingManager.startScrollTop) > 2)\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tRatingLike.ClickVote(e, likeId);\n\t\t}\n\n\t\tif (likeInstance.version == 2)\n\t\t{\n\t\t\tRatingRender.afterClick({\n\t\t\t\tlikeId: likeId,\n\t\t\t});\n\t\t}\n\n\t\te.preventDefault();\n\t}\n\n\tstatic mobileTopPanelClickHandler(e)\n\t{\n\t\tconst likeInstanceNode = e.currentTarget.querySelector('[data-like-id]');\n\t\tif (!Type.isDomNode(likeInstanceNode))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst likeId = likeInstanceNode.getAttribute('data-like-id');\n\t\tif (!Type.isStringFilled(likeId))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst likeInstance = RatingLike.getInstance(likeId);\n\n\t\tRatingRender.openMobileReactionsPage({\n\t\t\tentityTypeId: likeInstance.entityTypeId,\n\t\t\tentityId: likeInstance.entityId,\n\t\t});\n\t\te.stopPropagation();\n\t}\n}\n","import { Type } from 'main.core';\n\nimport { RatingLike } from './like.js';\nimport { RatingManager } from './manager.js';\nimport { RatingRender } from './render.js';\n\nimport likeAnimatedEmojiData from '../animations/em_01.json';\nimport laughAnimatedEmojiData from '../animations/em_02.json';\nimport wonderAnimatedEmojiData from '../animations/em_03.json';\nimport cryAnimatedEmojiData from '../animations/em_04.json';\nimport angryAnimatedEmojiData from '../animations/em_05.json';\nimport facepalmAnimatedEmojiData from '../animations/em_06.json';\nimport admireAnimatedEmojiData from '../animations/em_07.json';\n\nexport const lottieAnimations = Object.freeze({\n\tlike: likeAnimatedEmojiData,\n\tlaugh: laughAnimatedEmojiData,\n\twonder: wonderAnimatedEmojiData,\n\tcry: cryAnimatedEmojiData,\n\tangry: angryAnimatedEmojiData,\n\tfacepalm: facepalmAnimatedEmojiData,\n\tadmire: admireAnimatedEmojiData,\n});\n\n\nif (Type.isUndefined(window.BXRL))\n{\n\twindow.BXRL = {};\n}\nwindow.BXRL.manager = RatingManager;\nwindow.BXRL.render = RatingRender;\n\nwindow.RatingLike = RatingLike;\n"],"names":["ListPopup","params","likeId","likeInstance","RatingLike","getInstance","target","reaction","nodeId","popupLikeId","popupContentPage","List","popupTimeoutIdShow","setTimeout","getListPopupShow","resultPopupAnimation","getListPopupAnimation","mouseInShowPopupNode","OpenWindow","clickEvent","targetId","Number","countText","innerHTML","bindNode","template","count","version","Type","isDomNode","isStringFilled","document","getElementById","box","popup","globalZIndex","getGlobalIndex","popupClassNameList","topPanel","push","RatingManager","mobile","Popup","id","bindElement","lightShadow","offsetTop","offsetLeft","isUndefined","isNull","offsetX","autoHide","closeByEsc","zIndexAbsolute","bindOptions","position","animation","events","onPopupClose","onPopupDestroy","content","className","join","setAngle","addEventListener","clearTimeout","popupTimeout","close","setBindElement","popupLikeInstance","show","AdjustWindow","element","index","propertyValue","Dom","style","isNaN","parseInt","offsetParent","tagName","EventEmitter","unsubscribe","BX","SidePanel","Instance","getTopSlider","getWindow","removeOnCloseHandler","forceBindPosition","adjustPosition","contentContainerNodeList","popupContent","querySelectorAll","length","forEach","contentContainerNode","e","scrollTop","scrollHeight","offsetHeight","RatingRender","popupCurrentReaction","Event","unbindAll","page","clear","popupPagesList","clearPopupContent","listXHR","abort","ajax","runAction","data","RATING_VOTE_TYPE_ID","entityTypeId","RATING_VOTE_ENTITY_ID","entityId","RATING_VOTE_LIST_PAGE","RATING_VOTE_REACTION","PATH_TO_USER_PROFILE","pathToUserProfile","onrequeststart","xhr","then","result","onListSuccess","items_all","items_page","list_page","buildPopupContent","rating","setAttribute","buildPopupContentNoReactions","PopupScroll","event","isShown","popupTimeoutIdList","getAttribute","currentTarget","mouseEnterEvent","getListPopup","removeOnClose","bind","currentUserId","Loc","getMessage","you","topList","top","isArray","more","ID","NAME_FORMATTED","WEIGHT","replace","sort","a","b","parseFloat","userNameList","map","item","userNameBegin","userNameEnd","pop","slice","i","userReactionNode","action","includes","userReaction","userReactionOld","totalCount","userId","getNode","reactionsNode","topPanelContainer","topUsersText","buttonText","elements","elementsNew","classList","add","contains","remove","reactionsContainer","querySelector","found","newValue","reactionValue","reactionCount","animate","type","clean","commentNode","closest","drawReactions","container","toUpperCase","parentElement","toLowerCase","reactionEvents","click","resultReactionClick","mouseenter","resultReactionMouseEnter","mouseleave","resultReactionMouseLeave","reactionsData","emojiContainer","create","props","attrs","title","Lottie","loadAnimation","animationData","reactionsAnimationData","loop","autoplay","renderer","rendererSettings","viewBoxOnly","Boolean","play","appendChild","JSON","stringify","reactionsPopupLikeId","reactionsPopup","reactionsNodesList","reactionsList","currentEmotion","emojiItem","children","reactionNode","ClickVote","preventDefault","append","body","reactionsPopupMouseOutHandler","getReactionsPopupMouseOutHandler","bindElementPosition","pos","left","inverted","GetWindowSize","deltaY","touchMoveDeltaY","adjust","width","borderRadius","reactionsPopupMobileDisableScroll","reactionsPopupAnimation","easing","duration","start","opacity","finish","transition","makeEaseInOut","transitions","cubic","step","state","reactionsPopupOpacityState","complete","reactions","reactionsPopupAnimation2","touchScrollTop","hasMobileTouchMoved","window","reactionsPopupMobileTouchEndHandler","reactionsPopupMobileTouchMoveHandler","coords","x","changedTouches","pageX","y","pageY","reactionsPopupMobileGetHoverNode","reactionsPopupMobileHideHandler","removeEventListener","touchStartPosition","touches","touchCurrentPosition","reactionsPopupMobileCheckTouchMove","currentReactionNodeHover","reactionsPopupMobileRemoveHover","reactionsPopupMobileAddHover","blockShowPopupTimeout","blockShowPopup","reactionsPopupMobileEnableScroll","stop","reactionsPopupAnimation4","linear","bindReactionsPopup","Math","abs","hideReactionsPopup","nodeAboveFinger","elementFromPoint","nodeBelowFinger","iconNodeAboveFinger","iconNodeBelowFinger","touchMoveScrollListener","passive","emit","mobileOverlay","app","exec","mouseOverHandler","Runtime","debounce","getMouseOverHandler","blockReactionsPopup","popupPosition","getBoundingClientRect","clientX","right","clientY","bottom","afterClickBlockShowPopup","showReactionsPopup","requestReaction","reactionsCount","popupSizeInitialized","height","minWidth","isPlainObject","Object","entries","tabsNode","headClassList","html","changePopupTab","sample","like","kiss","laugh","wonder","cry","angry","facepalm","reactionData","headItemClassList","popupContentPosition","usersNode","usersNodeExists","contentNode","reactionUsersNode","items","userItemClassList","USER_TYPE","href","URL","PHOTO_SRC","encodeURI","FULL_NAME","waitNode","tabsNodeOld","parentNode","insertBefore","removeChild","tabNode","reactionTabNode","avatarNode","src","imgClassList","afterClickHandler","getAfterClickHandler","isSet","onResultClick","stopPropagation","onResultMouseEnter","onResultMouseLeave","BXMobileApp","PageManager","loadPageBlank","url","backdrop","mediumPositionPercent","cache","eventData","repo","voteAction","button","Draw","TYPE","USER_ID","ENTITY_TYPE_ID","ENTITY_ID","USER_DATA","userData","REACTION","voteReaction","REACTION_OLD","voteReactionOld","TOTAL_POSITIVE_VOTES","itemsAll","ratingEmojiSelectorPopup","node","likeAnimatedEmojiData","kissAnimatedEmojiData","laughAnimatedEmojiData","wonderAnimatedEmojiData","cryAnimatedEmojiData","angryAnimatedEmojiData","facepalmAnimatedEmojiData","reactionsPopupMobileTouchEnd","reactionsPopupMobileTouchMove","reactionsPopupMobileHide","initialized","setDisplayHeight","throttle","getInViewScope","subscribe","onMobileCommentsGet","addCustomEvent","onRatingLike","command","LiveUpdate","getCompatData","displayHeight","documentElement","clientHeight","ratingNode","delayedList","value","key","isNodeVisibleOnScreen","fireAnimation","ratingNodeList","set","get","visibleAreaTop","visibleAreaBottom","ratingObject","entityList","addNode","checkEntity","addDelayed","liveParams","delayedListItem","Map","available","localize","isObject","arguments","enabled","topUsersDataNode","popupId","likeTimeout","parse","lastVoteRepo","lastVote","lastReactionRepo","lastReaction","addEntity","BXRL","forceAdd","active","change","getUserReaction","Vote","setReaction","dataUsers","TOP","values","getTopUsersText","MORE","cont","likeNode","cloneNode","whiteSpace","visibility","prepend","scale","quad","transform","likeThumbNode","propsStart","propsFinish","userWeight","usersData","recalcNeeded","find","filter","clientWidth","firstChild","ajaxInstance","MobileAjaxWrapper","successCallback","response","display","onCustomEvent","ratingId","user_data","failureCallback","analyticsLabel","b24statAction","b24statContext","RATING_VOTE_ACTION","live","pathToAjax","undefined","additionalParams","tryToSet","tryToSend","setInstance","Init","Set","init","eventNode","eventNodeNew","mobileTouchStartHandler","eventName","buttonClickHandler","mobileTopPanelClickHandler","clickShowPopupNode","startScrollTop","likeInstanceNode","blockTouchEndByScroll","currentScrollTop","afterClick","openMobileReactionsPage","lottieAnimations","freeze","admire","admireAnimatedEmojiData","manager","render"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}