{"version":3,"sources":["webpack:///./src/icons/arrowDown.svg","webpack:///./src/icons/close.svg","webpack:///./node_modules/date-fns/locale sync ^\\.\\/.*\\/index\\.js$","webpack:///./src/components/Button/styles.scss?e879","webpack:///./src/components/ButtonGroup/styles.scss?c648","webpack:///./src/components/Modal/styles.scss?a4d6","webpack:///./src/components/Composer/styles.scss?9244","webpack:///./src/components/Composer/ComposerAction/styles.scss?cedc","webpack:///./src/components/Composer/ComposerActions/styles.scss?5325","webpack:///./src/components/FilesDropTarget/styles.scss?fc15","webpack:///./src/components/Popover/styles.scss?c2aa","webpack:///./src/components/Menu/styles.scss?f59d","webpack:///./src/components/Footer/logo.svg","webpack:///./src/components/Footer/styles.scss?32ee","webpack:///./src/components/Messages/MessageBubble/styles.scss?89d3","webpack:///./src/components/Messages/AudioAttachment/styles.scss?814d","webpack:///./src/icons/download.svg","webpack:///./src/icons/doc.svg","webpack:///./src/icons/file.svg","webpack:///./src/icons/pdf.svg","webpack:///./src/icons/ppt.svg","webpack:///./src/icons/sheet.svg","webpack:///./src/icons/zip.svg","webpack:///./src/components/Messages/FileAttachment/styles.scss?a928","webpack:///./src/components/Messages/ImageAttachment/styles.scss?6ab2","webpack:///./src/components/Avatar/styles.scss?5f50","webpack:///./src/components/Messages/MessageAvatars/styles.scss?eb1d","webpack:///./src/components/uiKit/message/ActionsBlock/styles.scss?0449","webpack:///./src/components/uiKit/message/ButtonElement/styles.scss?d8d9","webpack:///./src/components/uiKit/message/ContextBlock/styles.scss?ab3b","webpack:///./src/components/Form/DateInput/styles.scss?63b1","webpack:///./src/components/uiKit/message/DividerBlock/styles.scss?0862","webpack:///./src/components/uiKit/message/ImageBlock/styles.scss?0af6","webpack:///./src/components/uiKit/message/ImageElement/styles.scss?1ad6","webpack:///./src/components/uiKit/message/Mrkdwn/styles.scss?1c47","webpack:///./src/icons/kebab.svg","webpack:///./src/components/uiKit/message/OverflowElement/styles.scss?e564","webpack:///./src/components/uiKit/message/PlainText/styles.scss?8b88","webpack:///./src/components/uiKit/message/SectionBlock/styles.scss?915f","webpack:///./src/components/Form/SelectInput/styles.scss?d31b","webpack:///./src/components/uiKit/message/StaticSelectElement/styles.scss?1a25","webpack:///./src/components/Messages/MessageBlocks/styles.scss?d18f","webpack:///./src/components/Messages/MessageContainer/styles.scss?b767","webpack:///./src/components/Messages/MessageContent/styles.scss?7fd5","webpack:///./src/components/Messages/MessageText/styles.scss?77b8","webpack:///./src/components/Messages/MessageTime/styles.scss?e3f7","webpack:///./src/components/Messages/VideoAttachment/styles.scss?103f","webpack:///./src/components/Messages/MessageSeparator/styles.scss?5a59","webpack:///./src/components/Messages/TypingDots/styles.scss?4a53","webpack:///./src/components/Messages/MessageList/styles.scss?e3b6","webpack:///./src/icons/arrowUp.svg","webpack:///./src/icons/bell.svg","webpack:///./src/icons/bellOff.svg","webpack:///./src/icons/chat.svg","webpack:///./src/icons/newWindow.svg","webpack:///./src/components/Alert/styles.scss?e36a","webpack:///./src/components/Header/styles.scss?0b36","webpack:///./src/components/Tooltip/styles.scss?62eb","webpack:///./src/components/Screen/styles.scss?46d4","webpack:///./src/icons/change.svg","webpack:///./src/icons/finish.svg","webpack:///./src/icons/plus.svg","webpack:///./src/icons/remove.svg","webpack:///./src/icons/send.svg","webpack:///./src/icons/smile.svg","webpack:///./src/routes/Chat/styles.scss?63e2","webpack:///./src/routes/ChatFinished/styles.scss?c909","webpack:///./src/routes/GDPRAgreement/styles.scss?160a","webpack:///./src/components/Form/FormField/styles.scss?32f2","webpack:///./src/components/Form/TextInput/styles.scss?b2d7","webpack:///./src/components/Form/PasswordInput/styles.scss?26c9","webpack:///./src/routes/LeaveMessage/styles.scss?de8e","webpack:///./src/routes/Register/styles.scss?b6b1","webpack:///./src/routes/SwitchDepartment/styles.scss?6c41","webpack:///./src/routes/TriggerMessage/styles.scss?d360","webpack:///./src/history.js","webpack:///./src/api.js","webpack:///./src/widget.js","webpack:///./src/lib/parentCall.js","webpack:///./src/store/Store.js","webpack:///./src/store/index.js","webpack:///./src/lib/constants.js","webpack:///./src/components/helpers.js","webpack:///./src/lib/main.js","webpack:///./src/lib/locale.js","webpack:///./src/lib/api.js","webpack:///./src/lib/commands.js","webpack:///./src/lib/threads.js","webpack:///./src/components/Button/index.js","webpack:///./src/components/ButtonGroup/index.js","webpack:///./src/components/Modal/component.js","webpack:///./src/components/Modal/manager.js","webpack:///./src/lib/transcript.js","webpack:///./src/lib/room.js","webpack:///./src/lib/connection.js","webpack:///./src/lib/customFields.js","webpack:///./src/lib/triggers.js","webpack:///./src/lib/hooks.js","webpack:///./src/lib/userPresence.js","webpack:///./src/components/Composer/ComposerAction/index.js","webpack:///./src/components/Composer/ComposerActions/index.js","webpack:///./src/components/Composer/index.js","webpack:///./src/components/FilesDropTarget/index.js","webpack:///./src/components/Popover/index.js","webpack:///./src/components/Menu/index.js","webpack:///./src/components/Footer/index.js","webpack:///./src/components/Messages/MessageBubble/index.js","webpack:///./src/components/Messages/AudioAttachment/index.js","webpack:///./src/components/Messages/FileAttachmentIcon/index.js","webpack:///./src/components/Messages/FileAttachment/index.js","webpack:///./src/components/Messages/ImageAttachment/index.js","webpack:///./src/components/Avatar/index.js","webpack:///./src/components/Messages/MessageAvatars/index.js","webpack:///./src/lib/random.js","webpack:///./src/lib/uiKit.js","webpack:///./src/components/uiKit/message/Surface.js","webpack:///./src/components/uiKit/message/Block.js","webpack:///./src/components/uiKit/message/ActionsBlock/index.js","webpack:///./src/components/uiKit/message/ButtonElement/index.js","webpack:///./src/components/uiKit/message/ContextBlock/index.js","webpack:///./src/components/Form/DateInput/index.js","webpack:///./src/components/uiKit/message/DatePickerElement/index.js","webpack:///./src/components/uiKit/message/DividerBlock/index.js","webpack:///./src/components/uiKit/message/ImageBlock/index.js","webpack:///./src/components/uiKit/message/ImageElement/index.js","webpack:///./src/components/Emoji/ascii.js","webpack:///./src/components/Emoji/emojis.js","webpack:///./src/components/Emoji/shortnameToUnicode.js","webpack:///./src/components/Messages/MessageText/emoji.js","webpack:///./src/components/Messages/MessageText/markdown.js","webpack:///./src/components/uiKit/message/Mrkdwn/index.js","webpack:///./src/components/uiKit/message/OverflowElement/index.js","webpack:///./src/components/uiKit/message/PlainText/index.js","webpack:///./src/components/uiKit/message/SectionBlock/index.js","webpack:///./src/components/Form/SelectInput/index.js","webpack:///./src/components/uiKit/message/StaticSelectElement/index.js","webpack:///./src/components/uiKit/message/index.js","webpack:///./src/components/Messages/MessageBlocks/index.js","webpack:///./src/components/Messages/MessageContainer/index.js","webpack:///./src/components/Messages/MessageContent/index.js","webpack:///./src/components/Messages/MessageText/index.js","webpack:///./src/components/Messages/MessageTime/index.js","webpack:///./src/components/Messages/VideoAttachment/index.js","webpack:///./src/components/Messages/Message/index.js","webpack:///./src/components/Messages/constants.js","webpack:///./src/components/Messages/MessageSeparator/index.js","webpack:///./src/components/Messages/TypingDots/index.js","webpack:///./src/components/Messages/TypingIndicator/index.js","webpack:///./src/components/Messages/MessageList/index.js","webpack:///./src/components/Alert/index.js","webpack:///./src/components/Header/index.js","webpack:///./src/components/Sound/index.js","webpack:///./src/components/Tooltip/index.js","webpack:///./src/components/Screen/index.js","webpack:///./src/routes/Chat/component.js","webpack:///./src/routes/Chat/container.js","webpack:///./src/routes/ChatFinished/component.js","webpack:///./src/routes/ChatFinished/container.js","webpack:///./src/routes/GDPRAgreement/component.js","webpack:///./src/routes/GDPRAgreement/container.js","webpack:///./src/components/Form/FormField/index.js","webpack:///./src/components/Form/TextInput/index.js","webpack:///./src/components/Form/PasswordInput/index.js","webpack:///./src/components/Form/index.js","webpack:///./src/routes/LeaveMessage/component.js","webpack:///./src/routes/LeaveMessage/container.js","webpack:///./src/routes/Register/component.js","webpack:///./src/routes/Register/container.js","webpack:///./src/routes/SwitchDepartment/component.js","webpack:///./src/routes/SwitchDepartment/container.js","webpack:///./src/routes/TriggerMessage/component.js","webpack:///./src/routes/TriggerMessage/container.js","webpack:///./src/components/App/index.js","webpack:///./src/i18n/index.js"],"names":["preact","hooks","module","exports","attributes","content","props","ref","useRef","useEffect","div","document","createElement","innerHTML","source","firstChild","dest","current","appendChild","h","Object","assign","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","history","createMemoryHistory","host","useSsl","match","Livechat","LivechatClient","protocol","log","window","HomainsChat","_","widget","iframe","bodyStyle","scrollPosition","widget_height","config","hookQueue","ready","smallScreen","validCallbacks","callbacks","mitt","registerCallback","eventName","fn","indexOf","on","emitCallback","data","emit","callHook","action","params","push","src","args","contentWindow","postMessage","updateWidgetStyle","isOpened","documentElement","scrollTop","body","style","cssText","left","height","width","WIDGET_MARGIN","openWidget","dataset","state","focus","closeWidget","api","popup","length","forEach","hookParams","apply","this","minimizeWindow","restoreWindow","closed","close","openPopout","open","url","lastIndexOf","resizeWidget","removeWidget","removeChild","callback","showWidget","display","hideWidget","resetDocumentStyle","setFullScreenDocumentMobile","pageVisited","change","location","JSON","parse","stringify","title","setCustomField","key","value","overwrite","setTheme","theme","setDepartment","department","setGuestToken","token","setGuestName","name","setGuestEmail","email","registerGuest","guest","setAgent","agent","setLanguage","language","currentPage","href","init","className","position","maxHeight","bottom","right","zIndex","container","allowTransparency","border","backgroundColor","handleMediaQueryTest","matches","mediaQueryList","matchMedia","addListener","createWidget","addEventListener","msg","undefined","concat","setInterval","initRocket","console","warn","queue","parentCall","method","parent","c","call","livechat","initialize","hasOwnProperty","Array","isArray","clearDepartment","maximizeWidget","minimizeWidget","onChatMaximized","onChatMinimized","onChatStarted","onChatEnded","onPrechatFormSubmit","onOfflineFormSubmit","onWidgetShown","onWidgetHidden","onAssignAgent","onAgentStatusChange","onQueuePositionChange","onServiceOffline","runCallbackEventEmitter","callbackName","includes","localStorage","sessionStorage","store","storedState","initialState","localStorageKey","dontPersist","getItem","_state","newValue","reload","setStoredState","sessionId","Math","random","toString","substring","setItem","openSessionIds","setState","minimized","triggered","visible","filter","session","persistable","partialState","prevState","persist","nonPeristable","ignoredKey","typing","messages","settings","triggers","departments","resources","user","sound","enabled","play","gdpr","accepted","alerts","unread","StoreContext","createContext","Provider","dispatch","bind","handleStoreChange","render","children","off","Component","displayName","Consumer","flatMap","arr","mapFunc","result","entries","index","x","createClassName","styles","elementName","modifiers","classes","modifierKey","modifierValue","join","asyncForEach","array","debounce","func","delay","inDebounce","f","context","clearTimeout","setTimeout","stop","throttle","limit","inThrottle","getInsertIndex","item","ranking","order","min","max","guess","floor","guessedOrder","upsert","predicate","findIndex","splice","setCookies","rid","cookie","createToken","getAvatarUrl","username","client","msgTypesNotRendered","canRenderMessage","t","getAttachmentUrl","sortArrayByColumn","column","inverted","sort","a","b","parseOfflineMessage","fields","origin","normalizeDOMRect","top","visibility","hidden","removeListener","removeEventListener","msHidden","webkitHidden","MemoizedComponent","nextProps","memo","component","isActiveSession","loadConfig","credentials","room","queueInfo","hiddenInfo","noMoreMessages","processUnread","lastReadMessageId","renderedMessages","message","lastReadMessageIndex","_id","unreadMessages","slice","lastReadMessage","alertMessage","I18n","one","other","count","since","format","parseISO","ts","alert","constants","success","timeout","newAlerts","browserLanguage","navigator","userLanguage","configLanguage","setWidgetLanguage","changeLocale","languageString","split","languageCode","countryCode","toLowerCase","toUpperCase","normalizeAgent","agentData","status","normalizeQueueAlert","spot","estimatedWaitTimeSeconds","locale","supportedLocales","fullLanguage","find","lng","require","getDateFnsLocale","estimatedWaitTime","formatDistance","Date","setSeconds","Commands","connecting","addParentMessage","parentMessage","parentMessages","tmid","isThreadMessage","replies","findParentMessage","reason","error","normalizeThreadMessage","attachments","threadMsg","text","normalizeMessage","normalizeMessages","Promise","all","handleMouseUp","target","blur","Button","submit","disabled","outline","nude","danger","secondary","stack","small","loading","badge","icon","onClick","img","type","onMouseUp","aria-label","backgroundImage","ButtonGroup","toChildArray","child","cloneElement","Modal","handleKeyDown","triggerDismiss","handleTouchStart","dismissByOverlay","handleMouseDown","onDismiss","mounted","animated","onTouchStart","onMouseDown","Number","isFinite","defaultProps","Message","Confirm","confirmButtonText","cancelButtonText","onConfirm","onCancel","Alert","buttonText","handleButton","modal","promptTranscript","transcriptMessage","visitorEmails","address","ModalManager","then","requestTranscript","handleTranscript","transcript","commands","closeChat","transcriptRequested","route","processMessage","doPlaySound","u","initRoom","unsubscribeAll","servedBy","subscribeRoom","roomAgent","onAgentChange","transformAgentInformationOnMessage","agentHiddenInfo","onTyping","isTyping","onMessage","toISOString","editedAt","self","timer","connectedListener","disconnectedListener","getGreetingMessages","trigger","loadMessages","storedMessages","previousMessages","rawMessages","reverse","lastMessage","loadMoreMessages","moreMessages","defaultRoomParams","defaultAgent","agentId","initiated","livechatDisconnectedAlertId","livechatConnectedAlertId","l","Connection","connect","clearListeners","addListeners","clearAlerts","reconnect","displayAlert","handleConnected","handleDisconnected","onStreamData","instance","CustomFields","_initiated","_started","_queue","processCustomFields","sendCustomField","agentPromise","Triggers","_requests","_triggers","_enabled","firedTriggers","triggerId","skip","processTriggers","actions","triggerAction","reject","sender","now","nextAgent","runOnce","request","conditions","condition","hrefRegExp","RegExp","fire","parseInt","newTriggers","createOrUpdateGuest","grantVisitor","visitor","updateIframeGuestData","guestData","info","processRequest","sendVisitorNavigation","pageInfo","color","fontColor","iconColor","offlineTitle","dept","dep","setExpanded","expanded","localToken","onNewMessage","event","Hooks","oldStatus","docActivityEvents","userPrensence","reset","stopEvents","stopTimer","startTimer","setAway","startEvents","setOnline","updateVisitorStatus","ComposerAction","ComposerActions","escapeMap","'","escapeRegex","escapeHtml","mem","string","replace","replaceCaret","el","findLastTextNode","node","nodeType","Node","TEXT_NODE","childNodes","i","textNode","isTargetFocused","activeElement","nodeValue","range","createRange","sel","getSelection","setStart","collapse","removeAllRanges","addRange","HTMLElement","Composer","handleRef","handleInput","onChange","inputLock","sanitize","innerText","handleKeypress","onSubmit","which","shiftKey","preventDefault","handlePaste","onUpload","clipboardData","items","from","files","kind","test","getAsFile","getAsString","pasteText","handleDrop","dataTransfer","handleClick","handleEmojiClick","plainText","queryCommandSupported","execCommand","getRangeAt","deleteContents","createTextNode","insertNode","selectNodeContents","selection","pre","post","placeholder","dangerouslySetInnerHTML","__html","plain","html","contentEditable","onInput","onKeypress","onPaste","onDrop","onCompositionStart","handleInputLock","onCompositionEnd","handleNotifyEmojiSelect","notifyEmojiSelect","nextValue","limitTextLength","emoji","caretPosition","getCaretPosition","oldText","newText","substr","moveCursorToEndAndFocus","endIndex","setPos","set","element","doc","ownerDocument","win","defaultView","parentWindow","rangeCount","preCaretRange","cloneRange","setEnd","endContainer","endOffset","textRange","preCaretTextRange","createTextRange","moveToElementText","setEndPoint","locked","escapeForRegExp","FilesDropTarget","dragLevel","handleInputRef","input","handleDragOver","handleDragEnter","handleDragLeave","handleUpload","handleInputChange","currentTarget","accept","multiple","filteredFiles","acceptMatchers","acceptString","charAt","matchTypeOnly","exec","file","some","acceptMatcher","browse","click","overlayed","overlayText","data-overlay-text","onDragOver","onDragEnter","onDragLeave","dragover","PopoverContext","PopoverOverlay","PopoverContainer","renderer","overlayBounds","triggerBounds","overlayRef","base","getBoundingClientRect","dismiss","handleOverlayGesture","handleOverlayRef","overlayProps","PopoverTrigger","pop","Menu","placement","PopoverMenuWrapper","menuRef","closest","menu__item","onClickCapture","menuBounds","menuWidth","menuHeight","rightSpace","bottomSpace","PopoverMenu","Group","Item","primary","Popover","Footer","FooterContent","PoweredBy","rel","role","OptionsTrigger","FooterOptions","CharCounter","textLength","highlight","MessageBubble","inverse","quoted","system","AudioAttachment","messageBubbleProps","controls","FileAttachmentIcon","extension","Icon","PDFIcon","DocIcon","PPTIcon","SheetIcon","ZipIcon","FileIcon","FileAttachment","download","ImageAttachment","Avatar","errored","handleError","large","description","nobg","alt","onError","MessageAvatars","avatarResolver","usernames","UNMISTAKABLE_CHARS","chooseElement","arrayOrString","Uint32Array","crypto","getRandomValues","createRandomString","charsCount","alphabet","UIKitInteractionType","MODAL_OPEN","MODAL_CLOSE","MODAL_UPDATE","ERRORS","UIKitIncomingInteractionType","UIKitIncomingInteractionContainerType","triggersId","Map","invalidateTriggerId","appId","get","delete","generateTriggerId","createRandomId","handlePayloadUserInteraction","has","view","viewId","MODAL_ClOSE","actionId","mid","payload","race","fetch","encodeURI","getBody","headers","getHeaders","handle","interactionType","SurfaceContext","dispatchAction","BlockContext","blockId","usePerformAction","useContext","useState","performing","setPerforming","mountedRef","useCallback","elements","parser","collapsed","setCollapsed","renderableElements","useMemo","hiddenElementsCount","isMoreButtonVisible","handleMoreButtonClick","renderedElement","renderActions","BLOCK_CONTEXT","ACTION","confirm","performAction","performingAction","newTab","opener","accessory","SECTION","renderContext","CONTEXT","initialDate","handleChange","selectedDate","imageUrl","altText","naturalWidth","naturalHeight","updateImageState","image","Image","cancelled","onload","contentStyle","maxWidth","wrapperStyle","paddingBottom","linkStyle","ascii","O_O","emojis","shortnamePattern","replaceShortNameWithUnicode","shortname","regAscii","unescapeHTML","unescaped","shortnameToUnicode","stringMessage","entire","m1","m2","m3","emojiUnicode","emojiRanges","transformEmojisToNormalSize","transformEmojisToLargeSize","isOnlyEmoji","str","removeAllEmoji","removeSpaces","renderEmojis","origPlainText","textWithOnlyUnicode","md","MarkdownIt","breaks","linkify","typographer","defaultRender","rules","link_open","tokens","idx","options","env","renderToken","targetAttrIndex","attrIndex","relAttrIndex","attrPush","attrs","use","renderStrong","opts","slf","markup","tag","em_open","em_close","inline","ruler","silent","marker","charCodeAt","pos","scanned","scanDelims","ch","String","fromCharCode","len","delimiters","jump","end","can_open","can_close","renderMarkdown","ADD_ATTR","dir","OverflowTrigger","OverflowOption","option","unsafe","field","renderAccessories","SelectInput","defaultPrevented","label","initialOption","selectOptions","divider","BLOCK","section","mrkdwn","button","overflow","datePicker","staticSelect","multiStaticSelect","UiKitParserMessage","renderMessageBlocks","uiKitMessage","engine","blocks","MessageContainer","compact","Element","MessageContent","MessageText","MessageTime","normal","dateTime","timestamp","isToday","parseDate","VideoAttachment","getSystemMessageText","conversationFinishedMessage","transferData","transferredBy","transferredTo","nextDepartment","scope","to","normalizeTransferHistoryMessage","getMessageUsernames","alias","attachmentResolver","me","renderContent","attachment","audio_url","video_url","image_url","title_link","message_link","Boolean","MessageSeparator","date","TypingDots","class","TypingIndicator","containerProps","MessageList","SCROLL_AT_BOTTOM","handleScroll","isResizingFromBottom","scrollHeight","clientHeight","SCROLL_AT_TOP","SCROLL_FREE","onScrollTo","handleResize","renderItems","uid","typingUsernames","previousMessage","nextMessage","isSameDay","onScroll","previousScrollHeight","delta","handleDismiss","warning","hideCloseButton","dismissTimeout","Header","Picture","Content","Title","SubTitle","Actions","Action","Post","CustomField","Sound","audio","handlePlayProp","dismissNotification","ended","paused","pause","currentTime","onStart","onStop","onPlay","onEnded","getPositioningStyle","Tooltip","floating","TooltipContext","TooltipContainer","tooltip","activeChild","showTooltip","childIndex","hideTooltip","activeChildren","Container","Trigger","onMouseEnter","onMouseLeave","onFocusCapture","onBlurCapture","ScreenHeader","largeHeader","phone","headerTitle","notificationsEnabled","windowed","onDismissAlert","onEnableNotifications","onDisableNotifications","onMinimize","onRestore","onOpenWindow","avatar","statusBorder","ChatButton","CssVar","CSS","supports","cssVars","default","variables","screen","Screen","onSoundStop","fitTextSize","nopadding","Chat","atBottom","emojiPickerActive","handleFilesDropTargetRef","filesDropTarget","handleMessagesContainerRef","messagesContainer","handleScrollTo","region","onTop","onBottom","handleUploadClick","handleSendClick","handleSubmit","turnOffEmojiPicker","handleChangeText","onChangeText","toggleEmojiPickerState","handleEmojiSelect","native","uploads","onChangeDepartment","onFinishChat","onRemoveUserData","registrationRequired","onRegisterUser","showPreview","showSkinTones","sheetSize","onSelect","autoFocus","ChangeIcon","RemoveIcon","FinishIcon","ChatContainer","connectingAgent","queueSpot","triggerQueueMessage","checkConnectingAgent","newConnecting","newQueueSpot","newEstimatedWaitTime","handleQueueMessage","handleConnectingAgentAlert","checkRoom","stateRoom","grantUser","newUser","getRoom","newRoom","handleTop","startTyping","notifyVisitorTyping","stopTypingDebounced","stopTyping","trim","sendMessage","doFileUpload","uploadFile","sizeAllowed","size","handleSoundStop","deleteVisitor","canSwitchDepartment","allowSwitchingDepartments","showOnRegistration","canFinishChat","canRemoveUserData","allowRemoveUserData","registrationFormEnabled","nameFieldRegistrationForm","emailFieldRegistrationForm","showDepartment","showOptionsMenu","oldAlerts","connectingAgentAlertId","livechatQueueMessageId","prevProps","prevMessages","prevAlerts","nextLastMessage","ChatConnector","fileUpload","forceAcceptDataProcessingConsent","showConnecting","registrationForm","customColor","customFontColor","customIconColor","customTitle","triggerAgent","emails","phoneNumber","customFields","defaultGreeting","defaultMessage","ChatFinished","onRedirectChat","greeting","ChatFinishedContainer","handleRedirect","ChatFinishedConnector","conversationFinishedText","defaultConsentText","defaultInstructions","GDPR","onAgree","consentText","instructions","renderInline","GDPRContainer","handleAgree","GDPRConnector","dataProcessingConsentText","FormField","required","TextInput","multiline","rows","Form","noValidate","defaultHandleSubmit","Validations","nonEmpty","custom","pattern","defaultTitle","LeaveMessage","validations","getDefaultState","hasDepartmentField","getValidableFields","fieldName","validate","reduce","validation","validateAll","showError","isValid","every","handleFieldChange","handleNameChange","handleEmailChange","handleDepartmentChange","handleMessageChange","values","entry","renderForm","valid","unavailableMessage","hasForm","LeaveMessageContainer","sendOfflineMessage","LeaveMessageConnector","offlineMessage","successMessage","offlineSuccessMessage","offlineUnavailableMessage","offlineColor","displayOfflineForm","customOfflineTitle","showOnOfflineForm","getDefaultDepartment","regexp","customFieldValidation","Register","hasNameField","hasEmailField","defaultValue","departmentDefault","nameDefault","emailDefault","nameValue","emailValue","departmentValue","showDepartmentField","renderCustomFields","RegisterContainer","getDepartment","deptDefault","registerCustomFields","getDepartmentDefault","guestDepartment","prevUser","RegisterConnector","registrationFormMessage","guestName","guestEmail","SwitchDepartment","handleCancelClick","SwitchDepartmentContainer","confirmChangeDepartment","go","transferChat","handleCancel","SwitchDepartmentConnector","TriggerMessage","createRef","onStartChat","TriggerMessageContainer","handleStart","TriggerMessageConnector","App","initialized","poppedOut","handleRoute","gdprRequired","online","gdprAccepted","handleEnableNotifications","handleDisableNotifications","handleMinimize","handleRestore","undocked","dispatchRestore","dispatchEvent","handleOpenWindow","handleDismissAlert","handleVisibilityChange","handleLanguageChange","forceUpdate","screenProps","path","queryString","search","mode","handleTriggers","userPresence","initWidget","checkPoppedOutWindow","finalize","s","AppConnector","defaultLocale","import","hot"],"mappings":"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,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,cAAe,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,YAAa,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,gBAAiB,OAAQ,UAAW,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OA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,KAAM,OAAO,mCAClB,IAAK,QAAS,OAAO,mCACrB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,mCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,KAAM,OAAO,oCAClB,IAAK,QAAS,OAAO,oCACrB,IAAK,QAAS,OAAO,oCACrB,QAAS,OAAO,sCAIK,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","file":"62.chunk.bea98.js","sourcesContent":["\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","var map = {\n\t\"./_lib/buildFormatLongFn/index.js\": 556,\n\t\"./_lib/buildLocalizeFn/index.js\": 557,\n\t\"./_lib/buildMatchFn/index.js\": 558,\n\t\"./_lib/buildMatchPatternFn/index.js\": 559,\n\t\"./af/_lib/formatDistance/index.js\": 788,\n\t\"./af/_lib/formatLong/index.js\": 789,\n\t\"./af/_lib/formatRelative/index.js\": 790,\n\t\"./af/_lib/localize/index.js\": 791,\n\t\"./af/_lib/match/index.js\": 792,\n\t\"./af/index.js\": 1175,\n\t\"./ar-DZ/_lib/formatDistance/index.js\": 793,\n\t\"./ar-DZ/_lib/formatLong/index.js\": 794,\n\t\"./ar-DZ/_lib/formatRelative/index.js\": 795,\n\t\"./ar-DZ/_lib/localize/index.js\": 796,\n\t\"./ar-DZ/_lib/match/index.js\": 797,\n\t\"./ar-DZ/index.js\": 1176,\n\t\"./ar-MA/_lib/formatDistance/index.js\": 798,\n\t\"./ar-MA/_lib/formatLong/index.js\": 799,\n\t\"./ar-MA/_lib/formatRelative/index.js\": 800,\n\t\"./ar-MA/_lib/localize/index.js\": 801,\n\t\"./ar-MA/_lib/match/index.js\": 802,\n\t\"./ar-MA/index.js\": 1177,\n\t\"./ar-SA/_lib/formatDistance/index.js\": 803,\n\t\"./ar-SA/_lib/formatLong/index.js\": 804,\n\t\"./ar-SA/_lib/formatRelative/index.js\": 805,\n\t\"./ar-SA/_lib/localize/index.js\": 806,\n\t\"./ar-SA/_lib/match/index.js\": 807,\n\t\"./ar-SA/index.js\": 1178,\n\t\"./az/_lib/formatDistance/index.js\": 808,\n\t\"./az/_lib/formatLong/index.js\": 809,\n\t\"./az/_lib/formatRelative/index.js\": 810,\n\t\"./az/_lib/localize/index.js\": 811,\n\t\"./az/_lib/match/index.js\": 812,\n\t\"./az/index.js\": 1179,\n\t\"./be/_lib/formatDistance/index.js\": 813,\n\t\"./be/_lib/formatLong/index.js\": 814,\n\t\"./be/_lib/formatRelative/index.js\": 815,\n\t\"./be/_lib/localize/index.js\": 816,\n\t\"./be/_lib/match/index.js\": 817,\n\t\"./be/index.js\": 1183,\n\t\"./bg/_lib/formatDistance/index.js\": 818,\n\t\"./bg/_lib/formatLong/index.js\": 819,\n\t\"./bg/_lib/formatRelative/index.js\": 820,\n\t\"./bg/_lib/localize/index.js\": 821,\n\t\"./bg/_lib/match/index.js\": 822,\n\t\"./bg/index.js\": 1184,\n\t\"./bn/_lib/formatDistance/index.js\": 823,\n\t\"./bn/_lib/formatLong/index.js\": 824,\n\t\"./bn/_lib/formatRelative/index.js\": 825,\n\t\"./bn/_lib/localize/index.js\": 769,\n\t\"./bn/_lib/match/index.js\": 826,\n\t\"./bn/index.js\": 1185,\n\t\"./ca/_lib/formatDistance/index.js\": 827,\n\t\"./ca/_lib/formatLong/index.js\": 828,\n\t\"./ca/_lib/formatRelative/index.js\": 829,\n\t\"./ca/_lib/localize/index.js\": 830,\n\t\"./ca/_lib/match/index.js\": 831,\n\t\"./ca/index.js\": 1186,\n\t\"./cs/_lib/formatDistance/index.js\": 832,\n\t\"./cs/_lib/formatLong/index.js\": 833,\n\t\"./cs/_lib/formatRelative/index.js\": 834,\n\t\"./cs/_lib/localize/index.js\": 835,\n\t\"./cs/_lib/match/index.js\": 836,\n\t\"./cs/index.js\": 1187,\n\t\"./cy/_lib/formatDistance/index.js\": 837,\n\t\"./cy/_lib/formatLong/index.js\": 838,\n\t\"./cy/_lib/formatRelative/index.js\": 839,\n\t\"./cy/_lib/localize/index.js\": 840,\n\t\"./cy/_lib/match/index.js\": 841,\n\t\"./cy/index.js\": 1188,\n\t\"./da/_lib/formatDistance/index.js\": 842,\n\t\"./da/_lib/formatLong/index.js\": 843,\n\t\"./da/_lib/formatRelative/index.js\": 844,\n\t\"./da/_lib/localize/index.js\": 845,\n\t\"./da/_lib/match/index.js\": 846,\n\t\"./da/index.js\": 1189,\n\t\"./de/_lib/formatDistance/index.js\": 847,\n\t\"./de/_lib/formatLong/index.js\": 848,\n\t\"./de/_lib/formatRelative/index.js\": 849,\n\t\"./de/_lib/localize/index.js\": 850,\n\t\"./de/_lib/match/index.js\": 851,\n\t\"./de/index.js\": 1190,\n\t\"./el/_lib/formatDistance/index.js\": 852,\n\t\"./el/_lib/formatLong/index.js\": 853,\n\t\"./el/_lib/formatRelative/index.js\": 854,\n\t\"./el/_lib/localize/index.js\": 855,\n\t\"./el/_lib/match/index.js\": 856,\n\t\"./el/index.js\": 1191,\n\t\"./en-AU/_lib/formatLong/index.js\": 857,\n\t\"./en-AU/index.js\": 1192,\n\t\"./en-CA/_lib/formatDistance/index.js\": 858,\n\t\"./en-CA/_lib/formatLong/index.js\": 859,\n\t\"./en-CA/index.js\": 1193,\n\t\"./en-GB/_lib/formatLong/index.js\": 860,\n\t\"./en-GB/index.js\": 1194,\n\t\"./en-IN/_lib/formatLong/index.js\": 861,\n\t\"./en-IN/index.js\": 1195,\n\t\"./en-NZ/_lib/formatLong/index.js\": 862,\n\t\"./en-NZ/index.js\": 1196,\n\t\"./en-US/_lib/formatDistance/index.js\": 603,\n\t\"./en-US/_lib/formatLong/index.js\": 863,\n\t\"./en-US/_lib/formatRelative/index.js\": 587,\n\t\"./en-US/_lib/localize/index.js\": 588,\n\t\"./en-US/_lib/match/index.js\": 589,\n\t\"./en-US/index.js\": 1197,\n\t\"./eo/_lib/formatDistance/index.js\": 864,\n\t\"./eo/_lib/formatLong/index.js\": 865,\n\t\"./eo/_lib/formatRelative/index.js\": 866,\n\t\"./eo/_lib/localize/index.js\": 867,\n\t\"./eo/_lib/match/index.js\": 868,\n\t\"./eo/index.js\": 1198,\n\t\"./es/_lib/formatDistance/index.js\": 869,\n\t\"./es/_lib/formatLong/index.js\": 870,\n\t\"./es/_lib/formatRelative/index.js\": 871,\n\t\"./es/_lib/localize/index.js\": 872,\n\t\"./es/_lib/match/index.js\": 873,\n\t\"./es/index.js\": 1199,\n\t\"./et/_lib/formatDistance/index.js\": 874,\n\t\"./et/_lib/formatLong/index.js\": 875,\n\t\"./et/_lib/formatRelative/index.js\": 876,\n\t\"./et/_lib/localize/index.js\": 877,\n\t\"./et/_lib/match/index.js\": 878,\n\t\"./et/index.js\": 1200,\n\t\"./eu/_lib/formatDistance/index.js\": 879,\n\t\"./eu/_lib/formatLong/index.js\": 880,\n\t\"./eu/_lib/formatRelative/index.js\": 881,\n\t\"./eu/_lib/localize/index.js\": 882,\n\t\"./eu/_lib/match/index.js\": 883,\n\t\"./eu/index.js\": 1201,\n\t\"./fa-IR/_lib/formatDistance/index.js\": 884,\n\t\"./fa-IR/_lib/formatLong/index.js\": 885,\n\t\"./fa-IR/_lib/formatRelative/index.js\": 886,\n\t\"./fa-IR/_lib/localize/index.js\": 887,\n\t\"./fa-IR/_lib/match/index.js\": 888,\n\t\"./fa-IR/index.js\": 1202,\n\t\"./fi/_lib/formatDistance/index.js\": 889,\n\t\"./fi/_lib/formatLong/index.js\": 890,\n\t\"./fi/_lib/formatRelative/index.js\": 891,\n\t\"./fi/_lib/localize/index.js\": 892,\n\t\"./fi/_lib/match/index.js\": 893,\n\t\"./fi/index.js\": 1203,\n\t\"./fr-CA/_lib/formatLong/index.js\": 894,\n\t\"./fr-CA/index.js\": 1204,\n\t\"./fr-CH/_lib/formatDistance/index.js\": 895,\n\t\"./fr-CH/_lib/formatLong/index.js\": 896,\n\t\"./fr-CH/_lib/formatRelative/index.js\": 897,\n\t\"./fr-CH/_lib/formatters/index.js\": 1205,\n\t\"./fr-CH/_lib/localize/index.js\": 898,\n\t\"./fr-CH/_lib/match/index.js\": 899,\n\t\"./fr-CH/index.js\": 1206,\n\t\"./fr/_lib/formatDistance/index.js\": 770,\n\t\"./fr/_lib/formatLong/index.js\": 900,\n\t\"./fr/_lib/formatRelative/index.js\": 771,\n\t\"./fr/_lib/formatters/index.js\": 1207,\n\t\"./fr/_lib/localize/index.js\": 772,\n\t\"./fr/_lib/match/index.js\": 773,\n\t\"./fr/index.js\": 1208,\n\t\"./gd/_lib/formatDistance/index.js\": 901,\n\t\"./gd/_lib/formatLong/index.js\": 902,\n\t\"./gd/_lib/formatRelative/index.js\": 903,\n\t\"./gd/_lib/localize/index.js\": 904,\n\t\"./gd/_lib/match/index.js\": 905,\n\t\"./gd/index.js\": 1209,\n\t\"./gl/_lib/formatDistance/index.js\": 906,\n\t\"./gl/_lib/formatLong/index.js\": 907,\n\t\"./gl/_lib/formatRelative/index.js\": 908,\n\t\"./gl/_lib/localize/index.js\": 909,\n\t\"./gl/_lib/match/index.js\": 910,\n\t\"./gl/index.js\": 1210,\n\t\"./gu/_lib/formatDistance/index.js\": 911,\n\t\"./gu/_lib/formatLong/index.js\": 912,\n\t\"./gu/_lib/formatRelative/index.js\": 913,\n\t\"./gu/_lib/localize/index.js\": 914,\n\t\"./gu/_lib/match/index.js\": 915,\n\t\"./gu/index.js\": 1211,\n\t\"./he/_lib/formatDistance/index.js\": 916,\n\t\"./he/_lib/formatLong/index.js\": 917,\n\t\"./he/_lib/formatRelative/index.js\": 918,\n\t\"./he/_lib/localize/index.js\": 919,\n\t\"./he/_lib/match/index.js\": 920,\n\t\"./he/index.js\": 1212,\n\t\"./hi/_lib/formatDistance/index.js\": 921,\n\t\"./hi/_lib/formatLong/index.js\": 922,\n\t\"./hi/_lib/formatRelative/index.js\": 923,\n\t\"./hi/_lib/localize/index.js\": 684,\n\t\"./hi/_lib/match/index.js\": 924,\n\t\"./hi/index.js\": 1213,\n\t\"./hr/_lib/formatDistance/index.js\": 925,\n\t\"./hr/_lib/formatLong/index.js\": 926,\n\t\"./hr/_lib/formatRelative/index.js\": 927,\n\t\"./hr/_lib/localize/index.js\": 928,\n\t\"./hr/_lib/match/index.js\": 929,\n\t\"./hr/index.js\": 1214,\n\t\"./hu/_lib/formatDistance/index.js\": 930,\n\t\"./hu/_lib/formatLong/index.js\": 931,\n\t\"./hu/_lib/formatRelative/index.js\": 932,\n\t\"./hu/_lib/localize/index.js\": 933,\n\t\"./hu/_lib/match/index.js\": 934,\n\t\"./hu/index.js\": 1215,\n\t\"./hy/_lib/formatDistance/index.js\": 935,\n\t\"./hy/_lib/formatLong/index.js\": 936,\n\t\"./hy/_lib/formatRelative/index.js\": 937,\n\t\"./hy/_lib/localize/index.js\": 938,\n\t\"./hy/_lib/match/index.js\": 939,\n\t\"./hy/index.js\": 1216,\n\t\"./id/_lib/formatDistance/index.js\": 940,\n\t\"./id/_lib/formatLong/index.js\": 941,\n\t\"./id/_lib/formatRelative/index.js\": 942,\n\t\"./id/_lib/localize/index.js\": 943,\n\t\"./id/_lib/match/index.js\": 944,\n\t\"./id/index.js\": 1217,\n\t\"./is/_lib/formatDistance/index.js\": 945,\n\t\"./is/_lib/formatLong/index.js\": 946,\n\t\"./is/_lib/formatRelative/index.js\": 947,\n\t\"./is/_lib/localize/index.js\": 948,\n\t\"./is/_lib/match/index.js\": 949,\n\t\"./is/index.js\": 1218,\n\t\"./it/_lib/formatDistance/index.js\": 950,\n\t\"./it/_lib/formatLong/index.js\": 951,\n\t\"./it/_lib/formatRelative/index.js\": 952,\n\t\"./it/_lib/localize/index.js\": 953,\n\t\"./it/_lib/match/index.js\": 954,\n\t\"./it/index.js\": 1219,\n\t\"./ja/_lib/formatDistance/index.js\": 955,\n\t\"./ja/_lib/formatLong/index.js\": 956,\n\t\"./ja/_lib/formatRelative/index.js\": 957,\n\t\"./ja/_lib/localize/index.js\": 958,\n\t\"./ja/_lib/match/index.js\": 959,\n\t\"./ja/index.js\": 1220,\n\t\"./ka/_lib/formatDistance/index.js\": 960,\n\t\"./ka/_lib/formatLong/index.js\": 961,\n\t\"./ka/_lib/formatRelative/index.js\": 962,\n\t\"./ka/_lib/localize/index.js\": 963,\n\t\"./ka/_lib/match/index.js\": 964,\n\t\"./ka/index.js\": 1221,\n\t\"./kk/_lib/formatDistance/index.js\": 965,\n\t\"./kk/_lib/formatLong/index.js\": 966,\n\t\"./kk/_lib/formatRelative/index.js\": 967,\n\t\"./kk/_lib/localize/index.js\": 968,\n\t\"./kk/_lib/match/index.js\": 969,\n\t\"./kk/index.js\": 1222,\n\t\"./kn/_lib/formatDistance/index.js\": 970,\n\t\"./kn/_lib/formatLong/index.js\": 971,\n\t\"./kn/_lib/formatRelative/index.js\": 972,\n\t\"./kn/_lib/localize/index.js\": 973,\n\t\"./kn/_lib/match/index.js\": 974,\n\t\"./kn/index.js\": 1223,\n\t\"./ko/_lib/formatDistance/index.js\": 975,\n\t\"./ko/_lib/formatLong/index.js\": 976,\n\t\"./ko/_lib/formatRelative/index.js\": 977,\n\t\"./ko/_lib/localize/index.js\": 978,\n\t\"./ko/_lib/match/index.js\": 979,\n\t\"./ko/index.js\": 1224,\n\t\"./lt/_lib/formatDistance/index.js\": 980,\n\t\"./lt/_lib/formatLong/index.js\": 981,\n\t\"./lt/_lib/formatRelative/index.js\": 982,\n\t\"./lt/_lib/localize/index.js\": 983,\n\t\"./lt/_lib/match/index.js\": 984,\n\t\"./lt/index.js\": 1225,\n\t\"./lv/_lib/formatDistance/index.js\": 985,\n\t\"./lv/_lib/formatLong/index.js\": 986,\n\t\"./lv/_lib/formatRelative/index.js\": 987,\n\t\"./lv/_lib/localize/index.js\": 988,\n\t\"./lv/_lib/match/index.js\": 989,\n\t\"./lv/index.js\": 1226,\n\t\"./mk/_lib/formatDistance/index.js\": 990,\n\t\"./mk/_lib/formatLong/index.js\": 991,\n\t\"./mk/_lib/formatRelative/index.js\": 992,\n\t\"./mk/_lib/localize/index.js\": 993,\n\t\"./mk/_lib/match/index.js\": 994,\n\t\"./mk/index.js\": 1227,\n\t\"./ms/_lib/formatDistance/index.js\": 995,\n\t\"./ms/_lib/formatLong/index.js\": 996,\n\t\"./ms/_lib/formatRelative/index.js\": 997,\n\t\"./ms/_lib/localize/index.js\": 998,\n\t\"./ms/_lib/match/index.js\": 999,\n\t\"./ms/index.js\": 1228,\n\t\"./mt/_lib/formatDistance/index.js\": 1000,\n\t\"./mt/_lib/formatLong/index.js\": 1001,\n\t\"./mt/_lib/formatRelative/index.js\": 1002,\n\t\"./mt/_lib/localize/index.js\": 1003,\n\t\"./mt/_lib/match/index.js\": 1004,\n\t\"./mt/index.js\": 1229,\n\t\"./nb/_lib/formatDistance/index.js\": 1005,\n\t\"./nb/_lib/formatLong/index.js\": 1006,\n\t\"./nb/_lib/formatRelative/index.js\": 1007,\n\t\"./nb/_lib/localize/index.js\": 1008,\n\t\"./nb/_lib/match/index.js\": 1009,\n\t\"./nb/index.js\": 1230,\n\t\"./nl-BE/_lib/formatDistance/index.js\": 1010,\n\t\"./nl-BE/_lib/formatLong/index.js\": 1011,\n\t\"./nl-BE/_lib/formatRelative/index.js\": 1012,\n\t\"./nl-BE/_lib/localize/index.js\": 1013,\n\t\"./nl-BE/_lib/match/index.js\": 1014,\n\t\"./nl-BE/index.js\": 1231,\n\t\"./nl/_lib/formatDistance/index.js\": 1015,\n\t\"./nl/_lib/formatLong/index.js\": 1016,\n\t\"./nl/_lib/formatRelative/index.js\": 1017,\n\t\"./nl/_lib/localize/index.js\": 1018,\n\t\"./nl/_lib/match/index.js\": 1019,\n\t\"./nl/index.js\": 1232,\n\t\"./nn/_lib/formatDistance/index.js\": 1020,\n\t\"./nn/_lib/formatLong/index.js\": 1021,\n\t\"./nn/_lib/formatRelative/index.js\": 1022,\n\t\"./nn/_lib/localize/index.js\": 1023,\n\t\"./nn/_lib/match/index.js\": 1024,\n\t\"./nn/index.js\": 1233,\n\t\"./pl/_lib/formatDistance/index.js\": 1025,\n\t\"./pl/_lib/formatLong/index.js\": 1026,\n\t\"./pl/_lib/formatRelative/index.js\": 1027,\n\t\"./pl/_lib/localize/index.js\": 1028,\n\t\"./pl/_lib/match/index.js\": 1029,\n\t\"./pl/index.js\": 1234,\n\t\"./pt-BR/_lib/formatDistance/index.js\": 1030,\n\t\"./pt-BR/_lib/formatLong/index.js\": 1031,\n\t\"./pt-BR/_lib/formatRelative/index.js\": 1032,\n\t\"./pt-BR/_lib/localize/index.js\": 1033,\n\t\"./pt-BR/_lib/match/index.js\": 1034,\n\t\"./pt-BR/index.js\": 1235,\n\t\"./pt/_lib/formatDistance/index.js\": 1035,\n\t\"./pt/_lib/formatLong/index.js\": 1036,\n\t\"./pt/_lib/formatRelative/index.js\": 1037,\n\t\"./pt/_lib/localize/index.js\": 1038,\n\t\"./pt/_lib/match/index.js\": 1039,\n\t\"./pt/index.js\": 1236,\n\t\"./ro/_lib/formatDistance/index.js\": 1040,\n\t\"./ro/_lib/formatLong/index.js\": 1041,\n\t\"./ro/_lib/formatRelative/index.js\": 1042,\n\t\"./ro/_lib/localize/index.js\": 1043,\n\t\"./ro/_lib/match/index.js\": 1044,\n\t\"./ro/index.js\": 1237,\n\t\"./ru/_lib/formatDistance/index.js\": 1045,\n\t\"./ru/_lib/formatLong/index.js\": 1046,\n\t\"./ru/_lib/formatRelative/index.js\": 1047,\n\t\"./ru/_lib/localize/index.js\": 1048,\n\t\"./ru/_lib/match/index.js\": 1049,\n\t\"./ru/index.js\": 1238,\n\t\"./sk/_lib/formatDistance/index.js\": 1050,\n\t\"./sk/_lib/formatLong/index.js\": 1051,\n\t\"./sk/_lib/formatRelative/index.js\": 1052,\n\t\"./sk/_lib/localize/index.js\": 1053,\n\t\"./sk/_lib/match/index.js\": 1054,\n\t\"./sk/index.js\": 1239,\n\t\"./sl/_lib/formatDistance/index.js\": 1055,\n\t\"./sl/_lib/formatLong/index.js\": 1056,\n\t\"./sl/_lib/formatRelative/index.js\": 1057,\n\t\"./sl/_lib/localize/index.js\": 1058,\n\t\"./sl/_lib/match/index.js\": 1059,\n\t\"./sl/index.js\": 1240,\n\t\"./sr-Latn/_lib/formatDistance/index.js\": 1060,\n\t\"./sr-Latn/_lib/formatLong/index.js\": 1061,\n\t\"./sr-Latn/_lib/formatRelative/index.js\": 1062,\n\t\"./sr-Latn/_lib/localize/index.js\": 1063,\n\t\"./sr-Latn/_lib/match/index.js\": 1064,\n\t\"./sr-Latn/index.js\": 1241,\n\t\"./sr/_lib/formatDistance/index.js\": 1065,\n\t\"./sr/_lib/formatLong/index.js\": 1066,\n\t\"./sr/_lib/formatRelative/index.js\": 1067,\n\t\"./sr/_lib/localize/index.js\": 1068,\n\t\"./sr/_lib/match/index.js\": 1069,\n\t\"./sr/index.js\": 1242,\n\t\"./sv/_lib/formatDistance/index.js\": 1070,\n\t\"./sv/_lib/formatLong/index.js\": 1071,\n\t\"./sv/_lib/formatRelative/index.js\": 1072,\n\t\"./sv/_lib/localize/index.js\": 1073,\n\t\"./sv/_lib/match/index.js\": 1074,\n\t\"./sv/index.js\": 1243,\n\t\"./ta/_lib/formatDistance/index.js\": 1075,\n\t\"./ta/_lib/formatLong/index.js\": 1076,\n\t\"./ta/_lib/formatRelative/index.js\": 1077,\n\t\"./ta/_lib/localize/index.js\": 1078,\n\t\"./ta/_lib/match/index.js\": 1079,\n\t\"./ta/index.js\": 1244,\n\t\"./te/_lib/formatDistance/index.js\": 1080,\n\t\"./te/_lib/formatLong/index.js\": 1081,\n\t\"./te/_lib/formatRelative/index.js\": 1082,\n\t\"./te/_lib/localize/index.js\": 1083,\n\t\"./te/_lib/match/index.js\": 1084,\n\t\"./te/index.js\": 1245,\n\t\"./th/_lib/formatDistance/index.js\": 1085,\n\t\"./th/_lib/formatLong/index.js\": 1086,\n\t\"./th/_lib/formatRelative/index.js\": 1087,\n\t\"./th/_lib/localize/index.js\": 1088,\n\t\"./th/_lib/match/index.js\": 1089,\n\t\"./th/index.js\": 1246,\n\t\"./tr/_lib/formatDistance/index.js\": 1090,\n\t\"./tr/_lib/formatLong/index.js\": 1091,\n\t\"./tr/_lib/formatRelative/index.js\": 1092,\n\t\"./tr/_lib/localize/index.js\": 1093,\n\t\"./tr/_lib/match/index.js\": 1094,\n\t\"./tr/index.js\": 1247,\n\t\"./ug/_lib/formatDistance/index.js\": 1095,\n\t\"./ug/_lib/formatLong/index.js\": 1096,\n\t\"./ug/_lib/formatRelative/index.js\": 1097,\n\t\"./ug/_lib/localize/index.js\": 1098,\n\t\"./ug/_lib/match/index.js\": 1099,\n\t\"./ug/index.js\": 1248,\n\t\"./uk/_lib/formatDistance/index.js\": 1100,\n\t\"./uk/_lib/formatLong/index.js\": 1101,\n\t\"./uk/_lib/formatRelative/index.js\": 1102,\n\t\"./uk/_lib/localize/index.js\": 1103,\n\t\"./uk/_lib/match/index.js\": 1104,\n\t\"./uk/index.js\": 1249,\n\t\"./uz/_lib/formatDistance/index.js\": 1105,\n\t\"./uz/_lib/formatLong/index.js\": 1106,\n\t\"./uz/_lib/formatRelative/index.js\": 1107,\n\t\"./uz/_lib/localize/index.js\": 1108,\n\t\"./uz/_lib/match/index.js\": 1109,\n\t\"./uz/index.js\": 1250,\n\t\"./vi/_lib/formatDistance/index.js\": 1110,\n\t\"./vi/_lib/formatLong/index.js\": 1111,\n\t\"./vi/_lib/formatRelative/index.js\": 1112,\n\t\"./vi/_lib/localize/index.js\": 1113,\n\t\"./vi/_lib/match/index.js\": 1114,\n\t\"./vi/index.js\": 1251,\n\t\"./zh-CN/_lib/formatDistance/index.js\": 1115,\n\t\"./zh-CN/_lib/formatLong/index.js\": 1116,\n\t\"./zh-CN/_lib/formatRelative/index.js\": 1117,\n\t\"./zh-CN/_lib/localize/index.js\": 1118,\n\t\"./zh-CN/_lib/match/index.js\": 1119,\n\t\"./zh-CN/index.js\": 1252,\n\t\"./zh-TW/_lib/formatDistance/index.js\": 1120,\n\t\"./zh-TW/_lib/formatLong/index.js\": 1121,\n\t\"./zh-TW/_lib/formatRelative/index.js\": 1122,\n\t\"./zh-TW/_lib/localize/index.js\": 1123,\n\t\"./zh-TW/_lib/match/index.js\": 1124,\n\t\"./zh-TW/index.js\": 1253\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1174;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"button__3e1dX\",\"button--nude\":\"button--nude__oLLi8\",\"button--outline\":\"button--outline__3jYhl\",\"button--loading\":\"button--loading__1OpgK\",\"button--danger\":\"button--danger__Iy_nb\",\"button--secondary\":\"button--secondary__2llNV\",\"button--img\":\"button--img__2ISo-\",\"button--stack\":\"button--stack__DpWG_\",\"button--small\":\"button--small__3Ekpu\",\"button--disabled\":\"button--disabled__138mI\",\"button-loading-rotation\":\"button-loading-rotation__3syhb\",\"button--icon\":\"button--icon__3a2Uu\",\"button__badge\":\"button__badge__A7TBZ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button-group\":\"button-group__2wVZy\",\"button-group__item\":\"button-group__item__35pYh\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal__overlay\":\"modal__overlay__1IgTH\",\"modal\":\"modal__Gy54_\",\"modal--animated\":\"modal--animated__2je9C\",\"fadeInUp\":\"fadeInUp__2U9Hr\",\"modal__message\":\"modal__message__ZU6Zd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer\":\"composer__27x96\",\"composer__input\":\"composer__input___Cggy\",\"composer--connecting\":\"composer--connecting__3MFFw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__action\":\"composer__action__2ZuQd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"composer__actions\":\"composer__actions__3eA8B\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"drop\":\"drop__6UUiL\",\"drop--overlayed\":\"drop--overlayed__JT4ny\",\"drop--dragover\":\"drop--dragover__2EYfW\",\"fadein\":\"fadein__1UAhl\",\"drop__input\":\"drop__input__2o6so\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"popover__overlay\":\"popover__overlay__2FLro\",\"popover__overlay--visible\":\"popover__overlay--visible__220hl\",\"popover__container\":\"popover__container__1sbvl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu\":\"menu__14x2m\",\"menu__group\":\"menu__group__cJiQf\",\"menu__group-title\":\"menu__group-title__2LjPN\",\"menu__item\":\"menu__item__1wXnR\",\"menu__item--primary\":\"menu__item--primary__3jawX\",\"menu__item--danger\":\"menu__item--danger__10H3r\",\"menu__item--disabled\":\"menu__item--disabled__31ezP\",\"menu__item__icon\":\"menu__item__icon__sTZTu\",\"menu--hidden\":\"menu--hidden__3uGW9\",\"menu--placement\":\"menu--placement__3ylkS\",\"menu--placement-left-top\":\"menu--placement-left-top__2kTUb\",\"menu--placement-right-top\":\"menu--placement-right-top__10AnG\",\"menu--placement-right-bottom\":\"menu--placement-right-bottom__12XOK\",\"menu--placement-left-bottom\":\"menu--placement-left-bottom__2-Hou\",\"popover-menu__overlay\":\"popover-menu__overlay__3VEFt\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 1500 272\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"footer__1V22a\",\"footer__content\":\"footer__content__1tgEl\",\"footer__options\":\"footer__options__g5T_a\",\"footer__remainder\":\"footer__remainder__3XLQw\",\"footer__remainder--highlight\":\"footer__remainder--highlight__1YH6i\",\"powered-by\":\"powered-by__1DxxE\",\"powered-by__logo\":\"powered-by__logo__2Y08v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-bubble\":\"message-bubble__35HAq\",\"message-bubble--inverse\":\"message-bubble--inverse__8y9eJ\",\"message-bubble--nude\":\"message-bubble--nude__2DB1l\",\"message-bubble--quoted\":\"message-bubble--quoted__3pELB\",\"message-bubble--system\":\"message-bubble--system__2-OfO\",\"message-container\":\"message-container__3n9XC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"audio-attachment__inner\":\"audio-attachment__inner__im_cm\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"file-attachment\":\"file-attachment__3usPx\",\"file-attachment__inner\":\"file-attachment__inner__4KqWu\",\"file-attachment__download-button\":\"file-attachment__download-button__JXzbE\",\"file-attachment__title\":\"file-attachment__title__8QXST\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"image-attachment__inner\":\"image-attachment__inner__3qFwJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"avatar\":\"avatar__GFJvS\",\"avatar__image\":\"avatar__image__1eLmO\",\"avatar__status\":\"avatar__status__Wsps9\",\"avatar__status--small\":\"avatar__status--small__1rB0Q\",\"avatar__status--large\":\"avatar__status--large__1XQtY\",\"avatar__status--status-online\":\"avatar__status--status-online__15xk6\",\"avatar__status--status-away\":\"avatar__status--status-away__JIVRl\",\"avatar__status--status-busy\":\"avatar__status--status-busy__2Zv0K\",\"avatar--nobg\":\"avatar--nobg__1Xmft\",\"avatar--small\":\"avatar--small__2-TCM\",\"avatar--large\":\"avatar--large__3MrZD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-avatars\":\"message-avatars__3vj_P\",\"message-avatars__avatar\":\"message-avatars__avatar__2w8Pn\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-actions-block\":\"uikit-actions-block__3kFjZ\",\"uikit-actions-block__item\":\"uikit-actions-block__item__257n5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-button\":\"uikit-button__3X6Eh\",\"button-loading-rotation\":\"button-loading-rotation__2Fl4_\",\"uikit-button--style-primary\":\"uikit-button--style-primary__3DERb\",\"uikit-button--style-danger\":\"uikit-button--style-danger__2qDlz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-context-block\":\"uikit-context-block__2WzDn\",\"uikit-context-block__item\":\"uikit-context-block__item__3dfvB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"date-input\":\"date-input__32np5\",\"date-input--small\":\"date-input--small__1nGy1\",\"date-input--disabled\":\"date-input--disabled__V83aQ\",\"date-input--error\":\"date-input--error__3giSy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-divider-block\":\"uikit-divider-block__Z-3HK\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image-block\":\"uikit-image-block__1angW\",\"uikit-image-block__title\":\"uikit-image-block__title__1xJGc\",\"uikit-image-block__content\":\"uikit-image-block__content__zXi9F\",\"uikit-image-block__content--loading\":\"uikit-image-block__content--loading__3GZqc\",\"uikit-image-block__wrapper\":\"uikit-image-block__wrapper__1-Ukv\",\"uikit-image-block__link\":\"uikit-image-block__link__27wvk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-image\":\"uikit-image__W6cSQ\",\"uikit-image--accessory\":\"uikit-image--accessory__xfSNy\",\"uikit-image--context\":\"uikit-image--context__3myst\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-mrkdwn\":\"uikit-mrkdwn__3YVwY\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-overflow__trigger\":\"uikit-overflow__trigger__1nYqP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-plain-text\":\"uikit-plain-text__IgVqw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-section-block\":\"uikit-section-block__Y4Gbb\",\"uikit-section-block__content\":\"uikit-section-block__content__h4FtV\",\"uikit-section-block__text\":\"uikit-section-block__text__1ccTA\",\"uikit-section-block__fields\":\"uikit-section-block__fields__1u9yU\",\"uikit-section-block__field\":\"uikit-section-block__field__34-8Y\",\"uikit-section-block__accessory\":\"uikit-section-block__accessory__1a702\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select-input\":\"select-input__23YB7\",\"select-input__select\":\"select-input__select__3eBo4\",\"select-input__select--small\":\"select-input__select--small__dHwaf\",\"select-input__select--disabled\":\"select-input__select--disabled__YbxwQ\",\"select-input__select--error\":\"select-input__select--error__1r_NO\",\"select-input__select--placeholder\":\"select-input__select--placeholder__1ZiPY\",\"select-input__option\":\"select-input__option__HpPGW\",\"select-input__arrow\":\"select-input__arrow__2jglH\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"uikit-static-select\":\"uikit-static-select__1TWLI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-blocks\":\"message-blocks__1PDtT\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-container\":\"message-container__19jeU\",\"message-container--compact\":\"message-container--compact__374zr\",\"message-container--reverse\":\"message-container--reverse__3x9rK\",\"message-container--system\":\"message-container--system__1eZ2Y\",\"message-container-break\":\"message-container-break__2yxLd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-content\":\"message-content__1DkcS\",\"message-content--reverse\":\"message-content--reverse__o_hmd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-text\":\"message-text__4m75x\",\"message-text--system\":\"message-text--system__mdDfo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-time\":\"message-time__2e1gz\",\"message-time-wrapper\":\"message-time-wrapper__JEbuq\",\"message-time--normal\":\"message-time--normal__2jM19\",\"message-time--inverted\":\"message-time--inverted__1Y9Du\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"video-attachment__inner\":\"video-attachment__inner__1-nfC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"separator\":\"separator__2hKm1\",\"separator__text\":\"separator__text__CCH47\",\"separator__line\":\"separator__line__31sRI\",\"separator--date\":\"separator--date__2KXC7\",\"separator--unread\":\"separator--unread__26QDF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"typing-dots\":\"typing-dots__2dVrQ\",\"typing-dots__dot\":\"typing-dots__dot__hqh2c\",\"typing-dots__indicator\":\"typing-dots__indicator__379kG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"message-list\":\"message-list__1jRl9\",\"message-list__content\":\"message-list__content__3TyF4\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 18 18\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"alert\":\"alert__2_6E-\",\"alert__content\":\"alert__content__WiDgC\",\"alert__close\":\"alert__close__N2TJw\",\"alert--success\":\"alert--success__2BSNz\",\"alert--warning\":\"alert--warning__18Xi6\",\"alert--error\":\"alert--error__3ttMA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"header__13Vuj\",\"header__actions\":\"header__actions__aNMyg\",\"header__content\":\"header__content__pXDMp\",\"header__item\":\"header__item__EmXV-\",\"header__picture\":\"header__picture__3W5Fb\",\"header__title\":\"header__title__PtLVn\",\"header__subtitle\":\"header__subtitle__1ncvc\",\"header__custom-field\":\"header__custom-field__1xJH3\",\"header__action\":\"header__action__2wnEh\",\"header__post\":\"header__post__VA2cW\",\"header--large\":\"header--large__2keTG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"tooltip__mOwTr\",\"tooltip--hidden\":\"tooltip--hidden__vIBh0\",\"tooltip--placement-left\":\"tooltip--placement-left__1AH9w\",\"tooltip--placement-right\":\"tooltip--placement-right__3LZFt\",\"tooltip--placement-top\":\"tooltip--placement-top__NfRdd\",\"tooltip--placement-top-left\":\"tooltip--placement-top-left__3tiWm\",\"tooltip--placement-top-right\":\"tooltip--placement-top-right__1jba4\",\"tooltip--placement-bottom\":\"tooltip--placement-bottom__15Yxs\",\"tooltip--placement-bottom-left\":\"tooltip--placement-bottom-left__DatSn\",\"tooltip--placement-bottom-right\":\"tooltip--placement-bottom-right__2bsJB\",\"tooltip--floating\":\"tooltip--floating__1PBGg\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"screen\":\"screen__sskEr\",\"screen__inner\":\"screen__inner__ihfK6\",\"screen__chat-button\":\"screen__chat-button__2h7Ad\",\"screen__chat-close-button\":\"screen__chat-close-button__isEmn\",\"screen--minimized\":\"screen--minimized__2cVSs\",\"screen--expanded\":\"screen--expanded__1zqIP\",\"screen--windowed\":\"screen--windowed__Ad1VZ\",\"screen--triggered\":\"screen--triggered__2c_Iw\",\"screen__inner--fitTextSize\":\"screen__inner--fitTextSize__1x0T7\",\"screen__main\":\"screen__main__DBTEi\",\"screen__main--nopadding\":\"screen__main--nopadding__16Bsg\",\"screen__main--triggered\":\"screen__main--triggered__3xccT\",\"screen__agent-email\":\"screen__agent-email__3DONj\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 24 24\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"viewBox\":\"0 0 20 20\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"\"}\nvar attributes = module.exports.attributes;\nvar content = module.exports.content;\n\nmodule.exports = function (props) {\n\tvar ref = hooks.useRef();\n\n\thooks.useEffect(function () {\n\t\tvar div = document.createElement('div');\n\t\tdiv.innerHTML = '' + content + '';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest.appendChild(source.firstChild);\n\t\t}\n\t}, []);\n\n\treturn preact.h('svg', Object.assign({ ref: ref }, attributes, props));\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat__messages\":\"chat__messages__f3sJg\",\"chat__messages--atBottom\":\"chat__messages--atBottom__1wPuF\",\"chat__messages--loading\":\"chat__messages--loading__gsc8d\",\"loader-rotate\":\"loader-rotate__3AWNK\",\"chat\":\"chat__1ggQU\",\"none__action\":\"none__action__1hdXV\",\"emoji-picker-icon\":\"emoji-picker-icon__3OTWb\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chat-finished__greeting\":\"chat-finished__greeting__zxo1Q\",\"chat-finished__message\":\"chat-finished__message__2Ly5q\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"gdpr__consent-text\":\"gdpr__consent-text__1K91W\",\"gdpr__instructions\":\"gdpr__instructions__lHoQt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form-field\":\"form-field__16wVs\",\"form-field__label-wrapper\":\"form-field__label-wrapper__1ZXe4\",\"form-field__description\":\"form-field__description__32VwT\",\"form-field__input\":\"form-field__input__3OQDq\",\"form-field__label\":\"form-field__label__1hSc7\",\"form-field--error\":\"form-field--error__2cgpb\",\"form-field--required\":\"form-field--required__1ehIJ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text-input\":\"text-input__15vLf\",\"text-input--small\":\"text-input--small__1a0F7\",\"text-input--disabled\":\"text-input--disabled__9qba3\",\"text-input--error\":\"text-input--error__3nahC\",\"text-input--multiple\":\"text-input--multiple__3Fm0v\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"password-input\":\"password-input__Fh-H5\",\"password-input--small\":\"password-input--small__23_jZ\",\"password-input--disabled\":\"password-input--disabled__1b3hY\",\"password-input--error\":\"password-input--error__3hzSx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"leave-message__main\":\"leave-message__main__2qjg1\",\"leave-message__message\":\"leave-message__message__3XDZW\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"register__message\":\"register__message__XfDRi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch-department__message\":\"switch-department__message__1eSbv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"trigger-message__message\":\"trigger-message__message__3z2MP\",\"trigger-message__footer\":\"trigger-message__footer__1BGi7\",\"trigger-message__separator\":\"trigger-message__separator__29Hse\",\"trigger-message__link-reply\":\"trigger-message__link-reply__1eF72\"};","import { createMemoryHistory } from 'history';\n\nexport const history = createMemoryHistory();\n\nexport default history;\n","import LivechatClient from '@rocket.chat/sdk/lib/clients/Livechat';\n\nconst host = 'https://chat.homains.org';\nconst useSsl = host && host.match(/^https:/) !== null;\n\nexport const Livechat = new LivechatClient({ host, protocol: 'ddp', useSsl });\n","import mitt from 'mitt';\n\n\nconst log = process.env.NODE_ENV === 'development'\n\t? (...args) => window.console.log('%cwidget%c', 'color: red', 'color: initial', ...args)\n\t: () => {};\n\n\nconst WIDGET_OPEN_WIDTH = 365;\nconst WIDGET_OPEN_HEIGHT = 525;\nconst WIDGET_MINIMIZED_WIDTH = 54;\nconst WIDGET_MINIMIZED_HEIGHT = 54;\nconst WIDGET_MARGIN = 16;\nconst FULLSCREEN_DOCUMENT_CONFIG = 'overflow: hidden; height: 100%; width: 100%;';\n\n\nwindow.HomainsChat = window.HomainsChat || { _: [] };\nconst config = {};\nlet widget;\nlet iframe;\nlet hookQueue = [];\nlet ready = false;\nlet smallScreen = false;\nlet bodyStyle;\nlet scrollPosition;\nlet widget_height;\n\nexport const validCallbacks = [\n\t'chat-maximized',\n\t'chat-minimized',\n\t'chat-started',\n\t'chat-ended',\n\t'pre-chat-form-submit',\n\t'offline-form-submit',\n\t'show-widget',\n\t'hide-widget',\n\t'assign-agent',\n\t'agent-status-change',\n\t'queue-position-change',\n\t'no-agent-online',\n];\n\nconst callbacks = mitt();\n\nfunction registerCallback(eventName, fn) {\n\tif (validCallbacks.indexOf(eventName) === -1) {\n\t\treturn false;\n\t}\n\n\treturn callbacks.on(eventName, fn);\n}\n\nfunction emitCallback(eventName, data) {\n\tif (typeof data !== 'undefined') {\n\t\tcallbacks.emit(eventName, data);\n\t} else {\n\t\tcallbacks.emit(eventName);\n\t}\n}\n\n// hooks\nfunction callHook(action, params) {\n\tif (!ready) {\n\t\treturn hookQueue.push([action, params]);\n\t}\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: action,\n\t\targs: params,\n\t};\n\tiframe.contentWindow.postMessage(data, '*');\n}\n\nconst updateWidgetStyle = (isOpened) => {\n\tif (smallScreen && isOpened) {\n\t\tscrollPosition = document.documentElement.scrollTop;\n\t\tbodyStyle = document.body.style.cssText;\n\t\tdocument.body.style.cssText += FULLSCREEN_DOCUMENT_CONFIG;\n\t} else {\n\t\tdocument.body.style.cssText = bodyStyle;\n\t\tif (smallScreen) {\n\t\t\tdocument.documentElement.scrollTop = scrollPosition;\n\t\t}\n\t}\n\n\tif (isOpened) {\n\t\twidget.style.left = smallScreen ? '0' : 'auto';\n\n\t\t/**\n\t\t * If we use widget.style.height = smallScreen ? '100vh' : ...\n\t\t * In above case some browser's viewport height is not rendered correctly\n\t\t * so, as 100vh will resolve to 100% of the current viewport height,\n\t\t * so fixed it to 100% avoiding problem for some browsers. Similar resolution\n\t\t * for widget.style.width\n\t\t */\n\n\t\twidget.style.height = smallScreen ? '100%' : `${ WIDGET_MARGIN + widget_height + WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT }px`;\n\t\twidget.style.width = smallScreen ? '100%' : `${ WIDGET_MARGIN + WIDGET_OPEN_WIDTH + WIDGET_MARGIN }px`;\n\t} else {\n\t\twidget.style.left = 'auto';\n\t\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\t\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\t}\n};\n\nconst createWidget = (url) => {\n\twidget = document.createElement('div');\n\twidget.className = 'rocketchat-widget';\n\twidget.style.position = 'fixed';\n\twidget.style.width = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_WIDTH + WIDGET_MARGIN }px`;\n\twidget.style.height = `${ WIDGET_MARGIN + WIDGET_MINIMIZED_HEIGHT + WIDGET_MARGIN }px`;\n\twidget.style.maxHeight = '100vh';\n\twidget.style.bottom = '0';\n\twidget.style.right = '0';\n\twidget.style.zIndex = '12345';\n\twidget.dataset.state = 'closed';\n\n\tconst container = document.createElement('div');\n\tcontainer.className = 'rocketchat-container';\n\tcontainer.style.width = '100%';\n\tcontainer.style.height = '100%';\n\n\tiframe = document.createElement('iframe');\n\tiframe.id = 'rocketchat-iframe';\n\tiframe.allowTransparency = 'true';\n\tiframe.src = url;\n\tiframe.style.width = '100%';\n\tiframe.style.height = '100%';\n\tiframe.style.border = 'none';\n\tiframe.style.backgroundColor = 'transparent';\n\n\tcontainer.appendChild(iframe);\n\twidget.appendChild(container);\n\tdocument.body.appendChild(widget);\n\n\tconst handleMediaQueryTest = ({ matches }) => {\n\t\tif (!widget) {\n\t\t\treturn;\n\t\t}\n\n\t\tsmallScreen = matches;\n\t\tupdateWidgetStyle(widget.dataset.state === 'opened');\n\t\tcallHook('setExpanded', smallScreen);\n\t};\n\n\tconst mediaQueryList = window.matchMedia('screen and (max-device-width: 480px)');\n\tmediaQueryList.addListener(handleMediaQueryTest);\n\thandleMediaQueryTest(mediaQueryList);\n};\n\nconst openWidget = () => {\n\tif (widget.dataset.state === 'opened') {\n\t\treturn;\n\t}\n\n\twidget_height = WIDGET_OPEN_HEIGHT;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'opened';\n\tiframe.focus();\n\temitCallback('chat-maximized');\n};\n\nconst resizeWidget = (height) => {\n\twidget_height = height;\n\tupdateWidgetStyle(true);\n\twidget.dataset.state = 'triggered';\n};\n\nfunction closeWidget() {\n\tif (widget.dataset.state === 'closed') {\n\t\treturn;\n\t}\n\n\tupdateWidgetStyle(false);\n\twidget.dataset.state = 'closed';\n\temitCallback('chat-minimized');\n}\n\nconst api = {\n\tpopup: null,\n\n\tready() {\n\t\tready = true;\n\t\tif (hookQueue.length > 0) {\n\t\t\thookQueue.forEach(function(hookParams) {\n\t\t\t\tcallHook.apply(this, hookParams);\n\t\t\t});\n\t\t\thookQueue = [];\n\t\t}\n\t},\n\n\tminimizeWindow() {\n\t\tcloseWidget();\n\t},\n\n\trestoreWindow() {\n\t\tif (api.popup && api.popup.closed !== true) {\n\t\t\tapi.popup.close();\n\t\t\tapi.popup = null;\n\t\t}\n\t\topenWidget();\n\t},\n\n\topenPopout() {\n\t\tcloseWidget();\n\t\tapi.popup = window.open(`${ config.url }${ config.url.lastIndexOf('?') > -1 ? '&' : '?' }mode=popout`,\n\t\t\t'livechat-popout', `width=${ WIDGET_OPEN_WIDTH }, height=${ widget_height }, toolbars=no`);\n\t\tapi.popup.focus();\n\t},\n\n\topenWidget() {\n\t\topenWidget();\n\t},\n\n\tresizeWidget(height) {\n\t\tresizeWidget(height);\n\t},\n\n\tremoveWidget() {\n\t\tdocument.body.removeChild(widget);\n\t},\n\n\tcallback(eventName, data) {\n\t\temitCallback(eventName, data);\n\t},\n\n\tshowWidget() {\n\t\tiframe.style.display = 'initial';\n\t\temitCallback('show-widget');\n\t},\n\n\thideWidget() {\n\t\tiframe.style.display = 'none';\n\t\temitCallback('hide-widget');\n\t},\n\n\tresetDocumentStyle() {\n\t\tdocument.body.style.cssText = bodyStyle;\n\t},\n\n\tsetFullScreenDocumentMobile() {\n\t\tdocument.body.style.cssText += smallScreen && FULLSCREEN_DOCUMENT_CONFIG;\n\t},\n};\n\nfunction pageVisited(change) {\n\tcallHook('pageVisited', {\n\t\tchange,\n\t\tlocation: JSON.parse(JSON.stringify(document.location)),\n\t\ttitle: document.title,\n\t});\n}\n\nfunction setCustomField(key, value, overwrite) {\n\tif (typeof overwrite === 'undefined') {\n\t\toverwrite = true;\n\t}\n\tcallHook('setCustomField', [key, value, overwrite]);\n}\n\nfunction setTheme(theme) {\n\tcallHook('setTheme', theme);\n}\n\nfunction setDepartment(department) {\n\tcallHook('setDepartment', department);\n}\n\nfunction setGuestToken(token) {\n\tcallHook('setGuestToken', token);\n}\n\nfunction setGuestName(name) {\n\tcallHook('setGuestName', name);\n}\n\nfunction setGuestEmail(email) {\n\tcallHook('setGuestEmail', email);\n}\n\nfunction registerGuest(guest) {\n\tcallHook('registerGuest', guest);\n}\n\nfunction clearDepartment() {\n\tcallHook('clearDepartment');\n}\n\nfunction setAgent(agent) {\n\tcallHook('setAgent', agent);\n}\n\nfunction setLanguage(language) {\n\tcallHook('setLanguage', language);\n}\n\nfunction showWidget() {\n\tcallHook('showWidget');\n}\n\nfunction hideWidget() {\n\tcallHook('hideWidget');\n}\n\nfunction maximizeWidget() {\n\tcallHook('maximizeWidget');\n}\n\nfunction minimizeWidget() {\n\tcallHook('minimizeWidget');\n}\n\nfunction initialize(params) {\n\tfor (const method in params) {\n\t\tif (!params.hasOwnProperty(method)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (method) {\n\t\t\tcase 'customField':\n\t\t\t\tconst { key, value, overwrite } = params[method];\n\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\tcontinue;\n\t\t\tcase 'setCustomFields':\n\t\t\t\tif (!Array.isArray(params[method])) {\n\t\t\t\t\tconsole.log('Error: Invalid parameters. Value must be an array of objects');\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tparams[method].forEach((data) => {\n\t\t\t\t\tconst { key, value, overwrite } = data;\n\t\t\t\t\tsetCustomField(key, value, overwrite);\n\t\t\t\t});\n\t\t\t\tcontinue;\n\t\t\tcase 'theme':\n\t\t\t\tsetTheme(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'department':\n\t\t\t\tsetDepartment(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestToken':\n\t\t\t\tsetGuestToken(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestName':\n\t\t\t\tsetGuestName(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'guestEmail':\n\t\t\t\tsetGuestEmail(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'registerGuest':\n\t\t\t\tregisterGuest(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'language':\n\t\t\t\tsetLanguage(params[method]);\n\t\t\t\tcontinue;\n\t\t\tcase 'agent':\n\t\t\t\tsetAgent(params[method]);\n\t\t\t\tcontinue;\n\t\t\tdefault:\n\t\t\t\tcontinue;\n\t\t}\n\t}\n}\n\nconst currentPage = {\n\thref: null,\n\ttitle: null,\n};\n\nconst attachMessageListener = () => {\n\twindow.addEventListener('message', (msg) => {\n\t\tif (typeof msg.data === 'object' && msg.data.src !== undefined && msg.data.src === 'rocketchat') {\n\t\t\tif (api[msg.data.fn] !== undefined && typeof api[msg.data.fn] === 'function') {\n\t\t\t\tconst args = [].concat(msg.data.args || []);\n\t\t\t\tlog(`api.${ msg.data.fn }`, ...args);\n\t\t\t\tapi[msg.data.fn].apply(null, args);\n\t\t\t}\n\t\t}\n\t}, false);\n};\n\nconst trackNavigation = () => {\n\tsetInterval(() => {\n\t\tif (document.location.href !== currentPage.href) {\n\t\t\tpageVisited('url');\n\t\t\tcurrentPage.href = document.location.href;\n\t\t}\n\n\t\tif (document.title !== currentPage.title) {\n\t\t\tpageVisited('title');\n\t\t\tcurrentPage.title = document.title;\n\t\t}\n\t}, 800);\n};\n\nconst init = (url) => {\n\tif (!url) {\n\t\treturn;\n\t}\n\n\tconfig.url = url;\n\n\tcreateWidget(url);\n\tattachMessageListener();\n\ttrackNavigation();\n};\n\nif (typeof window.initRocket !== 'undefined') {\n\tconsole.warn('initRocket is now deprecated. Please update the livechat code.');\n\tinit(window.initRocket[0]);\n}\n\nif (typeof window.HomainsChat.url !== 'undefined') {\n\tinit(window.HomainsChat.url);\n}\n\nconst queue = window.HomainsChat._;\n\nwindow.HomainsChat._.push = function(c) {\n\tc.call(window.HomainsChat.livechat);\n};\nwindow.HomainsChat = window.HomainsChat._.push;\n\n// exports\nwindow.HomainsChat.livechat = {\n\t// methods\n\tpageVisited,\n\tsetCustomField,\n\tinitialize,\n\tsetTheme,\n\tsetDepartment,\n\tclearDepartment,\n\tsetGuestToken,\n\tsetGuestName,\n\tsetGuestEmail,\n\tsetAgent,\n\tregisterGuest,\n\tsetLanguage,\n\tshowWidget,\n\thideWidget,\n\tmaximizeWidget,\n\tminimizeWidget,\n\n\t// callbacks\n\tonChatMaximized(fn) { registerCallback('chat-maximized', fn); },\n\tonChatMinimized(fn) { registerCallback('chat-minimized', fn); },\n\tonChatStarted(fn) { registerCallback('chat-started', fn); },\n\tonChatEnded(fn) { registerCallback('chat-ended', fn); },\n\tonPrechatFormSubmit(fn) { registerCallback('pre-chat-form-submit', fn); },\n\tonOfflineFormSubmit(fn) { registerCallback('offline-form-submit', fn); },\n\tonWidgetShown(fn) { registerCallback('show-widget', fn); },\n\tonWidgetHidden(fn) { registerCallback('hide-widget', fn); },\n\tonAssignAgent(fn) { registerCallback('assign-agent', fn); },\n\tonAgentStatusChange(fn) { registerCallback('agent-status-change', fn); },\n\tonQueuePositionChange(fn) { registerCallback('queue-position-change', fn); },\n\tonServiceOffline(fn) { registerCallback('no-agent-online', fn); },\n};\n\n// proccess queue\nqueue.forEach((c) => {\n\tc.call(window.HomainsChat.livechat);\n});\n","import { validCallbacks } from '../widget';\n\nexport function parentCall(method, args = []) {\n\tconst data = {\n\t\tsrc: 'rocketchat',\n\t\tfn: method,\n\t\targs,\n\t};\n\n\twindow.parent.postMessage(data, '*');\n}\n\nexport const runCallbackEventEmitter = (callbackName, data) => validCallbacks.includes(callbackName) && parentCall('callback', [callbackName, data]);\n","import mitt from 'mitt';\n\nimport { parentCall } from '../lib/parentCall';\n\nconst { localStorage, sessionStorage } = window;\n\nexport default class Store {\n\tconstructor(initialState = {}, { localStorageKey = 'store', dontPersist = [] } = {}) {\n\t\tObject.assign(this, mitt());\n\n\t\tthis.localStorageKey = localStorageKey;\n\t\tthis.dontPersist = dontPersist;\n\n\t\tlet storedState;\n\n\t\ttry {\n\t\t\tstoredState = JSON.parse(localStorage.getItem(this.localStorageKey));\n\t\t} catch (e) {\n\t\t\tstoredState = {};\n\t\t} finally {\n\t\t\tstoredState = typeof storedState === 'object' ? storedState : {};\n\t\t}\n\n\t\tthis._state = { ...initialState, ...storedState };\n\n\t\twindow.addEventListener('storage', (e) => {\n\t\t\t// Cross-tab communication\n\t\t\tif (e.key !== this.localStorageKey) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!e.newValue) {\n\t\t\t\t// The localStorage has been removed\n\t\t\t\treturn location.reload();\n\t\t\t}\n\n\t\t\tconst storedState = JSON.parse(e.newValue);\n\t\t\tthis.setStoredState(storedState);\n\t\t\tthis.emit('storageSynced');\n\t\t});\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst sessionId = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n\t\t\tsessionStorage.setItem('sessionId', sessionId);\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: [sessionId, ...openSessionIds] });\n\t\t});\n\n\t\twindow.addEventListener('visibilitychange', () => {\n\t\t\t!this._state.minimized && !this._state.triggered && parentCall('openWidget');\n\t\t\tthis._state.iframe.visible ? parentCall('showWidget') : parentCall('hideWidget');\n\t\t});\n\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tconst sessionId = sessionStorage.getItem('sessionId');\n\t\t\tconst { openSessionIds = [] } = this._state;\n\t\t\tthis.setState({ openSessionIds: openSessionIds.filter((session) => session !== sessionId) });\n\t\t});\n\t}\n\n\tget state() {\n\t\treturn this._state;\n\t}\n\n\tpersist() {\n\t\tconst persistable = { ...this._state };\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tdelete persistable[ignoredKey];\n\t\t}\n\t\tlocalStorage.setItem(this.localStorageKey, JSON.stringify(persistable));\n\t}\n\n\tsetState(partialState) {\n\t\tconst prevState = this._state;\n\t\tthis._state = { ...prevState, ...partialState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState, partialState]);\n\t}\n\n\tsetStoredState(storedState) {\n\t\tconst prevState = this._state;\n\n\t\tconst nonPeristable = {};\n\t\tfor (const ignoredKey of this.dontPersist) {\n\t\t\tnonPeristable[ignoredKey] = prevState[ignoredKey];\n\t\t}\n\t\tthis._state = { ...storedState, ...nonPeristable };\n\t\tthis.emit('change', [this._state, prevState]);\n\t}\n}\n","import { h, Component, createContext } from 'preact';\n\nimport Store from './Store';\n\nconst createToken = () => Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n\nconst initialState = {\n\ttoken: createToken(),\n\ttyping: [],\n\tconfig: {\n\t\tmessages: {},\n\t\tsettings: {},\n\t\ttheme: {},\n\t\ttriggers: [],\n\t\tdepartments: [],\n\t\tresources: {},\n\t},\n\tmessages: [],\n\tuser: null,\n\tsound: {\n\t\tsrc: '',\n\t\tenabled: true,\n\t\tplay: false,\n\t},\n\tiframe: {\n\t\tguest: {},\n\t\ttheme: {},\n\t\tvisible: true,\n\t},\n\tgdpr: {\n\t\taccepted: false,\n\t},\n\talerts: [],\n\tvisible: true,\n\tminimized: true,\n\tunread: null,\n};\n\nconst dontPersist = ['messages', 'typing', 'loading', 'alerts', 'unread', 'noMoreMessages', 'modal'];\nexport const store = new Store(initialState, { dontPersist });\n\nif (process.env.NODE_ENV === 'development') {\n\tstore.on('change', ([, , partialState]) => {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.log('%cstore.setState %c%o', 'color: blue', 'color: initial', partialState);\n\t});\n}\n\n\nconst StoreContext = createContext();\n\nexport class Provider extends Component {\n\tstatic displayName = 'StoreProvider'\n\n\tstate = { ...store.state, dispatch: store.setState.bind(store) }\n\n\thandleStoreChange = () => {\n\t\tthis.setState({ ...store.state });\n\t}\n\n\tcomponentDidMount() {\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\trender = ({ children }) => (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\nexport const { Consumer } = StoreContext;\n\nexport default store;\n","export default {\n\tunreadMessagesAlertId: 'UNREAD_MESSAGES',\n\tconnectingAgentAlertId: 'CONNECTING_AGENT',\n\tlivechatConnectedAlertId: 'LIVECHAT_CONNECTED',\n\tlivechatDisconnectedAlertId: 'LIVECHAT_DISCONNECTED',\n\tlivechatQueueMessageId: 'LIVECHAT_QUEUE_MESSAGE',\n};\n","import { Component } from 'preact';\n\nimport { Livechat } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\n\nexport function flatMap(arr, mapFunc) {\n\tconst result = [];\n\tfor (const [index, elem] of arr.entries()) {\n\t\tconst x = mapFunc(elem, index, arr);\n\t\t// We allow mapFunc() to return non-Arrays\n\t\tif (Array.isArray(x)) {\n\t\t\tresult.push(...x);\n\t\t} else {\n\t\t\tresult.push(x);\n\t\t}\n\t}\n\treturn result;\n}\n\nexport const createClassName = (styles, elementName, modifiers = {}, classes = []) => [\n\tstyles[elementName],\n\t...flatMap(Object.entries(modifiers), ([modifierKey, modifierValue]) => [\n\t\tmodifierValue && styles[`${ elementName }--${ modifierKey }`],\n\t\ttypeof modifierValue !== 'boolean' && styles[`${ elementName }--${ modifierKey }-${ modifierValue }`],\n\t]).filter((className) => !!className), ...classes.filter((className) => !!className)].join(' ');\n\nexport async function asyncForEach(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tawait callback(array[index], index, array);\n\t}\n}\n\nexport async function asyncEvery(array, callback) {\n\tfor (let index = 0; index < array.length; index++) {\n\t\t// eslint-disable-next-line no-await-in-loop\n\t\tif (!await callback(array[index], index, array)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\nexport const debounce = (func, delay) => {\n\tlet inDebounce;\n\n\tfunction f(...args) {\n\t\tconst context = this;\n\t\tclearTimeout(inDebounce);\n\t\tinDebounce = setTimeout(() => func.apply(context, args), delay);\n\t\treturn context;\n\t}\n\n\tf.stop = () => clearTimeout(inDebounce);\n\n\treturn f;\n};\n\nexport const throttle = (func, limit) => {\n\tlet inThrottle;\n\treturn function(...args) {\n\t\tconst context = this;\n\t\tif (!inThrottle) {\n\t\t\tfunc.apply(context, args);\n\t\t\tinThrottle = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tinThrottle = false;\n\t\t\t}, limit);\n\t\t}\n\t};\n};\n\nexport function getInsertIndex(array, item, ranking) {\n\tconst order = ranking(item);\n\tlet min = 0;\n\tlet max = array.length - 1;\n\n\twhile (min <= max) {\n\t\tconst guess = Math.floor((min + max) / 2);\n\t\tconst guessedOrder = ranking(array[guess]);\n\t\tif (guessedOrder < order) {\n\t\t\tmin = guess + 1;\n\t\t} else if (guessedOrder > array[guess + 1]) {\n\t\t\treturn guess;\n\t\t} else {\n\t\t\tmax = guess - 1;\n\t\t}\n\t}\n\n\treturn array.length > 0 ? array.length : 0;\n}\n\nexport function upsert(array = [], item, predicate, ranking) {\n\tconst index = array.findIndex(predicate);\n\n\tif (index > -1) {\n\t\tarray[index] = item;\n\t\treturn array;\n\t}\n\n\tarray.splice(getInsertIndex(array, item, ranking), 0, item);\n\treturn array;\n}\n\nexport const setCookies = (rid, token) => {\n\tdocument.cookie = `rc_rid=${ rid }; path=/`;\n\tdocument.cookie = `rc_token=${ token }; path=/`;\n\tdocument.cookie = 'rc_room_type=l; path=/';\n};\n\nexport const createToken = () => Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n\nexport const getAvatarUrl = (username) => (username ? `${ Livechat.client.host }/avatar/${ username }` : null);\n\nexport const msgTypesNotRendered = ['livechat_video_call', 'livechat_navigation_history', 'au', 'command', 'uj', 'ul', 'livechat-close'];\n\nexport const canRenderMessage = ({ t }) => !msgTypesNotRendered.includes(t);\n\nexport const getAttachmentUrl = (url) => `${ Livechat.client.host }${ url }`;\n\nexport const sortArrayByColumn = (array, column, inverted) => array.sort((a, b) => {\n\tif (a[column] < b[column] && !inverted) {\n\t\treturn -1;\n\t}\n\treturn 1;\n});\n\nexport const normalizeTransferHistoryMessage = (transferData) => {\n\tif (!transferData) {\n\t\treturn;\n\t}\n\n\tconst { transferredBy, transferredTo, nextDepartment, scope } = transferData;\n\tconst from = transferredBy && (transferredBy.name || transferredBy.username);\n\n\tconst transferTypes = {\n\t\tagent: () => {\n\t\t\tconst to = transferredTo && (transferredTo.name || transferredTo.username);\n\t\t\treturn I18n.t('%{from} transferred the chat to %{to}', { from, to });\n\t\t},\n\t\tdepartment: () => {\n\t\t\tconst to = nextDepartment && nextDepartment.name;\n\t\t\treturn I18n.t('%{from} transferred the chat to the department %{to}', { from, to });\n\t\t},\n\t\tqueue: () => I18n.t('%{from} returned the chat to the queue', { from }),\n\t};\n\n\treturn transferTypes[scope]();\n};\n\nexport const parseOfflineMessage = (fields = {}) => {\n\tconst host = window.location.origin;\n\treturn Object.assign(fields, { host });\n};\nexport const normalizeDOMRect = ({ left, top, right, bottom }) => ({ left, top, right, bottom });\n\n\nexport const visibility = (() => {\n\tif (typeof document.hidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.hidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('visibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('visibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.msHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.msHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('msvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('msvisibilitychange', f, false),\n\t\t};\n\t}\n\n\tif (typeof document.webkitHidden !== 'undefined') {\n\t\treturn {\n\t\t\tget hidden() {\n\t\t\t\treturn document.webkitHidden;\n\t\t\t},\n\t\t\taddListener: (f) => document.addEventListener('webkitvisibilitychange', f, false),\n\t\t\tremoveListener: (f) => document.removeEventListener('webkitvisibilitychange', f, false),\n\t\t};\n\t}\n\n\treturn {\n\t\thidden: true,\n\t\taddListener: () => {},\n\t\tremoveListener: () => {},\n\t};\n})();\n\n\nexport class MemoizedComponent extends Component {\n\tshouldComponentUpdate(nextProps) {\n\t\tconst { props } = this;\n\n\t\tfor (const key in props) {\n\t\t\tif (props[key] !== nextProps[key]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tfor (const key in nextProps) {\n\t\t\tif (!(key in props)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\nexport const memo = (component) =>\n\tclass extends MemoizedComponent {\n\t\trender = component\n\t};\n\nexport const isActiveSession = () => {\n\tconst sessionId = sessionStorage.getItem('sessionId');\n\tconst { openSessionIds: [firstSessionId] = [] } = store.state;\n\n\treturn sessionId === firstSessionId;\n};\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\n\nimport { Livechat } from '../api';\nimport { canRenderMessage } from '../components/helpers';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\n\nexport const loadConfig = async () => {\n\tconst {\n\t\ttoken,\n\t} = store.state;\n\n\tLivechat.credentials.token = token;\n\n\tconst {\n\t\tagent,\n\t\troom,\n\t\tguest: user,\n\t\tresources: { sound: src = null } = {},\n\t\tqueueInfo,\n\t\t...config\n\t} = await Livechat.config({ token });\n\n\tawait store.setState({\n\t\tconfig,\n\t\tagent: agent && agent.hiddenInfo ? { hiddenInfo: true } : agent, // TODO: revert it when the API is updated\n\t\troom,\n\t\tuser,\n\t\tqueueInfo,\n\t\tsound: { src, enabled: true, play: false },\n\t\tmessages: [],\n\t\ttyping: [],\n\t\tnoMoreMessages: false,\n\t\tvisible: true,\n\t\tunread: null,\n\t});\n};\n\nexport const processUnread = async () => {\n\tconst { minimized, visible, messages } = store.state;\n\tif (minimized || !visible) {\n\t\tconst { alerts, lastReadMessageId } = store.state;\n\t\tconst renderedMessages = messages.filter((message) => canRenderMessage(message));\n\t\tconst lastReadMessageIndex = renderedMessages.findIndex((item) => item._id === lastReadMessageId);\n\t\tconst unreadMessages = renderedMessages.slice(lastReadMessageIndex + 1);\n\n\t\tif (lastReadMessageIndex !== -1) {\n\t\t\tconst lastReadMessage = renderedMessages[lastReadMessageIndex];\n\t\t\tconst alertMessage = I18n.t({\n\t\t\t\tone: 'One new message since %{since}',\n\t\t\t\tother: '%{count} new messages since %{since}',\n\t\t\t}, {\n\t\t\t\tcount: unreadMessages.length,\n\t\t\t\tsince: format(parseISO(lastReadMessage.ts), 'HH:mm MMM dd'),\n\t\t\t});\n\t\t\tconst alert = { id: constants.unreadMessagesAlertId, children: alertMessage, success: true, timeout: 0 };\n\t\t\tconst newAlerts = alerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\tawait store.setState({ alerts: (newAlerts.push(alert), newAlerts) });\n\t\t}\n\n\t\tawait store.setState({ unread: unreadMessages.length });\n\t}\n};\n","import I18n from '../i18n';\nimport store from '../store';\n\n/**\n * To normalize Language String and return language code\n * @param {String} languageString\n */\nconst normalizeLanguageString = (languageString) => {\n\tlet [languageCode, countryCode] = languageString.split ? languageString.split(/[-_]/) : [];\n\tif (!languageCode || languageCode.length !== 2) {\n\t\treturn 'en';\n\t}\n\tlanguageCode = languageCode.toLowerCase();\n\n\tif (!countryCode || countryCode.length !== 2) {\n\t\tcountryCode = null;\n\t} else {\n\t\tcountryCode = countryCode.toUpperCase();\n\t}\n\n\treturn countryCode ? `${ languageCode }_${ countryCode }` : languageCode;\n};\n\n/**\n * To get browser Language of user\n */\nexport const browserLanguage = () => navigator.userLanguage || navigator.language;\n\n/**\n * This is configured langauge\n */\nexport const configLanguage = () => {\n\tconst { config: { settings: { language } = {} } = {}, iframe: { language: iframeLanguage } = {} } = store.state;\n\treturn iframeLanguage || language;\n};\n\n/**\n * This will update langauge of widget\n */\nexport const setWidgetLanguage = () => I18n.changeLocale(normalizeLanguageString(configLanguage() || browserLanguage()));\n\nexport const getDateFnsLocale = () => {\n\tconst supportedLocales = [\n\t\t'af', 'ar', 'be', 'bg', 'bn', 'ca', 'cs', 'cy', 'da', 'de',\n\t\t'el', 'en-AU', 'en-CA', 'en-GB', 'en-US', 'eo', 'es', 'et',\n\t\t'fa-IR', 'fi', 'fr', 'fr-CA', 'gl', 'gu', 'he', 'hi', 'hr',\n\t\t'hu', 'hy', 'id', 'is', 'it', 'ja', 'ka', 'kk', 'ko', 'lt',\n\t\t'lv', 'nb', 'nl', 'nn', 'pl', 'pt', 'pt-BR', 'ro', 'ru', 'sk',\n\t\t'sl', 'sr', 'sr-Latn', 'sv', 'ta', 'te', 'th', 'tr', 'ug',\n\t\t'uk', 'vi', 'zh_CN', 'zh_TW',\n\t];\n\n\tlet fullLanguage = configLanguage() || browserLanguage();\n\tfullLanguage = fullLanguage.toLowerCase();\n\tconst [languageCode] = fullLanguage.split ? fullLanguage.split(/[-_]/) : [];\n\tconst locale = [fullLanguage, languageCode, 'en-US'].find((lng) => supportedLocales.indexOf(lng) > -1);\n\t// eslint-disable-next-line import/no-dynamic-require\n\treturn require(`date-fns/locale/${ locale }/index.js`);\n};\n","import { formatDistance } from 'date-fns';\n\nimport I18n from '../i18n';\nimport { getDateFnsLocale } from './locale';\n\nexport const normalizeAgent = (agentData) => agentData && { name: agentData.name, username: agentData.username, status: agentData.status };\n\nexport const normalizeQueueAlert = (queueInfo) => {\n\tif (!queueInfo) {\n\t\treturn;\n\t}\n\n\tconst { spot, estimatedWaitTimeSeconds } = queueInfo;\n\tconst locale = getDateFnsLocale();\n\tconst estimatedWaitTime = estimatedWaitTimeSeconds && formatDistance(new Date().setSeconds(estimatedWaitTimeSeconds), new Date(), { locale });\n\treturn spot > 0\n\t&& (\n\t\testimatedWaitTime\n\t\t\t? I18n.t('Your spot is #%{spot} (Estimated wait time: %{estimatedWaitTime})', { spot, estimatedWaitTime })\n\t\t\t: I18n.t('Your spot is #%{spot}', { spot })\n\t);\n};\n","import store from '../store';\n\nexport default class Commands {\n\tconnected() {\n\t\tstore.setState({ connecting: false });\n\t}\n}\n","import { Livechat } from '../api';\nimport { upsert, createToken } from '../components/helpers';\nimport { store } from '../store';\n\nconst addParentMessage = async (parentMessage) => {\n\tconst { state } = store;\n\tconst { parentMessages = [] } = state;\n\tconst { tmid } = parentMessage;\n\n\tif (!parentMessages.find((msg) => msg._id === tmid)) {\n\t\tawait store.setState({ parentMessages: upsert(parentMessages, parentMessage, ({ _id }) => _id === parentMessage._id, ({ ts }) => ts) });\n\t}\n};\n\nconst isThreadMessage = async (message) => {\n\tif (!message || !message.replies) {\n\t\treturn false;\n\t}\n\n\tawait addParentMessage(message);\n\treturn true;\n};\n\nconst findParentMessage = async (tmid) => {\n\tconst { state } = store;\n\tconst { parentMessages = [], room, alerts } = state;\n\n\tlet parentMessage = parentMessages.find((msg) => msg._id === tmid);\n\tif (!parentMessage) {\n\t\tconst { _id: rid } = room;\n\t\ttry {\n\t\t\tparentMessage = await Livechat.message(tmid, { rid });\n\t\t\tawait addParentMessage(parentMessage);\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t}\n\n\treturn parentMessage;\n};\n\nconst normalizeThreadMessage = async (message) => {\n\tconst { state } = store;\n\tconst { messages = [] } = state;\n\n\tlet parentMessage = messages.find((msg) => msg._id === message.tmid);\n\tif (!parentMessage) {\n\t\tparentMessage = await findParentMessage(message.tmid);\n\t}\n\tconst { msg, attachments = [] } = parentMessage;\n\treturn Object.assign(message, { threadMsg: parentMessage, attachments: [{ attachments, text: msg, tmid: message.tmid }] });\n};\n\nexport const normalizeMessage = async (message) => {\n\tconst isThreadMsg = await isThreadMessage(message);\n\tif (isThreadMsg) {\n\t\treturn null;\n\t}\n\n\tif (message && message.tmid && !message.threadMsg) {\n\t\treturn normalizeThreadMessage(message);\n\t}\n\n\treturn message;\n};\n\nexport const normalizeMessages = (messages = []) => Promise.all(messages.filter((message) => !!normalizeMessage(message)));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nexport const Button = memo(({\n\tsubmit,\n\tdisabled,\n\toutline,\n\tnude,\n\tdanger,\n\tsecondary,\n\tstack,\n\tsmall,\n\tloading,\n\tbadge,\n\ticon,\n\tonClick,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\timg,\n}) => (\n\t\n\t\t{badge ? ({badge}) : null}\n\t\t{!img && (icon || children)}\n\t\n));\n","import { h, cloneElement, toChildArray } from 'preact';\n\n\nimport { createClassName, memo } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const ButtonGroup = memo(({ children }) => (\n\t
\n\t\t{toChildArray(children).map((child) => cloneElement(child, { className: createClassName(styles, 'button-group__item') }))}\n\t
\n));\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport { Button } from '../Button';\nimport { ButtonGroup } from '../ButtonGroup';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Modal extends Component {\n\tstatic defaultProps = {\n\t\tdismissByOverlay: true,\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key === 'Escape') {\n\t\t\tthis.triggerDismiss();\n\t\t}\n\t}\n\n\thandleTouchStart = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\thandleMouseDown = () => {\n\t\tconst { dismissByOverlay } = this.props;\n\t\tdismissByOverlay && this.triggerDismiss();\n\t}\n\n\ttriggerDismiss = () => {\n\t\tconst { onDismiss } = this.props;\n\t\tthis.mounted && onDismiss && onDismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tsetTimeout(() => this.triggerDismiss(), timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children, animated, open, ...props }) => (\n\t\topen ? (\n\t\t\t\n\t\t\t\t
{children}
\n\t\t\t\n\t\t) : null\n\t)\n}\n\n\nexport const ModalMessage = ({ children }) => (\n\t
\n\t\t{children}\n\t
\n);\n\n\nexport const ConfirmationModal = ({\n\ttext,\n\tconfirmButtonText = I18n.t('Yes'),\n\tcancelButtonText = I18n.t('No'),\n\tonConfirm,\n\tonCancel,\n\t...props\n}) => (\n\t\n\t\t{text}\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n\n\nexport const AlertModal = ({ text, buttonText = I18n.t('OK'), onConfirm, ...props }) => (\n\t\n\t\t{text}\n\t\t\n\t\t\t\n\t\t\n\t\n);\n\n\nModal.Message = ModalMessage;\nModal.Confirm = ConfirmationModal;\nModal.Alert = AlertModal;\n\n\nexport default Modal;\n","import { h } from 'preact';\n\nimport store from '../../store';\nimport Modal from './component';\n\n\nexport default {\n\tconfirm(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = (success) => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: ,\n\t\t\t});\n\t\t});\n\t},\n\n\talert(props = {}) {\n\t\treturn new Promise((resolve) => {\n\t\t\tconst handleButton = () => () => {\n\t\t\t\tstore.setState({ modal: null });\n\t\t\t\tresolve({ success: true });\n\t\t\t};\n\n\t\t\tstore.setState({\n\t\t\t\tmodal: ,\n\t\t\t});\n\t\t});\n\t},\n};\n","import { Livechat } from '../api';\nimport { ModalManager } from '../components/Modal';\nimport store from '../store';\n\n\nconst promptTranscript = async () => {\n\tconst { config: { messages: { transcriptMessage } }, user: { token, visitorEmails }, room: { _id } } = store.state;\n\tconst email = visitorEmails && visitorEmails.length > 0 ? visitorEmails[0].address : '';\n\tif (!email) {\n\t\treturn;\n\t}\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst message = transcriptMessage || 'Would you like a copy if this chat emailed'; // (TAPi18n.__('Would_you_like_a_copy_if_this_chat_emailed'));\n\n\treturn ModalManager.confirm({\n\t\ttext: message,\n\t}).then((result) => {\n\t\tif ((typeof result.success === 'boolean') && result.success) {\n\t\t\treturn Livechat.requestTranscript(email, { token, rid: _id });\n\t\t}\n\t});\n};\n\nconst transcriptSentAlert = (message) => ModalManager.alert({\n\ttext: message,\n\ttimeout: 1000,\n});\n\n\nexport const handleTranscript = async () => {\n\tconst { config: { settings: { transcript } = {} } } = store.state;\n\n\tif (!transcript) {\n\t\treturn;\n\t}\n\n\tconst result = await promptTranscript();\n\tif (result && result.success) {\n\t\ttranscriptSentAlert(result.message);\n\t}\n};\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { setCookies, upsert, canRenderMessage } from '../components/helpers';\nimport { store } from '../store';\nimport { normalizeAgent } from './api';\nimport Commands from './commands';\nimport { loadConfig, processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { normalizeMessage, normalizeMessages } from './threads';\nimport { handleTranscript } from './transcript';\n\nconst commands = new Commands();\n\nexport const closeChat = async ({ transcriptRequested } = {}) => {\n\tif (!transcriptRequested) {\n\t\tawait handleTranscript();\n\t}\n\n\tawait loadConfig();\n\tparentCall('callback', 'chat-ended');\n\troute('/chat-finished');\n};\n\nconst processMessage = async (message) => {\n\tif (message.t === 'livechat-close') {\n\t\tcloseChat(message);\n\t} else if (message.t === 'command') {\n\t\tcommands[message.msg] && commands[message.msg]();\n\t}\n};\n\nconst doPlaySound = async (message) => {\n\tconst { sound, user } = store.state;\n\n\tif (!sound.enabled || (user && message.u && message.u._id === user._id)) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ sound: { ...sound, play: true } });\n};\n\nexport const initRoom = async () => {\n\tconst { state } = store;\n\tconst { room } = state;\n\n\tif (!room) {\n\t\treturn;\n\t}\n\n\tLivechat.unsubscribeAll();\n\n\tconst { token, agent, queueInfo, room: { _id: rid, servedBy } } = state;\n\tLivechat.subscribeRoom(rid);\n\n\tlet roomAgent = agent;\n\tif (!roomAgent) {\n\t\tif (servedBy) {\n\t\t\troomAgent = await Livechat.agent({ rid });\n\t\t\tawait store.setState({ agent: roomAgent, queueInfo: null });\n\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(roomAgent)]);\n\t\t}\n\t}\n\n\tif (queueInfo) {\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t}\n\n\tLivechat.onAgentChange(rid, async (agent) => {\n\t\tawait store.setState({ agent, queueInfo: null });\n\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onAgentStatusChange(rid, (status) => {\n\t\tconst { agent } = store.state;\n\t\tagent && store.setState({ agent: { ...agent, status } });\n\t\tparentCall('callback', ['agent-status-change', normalizeAgent(agent)]);\n\t});\n\n\tLivechat.onQueuePositionChange(rid, async (queueInfo) => {\n\t\tawait store.setState({ queueInfo });\n\t\tparentCall('callback', ['queue-position-change', queueInfo]);\n\t});\n\n\tsetCookies(rid, token);\n};\n\nconst isAgentHidden = () => {\n\tconst { config: { settings: { agentHiddenInfo } = {} } = {} } = store.state;\n\n\treturn !!agentHiddenInfo;\n};\n\nconst transformAgentInformationOnMessage = (message) => {\n\tconst { user } = store.state;\n\tif (message.u && message.u._id !== user._id && isAgentHidden()) {\n\t\treturn { ...message, u: { _id: message.u._id } };\n\t}\n\n\treturn message;\n};\n\nLivechat.onTyping((username, isTyping) => {\n\tconst { typing, user, agent } = store.state;\n\n\tif (user && user.username && user.username === username) {\n\t\treturn;\n\t}\n\n\tif (agent && agent.hiddenInfo) {\n\t\treturn;\n\t}\n\n\tif (typing.indexOf(username) === -1 && isTyping) {\n\t\ttyping.push(username);\n\t\treturn store.setState({ typing });\n\t}\n\n\tif (!isTyping) {\n\t\treturn store.setState({ typing: typing.filter((u) => u !== username) });\n\t}\n});\n\nLivechat.onMessage(async (message) => {\n\tif (message.ts instanceof Date) {\n\t\tmessage.ts = message.ts.toISOString();\n\t}\n\n\tmessage = await normalizeMessage(message);\n\tif (!message) {\n\t\treturn;\n\t}\n\n\tmessage = transformAgentInformationOnMessage(message);\n\n\tawait store.setState({\n\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t});\n\n\tawait processMessage(message);\n\n\tif (canRenderMessage(message) !== true) {\n\t\treturn;\n\t}\n\n\tif (message.editedAt) {\n\t\treturn;\n\t}\n\n\tawait processUnread();\n\tawait doPlaySound(message);\n});\n\nexport const getGreetingMessages = (messages) => messages && messages.filter((msg) => msg.trigger);\n\nexport const loadMessages = async () => {\n\tconst { messages: storedMessages, room: { _id: rid } = {} } = store.state;\n\tconst previousMessages = getGreetingMessages(storedMessages);\n\n\tif (!rid) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\tconst rawMessages = (await Livechat.loadMessages(rid)).concat(previousMessages);\n\tconst messages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait initRoom();\n\tawait store.setState({ messages: (messages || []).reverse(), noMoreMessages: false, loading: false });\n\n\tif (messages && messages.length) {\n\t\tconst lastMessage = messages[messages.length - 1];\n\t\tawait store.setState({ lastReadMessageId: lastMessage && lastMessage._id });\n\t}\n};\n\nexport const loadMoreMessages = async () => {\n\tconst { room: { _id: rid } = {}, messages = [], noMoreMessages = false } = store.state;\n\n\tif (!rid || noMoreMessages) {\n\t\treturn;\n\t}\n\n\tawait store.setState({ loading: true });\n\n\tconst rawMessages = await Livechat.loadMessages(rid, { limit: messages.length + 10 });\n\tconst moreMessages = (await normalizeMessages(rawMessages)).map(transformAgentInformationOnMessage);\n\n\tawait store.setState({\n\t\tmessages: (moreMessages || []).reverse(),\n\t\tnoMoreMessages: messages.length + 10 > moreMessages.length,\n\t\tloading: false,\n\t});\n};\n\nexport const defaultRoomParams = () => {\n\tconst params = {};\n\n\tconst { defaultAgent: agent = {} } = store.state;\n\tif (agent && agent._id) {\n\t\tObject.assign(params, { agentId: agent._id });\n\t}\n\n\treturn params;\n};\n\nstore.on('change', ([state, prevState]) => {\n\t// Cross-tab communication\n\t// Detects when a room is created and then route to the correct container\n\tif (!prevState.room && state.room) {\n\t\troute('/');\n\t}\n});\n","import { Livechat } from '../api';\nimport I18n from '../i18n';\nimport store from '../store';\nimport constants from './constants';\nimport { loadConfig } from './main';\nimport { loadMessages } from './room';\n\nlet self;\nlet timer;\nlet connectedListener;\nlet disconnectedListener;\nlet initiated = false;\nconst { livechatDisconnectedAlertId, livechatConnectedAlertId } = constants;\nconst removeListener = (l) => l.stop();\n\nconst Connection = {\n\tasync init() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tawait this.connect();\n\t},\n\n\tasync connect() {\n\t\ttry {\n\t\t\tthis.clearListeners();\n\t\t\tawait loadConfig();\n\t\t\tawait Livechat.connect();\n\t\t\tthis.addListeners();\n\t\t\tthis.clearAlerts();\n\t\t} catch (e) {\n\t\t\tconsole.error('Connecting error: ', e);\n\t\t}\n\t},\n\n\treconnect() {\n\t\tif (timer) {\n\t\t\treturn;\n\t\t}\n\t\ttimer = setTimeout(async () => {\n\t\t\ttry {\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = false;\n\t\t\t\tawait this.connect();\n\t\t\t\tawait loadMessages();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('Reconecting error: ', e);\n\t\t\t\tthis.reconnect();\n\t\t\t}\n\t\t}, 5000);\n\t},\n\n\tasync clearAlerts() {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: alerts.filter((alert) => ![livechatDisconnectedAlertId, livechatConnectedAlertId].includes(alert.id)) });\n\t},\n\n\tasync displayAlert(alert = {}) {\n\t\tconst { alerts } = store.state;\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t},\n\n\tasync handleConnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatConnectedAlertId, children: I18n.t('Livechat connected.'), success: true });\n\t\tawait loadMessages();\n\t},\n\n\tasync handleDisconnected() {\n\t\tawait self.clearAlerts();\n\t\tawait self.displayAlert({ id: livechatDisconnectedAlertId, children: I18n.t('Livechat is not connected.'), error: true, timeout: 0 });\n\t\tself.reconnect();\n\t},\n\n\taddListeners() {\n\t\tif (!connectedListener) {\n\t\t\tconnectedListener = Livechat.onStreamData('connected', this.handleConnected);\n\t\t}\n\n\t\tif (!disconnectedListener) {\n\t\t\tdisconnectedListener = Livechat.onStreamData('close', this.handleDisconnected);\n\t\t}\n\t},\n\n\tclearListeners() {\n\t\tif (connectedListener) {\n\t\t\tconnectedListener.then(removeListener);\n\t\t\tconnectedListener = false;\n\t\t}\n\n\t\tif (disconnectedListener) {\n\t\t\tdisconnectedListener.then(removeListener);\n\t\t\tdisconnectedListener = false;\n\t\t}\n\t},\n};\n\nexport default Connection;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nclass CustomFields {\n\tconstructor() {\n\t\tif (!CustomFields.instance) {\n\t\t\tthis._initiated = false;\n\t\t\tthis._started = false;\n\t\t\tthis._queue = {};\n\t\t\tCustomFields.instance = this;\n\t\t}\n\n\t\treturn CustomFields.instance;\n\t}\n\n\tinit() {\n\t\tif (this._initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._initiated = true;\n\t\tconst { token } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tstore.on('change', this.handleStoreChange);\n\t}\n\n\treset() {\n\t\tthis._initiated = false;\n\t\tthis._started = false;\n\t\tthis._queue = {};\n\t\tstore.off('change', this.handleStoreChange);\n\t}\n\n\thandleStoreChange([state]) {\n\t\tconst { user } = state;\n\t\tconst { _started } = CustomFields.instance;\n\n\t\tif (_started) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!user) {\n\t\t\treturn;\n\t\t}\n\n\t\tCustomFields.instance._started = true;\n\t\tCustomFields.instance.processCustomFields();\n\t}\n\n\tprocessCustomFields() {\n\t\tObject.keys(this._queue).forEach((key) => {\n\t\t\tconst { value, overwrite } = this._queue[key];\n\t\t\tthis.setCustomField(key, value, overwrite);\n\t\t});\n\n\t\tthis._queue = {};\n\t}\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tif (!this._started) {\n\t\t\tthis._queue[key] = { value, overwrite };\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token } = Livechat.credentials;\n\t\tLivechat.sendCustomField({ token, key, value, overwrite });\n\t}\n}\n\nconst instance = new CustomFields();\nexport default instance;\n","import { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { upsert, createToken, asyncForEach } from '../components/helpers';\nimport store from '../store';\nimport { normalizeAgent } from './api';\nimport { processUnread } from './main';\nimport { parentCall } from './parentCall';\n\nconst agentCacheExpiry = 3600000;\nlet agentPromise;\nconst getAgent = (triggerAction) => {\n\tif (agentPromise) {\n\t\treturn agentPromise;\n\t}\n\n\tagentPromise = new Promise(async (resolve, reject) => {\n\t\tconst { params } = triggerAction;\n\n\t\tif (params.sender === 'queue') {\n\t\t\tconst { state } = store;\n\t\t\tconst { defaultAgent, iframe: { guest: { department } } } = state;\n\t\t\tif (defaultAgent && defaultAgent.ts && Date.now() - defaultAgent.ts < agentCacheExpiry) {\n\t\t\t\treturn resolve(defaultAgent); // cache valid for 1\n\t\t\t}\n\n\t\t\tlet agent;\n\t\t\ttry {\n\t\t\t\tagent = await Livechat.nextAgent(department);\n\t\t\t} catch (error) {\n\t\t\t\treturn reject(error);\n\t\t\t}\n\n\t\t\tstore.setState({ defaultAgent: { ...agent, ts: Date.now() } });\n\t\t\tresolve(agent);\n\t\t} else if (params.sender === 'custom') {\n\t\t\tresolve({\n\t\t\t\tusername: params.name,\n\t\t\t});\n\t\t} else {\n\t\t\treject('Unknown sender');\n\t\t}\n\t});\n\n\t// expire the promise cache as well\n\tsetTimeout(() => {\n\t\tagentPromise = null;\n\t}, agentCacheExpiry);\n\n\treturn agentPromise;\n};\n\nclass Triggers {\n\tconstructor() {\n\t\tif (!Triggers.instance) {\n\t\t\tthis._started = false;\n\t\t\tthis._requests = [];\n\t\t\tthis._triggers = [];\n\t\t\tthis._enabled = true;\n\t\t\tTriggers.instance = this;\n\t\t}\n\n\t\treturn Triggers.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { token, firedTriggers = [], config: { triggers } } = store.state;\n\t\tLivechat.credentials.token = token;\n\n\t\tif (!(triggers && triggers.length > 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\tthis._triggers = [...triggers];\n\n\t\tfiredTriggers.forEach((triggerId) => {\n\t\t\tthis._triggers.forEach((trigger) => {\n\t\t\t\tif (trigger._id === triggerId) {\n\t\t\t\t\ttrigger.skip = true;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.processTriggers();\n\t}\n\n\tasync fire(trigger) {\n\t\tconst { token, user, firedTriggers = [] } = store.state;\n\t\tif (!this._enabled || user) {\n\t\t\treturn;\n\t\t}\n\t\tconst { actions } = trigger;\n\n\t\tawait asyncForEach(actions, (action) => {\n\t\t\tif (action.name === 'send-message') {\n\t\t\t\ttrigger.skip = true;\n\n\t\t\t\tgetAgent(action).then(async (agent) => {\n\t\t\t\t\tconst ts = new Date();\n\n\t\t\t\t\tconst message = {\n\t\t\t\t\t\tmsg: action.params.msg,\n\t\t\t\t\t\ttoken,\n\t\t\t\t\t\tu: agent,\n\t\t\t\t\t\tts: ts.toISOString(),\n\t\t\t\t\t\t_id: createToken(),\n\t\t\t\t\t\ttrigger: true,\n\t\t\t\t\t};\n\n\t\t\t\t\tawait store.setState({\n\t\t\t\t\t\ttriggered: true,\n\t\t\t\t\t\tmessages: upsert(store.state.messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t\t\t\t});\n\t\t\t\t\tawait processUnread();\n\n\t\t\t\t\tif (agent && agent._id) {\n\t\t\t\t\t\tawait store.setState({ agent });\n\t\t\t\t\t\tparentCall('callback', ['assign-agent', normalizeAgent(agent)]);\n\t\t\t\t\t}\n\n\t\t\t\t\troute('/trigger-messages');\n\t\t\t\t\tstore.setState({ minimized: false });\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif (trigger.runOnce) {\n\t\t\ttrigger.skip = true;\n\t\t\tfiredTriggers.push(trigger._id);\n\t\t\tstore.setState({ firedTriggers });\n\t\t}\n\t}\n\n\tprocessRequest(request) {\n\t\tthis._requests.push(request);\n\t\tif (!this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.processTriggers();\n\t}\n\n\tprocessTriggers() {\n\t\tthis._triggers.forEach((trigger) => {\n\t\t\tif (trigger.skip) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = this;\n\t\t\ttrigger.conditions.forEach((condition) => {\n\t\t\t\tswitch (condition.name) {\n\t\t\t\t\tcase 'page-url':\n\t\t\t\t\t\tthis._requests.forEach((request) => {\n\t\t\t\t\t\t\tconst hrefRegExp = new RegExp(condition.value, 'g');\n\t\t\t\t\t\t\tif (request.location.href.match(hrefRegExp)) {\n\t\t\t\t\t\t\t\tself.fire(trigger);\n\t\t\t\t\t\t\t\tthis._requests = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'time-on-site':\n\t\t\t\t\t\tif (trigger.timeout) {\n\t\t\t\t\t\t\tclearTimeout(trigger.timeout);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttrigger.timeout = setTimeout(() => {\n\t\t\t\t\t\t\tthis.fire(trigger);\n\t\t\t\t\t\t}, parseInt(condition.value, 10) * 1000);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tset triggers(newTriggers) {\n\t\tthis._triggers = [...newTriggers];\n\t}\n\n\tset enabled(value) {\n\t\tthis._enabled = value;\n\t}\n}\n\nconst instance = new Triggers();\nexport default instance;\n","import { Livechat } from '../api';\nimport { createToken } from '../components/helpers';\nimport { store } from '../store';\nimport CustomFields from './customFields';\nimport { setWidgetLanguage } from './locale';\nimport { loadConfig } from './main';\nimport { parentCall } from './parentCall';\nimport Triggers from './triggers';\n\nconst createOrUpdateGuest = async (guest) => {\n\tconst { token } = guest;\n\ttoken && await store.setState({ token });\n\tconst user = await Livechat.grantVisitor({ visitor: { ...guest } });\n\tstore.setState({ user });\n};\n\nconst updateIframeGuestData = (data) => {\n\tconst { iframe, iframe: { guest }, user: _id, token } = store.state;\n\tstore.setState({ iframe: { ...iframe, guest: { ...guest, ...data } } });\n\n\tif (!_id) {\n\t\treturn;\n\t}\n\n\tconst guestData = { token, ...data };\n\tcreateOrUpdateGuest(guestData);\n};\n\nconst api = {\n\tpageVisited(info) {\n\t\tif (info.change === 'url') {\n\t\t\tTriggers.processRequest(info);\n\t\t}\n\n\t\tconst { token, room: { _id: rid } = {} } = store.state;\n\t\tconst { change, title, location: { href } } = info;\n\n\t\tLivechat.sendVisitorNavigation({ token, rid, pageInfo: { change, title, location: { href } } });\n\t},\n\n\tsetCustomField(key, value, overwrite = true) {\n\t\tCustomFields.setCustomField(key, value, overwrite);\n\t},\n\n\tsetTheme({ color, fontColor, iconColor, title, offlineTitle } = {}) {\n\t\tconst { iframe, iframe: { theme } } = store.state;\n\t\tstore.setState({\n\t\t\tiframe: {\n\t\t\t\t...iframe,\n\t\t\t\ttheme: {\n\t\t\t\t\t...theme,\n\t\t\t\t\tcolor,\n\t\t\t\t\tfontColor,\n\t\t\t\t\ticonColor,\n\t\t\t\t\ttitle,\n\t\t\t\t\tofflineTitle,\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t},\n\n\tsetDepartment(value) {\n\t\tconst { config: { departments = [] } } = store.state;\n\n\t\tconst dept = departments.find((dep) => dep._id === value || dep.name === value);\n\t\tconst department = (dept && dept._id) || '';\n\n\t\tupdateIframeGuestData({ department });\n\t},\n\n\tclearDepartment() {\n\t\tupdateIframeGuestData({ department: '' });\n\t},\n\n\tsetAgent({ _id, username, ...props } = {}) {\n\t\tif (!_id || !username) {\n\t\t\treturn console.warn('The fields _id and username are mandatory.');\n\t\t}\n\n\t\tstore.setState({\n\t\t\tdefaultAgent: {\n\t\t\t\t_id,\n\t\t\t\tusername,\n\t\t\t\tts: Date.now(),\n\t\t\t\t...props,\n\t\t\t},\n\t\t});\n\t},\n\n\tsetExpanded(expanded) {\n\t\tstore.setState({ expanded });\n\t},\n\n\tasync setGuestToken(token) {\n\t\tconst { token: localToken, iframe, iframe: { guest } } = store.state;\n\t\tif (token === localToken) {\n\t\t\treturn;\n\t\t}\n\t\tstore.setState({ token, iframe: { ...iframe, guest: { ...guest, token } } });\n\t\tawait loadConfig();\n\t},\n\n\tsetGuestName(name) {\n\t\tupdateIframeGuestData({ name });\n\t},\n\n\tsetGuestEmail(email) {\n\t\tupdateIframeGuestData({ email });\n\t},\n\n\tregisterGuest(data = {}) {\n\t\tif (typeof data !== 'object') {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!data.token) {\n\t\t\tdata.token = createToken();\n\t\t}\n\n\t\tif (data.department) {\n\t\t\tapi.setDepartment(data.department);\n\t\t}\n\n\t\tcreateOrUpdateGuest(data);\n\t},\n\n\tasync setLanguage(language) {\n\t\tconst { iframe } = store.state;\n\t\tawait store.setState({ iframe: { ...iframe, language } });\n\t\tsetWidgetLanguage();\n\t},\n\n\tshowWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: true } });\n\t\tparentCall('showWidget');\n\t},\n\n\thideWidget() {\n\t\tconst { iframe } = store.state;\n\t\tstore.setState({ iframe: { ...iframe, visible: false } });\n\t\tparentCall('hideWidget');\n\t},\n\n\tminimizeWidget() {\n\t\tstore.setState({ minimized: true });\n\t\tparentCall('closeWidget');\n\t},\n\n\tmaximizeWidget() {\n\t\tstore.setState({ minimized: false });\n\t\tparentCall('openWidget');\n\t},\n};\n\nconst onNewMessage = (event) => {\n\tif (event.source === event.target) {\n\t\treturn;\n\t}\n\n\tif (typeof event.data === 'object' && event.data.src !== undefined && event.data.src === 'rocketchat') {\n\t\tif (api[event.data.fn] !== undefined && typeof api[event.data.fn] === 'function') {\n\t\t\tconst args = [].concat(event.data.args || []);\n\t\t\tapi[event.data.fn].apply(null, args);\n\t\t}\n\t}\n};\n\nclass Hooks {\n\tconstructor() {\n\t\tif (!Hooks.instance) {\n\t\t\tthis._started = false;\n\t\t\tHooks.instance = this;\n\t\t}\n\n\t\treturn Hooks.instance;\n\t}\n\n\tinit() {\n\t\tif (this._started) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._started = true;\n\t\twindow.addEventListener('message', onNewMessage, false);\n\t}\n\n\treset() {\n\t\tthis._started = false;\n\t\twindow.removeEventListener('message', onNewMessage, false);\n\t}\n}\n\nconst instance = new Hooks();\nexport default instance;\n","import { Livechat } from '../api';\nimport store from '../store';\n\nconst docActivityEvents = ['mousemove', 'mousedown', 'touchend', 'keydown'];\nlet timer;\nlet initiated = false;\nconst awayTime = 300000;\nlet self;\nlet oldStatus;\n\nconst userPrensence = {\n\n\tinit() {\n\t\tif (initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tinitiated = true;\n\t\tself = this;\n\t\tstore.on('change', this.handleStoreChange);\n\t},\n\n\treset() {\n\t\tinitiated = false;\n\t\tthis.stopEvents();\n\t\tstore.off('change', this.handleStoreChange);\n\t},\n\n\tstopTimer() {\n\t\ttimer && clearTimeout(timer);\n\t},\n\n\tstartTimer() {\n\t\tthis.stopTimer();\n\t\ttimer = setTimeout(this.setAway, awayTime);\n\t},\n\n\thandleStoreChange([state]) {\n\t\tif (!initiated) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { room, user } = state;\n\t\troom && user ? self.startEvents() : self.stopEvents();\n\t},\n\n\tstartEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.addEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.addEventListener('focus', this.setOnline);\n\t},\n\n\tstopEvents() {\n\t\tdocActivityEvents.forEach((event) => {\n\t\t\tdocument.removeEventListener(event, this.setOnline);\n\t\t});\n\n\t\twindow.removeEventListener('focus', this.setOnline);\n\t\tthis.stopTimer();\n\t},\n\n\tasync setOnline() {\n\t\tself.startTimer();\n\t\tif (oldStatus === 'online') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'online';\n\t\tawait Livechat.updateVisitorStatus('online');\n\t},\n\n\tasync setAway() {\n\t\tself.stopTimer();\n\t\tif (oldStatus === 'away') {\n\t\t\treturn;\n\t\t}\n\t\toldStatus = 'away';\n\t\tawait Livechat.updateVisitorStatus('away');\n\t},\n};\n\nexport default userPrensence;\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerAction = memo(({ text, onClick, className, style = {}, children }) => (\n\t\n\t\t{children}\n\t\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const ComposerActions = memo(({ className, style = {}, children }) => (\n\t\n\t\t{children}\n\t\n));\n","import { sanitize } from 'dompurify';\nimport mem from 'mem';\nimport { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst escapeMap = {\n\t'&': '&',\n\t'<': '<',\n\t'>': '>',\n\t'\"': '"',\n\t'\\'': ''',\n\t'`': '`',\n};\n\nconst escapeRegex = new RegExp(`(?:${ Object.keys(escapeMap).join('|') })`, 'g');\n\nconst escapeHtml = mem(\n\t(string) => string.replace(escapeRegex, (match) => escapeMap[match]),\n);\n\nconst parse = (plainText) =>\n\t[{ plain: plainText }]\n\t\t.map(({ plain, html }) => (plain ? escapeHtml(plain) : html || ''))\n\t\t.join('');\nconst findLastTextNode = (node) => {\n\tif (node.nodeType === Node.TEXT_NODE) {\n\t\treturn node;\n\t}\n\tconst children = node.childNodes;\n\tfor (let i = children.length - 1; i >= 0; i--) {\n\t\tconst textNode = findLastTextNode(children[i]);\n\t\tif (textNode !== null) {\n\t\t\treturn textNode;\n\t\t}\n\t}\n\treturn null;\n};\n\nconst replaceCaret = (el) => {\n\t// Place the caret at the end of the element\n\tconst target = findLastTextNode(el);\n\t// do not move caret if element was not focused\n\tconst isTargetFocused = document.activeElement === el;\n\tif (target !== null && target.nodeValue !== null && isTargetFocused) {\n\t\tconst range = document.createRange();\n\t\tconst sel = window.getSelection();\n\t\trange.setStart(target, target.nodeValue.length);\n\t\trange.collapse(true);\n\t\tsel.removeAllRanges();\n\t\tsel.addRange(range);\n\t\tif (el instanceof HTMLElement) {\n\t\t\tel.focus();\n\t\t}\n\t}\n};\n\nexport class Composer extends Component {\n\thandleRef = (el) => {\n\t\tthis.el = el;\n\t}\n\n\thandleInput = (onChange) => () => {\n\t\tif (this.state.inputLock) {\n\t\t\treturn;\n\t\t}\n\t\tonChange && onChange(sanitize(this.el.innerText));\n\t}\n\n\thandleKeypress = (onSubmit) => (event) => {\n\t\tif (event.which === 13 && !event.shiftKey) {\n\t\t\tevent.preventDefault();\n\t\t\tonSubmit && onSubmit(this.el.innerText);\n\t\t\tthis.el.innerText = '';\n\t\t}\n\t}\n\n\thandlePaste = (onUpload) => async (event) => {\n\t\tif (!event.clipboardData || !event.clipboardData.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.clipboardData.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\t\ttexts.forEach((text) => this.pasteText(text));\n\t}\n\n\thandleDrop = (onUpload) => async (event) => {\n\t\tif (!event.dataTransfer || !event.dataTransfer.items) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst items = Array.from(event.dataTransfer.items);\n\n\t\tconst files = items.filter((item) => item.kind === 'file' && /^image\\//.test(item.type))\n\t\t\t.map((item) => item.getAsFile());\n\t\tif (files.length) {\n\t\t\tonUpload && onUpload(files);\n\t\t\treturn;\n\t\t}\n\n\t\tconst texts = await Promise.all(\n\t\t\titems.filter((item) => item.kind === 'string' && /^text\\/plain/.test(item.type))\n\t\t\t\t.map((item) => new Promise((resolve) => item.getAsString(resolve))),\n\t\t);\n\t\ttexts.forEach((text) => this.pasteText(text));\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tpasteText = (plainText) => {\n\t\tthis.el.focus();\n\n\t\tif (document.queryCommandSupported('insertText')) {\n\t\t\tdocument.execCommand('insertText', false, plainText);\n\t\t\treturn;\n\t\t}\n\n\t\tconst range = document.getSelection().getRangeAt(0);\n\t\trange.deleteContents();\n\t\tconst textNode = document.createTextNode(plainText);\n\t\trange.insertNode(textNode);\n\t\trange.selectNodeContents(textNode);\n\t\trange.collapse(false);\n\n\t\tconst selection = window.getSelection();\n\t\tselection.removeAllRanges();\n\t\tselection.addRange(range);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tinputLock: false,\n\t\t};\n\t\tthis.value = this.props.value;\n\t\tthis.handleNotifyEmojiSelect = this.handleNotifyEmojiSelect.bind(this);\n\n\t\tif (typeof this.props.notifyEmojiSelect === 'function') {\n\t\t\tthis.props.notifyEmojiSelect(this.handleNotifyEmojiSelect);\n\t\t}\n\t}\n\n\t// we only update composer if value length changed from 0 to 1 or 1 to 0\n\t// everything else is managed by this.el\n\tshouldComponentUpdate({ value: nextValue }) {\n\t\tconst { value, limitTextLength } = this.props;\n\n\t\tconst nextValueEmpty = !nextValue || nextValue.length === 0;\n\t\tconst valueEmpty = !value || value.length === 0;\n\n\t\tif (nextValueEmpty !== valueEmpty) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (nextValue.length === limitTextLength || value.length === limitTextLength) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { el } = this;\n\t\tif (!el) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.props.value !== el.innerHTML) {\n\t\t\tthis.value = this.props.value;\n\t\t\tel.innerHTML = this.value;\n\t\t}\n\t\treplaceCaret(el);\n\t}\n\n\thandleNotifyEmojiSelect(emoji) {\n\t\tconst { onChange } = this.props;\n\t\tconst caretPosition = this.getCaretPosition(this.el);\n\t\tconst oldText = this.el.innerText;\n\t\tconst newText = `${ oldText.substr(0, caretPosition) }${ emoji } ${ oldText.substr(caretPosition) }`;\n\t\tthis.el.innerHTML = newText;\n\t\tthis.moveCursorToEndAndFocus(caretPosition + emoji.length + 1);\n\t\tonChange && onChange(this.el.innerText);\n\t}\n\n\tmoveCursorToEndAndFocus(endIndex) {\n\t\tconst setPos = document.createRange();\n\t\tconst set = window.getSelection();\n\t\tsetPos.setStart(this.el.childNodes[0], endIndex);\n\t\tsetPos.collapse(true);\n\t\tset.removeAllRanges();\n\t\tset.addRange(setPos);\n\t}\n\n\tgetCaretPosition(element) {\n\t\tconst doc = element.ownerDocument || element.document;\n\t\tconst win = doc.defaultView || doc.parentWindow;\n\t\tif (typeof win.getSelection !== 'undefined' && win.getSelection().rangeCount > 0) {\n\t\t\tconst range = win.getSelection().getRangeAt(0);\n\t\t\tconst preCaretRange = range.cloneRange();\n\t\t\tpreCaretRange.selectNodeContents(element);\n\t\t\tpreCaretRange.setEnd(range.endContainer, range.endOffset);\n\t\t\treturn preCaretRange.toString().length;\n\t\t}\n\n\t\tif (doc.selection && doc.selection.type !== 'Control') {\n\t\t\tconst textRange = doc.selection.createRange();\n\t\t\tconst preCaretTextRange = doc.body.createTextRange();\n\t\t\tpreCaretTextRange.moveToElementText(element);\n\t\t\tpreCaretTextRange.setEndPoint('EndToEnd', textRange);\n\t\t\treturn preCaretTextRange.text.length;\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\thandleInputLock(locked) {\n\t\tthis.setState({ inputLock: locked });\n\t\treturn 0;\n\t}\n\n\trender = ({ pre, post, value, placeholder, onChange, onSubmit, onUpload, className, style }) => (\n\n\t\t
\n\t\t\t{pre}\n\t\t\t {\n\t\t\t\t\tthis.handleInputLock(true);\n\t\t\t\t}}\n\n\t\t\t\tonCompositionEnd={() => {\n\t\t\t\t\tthis.handleInputLock(false);\n\t\t\t\t\tonChange && onChange(this.el.innerText);\n\t\t\t\t}}\n\n\n\t\t\t\tclassName={createClassName(styles, 'composer__input')}\n\t\t\t/>\n\t\t\t{post}\n\t\t
\n\t)\n}\n\nexport { ComposerAction } from './ComposerAction';\nexport { ComposerActions } from './ComposerActions';\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst escapeForRegExp = (string) => string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\nexport class FilesDropTarget extends Component {\n\tstate = {\n\t\tdragLevel: 0,\n\t}\n\n\thandleInputRef = (ref) => {\n\t\tthis.input = ref;\n\t}\n\n\thandleDragOver = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\thandleDragEnter = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel + 1 });\n\t}\n\n\thandleDragLeave = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.setState({ dragLevel: this.state.dragLevel - 1 });\n\t}\n\n\thandleDrop = (event) => {\n\t\tevent.preventDefault();\n\n\t\tlet { dragLevel } = this.state;\n\t\tif (dragLevel === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tdragLevel = 0;\n\t\tthis.setState({ dragLevel });\n\n\t\tthis.handleUpload(event.dataTransfer.files);\n\t}\n\n\thandleInputChange = (event) => {\n\t\tthis.handleUpload(event.currentTarget.files);\n\t}\n\n\thandleUpload = (files) => {\n\t\tconst { accept, multiple, onUpload } = this.props;\n\n\t\tif (!onUpload) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet filteredFiles = Array.from(files);\n\n\t\tif (accept) {\n\t\t\tconst acceptMatchers = accept.split(',')\n\t\t\t\t.map((acceptString) => {\n\t\t\t\t\tif (acceptString.charAt(0) === '.') {\n\t\t\t\t\t\treturn ({ name }) => new RegExp(`${ escapeForRegExp(acceptString) }$`, 'i').test(name);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst matchTypeOnly = /^(.+)\\/\\*$/i.exec(acceptString);\n\t\t\t\t\tif (matchTypeOnly) {\n\t\t\t\t\t\treturn ({ type }) => new RegExp(`^${ escapeForRegExp(matchTypeOnly[1]) }/.*$`, 'i').test(type);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ({ type }) => new RegExp(`^s${ escapeForRegExp(acceptString) }$`, 'i').test(type);\n\t\t\t\t});\n\n\t\t\tfilteredFiles = filteredFiles.filter((file) => acceptMatchers.some((acceptMatcher) => acceptMatcher(file)));\n\t\t}\n\n\t\tif (!multiple) {\n\t\t\tfilteredFiles = filteredFiles.slice(0, 1);\n\t\t}\n\n\t\tfilteredFiles.length && onUpload(filteredFiles);\n\t}\n\n\tbrowse = () => {\n\t\tthis.input.click();\n\t}\n\n\trender = ({\n\t\toverlayed,\n\t\toverlayText,\n\t\taccept,\n\t\tmultiple,\n\t\tclassName,\n\t\tstyle = {},\n\t\tchildren,\n\t}, { dragLevel }) => (\n\t\t 0 }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n","import { h, Component, createContext } from 'preact';\n\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst PopoverContext = createContext();\n\n\nconst PopoverOverlay = ({ children, className, visible, ...props }) => (\n\t\n\t\t{children}\n\t\n);\n\n\nexport class PopoverContainer extends Component {\n\tstate = {\n\t\trenderer: null,\n\t}\n\n\topen = (renderer, props, { currentTarget } = {}) => {\n\t\tlet overlayBounds;\n\t\tlet triggerBounds;\n\n\t\tif (this.overlayRef) {\n\t\t\toverlayBounds = normalizeDOMRect(this.overlayRef.base.getBoundingClientRect());\n\t\t}\n\n\t\tif (currentTarget) {\n\t\t\ttriggerBounds = normalizeDOMRect(currentTarget.getBoundingClientRect());\n\t\t}\n\n\t\tthis.setState({ renderer, ...props, overlayBounds, triggerBounds });\n\t}\n\n\tdismiss = () => {\n\t\tthis.setState({ renderer: null, overlayBounds: null, triggerBounds: null });\n\t}\n\n\thandleOverlayGesture = ({ currentTarget, target }) => {\n\t\tif (currentTarget !== target) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleKeyDown = ({ key }) => {\n\t\tif (key !== 'Escape') {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.dismiss();\n\t}\n\n\thandleOverlayRef = (ref) => {\n\t\tthis.overlayRef = ref;\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.mounted = true;\n\t\twindow.addEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mounted = false;\n\t\twindow.removeEventListener('keydown', this.handleKeyDown, false);\n\t}\n\n\trender = ({ children }, { renderer, overlayProps, overlayBounds, triggerBounds }) => (\n\t\t\n\t\t\t
\n\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\t\t{renderer ? renderer({ dismiss: this.dismiss, overlayBounds, triggerBounds }) : null}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n}\n\n\nexport const PopoverTrigger = ({ children, ...props }) => (\n\t\n\t\t{({ open }) => children[0]({ pop: open.bind(null, children[1], props) })}\n\t\n);\n","import { h, Component } from 'preact';\n\nimport { PopoverTrigger } from '../Popover';\nimport { createClassName, normalizeDOMRect } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Menu = ({ children, hidden, placement, ...props }) => (\n\t
\n\t\t{children}\n\t
\n);\n\n\nexport const Group = ({ children, title, ...props }) => (\n\t
\n\t\t{title &&
{title}
}\n\t\t{children}\n\t
\n);\n\n\nexport const Item = ({ children, primary, danger, disabled, icon, ...props }) => (\n\t\n\t\t{icon && (\n\t\t\t
\n\t\t\t\t{h(icon)}\n\t\t\t
\n\t\t)}\n\t\t{children}\n\t\n);\n\n\nclass PopoverMenuWrapper extends Component {\n\tstate = {}\n\n\thandleRef = (ref) => {\n\t\tthis.menuRef = ref;\n\t}\n\n\thandleClick = ({ target }) => {\n\t\tif (!target.closest(`.${ styles.menu__item }`)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { dismiss } = this.props;\n\t\tdismiss();\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { triggerBounds, overlayBounds } = this.props;\n\t\tconst menuBounds = normalizeDOMRect(this.menuRef.base.getBoundingClientRect());\n\n\t\tconst menuWidth = menuBounds.right - menuBounds.left;\n\t\tconst menuHeight = menuBounds.bottom - menuBounds.top;\n\n\t\tconst rightSpace = overlayBounds.right - triggerBounds.left;\n\t\tconst bottomSpace = overlayBounds.bottom - triggerBounds.bottom;\n\n\t\tconst left = menuWidth < rightSpace ? triggerBounds.left - overlayBounds.left : null;\n\t\tconst right = menuWidth < rightSpace ? null : overlayBounds.right - triggerBounds.right;\n\n\t\tconst top = menuHeight < bottomSpace ? triggerBounds.bottom : null;\n\t\tconst bottom = menuHeight < bottomSpace ? null : overlayBounds.bottom - triggerBounds.top;\n\n\t\tconst placement = `${ menuWidth < rightSpace ? 'right' : 'left' }-${ menuHeight < bottomSpace ? 'bottom' : 'top' }`;\n\n\t\t// eslint-disable-next-line react/no-did-mount-set-state\n\t\tthis.setState({\n\t\t\tposition: { left, right, top, bottom },\n\t\t\tplacement,\n\t\t});\n\t}\n\n\trender = ({ children }) => (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n}\n\n\nexport const PopoverMenu = ({ children, trigger, overlayed }) => (\n\t\n\t\t{trigger}\n\t\t{({ dismiss, triggerBounds, overlayBounds }) => (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t)}\n\t\n);\n\n\nMenu.Group = Group;\nMenu.Item = Item;\nMenu.Popover = PopoverMenu;\n\n\nexport default Menu;\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { PopoverMenu } from '../Menu';\nimport { createClassName } from '../helpers';\nimport Logo from './logo.svg';\nimport styles from './styles.scss';\n\n\nexport const Footer = ({ children, className, ...props }) => (\n\t
\n\t\t{children}\n\t
\n);\n\n\nexport const FooterContent = ({ children, className, ...props }) => (\n\t
\n\t\t{children}\n\t
\n);\n\n\nexport const PoweredBy = ({ className, ...props }) => (\n\t

\n\t\tPowered By\n\t\t\n\t\t\t\n\t\t\n\t

\n);\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst OptionsTrigger = ({ pop }) => (\n\t\n);\n\n\nexport const FooterOptions = ({ children }) => (\n\t\n\t\t{children}\n\t\n);\n\n\nexport const CharCounter = ({ className, style = {}, textLength, limitTextLength }) => (\n\t\n\t\t{textLength} / {limitTextLength}\n\t\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageBubble = memo(({\n\tinverse,\n\tnude,\n\tquoted,\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t\n\t\t
\n\t\t\t{children}\n\t\t
\n\t\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const AudioAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t\n\t\t\n\t\t\t{I18n.t('You browser doesn\\'t support audio element')}\n\t\t\n\t\n));\n","import { h } from 'preact';\n\nimport DocIcon from '../../../icons/doc.svg';\nimport FileIcon from '../../../icons/file.svg';\nimport PDFIcon from '../../../icons/pdf.svg';\nimport PPTIcon from '../../../icons/ppt.svg';\nimport SheetIcon from '../../../icons/sheet.svg';\nimport ZipIcon from '../../../icons/zip.svg';\nimport { memo } from '../../helpers';\n\n\nexport const FileAttachmentIcon = memo(({ url }) => {\n\tconst extension = url ? url.split('.').pop() : null;\n\n\tconst Icon = (/pdf/i.test(extension) && PDFIcon)\n\t\t|| (/doc|docx|rtf|txt|odt|pages|log/i.test(extension) && DocIcon)\n\t\t|| (/ppt|pptx|pps/i.test(extension) && PPTIcon)\n\t\t|| (/xls|xlsx|csv/i.test(extension) && SheetIcon)\n\t\t|| (/zip|rar|7z|gz/i.test(extension) && ZipIcon)\n\t\t|| FileIcon;\n\treturn ;\n});\n","import { h } from 'preact';\n\nimport DownloadIcon from '../../../icons/download.svg';\nimport { createClassName, memo } from '../../helpers';\nimport { FileAttachmentIcon } from '../FileAttachmentIcon';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const FileAttachment = memo(({\n\turl,\n\ttitle,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t\n\t\t\n\t\t\t\n\t\t\t{title}\n\t\t\t\n\t\t\n\t\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const ImageAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t\n\t\t\n\t\n));\n","import { h, Component } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Avatar extends Component {\n\tstatic getDerivedStateFromProps(props) {\n\t\tif (props.src) {\n\t\t\treturn { errored: false };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\terrored: false,\n\t}\n\n\thandleError = () => {\n\t\tthis.setState({ errored: true });\n\t}\n\n\trender = ({ small, large, src, description, status, className, style }, { errored }) => (\n\t\t\n\t\t\t{(src && !errored) && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{status && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t)\n}\n","import { h } from 'preact';\n\nimport { Avatar } from '../../Avatar';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const MessageAvatars = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\tclassName,\n\tstyle = {},\n}) => (\n\t\n\t\t{usernames.map((username) => (\n\t\t\t\n\t\t))}\n\t\n));\n","const UNMISTAKABLE_CHARS = '23456789ABCDEFGHJKLMNPQRSTWXYZabcdefghijkmnopqrstuvwxyz';\n\nconst fraction = () => {\n\tconst array = new Uint32Array(1);\n\twindow.crypto.getRandomValues(array);\n\treturn array[0] * 2.3283064365386963e-10;\n};\n\nexport const chooseElement = (arrayOrString) => {\n\tconst index = Math.floor(fraction() * arrayOrString.length);\n\n\tif (typeof arrayOrString === 'string') {\n\t\treturn arrayOrString.substr(index, 1);\n\t}\n\n\treturn arrayOrString[index];\n};\n\nexport const createRandomString = (charsCount, alphabet) =>\n\tArray.from({ length: charsCount }, () => chooseElement(alphabet)).join('');\n\nexport const createRandomId = (charsCount = 17) =>\n\tcreateRandomString(charsCount, UNMISTAKABLE_CHARS);\n","import { Livechat } from '../api';\nimport { createRandomId } from './random';\n\nexport const UIKitInteractionType = {\n\tMODAL_OPEN: 'modal.open',\n\tMODAL_CLOSE: 'modal.close',\n\tMODAL_UPDATE: 'modal.update',\n\tERRORS: 'errors',\n};\n\nexport const UIKitIncomingInteractionType = {\n\tBLOCK: 'blockAction',\n\tVIEW_SUBMIT: 'viewSubmit',\n\tVIEW_CLOSED: 'viewClosed',\n};\n\nexport const UIKitIncomingInteractionContainerType = {\n\tMESSAGE: 'message',\n\tVIEW: 'view',\n};\n\nconst TRIGGER_TIMEOUT = 5000;\n\nconst triggersId = new Map();\n\n// const instances = new Map();\n\nconst invalidateTriggerId = (id) => {\n\tconst appId = triggersId.get(id);\n\ttriggersId.delete(id);\n\treturn appId;\n};\n\nconst generateTriggerId = (appId) => {\n\tconst triggerId = createRandomId();\n\ttriggersId.set(triggerId, appId);\n\tsetTimeout(invalidateTriggerId, TRIGGER_TIMEOUT, triggerId);\n\treturn triggerId;\n};\n\nconst handlePayloadUserInteraction = (type, { /* appId,*/ triggerId, ...data }) => {\n\tif (!triggersId.has(triggerId)) {\n\t\treturn;\n\t}\n\tconst appId = invalidateTriggerId(triggerId);\n\tif (!appId) {\n\t\treturn;\n\t}\n\n\tconst { view } = data;\n\tlet { viewId } = data;\n\n\tif (view && view.id) {\n\t\tviewId = view.id;\n\t}\n\n\tif (!viewId) {\n\t\treturn;\n\t}\n\n\tif ([UIKitInteractionType.ERRORS].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.ERRORS;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_UPDATE].includes(type)) {\n\t\t// events.emit(viewId, {\n\t\t// \ttype,\n\t\t// \ttriggerId,\n\t\t// \tviewId,\n\t\t// \tappId,\n\t\t// \t...data,\n\t\t// });\n\t\treturn UIKitInteractionType.MODAL_UPDATE;\n\t}\n\n\tif ([UIKitInteractionType.MODAL_OPEN].includes(type)) {\n\t\t// const instance = modal.push({\n\t\t// \ttemplate: 'ModalBlock',\n\t\t// \tmodifier: 'uikit',\n\t\t// \tcloseOnEscape: false,\n\t\t// \tdata: {\n\t\t// \t\ttriggerId,\n\t\t// \t\tviewId,\n\t\t// \t\tappId,\n\t\t// \t\t...data,\n\t\t// \t},\n\t\t// });\n\t\t// instances.set(viewId, instance);\n\t\treturn UIKitInteractionType.MODAL_OPEN;\n\t}\n\n\treturn UIKitInteractionType.MODAL_ClOSE;\n};\n\nexport const triggerAction = async ({\n\tappId,\n\ttype,\n\tactionId,\n\trid,\n\tmid,\n\tviewId,\n\tcontainer,\n\tpayload,\n}) => {\n\tconst triggerId = generateTriggerId(appId);\n\n\ttry {\n\t\tconst params = {\n\t\t\ttype,\n\t\t\tactionId,\n\t\t\trid,\n\t\t\tmid,\n\t\t\tviewId,\n\t\t\tcontainer,\n\t\t\ttriggerId,\n\t\t\tpayload,\n\t\t};\n\n\t\tconst result = await Promise.race([\n\t\t\tfetch(`${ Livechat.client.host }/api/${ encodeURI(`apps/ui.interaction/${ appId }`) }`, {\n\t\t\t\tmethod: 'POST',\n\t\t\t\tbody: Livechat.client.getBody(params),\n\t\t\t\theaders: Object.assign({ 'x-visitor-token': Livechat.credentials.token }, Livechat.client.getHeaders()),\n\t\t\t}).then(Livechat.client.handle),\n\t\t\tnew Promise((_, reject) => {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\treject(new Error(triggerId));\n\t\t\t\t}, TRIGGER_TIMEOUT);\n\t\t\t}),\n\t\t]);\n\n\t\tconst { type: interactionType, ...data } = result;\n\n\t\treturn handlePayloadUserInteraction(interactionType, data);\n\t} catch (error) {\n\t\tinvalidateTriggerId(triggerId);\n\t\tthrow error;\n\t}\n};\n","import { createContext, h } from 'preact';\nimport { memo, useContext } from 'preact/compat';\n\nconst SurfaceContext = createContext({\n\tdispatchAction: () => undefined,\n});\n\nconst Surface = ({ children, dispatchAction }) =>\n\t;\n\nexport const useDispatchAction = () =>\n\tuseContext(SurfaceContext).dispatchAction;\n\nexport default memo(Surface);\n","import { createContext, h } from 'preact';\nimport { memo, useContext, useCallback, useState, useRef, useEffect } from 'preact/compat';\n\nimport { useDispatchAction } from './Surface';\n\nconst BlockContext = createContext({\n\tappId: null,\n\tblockId: null,\n});\n\nconst Block = ({ appId, blockId, children }) =>\n\t;\n\nexport const usePerformAction = (actionId) => {\n\tconst { appId } = useContext(BlockContext);\n\tconst dispatchAction = useDispatchAction();\n\n\tconst [performing, setPerforming] = useState(false);\n\tconst mountedRef = useRef(true);\n\n\tuseEffect(() => () => {\n\t\tmountedRef.current = false;\n\t}, []);\n\n\tconst perform = useCallback(async (payload = {}) => {\n\t\tsetPerforming(true);\n\n\t\ttry {\n\t\t\tawait dispatchAction({\n\t\t\t\tappId,\n\t\t\t\tactionId,\n\t\t\t\tpayload,\n\t\t\t});\n\t\t} finally {\n\t\t\tif (mountedRef.current) {\n\t\t\t\tsetPerforming(false);\n\t\t\t}\n\t\t}\n\t}, [actionId, appId, dispatchAction]);\n\n\treturn [perform, performing];\n};\n\nexport default memo(Block);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useState, useMemo, useCallback } from 'preact/compat';\n\nimport I18n from '../../../../i18n';\nimport { Button } from '../../../Button';\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ActionsBlock = ({ appId, blockId, elements, parser }) => {\n\tconst [collapsed, setCollapsed] = useState(true);\n\tconst renderableElements = useMemo(() => (collapsed ? elements.slice(0, 5) : elements), [collapsed, elements]);\n\tconst hiddenElementsCount = elements.length - renderableElements.length;\n\tconst isMoreButtonVisible = hiddenElementsCount > 0;\n\n\tconst handleMoreButtonClick = useCallback(() => {\n\t\tsetCollapsed(false);\n\t}, []);\n\n\treturn \n\t\t
\n\t\t\t{renderableElements.map((element, key) => {\n\t\t\t\tconst renderedElement = parser.renderActions(element, BLOCK_CONTEXT.ACTION);\n\t\t\t\tif (!renderedElement) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn
\n\t\t\t\t\t{renderedElement}\n\t\t\t\t
;\n\t\t\t})}\n\t\t\t{isMoreButtonVisible && }\n\t\t
\n\t
;\n};\n\nexport default memo(ActionsBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst ButtonElement = ({ text, actionId, url, value, style, context, confirm, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait performAction({ value });\n\t}, [confirm, performAction, url, value]);\n\n\treturn ;\n};\n\nexport default memo(ButtonElement);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ContextBlock = ({ appId, blockId, elements, parser }) =>\n\t\n\t\t
\n\t\t\t{elements.map((element, key) =>\n\t\t\t\t
\n\t\t\t\t\t{parser.renderContext(element, BLOCK_CONTEXT.CONTEXT)}\n\t\t\t\t
)}\n\t\t
\n\t
;\n\nexport default memo(ContextBlock);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\nconst DateInput = ({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t\n);\n\nexport default memo(DateInput);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport DateInput from '../../../Form/DateInput';\nimport { usePerformAction } from '../Block';\n\nconst DatePickerElement = ({ actionId, confirm/* , placeholder */, initialDate/* , parser */ }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tinitialDate,\n\t\t\tselectedDate: event.target.value,\n\t\t});\n\t}, [confirm, initialDate, performAction]);\n\n\treturn ;\n};\n\nexport default memo(DatePickerElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst DividerBlock = ({ appId, blockId }) =>\n\t\n\t\t\n\t;\n\nexport default memo(DividerBlock);\n","import { h } from 'preact';\nimport { memo, useEffect, useState, useMemo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst MAX_SIZE = 360;\n\nconst ImageBlock = ({ appId, blockId, title, imageUrl, altText, parser }) => {\n\tconst [{\n\t\tloading,\n\t\tnaturalWidth,\n\t\tnaturalHeight,\n\t}, updateImageState] = useState(() => ({\n\t\tloading: true,\n\t\tnaturalWidth: MAX_SIZE,\n\t\tnaturalHeight: MAX_SIZE,\n\t}));\n\n\tuseEffect(() => {\n\t\tconst image = new Image();\n\t\tlet cancelled = false;\n\n\t\timage.onload = () => {\n\t\t\tif (cancelled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdateImageState({\n\t\t\t\tloading: false,\n\t\t\t\tnaturalWidth: image.naturalWidth,\n\t\t\t\tnaturalHeight: image.naturalHeight,\n\t\t\t});\n\t\t};\n\n\t\timage.src = imageUrl;\n\n\t\treturn () => {\n\t\t\tcancelled = true;\n\t\t};\n\t}, [imageUrl]);\n\n\tconst contentStyle = useMemo(() => ({\n\t\tmaxWidth: Math.min(MAX_SIZE, naturalWidth / naturalHeight * MAX_SIZE),\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst wrapperStyle = useMemo(() => ({\n\t\tpaddingBottom: `${ naturalHeight / naturalWidth * 100 }%`,\n\t}), [naturalHeight, naturalWidth]);\n\n\tconst linkStyle = useMemo(() => ({\n\t\tbackgroundImage: `url(${ imageUrl })`,\n\t}), [imageUrl]);\n\n\treturn \n\t\t
\n\t\t\t{title &&

\n\t\t\t\t{parser.text(title)}\n\t\t\t

}\n\t\t\t\n\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\nexport default memo(ImageBlock);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst ImageElement = ({ imageUrl, altText, context }) =>\n\t;\n\nexport default memo(ImageElement);\n","const ascii = { '*\\\\0/*': '🙆', '*\\\\O/*': '🙆', '-___-': '😑', ':\\'-)': '😂', '\\':-)': '😅', '\\':-D': '😅', '>:-)': '😆', '\\':-(': '😓', '>:-(': '😠', ':\\'-(': '😢', 'O:-)': '😇', '0:-3': '😇', '0:-)': '😇', '0;^)': '😇', 'O;-)': '😇', '0;-)': '😇', 'O:-3': '😇', '-__-': '😑', ':-Þ': '😛', ':)': '😆', '>;)': '😆', '>=)': '😆', ';-)': '😉', '*-)': '😉', ';-]': '😉', ';^)': '😉', '\\':(': '😓', '\\'=(': '😓', ':-*': '😘', ':^*': '😘', '>:P': '😜', 'X-P': '😜', '>:[': '😞', ':-(': '😞', ':-[': '😞', '>:(': '😠', ':\\'(': '😢', ';-(': '😢', '>.<': '😣', '#-)': '😵', '%-)': '😵', 'X-)': '😵', '\\\\0/': '🙆', '\\\\O/': '🙆', '0:3': '😇', '0:)': '😇', 'O:)': '😇', 'O=)': '😇', 'O:3': '😇', 'B-)': '😎', '8-)': '😎', 'B-D': '😎', '8-D': '😎', '-_-': '😑', '>:\\\\': '😕', '>:/': '😕', ':-/': '😕', ':-.': '😕', ':-P': '😛', ':Þ': '😛', ':-b': '😛', ':-O': '😮', O_O: '😮', '>:O': '😮', ':-X': '😶', ':-#': '😶', ':-)': '🙂', '(y)': '👍', '<3': '❤', '=D': '😃', ';)': '😉', '*)': '😉', ';]': '😉', ';D': '😉', ':*': '😘', '=*': '😘', ':(': '😞', ':[': '😞', '=(': '😞', ':@': '😠', ';(': '😢', 'D:': '😨', ':$': '😳', '=$': '😳', '#)': '😵', '%)': '😵', 'X)': '😵', 'B)': '😎', '8)': '😎', ':/': '😕', ':\\\\': '😕', '=/': '😕', '=\\\\': '😕', ':L': '😕', '=L': '😕', ':P': '😛', '=P': '😛', ':b': '😛', ':O': '😮', ':X': '😶', ':#': '😶', '=X': '😶', '=#': '😶', ':)': '🙂', '=]': '🙂', '=)': '🙂', ':]': '🙂', ':D': '😄' };\n\nexport const asciiRegexp = '(\\\\*\\\\\\\\0\\\\/\\\\*|\\\\*\\\\\\\\O\\\\/\\\\*|\\\\-___\\\\-|\\\\:\\'\\\\-\\\\)|\\'\\\\:\\\\-\\\\)|\\'\\\\:\\\\-D|\\\\>\\\\:\\\\-\\\\)|>\\\\:\\\\-\\\\)|\\'\\\\:\\\\-\\\\(|\\\\>\\\\:\\\\-\\\\(|>\\\\:\\\\-\\\\(|\\\\:\\'\\\\-\\\\(|O\\\\:\\\\-\\\\)|0\\\\:\\\\-3|0\\\\:\\\\-\\\\)|0;\\\\^\\\\)|O;\\\\-\\\\)|0;\\\\-\\\\)|O\\\\:\\\\-3|\\\\-__\\\\-|\\\\:\\\\-Þ|\\\\:\\\\-Þ|\\\\<\\\\/3|<\\\\/3|\\\\:\\'\\\\)|\\\\:\\\\-D|\\'\\\\:\\\\)|\\'\\\\=\\\\)|\\'\\\\:D|\\'\\\\=D|\\\\>\\\\:\\\\)|>\\\\:\\\\)|\\\\>;\\\\)|>;\\\\)|\\\\>\\\\=\\\\)|>\\\\=\\\\)|;\\\\-\\\\)|\\\\*\\\\-\\\\)|;\\\\-\\\\]|;\\\\^\\\\)|\\'\\\\:\\\\(|\\'\\\\=\\\\(|\\\\:\\\\-\\\\*|\\\\:\\\\^\\\\*|\\\\>\\\\:P|>\\\\:P|X\\\\-P|\\\\>\\\\:\\\\[|>\\\\:\\\\[|\\\\:\\\\-\\\\(|\\\\:\\\\-\\\\[|\\\\>\\\\:\\\\(|>\\\\:\\\\(|\\\\:\\'\\\\(|;\\\\-\\\\(|\\\\>\\\\.\\\\<|>\\\\.<|#\\\\-\\\\)|%\\\\-\\\\)|X\\\\-\\\\)|\\\\\\\\0\\\\/|\\\\\\\\O\\\\/|0\\\\:3|0\\\\:\\\\)|O\\\\:\\\\)|O\\\\=\\\\)|O\\\\:3|B\\\\-\\\\)|8\\\\-\\\\)|B\\\\-D|8\\\\-D|\\\\-_\\\\-|\\\\>\\\\:\\\\\\\\|>\\\\:\\\\\\\\|\\\\>\\\\:\\\\/|>\\\\:\\\\/|\\\\:\\\\-\\\\/|\\\\:\\\\-\\\\.|\\\\:\\\\-P|\\\\:Þ|\\\\:Þ|\\\\:\\\\-b|\\\\:\\\\-O|O_O|\\\\>\\\\:O|>\\\\:O|\\\\:\\\\-X|\\\\:\\\\-#|\\\\:\\\\-\\\\)|\\\\(y\\\\)|\\\\<3|<3|\\\\=D|;\\\\)|\\\\*\\\\)|;\\\\]|;D|\\\\:\\\\*|\\\\=\\\\*|\\\\:\\\\(|\\\\:\\\\[|\\\\=\\\\(|\\\\:@|;\\\\(|D\\\\:|\\\\:\\\\$|\\\\=\\\\$|#\\\\)|%\\\\)|X\\\\)|B\\\\)|8\\\\)|\\\\:\\\\/|\\\\:\\\\\\\\|\\\\=\\\\/|\\\\=\\\\\\\\|\\\\:L|\\\\=L|\\\\:P|\\\\=P|\\\\:b|\\\\:O|\\\\:X|\\\\:#|\\\\=X|\\\\=#|\\\\:\\\\)|\\\\=\\\\]|\\\\=\\\\)|\\\\:\\\\]|\\\\:D)';\n\nexport default ascii;\n","const emojis = { ':england:': '🏴󠁧󠁢󠁥󠁮󠁧󠁿', ':scotland:': '🏴󠁧󠁢󠁳󠁣󠁴󠁿', ':wales:': '🏴󠁧󠁢󠁷󠁬󠁳󠁿', ':men_holding_hands_medium_light_skin_tone_light_skin_tone:': '👨🏼‍🤝‍👨🏻', ':men_holding_hands_tone2_tone1:': '👨🏼‍🤝‍👨🏻', ':men_holding_hands_medium_skin_tone_light_skin_tone:': '👨🏽‍🤝‍👨🏻', ':men_holding_hands_tone3_tone1:': '👨🏽‍🤝‍👨🏻', ':men_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👨🏽‍🤝‍👨🏼', ':men_holding_hands_tone3_tone2:': '👨🏽‍🤝‍👨🏼', ':men_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👨🏾‍🤝‍👨🏻', ':men_holding_hands_tone4_tone1:': '👨🏾‍🤝‍👨🏻', ':men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👨🏾‍🤝‍👨🏼', ':men_holding_hands_tone4_tone2:': '👨🏾‍🤝‍👨🏼', ':men_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👨🏾‍🤝‍👨🏽', ':men_holding_hands_tone4_tone3:': '👨🏾‍🤝‍👨🏽', ':men_holding_hands_dark_skin_tone_light_skin_tone:': '👨🏿‍🤝‍👨🏻', ':men_holding_hands_tone5_tone1:': '👨🏿‍🤝‍👨🏻', ':men_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👨🏿‍🤝‍👨🏼', ':men_holding_hands_tone5_tone2:': '👨🏿‍🤝‍👨🏼', ':men_holding_hands_dark_skin_tone_medium_skin_tone:': '👨🏿‍🤝‍👨🏽', ':men_holding_hands_tone5_tone3:': '👨🏿‍🤝‍👨🏽', ':men_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👨🏿‍🤝‍👨🏾', ':men_holding_hands_tone5_tone4:': '👨🏿‍🤝‍👨🏾', ':people_holding_hands_light_skin_tone:': '🧑🏻‍🤝‍🧑🏻', ':people_holding_hands_tone1:': '🧑🏻‍🤝‍🧑🏻', ':people_holding_hands_medium_light_skin_tone:': '🧑🏼‍🤝‍🧑🏼', ':people_holding_hands_tone2:': '🧑🏼‍🤝‍🧑🏼', ':people_holding_hands_medium_light_skin_tone_light_skin_tone:': '🧑🏼‍🤝‍🧑🏻', ':people_holding_hands_tone2_tone1:': '🧑🏼‍🤝‍🧑🏻', ':people_holding_hands_medium_skin_tone:': '🧑🏽‍🤝‍🧑🏽', ':people_holding_hands_tone3:': '🧑🏽‍🤝‍🧑🏽', ':people_holding_hands_medium_skin_tone_light_skin_tone:': '🧑🏽‍🤝‍🧑🏻', ':people_holding_hands_tone3_tone1:': '🧑🏽‍🤝‍🧑🏻', ':people_holding_hands_medium_skin_tone_medium_light_skin_tone:': '🧑🏽‍🤝‍🧑🏼', ':people_holding_hands_tone3_tone2:': '🧑🏽‍🤝‍🧑🏼', ':people_holding_hands_medium_dark_skin_tone:': '🧑🏾‍🤝‍🧑🏾', ':people_holding_hands_tone4:': '🧑🏾‍🤝‍🧑🏾', ':people_holding_hands_medium_dark_skin_tone_light_skin_tone:': '🧑🏾‍🤝‍🧑🏻', ':people_holding_hands_tone4_tone1:': '🧑🏾‍🤝‍🧑🏻', ':people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '🧑🏾‍🤝‍🧑🏼', ':people_holding_hands_tone4_tone2:': '🧑🏾‍🤝‍🧑🏼', ':people_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '🧑🏾‍🤝‍🧑🏽', ':people_holding_hands_tone4_tone3:': '🧑🏾‍🤝‍🧑🏽', ':people_holding_hands_dark_skin_tone:': '🧑🏿‍🤝‍🧑🏿', ':people_holding_hands_tone5:': '🧑🏿‍🤝‍🧑🏿', ':people_holding_hands_dark_skin_tone_light_skin_tone:': '🧑🏿‍🤝‍🧑🏻', ':people_holding_hands_tone5_tone1:': '🧑🏿‍🤝‍🧑🏻', ':people_holding_hands_dark_skin_tone_medium_light_skin_tone:': '🧑🏿‍🤝‍🧑🏼', ':people_holding_hands_tone5_tone2:': '🧑🏿‍🤝‍🧑🏼', ':people_holding_hands_dark_skin_tone_medium_skin_tone:': '🧑🏿‍🤝‍🧑🏽', ':people_holding_hands_tone5_tone3:': '🧑🏿‍🤝‍🧑🏽', ':people_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '🧑🏿‍🤝‍🧑🏾', ':people_holding_hands_tone5_tone4:': '🧑🏿‍🤝‍🧑🏾', ':woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone:': '👩🏻‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone1_tone2:': '👩🏻‍🤝‍👨🏼', ':woman_and_man_holding_hands_light_skin_tone_medium_skin_tone:': '👩🏻‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone1_tone3:': '👩🏻‍🤝‍👨🏽', ':woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone:': '👩🏻‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone1_tone4:': '👩🏻‍🤝‍👨🏾', ':woman_and_man_holding_hands_light_skin_tone_dark_skin_tone:': '👩🏻‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone1_tone5:': '👩🏻‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone2_tone1:': '👩🏼‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone:': '👩🏼‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone2_tone3:': '👩🏼‍🤝‍👨🏽', ':woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone:': '👩🏼‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone2_tone4:': '👩🏼‍🤝‍👨🏾', ':woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone:': '👩🏼‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone2_tone5:': '👩🏼‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone3_tone1:': '👩🏽‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone3_tone2:': '👩🏽‍🤝‍👨🏼', ':woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone:': '👩🏽‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone3_tone4:': '👩🏽‍🤝‍👨🏾', ':woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone:': '👩🏽‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone3_tone5:': '👩🏽‍🤝‍👨🏿', ':woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone4_tone1:': '👩🏾‍🤝‍👨🏻', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone4_tone2:': '👩🏾‍🤝‍👨🏼', ':woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone4_tone3:': '👩🏾‍🤝‍👨🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone:': '👩🏾‍🤝‍👨🏿', ':woman_and_man_holding_hands_tone4_tone5:': '👩🏾‍🤝‍👨🏿', ':woman_and_man_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿‍🤝‍👨🏻', ':woman_and_man_holding_hands_tone5_tone1:': '👩🏿‍🤝‍👨🏻', ':woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿‍🤝‍👨🏼', ':woman_and_man_holding_hands_tone5_tone2:': '👩🏿‍🤝‍👨🏼', ':woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿‍🤝‍👨🏽', ':woman_and_man_holding_hands_tone5_tone3:': '👩🏿‍🤝‍👨🏽', ':woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿‍🤝‍👨🏾', ':woman_and_man_holding_hands_tone5_tone4:': '👩🏿‍🤝‍👨🏾', ':women_holding_hands_medium_light_skin_tone_light_skin_tone:': '👩🏼‍🤝‍👩🏻', ':women_holding_hands_tone2_tone1:': '👩🏼‍🤝‍👩🏻', ':women_holding_hands_medium_skin_tone_light_skin_tone:': '👩🏽‍🤝‍👩🏻', ':women_holding_hands_tone3_tone1:': '👩🏽‍🤝‍👩🏻', ':women_holding_hands_medium_skin_tone_medium_light_skin_tone:': '👩🏽‍🤝‍👩🏼', ':women_holding_hands_tone3_tone2:': '👩🏽‍🤝‍👩🏼', ':women_holding_hands_medium_dark_skin_tone_light_skin_tone:': '👩🏾‍🤝‍👩🏻', ':women_holding_hands_tone4_tone1:': '👩🏾‍🤝‍👩🏻', ':women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone:': '👩🏾‍🤝‍👩🏼', ':women_holding_hands_tone4_tone2:': '👩🏾‍🤝‍👩🏼', ':women_holding_hands_medium_dark_skin_tone_medium_skin_tone:': '👩🏾‍🤝‍👩🏽', ':women_holding_hands_tone4_tone3:': '👩🏾‍🤝‍👩🏽', ':women_holding_hands_dark_skin_tone_light_skin_tone:': '👩🏿‍🤝‍👩🏻', ':women_holding_hands_tone5_tone1:': '👩🏿‍🤝‍👩🏻', ':women_holding_hands_dark_skin_tone_medium_light_skin_tone:': '👩🏿‍🤝‍👩🏼', ':women_holding_hands_tone5_tone2:': '👩🏿‍🤝‍👩🏼', ':women_holding_hands_dark_skin_tone_medium_skin_tone:': '👩🏿‍🤝‍👩🏽', ':women_holding_hands_tone5_tone3:': '👩🏿‍🤝‍👩🏽', ':women_holding_hands_dark_skin_tone_medium_dark_skin_tone:': '👩🏿‍🤝‍👩🏾', ':women_holding_hands_tone5_tone4:': '👩🏿‍🤝‍👩🏾', ':family_mmbb:': '👨‍👨‍👦‍👦', ':family_mmgb:': '👨‍👨‍👧‍👦', ':family_mmgg:': '👨‍👨‍👧‍👧', ':family_mwbb:': '👨‍👩‍👦‍👦', ':family_mwgb:': '👨‍👩‍👧‍👦', ':family_mwgg:': '👨‍👩‍👧‍👧', ':family_wwbb:': '👩‍👩‍👦‍👦', ':family_wwgb:': '👩‍👩‍👧‍👦', ':family_wwgg:': '👩‍👩‍👧‍👧', ':couplekiss_mm:': '👨‍❤️‍💋👨', ':kiss_mm:': '👨‍❤️‍💋👨', ':kiss_woman_man:': '👩‍❤️‍💋👨', ':couplekiss_ww:': '👩‍❤️‍💋👩', ':kiss_ww:': '👩‍❤️‍💋👩', ':family_man_boy_boy:': '👨‍👦‍👦', ':family_man_girl_boy:': '👨‍👧‍👦', ':family_man_girl_girl:': '👨‍👧‍👧', ':family_man_woman_boy:': '👨‍👩‍👦', ':family_mmb:': '👨‍👨‍👦', ':family_mmg:': '👨‍👨‍👧', ':family_mwg:': '👨‍👩‍👧', ':family_woman_boy_boy:': '👩‍👦‍👦', ':family_woman_girl_boy:': '👩‍👧‍👦', ':family_woman_girl_girl:': '👩‍👧‍👧', ':family_wwb:': '👩‍👩‍👦', ':family_wwg:': '👩‍👩‍👧', ':man_artist_light_skin_tone:': '👨🏻‍🎨', ':man_artist_tone1:': '👨🏻‍🎨', ':man_artist_medium_light_skin_tone:': '👨🏼‍🎨', ':man_artist_tone2:': '👨🏼‍🎨', ':man_artist_medium_skin_tone:': '👨🏽‍🎨', ':man_artist_tone3:': '👨🏽‍🎨', ':man_artist_medium_dark_skin_tone:': '👨🏾‍🎨', ':man_artist_tone4:': '👨🏾‍🎨', ':man_artist_dark_skin_tone:': '👨🏿‍🎨', ':man_artist_tone5:': '👨🏿‍🎨', ':man_astronaut_light_skin_tone:': '👨🏻‍🚀', ':man_astronaut_tone1:': '👨🏻‍🚀', ':man_astronaut_medium_light_skin_tone:': '👨🏼‍🚀', ':man_astronaut_tone2:': '👨🏼‍🚀', ':man_astronaut_medium_skin_tone:': '👨🏽‍🚀', ':man_astronaut_tone3:': '👨🏽‍🚀', ':man_astronaut_medium_dark_skin_tone:': '👨🏾‍🚀', ':man_astronaut_tone4:': '👨🏾‍🚀', ':man_astronaut_dark_skin_tone:': '👨🏿‍🚀', ':man_astronaut_tone5:': '👨🏿‍🚀', ':man_bald_light_skin_tone:': '👨🏻‍🦲', ':man_bald_tone1:': '👨🏻‍🦲', ':man_bald_medium_light_skin_tone:': '👨🏼‍🦲', ':man_bald_tone2:': '👨🏼‍🦲', ':man_bald_medium_skin_tone:': '👨🏽‍🦲', ':man_bald_tone3:': '👨🏽‍🦲', ':man_bald_medium_dark_skin_tone:': '👨🏾‍🦲', ':man_bald_tone4:': '👨🏾‍🦲', ':man_bald_dark_skin_tone:': '👨🏿‍🦲', ':man_bald_tone5:': '👨🏿‍🦲', ':man_cook_light_skin_tone:': '👨🏻‍🍳', ':man_cook_tone1:': '👨🏻‍🍳', ':man_cook_medium_light_skin_tone:': '👨🏼‍🍳', ':man_cook_tone2:': '👨🏼‍🍳', ':man_cook_medium_skin_tone:': '👨🏽‍🍳', ':man_cook_tone3:': '👨🏽‍🍳', ':man_cook_medium_dark_skin_tone:': '👨🏾‍🍳', ':man_cook_tone4:': '👨🏾‍🍳', ':man_cook_dark_skin_tone:': '👨🏿‍🍳', ':man_cook_tone5:': '👨🏿‍🍳', ':man_curly_haired_light_skin_tone:': '👨🏻‍🦱', ':man_curly_haired_tone1:': '👨🏻‍🦱', ':man_curly_haired_medium_light_skin_tone:': '👨🏼‍🦱', ':man_curly_haired_tone2:': '👨🏼‍🦱', ':man_curly_haired_medium_skin_tone:': '👨🏽‍🦱', ':man_curly_haired_tone3:': '👨🏽‍🦱', ':man_curly_haired_medium_dark_skin_tone:': '👨🏾‍🦱', ':man_curly_haired_tone4:': '👨🏾‍🦱', ':man_curly_haired_dark_skin_tone:': '👨🏿‍🦱', ':man_curly_haired_tone5:': '👨🏿‍🦱', ':man_factory_worker_light_skin_tone:': '👨🏻‍🏭', ':man_factory_worker_tone1:': '👨🏻‍🏭', ':man_factory_worker_medium_light_skin_tone:': '👨🏼‍🏭', ':man_factory_worker_tone2:': '👨🏼‍🏭', ':man_factory_worker_medium_skin_tone:': '👨🏽‍🏭', ':man_factory_worker_tone3:': '👨🏽‍🏭', ':man_factory_worker_medium_dark_skin_tone:': '👨🏾‍🏭', ':man_factory_worker_tone4:': '👨🏾‍🏭', ':man_factory_worker_dark_skin_tone:': '👨🏿‍🏭', ':man_factory_worker_tone5:': '👨🏿‍🏭', ':man_farmer_light_skin_tone:': '👨🏻‍🌾', ':man_farmer_tone1:': '👨🏻‍🌾', ':man_farmer_medium_light_skin_tone:': '👨🏼‍🌾', ':man_farmer_tone2:': '👨🏼‍🌾', ':man_farmer_medium_skin_tone:': '👨🏽‍🌾', ':man_farmer_tone3:': '👨🏽‍🌾', ':man_farmer_medium_dark_skin_tone:': '👨🏾‍🌾', ':man_farmer_tone4:': '👨🏾‍🌾', ':man_farmer_dark_skin_tone:': '👨🏿‍🌾', ':man_farmer_tone5:': '👨🏿‍🌾', ':man_firefighter_light_skin_tone:': '👨🏻‍🚒', ':man_firefighter_tone1:': '👨🏻‍🚒', ':man_firefighter_medium_light_skin_tone:': '👨🏼‍🚒', ':man_firefighter_tone2:': '👨🏼‍🚒', ':man_firefighter_medium_skin_tone:': '👨🏽‍🚒', ':man_firefighter_tone3:': '👨🏽‍🚒', ':man_firefighter_medium_dark_skin_tone:': '👨🏾‍🚒', ':man_firefighter_tone4:': '👨🏾‍🚒', ':man_firefighter_dark_skin_tone:': '👨🏿‍🚒', ':man_firefighter_tone5:': '👨🏿‍🚒', ':man_in_manual_wheelchair_light_skin_tone:': '👨🏻‍🦽', ':man_in_manual_wheelchair_tone1:': '👨🏻‍🦽', ':man_in_manual_wheelchair_medium_light_skin_tone:': '👨🏼‍🦽', ':man_in_manual_wheelchair_tone2:': '👨🏼‍🦽', ':man_in_manual_wheelchair_medium_skin_tone:': '👨🏽‍🦽', ':man_in_manual_wheelchair_tone3:': '👨🏽‍🦽', ':man_in_manual_wheelchair_medium_dark_skin_tone:': '👨🏾‍🦽', ':man_in_manual_wheelchair_tone4:': '👨🏾‍🦽', ':man_in_manual_wheelchair_dark_skin_tone:': '👨🏿‍🦽', ':man_in_manual_wheelchair_tone5:': '👨🏿‍🦽', ':man_in_motorized_wheelchair_light_skin_tone:': '👨🏻‍🦼', ':man_in_motorized_wheelchair_tone1:': '👨🏻‍🦼', ':man_in_motorized_wheelchair_medium_light_skin_tone:': '👨🏼‍🦼', ':man_in_motorized_wheelchair_tone2:': '👨🏼‍🦼', ':man_in_motorized_wheelchair_medium_skin_tone:': '👨🏽‍🦼', ':man_in_motorized_wheelchair_tone3:': '👨🏽‍🦼', ':man_in_motorized_wheelchair_medium_dark_skin_tone:': '👨🏾‍🦼', ':man_in_motorized_wheelchair_tone4:': '👨🏾‍🦼', ':man_in_motorized_wheelchair_dark_skin_tone:': '👨🏿‍🦼', ':man_in_motorized_wheelchair_tone5:': '👨🏿‍🦼', ':man_mechanic_light_skin_tone:': '👨🏻‍🔧', ':man_mechanic_tone1:': '👨🏻‍🔧', ':man_mechanic_medium_light_skin_tone:': '👨🏼‍🔧', ':man_mechanic_tone2:': '👨🏼‍🔧', ':man_mechanic_medium_skin_tone:': '👨🏽‍🔧', ':man_mechanic_tone3:': '👨🏽‍🔧', ':man_mechanic_medium_dark_skin_tone:': '👨🏾‍🔧', ':man_mechanic_tone4:': '👨🏾‍🔧', ':man_mechanic_dark_skin_tone:': '👨🏿‍🔧', ':man_mechanic_tone5:': '👨🏿‍🔧', ':man_office_worker_light_skin_tone:': '👨🏻‍💼', ':man_office_worker_tone1:': '👨🏻‍💼', ':man_office_worker_medium_light_skin_tone:': '👨🏼‍💼', ':man_office_worker_tone2:': '👨🏼‍💼', ':man_office_worker_medium_skin_tone:': '👨🏽‍💼', ':man_office_worker_tone3:': '👨🏽‍💼', ':man_office_worker_medium_dark_skin_tone:': '👨🏾‍💼', ':man_office_worker_tone4:': '👨🏾‍💼', ':man_office_worker_dark_skin_tone:': '👨🏿‍💼', ':man_office_worker_tone5:': '👨🏿‍💼', ':man_red_haired_light_skin_tone:': '👨🏻‍🦰', ':man_red_haired_tone1:': '👨🏻‍🦰', ':man_red_haired_medium_light_skin_tone:': '👨🏼‍🦰', ':man_red_haired_tone2:': '👨🏼‍🦰', ':man_red_haired_medium_skin_tone:': '👨🏽‍🦰', ':man_red_haired_tone3:': '👨🏽‍🦰', ':man_red_haired_medium_dark_skin_tone:': '👨🏾‍🦰', ':man_red_haired_tone4:': '👨🏾‍🦰', ':man_red_haired_dark_skin_tone:': '👨🏿‍🦰', ':man_red_haired_tone5:': '👨🏿‍🦰', ':man_scientist_light_skin_tone:': '👨🏻‍🔬', ':man_scientist_tone1:': '👨🏻‍🔬', ':man_scientist_medium_light_skin_tone:': '👨🏼‍🔬', ':man_scientist_tone2:': '👨🏼‍🔬', ':man_scientist_medium_skin_tone:': '👨🏽‍🔬', ':man_scientist_tone3:': '👨🏽‍🔬', ':man_scientist_medium_dark_skin_tone:': '👨🏾‍🔬', ':man_scientist_tone4:': '👨🏾‍🔬', ':man_scientist_dark_skin_tone:': '👨🏿‍🔬', ':man_scientist_tone5:': '👨🏿‍🔬', ':man_singer_light_skin_tone:': '👨🏻‍🎤', ':man_singer_tone1:': '👨🏻‍🎤', ':man_singer_medium_light_skin_tone:': '👨🏼‍🎤', ':man_singer_tone2:': '👨🏼‍🎤', ':man_singer_medium_skin_tone:': '👨🏽‍🎤', ':man_singer_tone3:': '👨🏽‍🎤', ':man_singer_medium_dark_skin_tone:': '👨🏾‍🎤', ':man_singer_tone4:': '👨🏾‍🎤', ':man_singer_dark_skin_tone:': '👨🏿‍🎤', ':man_singer_tone5:': '👨🏿‍🎤', ':man_student_light_skin_tone:': '👨🏻‍🎓', ':man_student_tone1:': '👨🏻‍🎓', ':man_student_medium_light_skin_tone:': '👨🏼‍🎓', ':man_student_tone2:': '👨🏼‍🎓', ':man_student_medium_skin_tone:': '👨🏽‍🎓', ':man_student_tone3:': '👨🏽‍🎓', ':man_student_medium_dark_skin_tone:': '👨🏾‍🎓', ':man_student_tone4:': '👨🏾‍🎓', ':man_student_dark_skin_tone:': '👨🏿‍🎓', ':man_student_tone5:': '👨🏿‍🎓', ':man_teacher_light_skin_tone:': '👨🏻‍🏫', ':man_teacher_tone1:': '👨🏻‍🏫', ':man_teacher_medium_light_skin_tone:': '👨🏼‍🏫', ':man_teacher_tone2:': '👨🏼‍🏫', ':man_teacher_medium_skin_tone:': '👨🏽‍🏫', ':man_teacher_tone3:': '👨🏽‍🏫', ':man_teacher_medium_dark_skin_tone:': '👨🏾‍🏫', ':man_teacher_tone4:': '👨🏾‍🏫', ':man_teacher_dark_skin_tone:': '👨🏿‍🏫', ':man_teacher_tone5:': '👨🏿‍🏫', ':man_technologist_light_skin_tone:': '👨🏻‍💻', ':man_technologist_tone1:': '👨🏻‍💻', ':man_technologist_medium_light_skin_tone:': '👨🏼‍💻', ':man_technologist_tone2:': '👨🏼‍💻', ':man_technologist_medium_skin_tone:': '👨🏽‍💻', ':man_technologist_tone3:': '👨🏽‍💻', ':man_technologist_medium_dark_skin_tone:': '👨🏾‍💻', ':man_technologist_tone4:': '👨🏾‍💻', ':man_technologist_dark_skin_tone:': '👨🏿‍💻', ':man_technologist_tone5:': '👨🏿‍💻', ':man_white_haired_light_skin_tone:': '👨🏻‍🦳', ':man_white_haired_tone1:': '👨🏻‍🦳', ':man_white_haired_medium_light_skin_tone:': '👨🏼‍🦳', ':man_white_haired_tone2:': '👨🏼‍🦳', ':man_white_haired_medium_skin_tone:': '👨🏽‍🦳', ':man_white_haired_tone3:': '👨🏽‍🦳', ':man_white_haired_medium_dark_skin_tone:': '👨🏾‍🦳', ':man_white_haired_tone4:': '👨🏾‍🦳', ':man_white_haired_dark_skin_tone:': '👨🏿‍🦳', ':man_white_haired_tone5:': '👨🏿‍🦳', ':man_with_probing_cane_light_skin_tone:': '👨🏻‍🦯', ':man_with_probing_cane_tone1:': '👨🏻‍🦯', ':man_with_probing_cane_medium_light_skin_tone:': '👨🏼‍🦯', ':man_with_probing_cane_tone2:': '👨🏼‍🦯', ':man_with_probing_cane_medium_skin_tone:': '👨🏽‍🦯', ':man_with_probing_cane_tone3:': '👨🏽‍🦯', ':man_with_probing_cane_medium_dark_skin_tone:': '👨🏾‍🦯', ':man_with_probing_cane_tone4:': '👨🏾‍🦯', ':man_with_probing_cane_dark_skin_tone:': '👨🏿‍🦯', ':man_with_probing_cane_tone5:': '👨🏿‍🦯', ':people_holding_hands:': '🧑‍🤝‍🧑', ':woman_artist_light_skin_tone:': '👩🏻‍🎨', ':woman_artist_tone1:': '👩🏻‍🎨', ':woman_artist_medium_light_skin_tone:': '👩🏼‍🎨', ':woman_artist_tone2:': '👩🏼‍🎨', ':woman_artist_medium_skin_tone:': '👩🏽‍🎨', ':woman_artist_tone3:': '👩🏽‍🎨', ':woman_artist_medium_dark_skin_tone:': '👩🏾‍🎨', ':woman_artist_tone4:': '👩🏾‍🎨', ':woman_artist_dark_skin_tone:': '👩🏿‍🎨', ':woman_artist_tone5:': '👩🏿‍🎨', ':woman_astronaut_light_skin_tone:': '👩🏻‍🚀', ':woman_astronaut_tone1:': '👩🏻‍🚀', ':woman_astronaut_medium_light_skin_tone:': '👩🏼‍🚀', ':woman_astronaut_tone2:': '👩🏼‍🚀', ':woman_astronaut_medium_skin_tone:': '👩🏽‍🚀', ':woman_astronaut_tone3:': '👩🏽‍🚀', ':woman_astronaut_medium_dark_skin_tone:': '👩🏾‍🚀', ':woman_astronaut_tone4:': '👩🏾‍🚀', ':woman_astronaut_dark_skin_tone:': '👩🏿‍🚀', ':woman_astronaut_tone5:': '👩🏿‍🚀', ':woman_bald_light_skin_tone:': '👩🏻‍🦲', ':woman_bald_tone1:': '👩🏻‍🦲', ':woman_bald_medium_light_skin_tone:': '👩🏼‍🦲', ':woman_bald_tone2:': '👩🏼‍🦲', ':woman_bald_medium_skin_tone:': '👩🏽‍🦲', ':woman_bald_tone3:': '👩🏽‍🦲', ':woman_bald_medium_dark_skin_tone:': '👩🏾‍🦲', ':woman_bald_tone4:': '👩🏾‍🦲', ':woman_bald_dark_skin_tone:': '👩🏿‍🦲', ':woman_bald_tone5:': '👩🏿‍🦲', ':woman_cook_light_skin_tone:': '👩🏻‍🍳', ':woman_cook_tone1:': '👩🏻‍🍳', ':woman_cook_medium_light_skin_tone:': '👩🏼‍🍳', ':woman_cook_tone2:': '👩🏼‍🍳', ':woman_cook_medium_skin_tone:': '👩🏽‍🍳', ':woman_cook_tone3:': '👩🏽‍🍳', ':woman_cook_medium_dark_skin_tone:': '👩🏾‍🍳', ':woman_cook_tone4:': '👩🏾‍🍳', ':woman_cook_dark_skin_tone:': '👩🏿‍🍳', ':woman_cook_tone5:': '👩🏿‍🍳', ':woman_curly_haired_light_skin_tone:': '👩🏻‍🦱', ':woman_curly_haired_tone1:': '👩🏻‍🦱', ':woman_curly_haired_medium_light_skin_tone:': '👩🏼‍🦱', ':woman_curly_haired_tone2:': '👩🏼‍🦱', ':woman_curly_haired_medium_skin_tone:': '👩🏽‍🦱', ':woman_curly_haired_tone3:': '👩🏽‍🦱', ':woman_curly_haired_medium_dark_skin_tone:': '👩🏾‍🦱', ':woman_curly_haired_tone4:': '👩🏾‍🦱', ':woman_curly_haired_dark_skin_tone:': '👩🏿‍🦱', ':woman_curly_haired_tone5:': '👩🏿‍🦱', ':woman_factory_worker_light_skin_tone:': '👩🏻‍🏭', ':woman_factory_worker_tone1:': '👩🏻‍🏭', ':woman_factory_worker_medium_light_skin_tone:': '👩🏼‍🏭', ':woman_factory_worker_tone2:': '👩🏼‍🏭', ':woman_factory_worker_medium_skin_tone:': '👩🏽‍🏭', ':woman_factory_worker_tone3:': '👩🏽‍🏭', ':woman_factory_worker_medium_dark_skin_tone:': '👩🏾‍🏭', ':woman_factory_worker_tone4:': '👩🏾‍🏭', ':woman_factory_worker_dark_skin_tone:': '👩🏿‍🏭', ':woman_factory_worker_tone5:': '👩🏿‍🏭', ':woman_farmer_light_skin_tone:': '👩🏻‍🌾', ':woman_farmer_tone1:': '👩🏻‍🌾', ':woman_farmer_medium_light_skin_tone:': '👩🏼‍🌾', ':woman_farmer_tone2:': '👩🏼‍🌾', ':woman_farmer_medium_skin_tone:': '👩🏽‍🌾', ':woman_farmer_tone3:': '👩🏽‍🌾', ':woman_farmer_medium_dark_skin_tone:': '👩🏾‍🌾', ':woman_farmer_tone4:': '👩🏾‍🌾', ':woman_farmer_dark_skin_tone:': '👩🏿‍🌾', ':woman_farmer_tone5:': '👩🏿‍🌾', ':woman_firefighter_light_skin_tone:': '👩🏻‍🚒', ':woman_firefighter_tone1:': '👩🏻‍🚒', ':woman_firefighter_medium_light_skin_tone:': '👩🏼‍🚒', ':woman_firefighter_tone2:': '👩🏼‍🚒', ':woman_firefighter_medium_skin_tone:': '👩🏽‍🚒', ':woman_firefighter_tone3:': '👩🏽‍🚒', ':woman_firefighter_medium_dark_skin_tone:': '👩🏾‍🚒', ':woman_firefighter_tone4:': '👩🏾‍🚒', ':woman_firefighter_dark_skin_tone:': '👩🏿‍🚒', ':woman_firefighter_tone5:': '👩🏿‍🚒', ':woman_in_manual_wheelchair_light_skin_tone:': '👩🏻‍🦽', ':woman_in_manual_wheelchair_tone1:': '👩🏻‍🦽', ':woman_in_manual_wheelchair_medium_light_skin_tone:': '👩🏼‍🦽', ':woman_in_manual_wheelchair_tone2:': '👩🏼‍🦽', ':woman_in_manual_wheelchair_medium_skin_tone:': '👩🏽‍🦽', ':woman_in_manual_wheelchair_tone3:': '👩🏽‍🦽', ':woman_in_manual_wheelchair_medium_dark_skin_tone:': '👩🏾‍🦽', ':woman_in_manual_wheelchair_tone4:': '👩🏾‍🦽', ':woman_in_manual_wheelchair_dark_skin_tone:': '👩🏿‍🦽', ':woman_in_manual_wheelchair_tone5:': '👩🏿‍🦽', ':woman_in_motorized_wheelchair_light_skin_tone:': '👩🏻‍🦼', ':woman_in_motorized_wheelchair_tone1:': '👩🏻‍🦼', ':woman_in_motorized_wheelchair_medium_light_skin_tone:': '👩🏼‍🦼', ':woman_in_motorized_wheelchair_tone2:': '👩🏼‍🦼', ':woman_in_motorized_wheelchair_medium_skin_tone:': '👩🏽‍🦼', ':woman_in_motorized_wheelchair_tone3:': '👩🏽‍🦼', ':woman_in_motorized_wheelchair_medium_dark_skin_tone:': '👩🏾‍🦼', ':woman_in_motorized_wheelchair_tone4:': '👩🏾‍🦼', ':woman_in_motorized_wheelchair_dark_skin_tone:': '👩🏿‍🦼', ':woman_in_motorized_wheelchair_tone5:': '👩🏿‍🦼', ':woman_mechanic_light_skin_tone:': '👩🏻‍🔧', ':woman_mechanic_tone1:': '👩🏻‍🔧', ':woman_mechanic_medium_light_skin_tone:': '👩🏼‍🔧', ':woman_mechanic_tone2:': '👩🏼‍🔧', ':woman_mechanic_medium_skin_tone:': '👩🏽‍🔧', ':woman_mechanic_tone3:': '👩🏽‍🔧', ':woman_mechanic_medium_dark_skin_tone:': '👩🏾‍🔧', ':woman_mechanic_tone4:': '👩🏾‍🔧', ':woman_mechanic_dark_skin_tone:': '👩🏿‍🔧', ':woman_mechanic_tone5:': '👩🏿‍🔧', ':woman_office_worker_light_skin_tone:': '👩🏻‍💼', ':woman_office_worker_tone1:': '👩🏻‍💼', ':woman_office_worker_medium_light_skin_tone:': '👩🏼‍💼', ':woman_office_worker_tone2:': '👩🏼‍💼', ':woman_office_worker_medium_skin_tone:': '👩🏽‍💼', ':woman_office_worker_tone3:': '👩🏽‍💼', ':woman_office_worker_medium_dark_skin_tone:': '👩🏾‍💼', ':woman_office_worker_tone4:': '👩🏾‍💼', ':woman_office_worker_dark_skin_tone:': '👩🏿‍💼', ':woman_office_worker_tone5:': '👩🏿‍💼', ':woman_red_haired_light_skin_tone:': '👩🏻‍🦰', ':woman_red_haired_tone1:': '👩🏻‍🦰', ':woman_red_haired_medium_light_skin_tone:': '👩🏼‍🦰', ':woman_red_haired_tone2:': '👩🏼‍🦰', ':woman_red_haired_medium_skin_tone:': '👩🏽‍🦰', ':woman_red_haired_tone3:': '👩🏽‍🦰', ':woman_red_haired_medium_dark_skin_tone:': '👩🏾‍🦰', ':woman_red_haired_tone4:': '👩🏾‍🦰', ':woman_red_haired_dark_skin_tone:': '👩🏿‍🦰', ':woman_red_haired_tone5:': '👩🏿‍🦰', ':woman_scientist_light_skin_tone:': '👩🏻‍🔬', ':woman_scientist_tone1:': '👩🏻‍🔬', ':woman_scientist_medium_light_skin_tone:': '👩🏼‍🔬', ':woman_scientist_tone2:': '👩🏼‍🔬', ':woman_scientist_medium_skin_tone:': '👩🏽‍🔬', ':woman_scientist_tone3:': '👩🏽‍🔬', ':woman_scientist_medium_dark_skin_tone:': '👩🏾‍🔬', ':woman_scientist_tone4:': '👩🏾‍🔬', ':woman_scientist_dark_skin_tone:': '👩🏿‍🔬', ':woman_scientist_tone5:': '👩🏿‍🔬', ':woman_singer_light_skin_tone:': '👩🏻‍🎤', ':woman_singer_tone1:': '👩🏻‍🎤', ':woman_singer_medium_light_skin_tone:': '👩🏼‍🎤', ':woman_singer_tone2:': '👩🏼‍🎤', ':woman_singer_medium_skin_tone:': '👩🏽‍🎤', ':woman_singer_tone3:': '👩🏽‍🎤', ':woman_singer_medium_dark_skin_tone:': '👩🏾‍🎤', ':woman_singer_tone4:': '👩🏾‍🎤', ':woman_singer_dark_skin_tone:': '👩🏿‍🎤', ':woman_singer_tone5:': '👩🏿‍🎤', ':woman_student_light_skin_tone:': '👩🏻‍🎓', ':woman_student_tone1:': '👩🏻‍🎓', ':woman_student_medium_light_skin_tone:': '👩🏼‍🎓', ':woman_student_tone2:': '👩🏼‍🎓', ':woman_student_medium_skin_tone:': '👩🏽‍🎓', ':woman_student_tone3:': '👩🏽‍🎓', ':woman_student_medium_dark_skin_tone:': '👩🏾‍🎓', ':woman_student_tone4:': '👩🏾‍🎓', ':woman_student_dark_skin_tone:': '👩🏿‍🎓', ':woman_student_tone5:': '👩🏿‍🎓', ':woman_teacher_light_skin_tone:': '👩🏻‍🏫', ':woman_teacher_tone1:': '👩🏻‍🏫', ':woman_teacher_medium_light_skin_tone:': '👩🏼‍🏫', ':woman_teacher_tone2:': '👩🏼‍🏫', ':woman_teacher_medium_skin_tone:': '👩🏽‍🏫', ':woman_teacher_tone3:': '👩🏽‍🏫', ':woman_teacher_medium_dark_skin_tone:': '👩🏾‍🏫', ':woman_teacher_tone4:': '👩🏾‍🏫', ':woman_teacher_dark_skin_tone:': '👩🏿‍🏫', ':woman_teacher_tone5:': '👩🏿‍🏫', ':woman_technologist_light_skin_tone:': '👩🏻‍💻', ':woman_technologist_tone1:': '👩🏻‍💻', ':woman_technologist_medium_light_skin_tone:': '👩🏼‍💻', ':woman_technologist_tone2:': '👩🏼‍💻', ':woman_technologist_medium_skin_tone:': '👩🏽‍💻', ':woman_technologist_tone3:': '👩🏽‍💻', ':woman_technologist_medium_dark_skin_tone:': '👩🏾‍💻', ':woman_technologist_tone4:': '👩🏾‍💻', ':woman_technologist_dark_skin_tone:': '👩🏿‍💻', ':woman_technologist_tone5:': '👩🏿‍💻', ':woman_white_haired_light_skin_tone:': '👩🏻‍🦳', ':woman_white_haired_tone1:': '👩🏻‍🦳', ':woman_white_haired_medium_light_skin_tone:': '👩🏼‍🦳', ':woman_white_haired_tone2:': '👩🏼‍🦳', ':woman_white_haired_medium_skin_tone:': '👩🏽‍🦳', ':woman_white_haired_tone3:': '👩🏽‍🦳', ':woman_white_haired_medium_dark_skin_tone:': '👩🏾‍🦳', ':woman_white_haired_tone4:': '👩🏾‍🦳', ':woman_white_haired_dark_skin_tone:': '👩🏿‍🦳', ':woman_white_haired_tone5:': '👩🏿‍🦳', ':woman_with_probing_cane_light_skin_tone:': '👩🏻‍🦯', ':woman_with_probing_cane_tone1:': '👩🏻‍🦯', ':woman_with_probing_cane_medium_light_skin_tone:': '👩🏼‍🦯', ':woman_with_probing_cane_tone2:': '👩🏼‍🦯', ':woman_with_probing_cane_medium_skin_tone:': '👩🏽‍🦯', ':woman_with_probing_cane_tone3:': '👩🏽‍🦯', ':woman_with_probing_cane_medium_dark_skin_tone:': '👩🏾‍🦯', ':woman_with_probing_cane_tone4:': '👩🏾‍🦯', ':woman_with_probing_cane_dark_skin_tone:': '👩🏿‍🦯', ':woman_with_probing_cane_tone5:': '👩🏿‍🦯', ':blond-haired_man_light_skin_tone:': '👱🏻‍♂️', ':blond-haired_man_tone1:': '👱🏻‍♂️', ':blond-haired_man_medium_light_skin_tone:': '👱🏼‍♂️', ':blond-haired_man_tone2:': '👱🏼‍♂️', ':blond-haired_man_medium_skin_tone:': '👱🏽‍♂️', ':blond-haired_man_tone3:': '👱🏽‍♂️', ':blond-haired_man_medium_dark_skin_tone:': '👱🏾‍♂️', ':blond-haired_man_tone4:': '👱🏾‍♂️', ':blond-haired_man_dark_skin_tone:': '👱🏿‍♂️', ':blond-haired_man_tone5:': '👱🏿‍♂️', ':blond-haired_woman_light_skin_tone:': '👱🏻‍♀️', ':blond-haired_woman_tone1:': '👱🏻‍♀️', ':blond-haired_woman_medium_light_skin_tone:': '👱🏼‍♀️', ':blond-haired_woman_tone2:': '👱🏼‍♀️', ':blond-haired_woman_medium_skin_tone:': '👱🏽‍♀️', ':blond-haired_woman_tone3:': '👱🏽‍♀️', ':blond-haired_woman_medium_dark_skin_tone:': '👱🏾‍♀️', ':blond-haired_woman_tone4:': '👱🏾‍♀️', ':blond-haired_woman_dark_skin_tone:': '👱🏿‍♀️', ':blond-haired_woman_tone5:': '👱🏿‍♀️', ':couple_with_heart_mm:': '👨‍❤️‍👨', ':couple_mm:': '👨‍❤️‍👨', ':couple_with_heart_woman_man:': '👩‍❤️‍👨', ':couple_with_heart_ww:': '👩‍❤️‍👩', ':couple_ww:': '👩‍❤️‍👩', ':deaf_man_light_skin_tone:': '🧏🏻‍♂️', ':deaf_man_tone1:': '🧏🏻‍♂️', ':deaf_man_medium_light_skin_tone:': '🧏🏼‍♂️', ':deaf_man_tone2:': '🧏🏼‍♂️', ':deaf_man_medium_skin_tone:': '🧏🏽‍♂️', ':deaf_man_tone3:': '🧏🏽‍♂️', ':deaf_man_medium_dark_skin_tone:': '🧏🏾‍♂️', ':deaf_man_tone4:': '🧏🏾‍♂️', ':deaf_man_dark_skin_tone:': '🧏🏿‍♂️', ':deaf_man_tone5:': '🧏🏿‍♂️', ':deaf_woman_light_skin_tone:': '🧏🏻‍♀️', ':deaf_woman_tone1:': '🧏🏻‍♀️', ':deaf_woman_medium_light_skin_tone:': '🧏🏼‍♀️', ':deaf_woman_tone2:': '🧏🏼‍♀️', ':deaf_woman_medium_skin_tone:': '🧏🏽‍♀️', ':deaf_woman_tone3:': '🧏🏽‍♀️', ':deaf_woman_medium_dark_skin_tone:': '🧏🏾‍♀️', ':deaf_woman_tone4:': '🧏🏾‍♀️', ':deaf_woman_dark_skin_tone:': '🧏🏿‍♀️', ':deaf_woman_tone5:': '🧏🏿‍♀️', ':man_biking_light_skin_tone:': '🚴🏻‍♂️', ':man_biking_tone1:': '🚴🏻‍♂️', ':man_biking_medium_light_skin_tone:': '🚴🏼‍♂️', ':man_biking_tone2:': '🚴🏼‍♂️', ':man_biking_medium_skin_tone:': '🚴🏽‍♂️', ':man_biking_tone3:': '🚴🏽‍♂️', ':man_biking_medium_dark_skin_tone:': '🚴🏾‍♂️', ':man_biking_tone4:': '🚴🏾‍♂️', ':man_biking_dark_skin_tone:': '🚴🏿‍♂️', ':man_biking_tone5:': '🚴🏿‍♂️', ':man_bowing_light_skin_tone:': '🙇🏻‍♂️', ':man_bowing_tone1:': '🙇🏻‍♂️', ':man_bowing_medium_light_skin_tone:': '🙇🏼‍♂️', ':man_bowing_tone2:': '🙇🏼‍♂️', ':man_bowing_medium_skin_tone:': '🙇🏽‍♂️', ':man_bowing_tone3:': '🙇🏽‍♂️', ':man_bowing_medium_dark_skin_tone:': '🙇🏾‍♂️', ':man_bowing_tone4:': '🙇🏾‍♂️', ':man_bowing_dark_skin_tone:': '🙇🏿‍♂️', ':man_bowing_tone5:': '🙇🏿‍♂️', ':man_cartwheeling_light_skin_tone:': '🤸🏻‍♂️', ':man_cartwheeling_tone1:': '🤸🏻‍♂️', ':man_cartwheeling_medium_light_skin_tone:': '🤸🏼‍♂️', ':man_cartwheeling_tone2:': '🤸🏼‍♂️', ':man_cartwheeling_medium_skin_tone:': '🤸🏽‍♂️', ':man_cartwheeling_tone3:': '🤸🏽‍♂️', ':man_cartwheeling_medium_dark_skin_tone:': '🤸🏾‍♂️', ':man_cartwheeling_tone4:': '🤸🏾‍♂️', ':man_cartwheeling_dark_skin_tone:': '🤸🏿‍♂️', ':man_cartwheeling_tone5:': '🤸🏿‍♂️', ':man_climbing_light_skin_tone:': '🧗🏻‍♂️', ':man_climbing_tone1:': '🧗🏻‍♂️', ':man_climbing_medium_light_skin_tone:': '🧗🏼‍♂️', ':man_climbing_tone2:': '🧗🏼‍♂️', ':man_climbing_medium_skin_tone:': '🧗🏽‍♂️', ':man_climbing_tone3:': '🧗🏽‍♂️', ':man_climbing_medium_dark_skin_tone:': '🧗🏾‍♂️', ':man_climbing_tone4:': '🧗🏾‍♂️', ':man_climbing_dark_skin_tone:': '🧗🏿‍♂️', ':man_climbing_tone5:': '🧗🏿‍♂️', ':man_construction_worker_light_skin_tone:': '👷🏻‍♂️', ':man_construction_worker_tone1:': '👷🏻‍♂️', ':man_construction_worker_medium_light_skin_tone:': '👷🏼‍♂️', ':man_construction_worker_tone2:': '👷🏼‍♂️', ':man_construction_worker_medium_skin_tone:': '👷🏽‍♂️', ':man_construction_worker_tone3:': '👷🏽‍♂️', ':man_construction_worker_medium_dark_skin_tone:': '👷🏾‍♂️', ':man_construction_worker_tone4:': '👷🏾‍♂️', ':man_construction_worker_dark_skin_tone:': '👷🏿‍♂️', ':man_construction_worker_tone5:': '👷🏿‍♂️', ':man_detective_light_skin_tone:': '🕵️🏻‍♂️', ':man_detective_tone1:': '🕵️🏻‍♂️', ':man_detective_medium_light_skin_tone:': '🕵️🏼‍♂️', ':man_detective_tone2:': '🕵️🏼‍♂️', ':man_detective_medium_skin_tone:': '🕵️🏽‍♂️', ':man_detective_tone3:': '🕵️🏽‍♂️', ':man_detective_medium_dark_skin_tone:': '🕵️🏾‍♂️', ':man_detective_tone4:': '🕵️🏾‍♂️', ':man_detective_dark_skin_tone:': '🕵️🏿‍♂️', ':man_detective_tone5:': '🕵️🏿‍♂️', ':man_elf_light_skin_tone:': '🧝🏻‍♂️', ':man_elf_tone1:': '🧝🏻‍♂️', ':man_elf_medium_light_skin_tone:': '🧝🏼‍♂️', ':man_elf_tone2:': '🧝🏼‍♂️', ':man_elf_medium_skin_tone:': '🧝🏽‍♂️', ':man_elf_tone3:': '🧝🏽‍♂️', ':man_elf_medium_dark_skin_tone:': '🧝🏾‍♂️', ':man_elf_tone4:': '🧝🏾‍♂️', ':man_elf_dark_skin_tone:': '🧝🏿‍♂️', ':man_elf_tone5:': '🧝🏿‍♂️', ':man_facepalming_light_skin_tone:': '🤦🏻‍♂️', ':man_facepalming_tone1:': '🤦🏻‍♂️', ':man_facepalming_medium_light_skin_tone:': '🤦🏼‍♂️', ':man_facepalming_tone2:': '🤦🏼‍♂️', ':man_facepalming_medium_skin_tone:': '🤦🏽‍♂️', ':man_facepalming_tone3:': '🤦🏽‍♂️', ':man_facepalming_medium_dark_skin_tone:': '🤦🏾‍♂️', ':man_facepalming_tone4:': '🤦🏾‍♂️', ':man_facepalming_dark_skin_tone:': '🤦🏿‍♂️', ':man_facepalming_tone5:': '🤦🏿‍♂️', ':man_fairy_light_skin_tone:': '🧚🏻‍♂️', ':man_fairy_tone1:': '🧚🏻‍♂️', ':man_fairy_medium_light_skin_tone:': '🧚🏼‍♂️', ':man_fairy_tone2:': '🧚🏼‍♂️', ':man_fairy_medium_skin_tone:': '🧚🏽‍♂️', ':man_fairy_tone3:': '🧚🏽‍♂️', ':man_fairy_medium_dark_skin_tone:': '🧚🏾‍♂️', ':man_fairy_tone4:': '🧚🏾‍♂️', ':man_fairy_dark_skin_tone:': '🧚🏿‍♂️', ':man_fairy_tone5:': '🧚🏿‍♂️', ':man_frowning_light_skin_tone:': '🙍🏻‍♂️', ':man_frowning_tone1:': '🙍🏻‍♂️', ':man_frowning_medium_light_skin_tone:': '🙍🏼‍♂️', ':man_frowning_tone2:': '🙍🏼‍♂️', ':man_frowning_medium_skin_tone:': '🙍🏽‍♂️', ':man_frowning_tone3:': '🙍🏽‍♂️', ':man_frowning_medium_dark_skin_tone:': '🙍🏾‍♂️', ':man_frowning_tone4:': '🙍🏾‍♂️', ':man_frowning_dark_skin_tone:': '🙍🏿‍♂️', ':man_frowning_tone5:': '🙍🏿‍♂️', ':man_gesturing_no_light_skin_tone:': '🙅🏻‍♂️', ':man_gesturing_no_tone1:': '🙅🏻‍♂️', ':man_gesturing_no_medium_light_skin_tone:': '🙅🏼‍♂️', ':man_gesturing_no_tone2:': '🙅🏼‍♂️', ':man_gesturing_no_medium_skin_tone:': '🙅🏽‍♂️', ':man_gesturing_no_tone3:': '🙅🏽‍♂️', ':man_gesturing_no_medium_dark_skin_tone:': '🙅🏾‍♂️', ':man_gesturing_no_tone4:': '🙅🏾‍♂️', ':man_gesturing_no_dark_skin_tone:': '🙅🏿‍♂️', ':man_gesturing_no_tone5:': '🙅🏿‍♂️', ':man_gesturing_ok_light_skin_tone:': '🙆🏻‍♂️', ':man_gesturing_ok_tone1:': '🙆🏻‍♂️', ':man_gesturing_ok_medium_light_skin_tone:': '🙆🏼‍♂️', ':man_gesturing_ok_tone2:': '🙆🏼‍♂️', ':man_gesturing_ok_medium_skin_tone:': '🙆🏽‍♂️', ':man_gesturing_ok_tone3:': '🙆🏽‍♂️', ':man_gesturing_ok_medium_dark_skin_tone:': '🙆🏾‍♂️', ':man_gesturing_ok_tone4:': '🙆🏾‍♂️', ':man_gesturing_ok_dark_skin_tone:': '🙆🏿‍♂️', ':man_gesturing_ok_tone5:': '🙆🏿‍♂️', ':man_getting_face_massage_light_skin_tone:': '💆🏻‍♂️', ':man_getting_face_massage_tone1:': '💆🏻‍♂️', ':man_getting_face_massage_medium_light_skin_tone:': '💆🏼‍♂️', ':man_getting_face_massage_tone2:': '💆🏼‍♂️', ':man_getting_face_massage_medium_skin_tone:': '💆🏽‍♂️', ':man_getting_face_massage_tone3:': '💆🏽‍♂️', ':man_getting_face_massage_medium_dark_skin_tone:': '💆🏾‍♂️', ':man_getting_face_massage_tone4:': '💆🏾‍♂️', ':man_getting_face_massage_dark_skin_tone:': '💆🏿‍♂️', ':man_getting_face_massage_tone5:': '💆🏿‍♂️', ':man_getting_haircut_light_skin_tone:': '💇🏻‍♂️', ':man_getting_haircut_tone1:': '💇🏻‍♂️', ':man_getting_haircut_medium_light_skin_tone:': '💇🏼‍♂️', ':man_getting_haircut_tone2:': '💇🏼‍♂️', ':man_getting_haircut_medium_skin_tone:': '💇🏽‍♂️', ':man_getting_haircut_tone3:': '💇🏽‍♂️', ':man_getting_haircut_medium_dark_skin_tone:': '💇🏾‍♂️', ':man_getting_haircut_tone4:': '💇🏾‍♂️', ':man_getting_haircut_dark_skin_tone:': '💇🏿‍♂️', ':man_getting_haircut_tone5:': '💇🏿‍♂️', ':man_golfing_light_skin_tone:': '🏌️🏻‍♂️', ':man_golfing_tone1:': '🏌️🏻‍♂️', ':man_golfing_medium_light_skin_tone:': '🏌️🏼‍♂️', ':man_golfing_tone2:': '🏌️🏼‍♂️', ':man_golfing_medium_skin_tone:': '🏌️🏽‍♂️', ':man_golfing_tone3:': '🏌️🏽‍♂️', ':man_golfing_medium_dark_skin_tone:': '🏌️🏾‍♂️', ':man_golfing_tone4:': '🏌️🏾‍♂️', ':man_golfing_dark_skin_tone:': '🏌️🏿‍♂️', ':man_golfing_tone5:': '🏌️🏿‍♂️', ':man_guard_light_skin_tone:': '💂🏻‍♂️', ':man_guard_tone1:': '💂🏻‍♂️', ':man_guard_medium_light_skin_tone:': '💂🏼‍♂️', ':man_guard_tone2:': '💂🏼‍♂️', ':man_guard_medium_skin_tone:': '💂🏽‍♂️', ':man_guard_tone3:': '💂🏽‍♂️', ':man_guard_medium_dark_skin_tone:': '💂🏾‍♂️', ':man_guard_tone4:': '💂🏾‍♂️', ':man_guard_dark_skin_tone:': '💂🏿‍♂️', ':man_guard_tone5:': '💂🏿‍♂️', ':man_health_worker_light_skin_tone:': '👨🏻‍⚕️', ':man_health_worker_tone1:': '👨🏻‍⚕️', ':man_health_worker_medium_light_skin_tone:': '👨🏼‍⚕️', ':man_health_worker_tone2:': '👨🏼‍⚕️', ':man_health_worker_medium_skin_tone:': '👨🏽‍⚕️', ':man_health_worker_tone3:': '👨🏽‍⚕️', ':man_health_worker_medium_dark_skin_tone:': '👨🏾‍⚕️', ':man_health_worker_tone4:': '👨🏾‍⚕️', ':man_health_worker_dark_skin_tone:': '👨🏿‍⚕️', ':man_health_worker_tone5:': '👨🏿‍⚕️', ':man_in_lotus_position_light_skin_tone:': '🧘🏻‍♂️', ':man_in_lotus_position_tone1:': '🧘🏻‍♂️', ':man_in_lotus_position_medium_light_skin_tone:': '🧘🏼‍♂️', ':man_in_lotus_position_tone2:': '🧘🏼‍♂️', ':man_in_lotus_position_medium_skin_tone:': '🧘🏽‍♂️', ':man_in_lotus_position_tone3:': '🧘🏽‍♂️', ':man_in_lotus_position_medium_dark_skin_tone:': '🧘🏾‍♂️', ':man_in_lotus_position_tone4:': '🧘🏾‍♂️', ':man_in_lotus_position_dark_skin_tone:': '🧘🏿‍♂️', ':man_in_lotus_position_tone5:': '🧘🏿‍♂️', ':man_in_steamy_room_light_skin_tone:': '🧖🏻‍♂️', ':man_in_steamy_room_tone1:': '🧖🏻‍♂️', ':man_in_steamy_room_medium_light_skin_tone:': '🧖🏼‍♂️', ':man_in_steamy_room_tone2:': '🧖🏼‍♂️', ':man_in_steamy_room_medium_skin_tone:': '🧖🏽‍♂️', ':man_in_steamy_room_tone3:': '🧖🏽‍♂️', ':man_in_steamy_room_medium_dark_skin_tone:': '🧖🏾‍♂️', ':man_in_steamy_room_tone4:': '🧖🏾‍♂️', ':man_in_steamy_room_dark_skin_tone:': '🧖🏿‍♂️', ':man_in_steamy_room_tone5:': '🧖🏿‍♂️', ':man_judge_light_skin_tone:': '👨🏻‍⚖️', ':man_judge_tone1:': '👨🏻‍⚖️', ':man_judge_medium_light_skin_tone:': '👨🏼‍⚖️', ':man_judge_tone2:': '👨🏼‍⚖️', ':man_judge_medium_skin_tone:': '👨🏽‍⚖️', ':man_judge_tone3:': '👨🏽‍⚖️', ':man_judge_medium_dark_skin_tone:': '👨🏾‍⚖️', ':man_judge_tone4:': '👨🏾‍⚖️', ':man_judge_dark_skin_tone:': '👨🏿‍⚖️', ':man_judge_tone5:': '👨🏿‍⚖️', ':man_juggling_light_skin_tone:': '🤹🏻‍♂️', ':man_juggling_tone1:': '🤹🏻‍♂️', ':man_juggling_medium_light_skin_tone:': '🤹🏼‍♂️', ':man_juggling_tone2:': '🤹🏼‍♂️', ':man_juggling_medium_skin_tone:': '🤹🏽‍♂️', ':man_juggling_tone3:': '🤹🏽‍♂️', ':man_juggling_medium_dark_skin_tone:': '🤹🏾‍♂️', ':man_juggling_tone4:': '🤹🏾‍♂️', ':man_juggling_dark_skin_tone:': '🤹🏿‍♂️', ':man_juggling_tone5:': '🤹🏿‍♂️', ':man_kneeling_light_skin_tone:': '🧎🏻‍♂️', ':man_kneeling_tone1:': '🧎🏻‍♂️', ':man_kneeling_medium_light_skin_tone:': '🧎🏼‍♂️', ':man_kneeling_tone2:': '🧎🏼‍♂️', ':man_kneeling_medium_skin_tone:': '🧎🏽‍♂️', ':man_kneeling_tone3:': '🧎🏽‍♂️', ':man_kneeling_medium_dark_skin_tone:': '🧎🏾‍♂️', ':man_kneeling_tone4:': '🧎🏾‍♂️', ':man_kneeling_dark_skin_tone:': '🧎🏿‍♂️', ':man_kneeling_tone5:': '🧎🏿‍♂️', ':man_lifting_weights_light_skin_tone:': '🏋️🏻‍♂️', ':man_lifting_weights_tone1:': '🏋️🏻‍♂️', ':man_lifting_weights_medium_light_skin_tone:': '🏋️🏼‍♂️', ':man_lifting_weights_tone2:': '🏋️🏼‍♂️', ':man_lifting_weights_medium_skin_tone:': '🏋️🏽‍♂️', ':man_lifting_weights_tone3:': '🏋️🏽‍♂️', ':man_lifting_weights_medium_dark_skin_tone:': '🏋️🏾‍♂️', ':man_lifting_weights_tone4:': '🏋️🏾‍♂️', ':man_lifting_weights_dark_skin_tone:': '🏋️🏿‍♂️', ':man_lifting_weights_tone5:': '🏋️🏿‍♂️', ':man_mage_light_skin_tone:': '🧙🏻‍♂️', ':man_mage_tone1:': '🧙🏻‍♂️', ':man_mage_medium_light_skin_tone:': '🧙🏼‍♂️', ':man_mage_tone2:': '🧙🏼‍♂️', ':man_mage_medium_skin_tone:': '🧙🏽‍♂️', ':man_mage_tone3:': '🧙🏽‍♂️', ':man_mage_medium_dark_skin_tone:': '🧙🏾‍♂️', ':man_mage_tone4:': '🧙🏾‍♂️', ':man_mage_dark_skin_tone:': '🧙🏿‍♂️', ':man_mage_tone5:': '🧙🏿‍♂️', ':man_mountain_biking_light_skin_tone:': '🚵🏻‍♂️', ':man_mountain_biking_tone1:': '🚵🏻‍♂️', ':man_mountain_biking_medium_light_skin_tone:': '🚵🏼‍♂️', ':man_mountain_biking_tone2:': '🚵🏼‍♂️', ':man_mountain_biking_medium_skin_tone:': '🚵🏽‍♂️', ':man_mountain_biking_tone3:': '🚵🏽‍♂️', ':man_mountain_biking_medium_dark_skin_tone:': '🚵🏾‍♂️', ':man_mountain_biking_tone4:': '🚵🏾‍♂️', ':man_mountain_biking_dark_skin_tone:': '🚵🏿‍♂️', ':man_mountain_biking_tone5:': '🚵🏿‍♂️', ':man_pilot_light_skin_tone:': '👨🏻‍✈️', ':man_pilot_tone1:': '👨🏻‍✈️', ':man_pilot_medium_light_skin_tone:': '👨🏼‍✈️', ':man_pilot_tone2:': '👨🏼‍✈️', ':man_pilot_medium_skin_tone:': '👨🏽‍✈️', ':man_pilot_tone3:': '👨🏽‍✈️', ':man_pilot_medium_dark_skin_tone:': '👨🏾‍✈️', ':man_pilot_tone4:': '👨🏾‍✈️', ':man_pilot_dark_skin_tone:': '👨🏿‍✈️', ':man_pilot_tone5:': '👨🏿‍✈️', ':man_playing_handball_light_skin_tone:': '🤾🏻‍♂️', ':man_playing_handball_tone1:': '🤾🏻‍♂️', ':man_playing_handball_medium_light_skin_tone:': '🤾🏼‍♂️', ':man_playing_handball_tone2:': '🤾🏼‍♂️', ':man_playing_handball_medium_skin_tone:': '🤾🏽‍♂️', ':man_playing_handball_tone3:': '🤾🏽‍♂️', ':man_playing_handball_medium_dark_skin_tone:': '🤾🏾‍♂️', ':man_playing_handball_tone4:': '🤾🏾‍♂️', ':man_playing_handball_dark_skin_tone:': '🤾🏿‍♂️', ':man_playing_handball_tone5:': '🤾🏿‍♂️', ':man_playing_water_polo_light_skin_tone:': '🤽🏻‍♂️', ':man_playing_water_polo_tone1:': '🤽🏻‍♂️', ':man_playing_water_polo_medium_light_skin_tone:': '🤽🏼‍♂️', ':man_playing_water_polo_tone2:': '🤽🏼‍♂️', ':man_playing_water_polo_medium_skin_tone:': '🤽🏽‍♂️', ':man_playing_water_polo_tone3:': '🤽🏽‍♂️', ':man_playing_water_polo_medium_dark_skin_tone:': '🤽🏾‍♂️', ':man_playing_water_polo_tone4:': '🤽🏾‍♂️', ':man_playing_water_polo_dark_skin_tone:': '🤽🏿‍♂️', ':man_playing_water_polo_tone5:': '🤽🏿‍♂️', ':man_police_officer_light_skin_tone:': '👮🏻‍♂️', ':man_police_officer_tone1:': '👮🏻‍♂️', ':man_police_officer_medium_light_skin_tone:': '👮🏼‍♂️', ':man_police_officer_tone2:': '👮🏼‍♂️', ':man_police_officer_medium_skin_tone:': '👮🏽‍♂️', ':man_police_officer_tone3:': '👮🏽‍♂️', ':man_police_officer_medium_dark_skin_tone:': '👮🏾‍♂️', ':man_police_officer_tone4:': '👮🏾‍♂️', ':man_police_officer_dark_skin_tone:': '👮🏿‍♂️', ':man_police_officer_tone5:': '👮🏿‍♂️', ':man_pouting_light_skin_tone:': '🙎🏻‍♂️', ':man_pouting_tone1:': '🙎🏻‍♂️', ':man_pouting_medium_light_skin_tone:': '🙎🏼‍♂️', ':man_pouting_tone2:': '🙎🏼‍♂️', ':man_pouting_medium_skin_tone:': '🙎🏽‍♂️', ':man_pouting_tone3:': '🙎🏽‍♂️', ':man_pouting_medium_dark_skin_tone:': '🙎🏾‍♂️', ':man_pouting_tone4:': '🙎🏾‍♂️', ':man_pouting_dark_skin_tone:': '🙎🏿‍♂️', ':man_pouting_tone5:': '🙎🏿‍♂️', ':man_raising_hand_light_skin_tone:': '🙋🏻‍♂️', ':man_raising_hand_tone1:': '🙋🏻‍♂️', ':man_raising_hand_medium_light_skin_tone:': '🙋🏼‍♂️', ':man_raising_hand_tone2:': '🙋🏼‍♂️', ':man_raising_hand_medium_skin_tone:': '🙋🏽‍♂️', ':man_raising_hand_tone3:': '🙋🏽‍♂️', ':man_raising_hand_medium_dark_skin_tone:': '🙋🏾‍♂️', ':man_raising_hand_tone4:': '🙋🏾‍♂️', ':man_raising_hand_dark_skin_tone:': '🙋🏿‍♂️', ':man_raising_hand_tone5:': '🙋🏿‍♂️', ':man_rowing_boat_light_skin_tone:': '🚣🏻‍♂️', ':man_rowing_boat_tone1:': '🚣🏻‍♂️', ':man_rowing_boat_medium_light_skin_tone:': '🚣🏼‍♂️', ':man_rowing_boat_tone2:': '🚣🏼‍♂️', ':man_rowing_boat_medium_skin_tone:': '🚣🏽‍♂️', ':man_rowing_boat_tone3:': '🚣🏽‍♂️', ':man_rowing_boat_medium_dark_skin_tone:': '🚣🏾‍♂️', ':man_rowing_boat_tone4:': '🚣🏾‍♂️', ':man_rowing_boat_dark_skin_tone:': '🚣🏿‍♂️', ':man_rowing_boat_tone5:': '🚣🏿‍♂️', ':man_running_light_skin_tone:': '🏃🏻‍♂️', ':man_running_tone1:': '🏃🏻‍♂️', ':man_running_medium_light_skin_tone:': '🏃🏼‍♂️', ':man_running_tone2:': '🏃🏼‍♂️', ':man_running_medium_skin_tone:': '🏃🏽‍♂️', ':man_running_tone3:': '🏃🏽‍♂️', ':man_running_medium_dark_skin_tone:': '🏃🏾‍♂️', ':man_running_tone4:': '🏃🏾‍♂️', ':man_running_dark_skin_tone:': '🏃🏿‍♂️', ':man_running_tone5:': '🏃🏿‍♂️', ':man_shrugging_light_skin_tone:': '🤷🏻‍♂️', ':man_shrugging_tone1:': '🤷🏻‍♂️', ':man_shrugging_medium_light_skin_tone:': '🤷🏼‍♂️', ':man_shrugging_tone2:': '🤷🏼‍♂️', ':man_shrugging_medium_skin_tone:': '🤷🏽‍♂️', ':man_shrugging_tone3:': '🤷🏽‍♂️', ':man_shrugging_medium_dark_skin_tone:': '🤷🏾‍♂️', ':man_shrugging_tone4:': '🤷🏾‍♂️', ':man_shrugging_dark_skin_tone:': '🤷🏿‍♂️', ':man_shrugging_tone5:': '🤷🏿‍♂️', ':man_standing_light_skin_tone:': '🧍🏻‍♂️', ':man_standing_tone1:': '🧍🏻‍♂️', ':man_standing_medium_light_skin_tone:': '🧍🏼‍♂️', ':man_standing_tone2:': '🧍🏼‍♂️', ':man_standing_medium_skin_tone:': '🧍🏽‍♂️', ':man_standing_tone3:': '🧍🏽‍♂️', ':man_standing_medium_dark_skin_tone:': '🧍🏾‍♂️', ':man_standing_tone4:': '🧍🏾‍♂️', ':man_standing_dark_skin_tone:': '🧍🏿‍♂️', ':man_standing_tone5:': '🧍🏿‍♂️', ':man_superhero_light_skin_tone:': '🦸🏻‍♂️', ':man_superhero_tone1:': '🦸🏻‍♂️', ':man_superhero_medium_light_skin_tone:': '🦸🏼‍♂️', ':man_superhero_tone2:': '🦸🏼‍♂️', ':man_superhero_medium_skin_tone:': '🦸🏽‍♂️', ':man_superhero_tone3:': '🦸🏽‍♂️', ':man_superhero_medium_dark_skin_tone:': '🦸🏾‍♂️', ':man_superhero_tone4:': '🦸🏾‍♂️', ':man_superhero_dark_skin_tone:': '🦸🏿‍♂️', ':man_superhero_tone5:': '🦸🏿‍♂️', ':man_supervillain_light_skin_tone:': '🦹🏻‍♂️', ':man_supervillain_tone1:': '🦹🏻‍♂️', ':man_supervillain_medium_light_skin_tone:': '🦹🏼‍♂️', ':man_supervillain_tone2:': '🦹🏼‍♂️', ':man_supervillain_medium_skin_tone:': '🦹🏽‍♂️', ':man_supervillain_tone3:': '🦹🏽‍♂️', ':man_supervillain_medium_dark_skin_tone:': '🦹🏾‍♂️', ':man_supervillain_tone4:': '🦹🏾‍♂️', ':man_supervillain_dark_skin_tone:': '🦹🏿‍♂️', ':man_supervillain_tone5:': '🦹🏿‍♂️', ':man_surfing_light_skin_tone:': '🏄🏻‍♂️', ':man_surfing_tone1:': '🏄🏻‍♂️', ':man_surfing_medium_light_skin_tone:': '🏄🏼‍♂️', ':man_surfing_tone2:': '🏄🏼‍♂️', ':man_surfing_medium_skin_tone:': '🏄🏽‍♂️', ':man_surfing_tone3:': '🏄🏽‍♂️', ':man_surfing_medium_dark_skin_tone:': '🏄🏾‍♂️', ':man_surfing_tone4:': '🏄🏾‍♂️', ':man_surfing_dark_skin_tone:': '🏄🏿‍♂️', ':man_surfing_tone5:': '🏄🏿‍♂️', ':man_swimming_light_skin_tone:': '🏊🏻‍♂️', ':man_swimming_tone1:': '🏊🏻‍♂️', ':man_swimming_medium_light_skin_tone:': '🏊🏼‍♂️', ':man_swimming_tone2:': '🏊🏼‍♂️', ':man_swimming_medium_skin_tone:': '🏊🏽‍♂️', ':man_swimming_tone3:': '🏊🏽‍♂️', ':man_swimming_medium_dark_skin_tone:': '🏊🏾‍♂️', ':man_swimming_tone4:': '🏊🏾‍♂️', ':man_swimming_dark_skin_tone:': '🏊🏿‍♂️', ':man_swimming_tone5:': '🏊🏿‍♂️', ':man_tipping_hand_light_skin_tone:': '💁🏻‍♂️', ':man_tipping_hand_tone1:': '💁🏻‍♂️', ':man_tipping_hand_medium_light_skin_tone:': '💁🏼‍♂️', ':man_tipping_hand_tone2:': '💁🏼‍♂️', ':man_tipping_hand_medium_skin_tone:': '💁🏽‍♂️', ':man_tipping_hand_tone3:': '💁🏽‍♂️', ':man_tipping_hand_medium_dark_skin_tone:': '💁🏾‍♂️', ':man_tipping_hand_tone4:': '💁🏾‍♂️', ':man_tipping_hand_dark_skin_tone:': '💁🏿‍♂️', ':man_tipping_hand_tone5:': '💁🏿‍♂️', ':man_vampire_light_skin_tone:': '🧛🏻‍♂️', ':man_vampire_tone1:': '🧛🏻‍♂️', ':man_vampire_medium_light_skin_tone:': '🧛🏼‍♂️', ':man_vampire_tone2:': '🧛🏼‍♂️', ':man_vampire_medium_skin_tone:': '🧛🏽‍♂️', ':man_vampire_tone3:': '🧛🏽‍♂️', ':man_vampire_medium_dark_skin_tone:': '🧛🏾‍♂️', ':man_vampire_tone4:': '🧛🏾‍♂️', ':man_vampire_dark_skin_tone:': '🧛🏿‍♂️', ':man_vampire_tone5:': '🧛🏿‍♂️', ':man_walking_light_skin_tone:': '🚶🏻‍♂️', ':man_walking_tone1:': '🚶🏻‍♂️', ':man_walking_medium_light_skin_tone:': '🚶🏼‍♂️', ':man_walking_tone2:': '🚶🏼‍♂️', ':man_walking_medium_skin_tone:': '🚶🏽‍♂️', ':man_walking_tone3:': '🚶🏽‍♂️', ':man_walking_medium_dark_skin_tone:': '🚶🏾‍♂️', ':man_walking_tone4:': '🚶🏾‍♂️', ':man_walking_dark_skin_tone:': '🚶🏿‍♂️', ':man_walking_tone5:': '🚶🏿‍♂️', ':man_wearing_turban_light_skin_tone:': '👳🏻‍♂️', ':man_wearing_turban_tone1:': '👳🏻‍♂️', ':man_wearing_turban_medium_light_skin_tone:': '👳🏼‍♂️', ':man_wearing_turban_tone2:': '👳🏼‍♂️', ':man_wearing_turban_medium_skin_tone:': '👳🏽‍♂️', ':man_wearing_turban_tone3:': '👳🏽‍♂️', ':man_wearing_turban_medium_dark_skin_tone:': '👳🏾‍♂️', ':man_wearing_turban_tone4:': '👳🏾‍♂️', ':man_wearing_turban_dark_skin_tone:': '👳🏿‍♂️', ':man_wearing_turban_tone5:': '👳🏿‍♂️', ':mermaid_light_skin_tone:': '🧜🏻‍♀️', ':mermaid_tone1:': '🧜🏻‍♀️', ':mermaid_medium_light_skin_tone:': '🧜🏼‍♀️', ':mermaid_tone2:': '🧜🏼‍♀️', ':mermaid_medium_skin_tone:': '🧜🏽‍♀️', ':mermaid_tone3:': '🧜🏽‍♀️', ':mermaid_medium_dark_skin_tone:': '🧜🏾‍♀️', ':mermaid_tone4:': '🧜🏾‍♀️', ':mermaid_dark_skin_tone:': '🧜🏿‍♀️', ':mermaid_tone5:': '🧜🏿‍♀️', ':merman_light_skin_tone:': '🧜🏻‍♂️', ':merman_tone1:': '🧜🏻‍♂️', ':merman_medium_light_skin_tone:': '🧜🏼‍♂️', ':merman_tone2:': '🧜🏼‍♂️', ':merman_medium_skin_tone:': '🧜🏽‍♂️', ':merman_tone3:': '🧜🏽‍♂️', ':merman_medium_dark_skin_tone:': '🧜🏾‍♂️', ':merman_tone4:': '🧜🏾‍♂️', ':merman_dark_skin_tone:': '🧜🏿‍♂️', ':merman_tone5:': '🧜🏿‍♂️', ':woman_biking_light_skin_tone:': '🚴🏻‍♀️', ':woman_biking_tone1:': '🚴🏻‍♀️', ':woman_biking_medium_light_skin_tone:': '🚴🏼‍♀️', ':woman_biking_tone2:': '🚴🏼‍♀️', ':woman_biking_medium_skin_tone:': '🚴🏽‍♀️', ':woman_biking_tone3:': '🚴🏽‍♀️', ':woman_biking_medium_dark_skin_tone:': '🚴🏾‍♀️', ':woman_biking_tone4:': '🚴🏾‍♀️', ':woman_biking_dark_skin_tone:': '🚴🏿‍♀️', ':woman_biking_tone5:': '🚴🏿‍♀️', ':woman_bowing_light_skin_tone:': '🙇🏻‍♀️', ':woman_bowing_tone1:': '🙇🏻‍♀️', ':woman_bowing_medium_light_skin_tone:': '🙇🏼‍♀️', ':woman_bowing_tone2:': '🙇🏼‍♀️', ':woman_bowing_medium_skin_tone:': '🙇🏽‍♀️', ':woman_bowing_tone3:': '🙇🏽‍♀️', ':woman_bowing_medium_dark_skin_tone:': '🙇🏾‍♀️', ':woman_bowing_tone4:': '🙇🏾‍♀️', ':woman_bowing_dark_skin_tone:': '🙇🏿‍♀️', ':woman_bowing_tone5:': '🙇🏿‍♀️', ':woman_cartwheeling_light_skin_tone:': '🤸🏻‍♀️', ':woman_cartwheeling_tone1:': '🤸🏻‍♀️', ':woman_cartwheeling_medium_light_skin_tone:': '🤸🏼‍♀️', ':woman_cartwheeling_tone2:': '🤸🏼‍♀️', ':woman_cartwheeling_medium_skin_tone:': '🤸🏽‍♀️', ':woman_cartwheeling_tone3:': '🤸🏽‍♀️', ':woman_cartwheeling_medium_dark_skin_tone:': '🤸🏾‍♀️', ':woman_cartwheeling_tone4:': '🤸🏾‍♀️', ':woman_cartwheeling_dark_skin_tone:': '🤸🏿‍♀️', ':woman_cartwheeling_tone5:': '🤸🏿‍♀️', ':woman_climbing_light_skin_tone:': '🧗🏻‍♀️', ':woman_climbing_tone1:': '🧗🏻‍♀️', ':woman_climbing_medium_light_skin_tone:': '🧗🏼‍♀️', ':woman_climbing_tone2:': '🧗🏼‍♀️', ':woman_climbing_medium_skin_tone:': '🧗🏽‍♀️', ':woman_climbing_tone3:': '🧗🏽‍♀️', ':woman_climbing_medium_dark_skin_tone:': '🧗🏾‍♀️', ':woman_climbing_tone4:': '🧗🏾‍♀️', ':woman_climbing_dark_skin_tone:': '🧗🏿‍♀️', ':woman_climbing_tone5:': '🧗🏿‍♀️', ':woman_construction_worker_light_skin_tone:': '👷🏻‍♀️', ':woman_construction_worker_tone1:': '👷🏻‍♀️', ':woman_construction_worker_medium_light_skin_tone:': '👷🏼‍♀️', ':woman_construction_worker_tone2:': '👷🏼‍♀️', ':woman_construction_worker_medium_skin_tone:': '👷🏽‍♀️', ':woman_construction_worker_tone3:': '👷🏽‍♀️', ':woman_construction_worker_medium_dark_skin_tone:': '👷🏾‍♀️', ':woman_construction_worker_tone4:': '👷🏾‍♀️', ':woman_construction_worker_dark_skin_tone:': '👷🏿‍♀️', ':woman_construction_worker_tone5:': '👷🏿‍♀️', ':woman_detective_light_skin_tone:': '🕵️🏻‍♀️', ':woman_detective_tone1:': '🕵️🏻‍♀️', ':woman_detective_medium_light_skin_tone:': '🕵️🏼‍♀️', ':woman_detective_tone2:': '🕵️🏼‍♀️', ':woman_detective_medium_skin_tone:': '🕵️🏽‍♀️', ':woman_detective_tone3:': '🕵️🏽‍♀️', ':woman_detective_medium_dark_skin_tone:': '🕵️🏾‍♀️', ':woman_detective_tone4:': '🕵️🏾‍♀️', ':woman_detective_dark_skin_tone:': '🕵️🏿‍♀️', ':woman_detective_tone5:': '🕵️🏿‍♀️', ':woman_elf_light_skin_tone:': '🧝🏻‍♀️', ':woman_elf_tone1:': '🧝🏻‍♀️', ':woman_elf_medium_light_skin_tone:': '🧝🏼‍♀️', ':woman_elf_tone2:': '🧝🏼‍♀️', ':woman_elf_medium_skin_tone:': '🧝🏽‍♀️', ':woman_elf_tone3:': '🧝🏽‍♀️', ':woman_elf_medium_dark_skin_tone:': '🧝🏾‍♀️', ':woman_elf_tone4:': '🧝🏾‍♀️', ':woman_elf_dark_skin_tone:': '🧝🏿‍♀️', ':woman_elf_tone5:': '🧝🏿‍♀️', ':woman_facepalming_light_skin_tone:': '🤦🏻‍♀️', ':woman_facepalming_tone1:': '🤦🏻‍♀️', ':woman_facepalming_medium_light_skin_tone:': '🤦🏼‍♀️', ':woman_facepalming_tone2:': '🤦🏼‍♀️', ':woman_facepalming_medium_skin_tone:': '🤦🏽‍♀️', ':woman_facepalming_tone3:': '🤦🏽‍♀️', ':woman_facepalming_medium_dark_skin_tone:': '🤦🏾‍♀️', ':woman_facepalming_tone4:': '🤦🏾‍♀️', ':woman_facepalming_dark_skin_tone:': '🤦🏿‍♀️', ':woman_facepalming_tone5:': '🤦🏿‍♀️', ':woman_fairy_light_skin_tone:': '🧚🏻‍♀️', ':woman_fairy_tone1:': '🧚🏻‍♀️', ':woman_fairy_medium_light_skin_tone:': '🧚🏼‍♀️', ':woman_fairy_tone2:': '🧚🏼‍♀️', ':woman_fairy_medium_skin_tone:': '🧚🏽‍♀️', ':woman_fairy_tone3:': '🧚🏽‍♀️', ':woman_fairy_medium_dark_skin_tone:': '🧚🏾‍♀️', ':woman_fairy_tone4:': '🧚🏾‍♀️', ':woman_fairy_dark_skin_tone:': '🧚🏿‍♀️', ':woman_fairy_tone5:': '🧚🏿‍♀️', ':woman_frowning_light_skin_tone:': '🙍🏻‍♀️', ':woman_frowning_tone1:': '🙍🏻‍♀️', ':woman_frowning_medium_light_skin_tone:': '🙍🏼‍♀️', ':woman_frowning_tone2:': '🙍🏼‍♀️', ':woman_frowning_medium_skin_tone:': '🙍🏽‍♀️', ':woman_frowning_tone3:': '🙍🏽‍♀️', ':woman_frowning_medium_dark_skin_tone:': '🙍🏾‍♀️', ':woman_frowning_tone4:': '🙍🏾‍♀️', ':woman_frowning_dark_skin_tone:': '🙍🏿‍♀️', ':woman_frowning_tone5:': '🙍🏿‍♀️', ':woman_gesturing_no_light_skin_tone:': '🙅🏻‍♀️', ':woman_gesturing_no_tone1:': '🙅🏻‍♀️', ':woman_gesturing_no_medium_light_skin_tone:': '🙅🏼‍♀️', ':woman_gesturing_no_tone2:': '🙅🏼‍♀️', ':woman_gesturing_no_medium_skin_tone:': '🙅🏽‍♀️', ':woman_gesturing_no_tone3:': '🙅🏽‍♀️', ':woman_gesturing_no_medium_dark_skin_tone:': '🙅🏾‍♀️', ':woman_gesturing_no_tone4:': '🙅🏾‍♀️', ':woman_gesturing_no_dark_skin_tone:': '🙅🏿‍♀️', ':woman_gesturing_no_tone5:': '🙅🏿‍♀️', ':woman_gesturing_ok_light_skin_tone:': '🙆🏻‍♀️', ':woman_gesturing_ok_tone1:': '🙆🏻‍♀️', ':woman_gesturing_ok_medium_light_skin_tone:': '🙆🏼‍♀️', ':woman_gesturing_ok_tone2:': '🙆🏼‍♀️', ':woman_gesturing_ok_medium_skin_tone:': '🙆🏽‍♀️', ':woman_gesturing_ok_tone3:': '🙆🏽‍♀️', ':woman_gesturing_ok_medium_dark_skin_tone:': '🙆🏾‍♀️', ':woman_gesturing_ok_tone4:': '🙆🏾‍♀️', ':woman_gesturing_ok_dark_skin_tone:': '🙆🏿‍♀️', ':woman_gesturing_ok_tone5:': '🙆🏿‍♀️', ':woman_getting_face_massage_light_skin_tone:': '💆🏻‍♀️', ':woman_getting_face_massage_tone1:': '💆🏻‍♀️', ':woman_getting_face_massage_medium_light_skin_tone:': '💆🏼‍♀️', ':woman_getting_face_massage_tone2:': '💆🏼‍♀️', ':woman_getting_face_massage_medium_skin_tone:': '💆🏽‍♀️', ':woman_getting_face_massage_tone3:': '💆🏽‍♀️', ':woman_getting_face_massage_medium_dark_skin_tone:': '💆🏾‍♀️', ':woman_getting_face_massage_tone4:': '💆🏾‍♀️', ':woman_getting_face_massage_dark_skin_tone:': '💆🏿‍♀️', ':woman_getting_face_massage_tone5:': '💆🏿‍♀️', ':woman_getting_haircut_light_skin_tone:': '💇🏻‍♀️', ':woman_getting_haircut_tone1:': '💇🏻‍♀️', ':woman_getting_haircut_medium_light_skin_tone:': '💇🏼‍♀️', ':woman_getting_haircut_tone2:': '💇🏼‍♀️', ':woman_getting_haircut_medium_skin_tone:': '💇🏽‍♀️', ':woman_getting_haircut_tone3:': '💇🏽‍♀️', ':woman_getting_haircut_medium_dark_skin_tone:': '💇🏾‍♀️', ':woman_getting_haircut_tone4:': '💇🏾‍♀️', ':woman_getting_haircut_dark_skin_tone:': '💇🏿‍♀️', ':woman_getting_haircut_tone5:': '💇🏿‍♀️', ':woman_golfing_light_skin_tone:': '🏌️🏻‍♀️', ':woman_golfing_tone1:': '🏌️🏻‍♀️', ':woman_golfing_medium_light_skin_tone:': '🏌️🏼‍♀️', ':woman_golfing_tone2:': '🏌️🏼‍♀️', ':woman_golfing_medium_skin_tone:': '🏌️🏽‍♀️', ':woman_golfing_tone3:': '🏌️🏽‍♀️', ':woman_golfing_medium_dark_skin_tone:': '🏌️🏾‍♀️', ':woman_golfing_tone4:': '🏌️🏾‍♀️', ':woman_golfing_dark_skin_tone:': '🏌️🏿‍♀️', ':woman_golfing_tone5:': '🏌️🏿‍♀️', ':woman_guard_light_skin_tone:': '💂🏻‍♀️', ':woman_guard_tone1:': '💂🏻‍♀️', ':woman_guard_medium_light_skin_tone:': '💂🏼‍♀️', ':woman_guard_tone2:': '💂🏼‍♀️', ':woman_guard_medium_skin_tone:': '💂🏽‍♀️', ':woman_guard_tone3:': '💂🏽‍♀️', ':woman_guard_medium_dark_skin_tone:': '💂🏾‍♀️', ':woman_guard_tone4:': '💂🏾‍♀️', ':woman_guard_dark_skin_tone:': '💂🏿‍♀️', ':woman_guard_tone5:': '💂🏿‍♀️', ':woman_health_worker_light_skin_tone:': '👩🏻‍⚕️', ':woman_health_worker_tone1:': '👩🏻‍⚕️', ':woman_health_worker_medium_light_skin_tone:': '👩🏼‍⚕️', ':woman_health_worker_tone2:': '👩🏼‍⚕️', ':woman_health_worker_medium_skin_tone:': '👩🏽‍⚕️', ':woman_health_worker_tone3:': '👩🏽‍⚕️', ':woman_health_worker_medium_dark_skin_tone:': '👩🏾‍⚕️', ':woman_health_worker_tone4:': '👩🏾‍⚕️', ':woman_health_worker_dark_skin_tone:': '👩🏿‍⚕️', ':woman_health_worker_tone5:': '👩🏿‍⚕️', ':woman_in_lotus_position_light_skin_tone:': '🧘🏻‍♀️', ':woman_in_lotus_position_tone1:': '🧘🏻‍♀️', ':woman_in_lotus_position_medium_light_skin_tone:': '🧘🏼‍♀️', ':woman_in_lotus_position_tone2:': '🧘🏼‍♀️', ':woman_in_lotus_position_medium_skin_tone:': '🧘🏽‍♀️', ':woman_in_lotus_position_tone3:': '🧘🏽‍♀️', ':woman_in_lotus_position_medium_dark_skin_tone:': '🧘🏾‍♀️', ':woman_in_lotus_position_tone4:': '🧘🏾‍♀️', ':woman_in_lotus_position_dark_skin_tone:': '🧘🏿‍♀️', ':woman_in_lotus_position_tone5:': '🧘🏿‍♀️', ':woman_in_steamy_room_light_skin_tone:': '🧖🏻‍♀️', ':woman_in_steamy_room_tone1:': '🧖🏻‍♀️', ':woman_in_steamy_room_medium_light_skin_tone:': '🧖🏼‍♀️', ':woman_in_steamy_room_tone2:': '🧖🏼‍♀️', ':woman_in_steamy_room_medium_skin_tone:': '🧖🏽‍♀️', ':woman_in_steamy_room_tone3:': '🧖🏽‍♀️', ':woman_in_steamy_room_medium_dark_skin_tone:': '🧖🏾‍♀️', ':woman_in_steamy_room_tone4:': '🧖🏾‍♀️', ':woman_in_steamy_room_dark_skin_tone:': '🧖🏿‍♀️', ':woman_in_steamy_room_tone5:': '🧖🏿‍♀️', ':woman_judge_light_skin_tone:': '👩🏻‍⚖️', ':woman_judge_tone1:': '👩🏻‍⚖️', ':woman_judge_medium_light_skin_tone:': '👩🏼‍⚖️', ':woman_judge_tone2:': '👩🏼‍⚖️', ':woman_judge_medium_skin_tone:': '👩🏽‍⚖️', ':woman_judge_tone3:': '👩🏽‍⚖️', ':woman_judge_medium_dark_skin_tone:': '👩🏾‍⚖️', ':woman_judge_tone4:': '👩🏾‍⚖️', ':woman_judge_dark_skin_tone:': '👩🏿‍⚖️', ':woman_judge_tone5:': '👩🏿‍⚖️', ':woman_juggling_light_skin_tone:': '🤹🏻‍♀️', ':woman_juggling_tone1:': '🤹🏻‍♀️', ':woman_juggling_medium_light_skin_tone:': '🤹🏼‍♀️', ':woman_juggling_tone2:': '🤹🏼‍♀️', ':woman_juggling_medium_skin_tone:': '🤹🏽‍♀️', ':woman_juggling_tone3:': '🤹🏽‍♀️', ':woman_juggling_medium_dark_skin_tone:': '🤹🏾‍♀️', ':woman_juggling_tone4:': '🤹🏾‍♀️', ':woman_juggling_dark_skin_tone:': '🤹🏿‍♀️', ':woman_juggling_tone5:': '🤹🏿‍♀️', ':woman_kneeling_light_skin_tone:': '🧎🏻‍♀️', ':woman_kneeling_tone1:': '🧎🏻‍♀️', ':woman_kneeling_medium_light_skin_tone:': '🧎🏼‍♀️', ':woman_kneeling_tone2:': '🧎🏼‍♀️', ':woman_kneeling_medium_skin_tone:': '🧎🏽‍♀️', ':woman_kneeling_tone3:': '🧎🏽‍♀️', ':woman_kneeling_medium_dark_skin_tone:': '🧎🏾‍♀️', ':woman_kneeling_tone4:': '🧎🏾‍♀️', ':woman_kneeling_dark_skin_tone:': '🧎🏿‍♀️', ':woman_kneeling_tone5:': '🧎🏿‍♀️', ':woman_lifting_weights_light_skin_tone:': '🏋️🏻‍♀️', ':woman_lifting_weights_tone1:': '🏋️🏻‍♀️', ':woman_lifting_weights_medium_light_skin_tone:': '🏋️🏼‍♀️', ':woman_lifting_weights_tone2:': '🏋️🏼‍♀️', ':woman_lifting_weights_medium_skin_tone:': '🏋️🏽‍♀️', ':woman_lifting_weights_tone3:': '🏋️🏽‍♀️', ':woman_lifting_weights_medium_dark_skin_tone:': '🏋️🏾‍♀️', ':woman_lifting_weights_tone4:': '🏋️🏾‍♀️', ':woman_lifting_weights_dark_skin_tone:': '🏋️🏿‍♀️', ':woman_lifting_weights_tone5:': '🏋️🏿‍♀️', ':woman_mage_light_skin_tone:': '🧙🏻‍♀️', ':woman_mage_tone1:': '🧙🏻‍♀️', ':woman_mage_medium_light_skin_tone:': '🧙🏼‍♀️', ':woman_mage_tone2:': '🧙🏼‍♀️', ':woman_mage_medium_skin_tone:': '🧙🏽‍♀️', ':woman_mage_tone3:': '🧙🏽‍♀️', ':woman_mage_medium_dark_skin_tone:': '🧙🏾‍♀️', ':woman_mage_tone4:': '🧙🏾‍♀️', ':woman_mage_dark_skin_tone:': '🧙🏿‍♀️', ':woman_mage_tone5:': '🧙🏿‍♀️', ':woman_mountain_biking_light_skin_tone:': '🚵🏻‍♀️', ':woman_mountain_biking_tone1:': '🚵🏻‍♀️', ':woman_mountain_biking_medium_light_skin_tone:': '🚵🏼‍♀️', ':woman_mountain_biking_tone2:': '🚵🏼‍♀️', ':woman_mountain_biking_medium_skin_tone:': '🚵🏽‍♀️', ':woman_mountain_biking_tone3:': '🚵🏽‍♀️', ':woman_mountain_biking_medium_dark_skin_tone:': '🚵🏾‍♀️', ':woman_mountain_biking_tone4:': '🚵🏾‍♀️', ':woman_mountain_biking_dark_skin_tone:': '🚵🏿‍♀️', ':woman_mountain_biking_tone5:': '🚵🏿‍♀️', ':woman_pilot_light_skin_tone:': '👩🏻‍✈️', ':woman_pilot_tone1:': '👩🏻‍✈️', ':woman_pilot_medium_light_skin_tone:': '👩🏼‍✈️', ':woman_pilot_tone2:': '👩🏼‍✈️', ':woman_pilot_medium_skin_tone:': '👩🏽‍✈️', ':woman_pilot_tone3:': '👩🏽‍✈️', ':woman_pilot_medium_dark_skin_tone:': '👩🏾‍✈️', ':woman_pilot_tone4:': '👩🏾‍✈️', ':woman_pilot_dark_skin_tone:': '👩🏿‍✈️', ':woman_pilot_tone5:': '👩🏿‍✈️', ':woman_playing_handball_light_skin_tone:': '🤾🏻‍♀️', ':woman_playing_handball_tone1:': '🤾🏻‍♀️', ':woman_playing_handball_medium_light_skin_tone:': '🤾🏼‍♀️', ':woman_playing_handball_tone2:': '🤾🏼‍♀️', ':woman_playing_handball_medium_skin_tone:': '🤾🏽‍♀️', ':woman_playing_handball_tone3:': '🤾🏽‍♀️', ':woman_playing_handball_medium_dark_skin_tone:': '🤾🏾‍♀️', ':woman_playing_handball_tone4:': '🤾🏾‍♀️', ':woman_playing_handball_dark_skin_tone:': '🤾🏿‍♀️', ':woman_playing_handball_tone5:': '🤾🏿‍♀️', ':woman_playing_water_polo_light_skin_tone:': '🤽🏻‍♀️', ':woman_playing_water_polo_tone1:': '🤽🏻‍♀️', ':woman_playing_water_polo_medium_light_skin_tone:': '🤽🏼‍♀️', ':woman_playing_water_polo_tone2:': '🤽🏼‍♀️', ':woman_playing_water_polo_medium_skin_tone:': '🤽🏽‍♀️', ':woman_playing_water_polo_tone3:': '🤽🏽‍♀️', ':woman_playing_water_polo_medium_dark_skin_tone:': '🤽🏾‍♀️', ':woman_playing_water_polo_tone4:': '🤽🏾‍♀️', ':woman_playing_water_polo_dark_skin_tone:': '🤽🏿‍♀️', ':woman_playing_water_polo_tone5:': '🤽🏿‍♀️', ':woman_police_officer_light_skin_tone:': '👮🏻‍♀️', ':woman_police_officer_tone1:': '👮🏻‍♀️', ':woman_police_officer_medium_light_skin_tone:': '👮🏼‍♀️', ':woman_police_officer_tone2:': '👮🏼‍♀️', ':woman_police_officer_medium_skin_tone:': '👮🏽‍♀️', ':woman_police_officer_tone3:': '👮🏽‍♀️', ':woman_police_officer_medium_dark_skin_tone:': '👮🏾‍♀️', ':woman_police_officer_tone4:': '👮🏾‍♀️', ':woman_police_officer_dark_skin_tone:': '👮🏿‍♀️', ':woman_police_officer_tone5:': '👮🏿‍♀️', ':woman_pouting_light_skin_tone:': '🙎🏻‍♀️', ':woman_pouting_tone1:': '🙎🏻‍♀️', ':woman_pouting_medium_light_skin_tone:': '🙎🏼‍♀️', ':woman_pouting_tone2:': '🙎🏼‍♀️', ':woman_pouting_medium_skin_tone:': '🙎🏽‍♀️', ':woman_pouting_tone3:': '🙎🏽‍♀️', ':woman_pouting_medium_dark_skin_tone:': '🙎🏾‍♀️', ':woman_pouting_tone4:': '🙎🏾‍♀️', ':woman_pouting_dark_skin_tone:': '🙎🏿‍♀️', ':woman_pouting_tone5:': '🙎🏿‍♀️', ':woman_raising_hand_light_skin_tone:': '🙋🏻‍♀️', ':woman_raising_hand_tone1:': '🙋🏻‍♀️', ':woman_raising_hand_medium_light_skin_tone:': '🙋🏼‍♀️', ':woman_raising_hand_tone2:': '🙋🏼‍♀️', ':woman_raising_hand_medium_skin_tone:': '🙋🏽‍♀️', ':woman_raising_hand_tone3:': '🙋🏽‍♀️', ':woman_raising_hand_medium_dark_skin_tone:': '🙋🏾‍♀️', ':woman_raising_hand_tone4:': '🙋🏾‍♀️', ':woman_raising_hand_dark_skin_tone:': '🙋🏿‍♀️', ':woman_raising_hand_tone5:': '🙋🏿‍♀️', ':woman_rowing_boat_light_skin_tone:': '🚣🏻‍♀️', ':woman_rowing_boat_tone1:': '🚣🏻‍♀️', ':woman_rowing_boat_medium_light_skin_tone:': '🚣🏼‍♀️', ':woman_rowing_boat_tone2:': '🚣🏼‍♀️', ':woman_rowing_boat_medium_skin_tone:': '🚣🏽‍♀️', ':woman_rowing_boat_tone3:': '🚣🏽‍♀️', ':woman_rowing_boat_medium_dark_skin_tone:': '🚣🏾‍♀️', ':woman_rowing_boat_tone4:': '🚣🏾‍♀️', ':woman_rowing_boat_dark_skin_tone:': '🚣🏿‍♀️', ':woman_rowing_boat_tone5:': '🚣🏿‍♀️', ':woman_running_light_skin_tone:': '🏃🏻‍♀️', ':woman_running_tone1:': '🏃🏻‍♀️', ':woman_running_medium_light_skin_tone:': '🏃🏼‍♀️', ':woman_running_tone2:': '🏃🏼‍♀️', ':woman_running_medium_skin_tone:': '🏃🏽‍♀️', ':woman_running_tone3:': '🏃🏽‍♀️', ':woman_running_medium_dark_skin_tone:': '🏃🏾‍♀️', ':woman_running_tone4:': '🏃🏾‍♀️', ':woman_running_dark_skin_tone:': '🏃🏿‍♀️', ':woman_running_tone5:': '🏃🏿‍♀️', ':woman_shrugging_light_skin_tone:': '🤷🏻‍♀️', ':woman_shrugging_tone1:': '🤷🏻‍♀️', ':woman_shrugging_medium_light_skin_tone:': '🤷🏼‍♀️', ':woman_shrugging_tone2:': '🤷🏼‍♀️', ':woman_shrugging_medium_skin_tone:': '🤷🏽‍♀️', ':woman_shrugging_tone3:': '🤷🏽‍♀️', ':woman_shrugging_medium_dark_skin_tone:': '🤷🏾‍♀️', ':woman_shrugging_tone4:': '🤷🏾‍♀️', ':woman_shrugging_dark_skin_tone:': '🤷🏿‍♀️', ':woman_shrugging_tone5:': '🤷🏿‍♀️', ':woman_standing_light_skin_tone:': '🧍🏻‍♀️', ':woman_standing_tone1:': '🧍🏻‍♀️', ':woman_standing_medium_light_skin_tone:': '🧍🏼‍♀️', ':woman_standing_tone2:': '🧍🏼‍♀️', ':woman_standing_medium_skin_tone:': '🧍🏽‍♀️', ':woman_standing_tone3:': '🧍🏽‍♀️', ':woman_standing_medium_dark_skin_tone:': '🧍🏾‍♀️', ':woman_standing_tone4:': '🧍🏾‍♀️', ':woman_standing_dark_skin_tone:': '🧍🏿‍♀️', ':woman_standing_tone5:': '🧍🏿‍♀️', ':woman_superhero_light_skin_tone:': '🦸🏻‍♀️', ':woman_superhero_tone1:': '🦸🏻‍♀️', ':woman_superhero_medium_light_skin_tone:': '🦸🏼‍♀️', ':woman_superhero_tone2:': '🦸🏼‍♀️', ':woman_superhero_medium_skin_tone:': '🦸🏽‍♀️', ':woman_superhero_tone3:': '🦸🏽‍♀️', ':woman_superhero_medium_dark_skin_tone:': '🦸🏾‍♀️', ':woman_superhero_tone4:': '🦸🏾‍♀️', ':woman_superhero_dark_skin_tone:': '🦸🏿‍♀️', ':woman_superhero_tone5:': '🦸🏿‍♀️', ':woman_supervillain_light_skin_tone:': '🦹🏻‍♀️', ':woman_supervillain_tone1:': '🦹🏻‍♀️', ':woman_supervillain_medium_light_skin_tone:': '🦹🏼‍♀️', ':woman_supervillain_tone2:': '🦹🏼‍♀️', ':woman_supervillain_medium_skin_tone:': '🦹🏽‍♀️', ':woman_supervillain_tone3:': '🦹🏽‍♀️', ':woman_supervillain_medium_dark_skin_tone:': '🦹🏾‍♀️', ':woman_supervillain_tone4:': '🦹🏾‍♀️', ':woman_supervillain_dark_skin_tone:': '🦹🏿‍♀️', ':woman_supervillain_tone5:': '🦹🏿‍♀️', ':woman_surfing_light_skin_tone:': '🏄🏻‍♀️', ':woman_surfing_tone1:': '🏄🏻‍♀️', ':woman_surfing_medium_light_skin_tone:': '🏄🏼‍♀️', ':woman_surfing_tone2:': '🏄🏼‍♀️', ':woman_surfing_medium_skin_tone:': '🏄🏽‍♀️', ':woman_surfing_tone3:': '🏄🏽‍♀️', ':woman_surfing_medium_dark_skin_tone:': '🏄🏾‍♀️', ':woman_surfing_tone4:': '🏄🏾‍♀️', ':woman_surfing_dark_skin_tone:': '🏄🏿‍♀️', ':woman_surfing_tone5:': '🏄🏿‍♀️', ':woman_swimming_light_skin_tone:': '🏊🏻‍♀️', ':woman_swimming_tone1:': '🏊🏻‍♀️', ':woman_swimming_medium_light_skin_tone:': '🏊🏼‍♀️', ':woman_swimming_tone2:': '🏊🏼‍♀️', ':woman_swimming_medium_skin_tone:': '🏊🏽‍♀️', ':woman_swimming_tone3:': '🏊🏽‍♀️', ':woman_swimming_medium_dark_skin_tone:': '🏊🏾‍♀️', ':woman_swimming_tone4:': '🏊🏾‍♀️', ':woman_swimming_dark_skin_tone:': '🏊🏿‍♀️', ':woman_swimming_tone5:': '🏊🏿‍♀️', ':woman_tipping_hand_light_skin_tone:': '💁🏻‍♀️', ':woman_tipping_hand_tone1:': '💁🏻‍♀️', ':woman_tipping_hand_medium_light_skin_tone:': '💁🏼‍♀️', ':woman_tipping_hand_tone2:': '💁🏼‍♀️', ':woman_tipping_hand_medium_skin_tone:': '💁🏽‍♀️', ':woman_tipping_hand_tone3:': '💁🏽‍♀️', ':woman_tipping_hand_medium_dark_skin_tone:': '💁🏾‍♀️', ':woman_tipping_hand_tone4:': '💁🏾‍♀️', ':woman_tipping_hand_dark_skin_tone:': '💁🏿‍♀️', ':woman_tipping_hand_tone5:': '💁🏿‍♀️', ':woman_vampire_light_skin_tone:': '🧛🏻‍♀️', ':woman_vampire_tone1:': '🧛🏻‍♀️', ':woman_vampire_medium_light_skin_tone:': '🧛🏼‍♀️', ':woman_vampire_tone2:': '🧛🏼‍♀️', ':woman_vampire_medium_skin_tone:': '🧛🏽‍♀️', ':woman_vampire_tone3:': '🧛🏽‍♀️', ':woman_vampire_medium_dark_skin_tone:': '🧛🏾‍♀️', ':woman_vampire_tone4:': '🧛🏾‍♀️', ':woman_vampire_dark_skin_tone:': '🧛🏿‍♀️', ':woman_vampire_tone5:': '🧛🏿‍♀️', ':woman_walking_light_skin_tone:': '🚶🏻‍♀️', ':woman_walking_tone1:': '🚶🏻‍♀️', ':woman_walking_medium_light_skin_tone:': '🚶🏼‍♀️', ':woman_walking_tone2:': '🚶🏼‍♀️', ':woman_walking_medium_skin_tone:': '🚶🏽‍♀️', ':woman_walking_tone3:': '🚶🏽‍♀️', ':woman_walking_medium_dark_skin_tone:': '🚶🏾‍♀️', ':woman_walking_tone4:': '🚶🏾‍♀️', ':woman_walking_dark_skin_tone:': '🚶🏿‍♀️', ':woman_walking_tone5:': '🚶🏿‍♀️', ':woman_wearing_turban_light_skin_tone:': '👳🏻‍♀️', ':woman_wearing_turban_tone1:': '👳🏻‍♀️', ':woman_wearing_turban_medium_light_skin_tone:': '👳🏼‍♀️', ':woman_wearing_turban_tone2:': '👳🏼‍♀️', ':woman_wearing_turban_medium_skin_tone:': '👳🏽‍♀️', ':woman_wearing_turban_tone3:': '👳🏽‍♀️', ':woman_wearing_turban_medium_dark_skin_tone:': '👳🏾‍♀️', ':woman_wearing_turban_tone4:': '👳🏾‍♀️', ':woman_wearing_turban_dark_skin_tone:': '👳🏿‍♀️', ':woman_wearing_turban_tone5:': '👳🏿‍♀️', ':man_bouncing_ball_light_skin_tone:': '⛹️🏻‍♂️', ':man_bouncing_ball_tone1:': '⛹️🏻‍♂️', ':man_bouncing_ball_medium_light_skin_tone:': '⛹️🏼‍♂️', ':man_bouncing_ball_tone2:': '⛹️🏼‍♂️', ':man_bouncing_ball_medium_skin_tone:': '⛹️🏽‍♂️', ':man_bouncing_ball_tone3:': '⛹️🏽‍♂️', ':man_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾‍♂️', ':man_bouncing_ball_tone4:': '⛹️🏾‍♂️', ':man_bouncing_ball_dark_skin_tone:': '⛹️🏿‍♂️', ':man_bouncing_ball_tone5:': '⛹️🏿‍♂️', ':woman_bouncing_ball_light_skin_tone:': '⛹️🏻‍♀️', ':woman_bouncing_ball_tone1:': '⛹️🏻‍♀️', ':woman_bouncing_ball_medium_light_skin_tone:': '⛹️🏼‍♀️', ':woman_bouncing_ball_tone2:': '⛹️🏼‍♀️', ':woman_bouncing_ball_medium_skin_tone:': '⛹️🏽‍♀️', ':woman_bouncing_ball_tone3:': '⛹️🏽‍♀️', ':woman_bouncing_ball_medium_dark_skin_tone:': '⛹️🏾‍♀️', ':woman_bouncing_ball_tone4:': '⛹️🏾‍♀️', ':woman_bouncing_ball_dark_skin_tone:': '⛹️🏿‍♀️', ':woman_bouncing_ball_tone5:': '⛹️🏿‍♀️', ':adult_light_skin_tone:': '🧑🏻', ':adult_tone1:': '🧑🏻', ':adult_medium_light_skin_tone:': '🧑🏼', ':adult_tone2:': '🧑🏼', ':adult_medium_skin_tone:': '🧑🏽', ':adult_tone3:': '🧑🏽', ':adult_medium_dark_skin_tone:': '🧑🏾', ':adult_tone4:': '🧑🏾', ':adult_dark_skin_tone:': '🧑🏿', ':adult_tone5:': '🧑🏿', ':angel_tone1:': '👼🏻', ':angel_tone2:': '👼🏼', ':angel_tone3:': '👼🏽', ':angel_tone4:': '👼🏾', ':angel_tone5:': '👼🏿', ':baby_tone1:': '👶🏻', ':baby_tone2:': '👶🏼', ':baby_tone3:': '👶🏽', ':baby_tone4:': '👶🏾', ':baby_tone5:': '👶🏿', ':bath_tone1:': '🛀🏻', ':bath_tone2:': '🛀🏼', ':bath_tone3:': '🛀🏽', ':bath_tone4:': '🛀🏾', ':bath_tone5:': '🛀🏿', ':bearded_person_light_skin_tone:': '🧔🏻', ':bearded_person_tone1:': '🧔🏻', ':bearded_person_medium_light_skin_tone:': '🧔🏼', ':bearded_person_tone2:': '🧔🏼', ':bearded_person_medium_skin_tone:': '🧔🏽', ':bearded_person_tone3:': '🧔🏽', ':bearded_person_medium_dark_skin_tone:': '🧔🏾', ':bearded_person_tone4:': '🧔🏾', ':bearded_person_dark_skin_tone:': '🧔🏿', ':bearded_person_tone5:': '🧔🏿', ':person_with_blond_hair_tone1:': '👱🏻', ':blond_haired_person_tone1:': '👱🏻', ':person_with_blond_hair_tone2:': '👱🏼', ':blond_haired_person_tone2:': '👱🏼', ':person_with_blond_hair_tone3:': '👱🏽', ':blond_haired_person_tone3:': '👱🏽', ':person_with_blond_hair_tone4:': '👱🏾', ':blond_haired_person_tone4:': '👱🏾', ':person_with_blond_hair_tone5:': '👱🏿', ':blond_haired_person_tone5:': '👱🏿', ':boy_tone1:': '👦🏻', ':boy_tone2:': '👦🏼', ':boy_tone3:': '👦🏽', ':boy_tone4:': '👦🏾', ':boy_tone5:': '👦🏿', ':breast_feeding_light_skin_tone:': '🤱🏻', ':breast_feeding_tone1:': '🤱🏻', ':breast_feeding_medium_light_skin_tone:': '🤱🏼', ':breast_feeding_tone2:': '🤱🏼', ':breast_feeding_medium_skin_tone:': '🤱🏽', ':breast_feeding_tone3:': '🤱🏽', ':breast_feeding_medium_dark_skin_tone:': '🤱🏾', ':breast_feeding_tone4:': '🤱🏾', ':breast_feeding_dark_skin_tone:': '🤱🏿', ':breast_feeding_tone5:': '🤱🏿', ':bride_with_veil_tone1:': '👰🏻', ':bride_with_veil_tone2:': '👰🏼', ':bride_with_veil_tone3:': '👰🏽', ':bride_with_veil_tone4:': '👰🏾', ':bride_with_veil_tone5:': '👰🏿', ':call_me_hand_tone1:': '🤙🏻', ':call_me_tone1:': '🤙🏻', ':call_me_hand_tone2:': '🤙🏼', ':call_me_tone2:': '🤙🏼', ':call_me_hand_tone3:': '🤙🏽', ':call_me_tone3:': '🤙🏽', ':call_me_hand_tone4:': '🤙🏾', ':call_me_tone4:': '🤙🏾', ':call_me_hand_tone5:': '🤙🏿', ':call_me_tone5:': '🤙🏿', ':child_light_skin_tone:': '🧒🏻', ':child_tone1:': '🧒🏻', ':child_medium_light_skin_tone:': '🧒🏼', ':child_tone2:': '🧒🏼', ':child_medium_skin_tone:': '🧒🏽', ':child_tone3:': '🧒🏽', ':child_medium_dark_skin_tone:': '🧒🏾', ':child_tone4:': '🧒🏾', ':child_dark_skin_tone:': '🧒🏿', ':child_tone5:': '🧒🏿', ':clap_tone1:': '👏🏻', ':clap_tone2:': '👏🏼', ':clap_tone3:': '👏🏽', ':clap_tone4:': '👏🏾', ':clap_tone5:': '👏🏿', ':construction_worker_tone1:': '👷🏻', ':construction_worker_tone2:': '👷🏼', ':construction_worker_tone3:': '👷🏽', ':construction_worker_tone4:': '👷🏾', ':construction_worker_tone5:': '👷🏿', ':dancer_tone1:': '💃🏻', ':dancer_tone2:': '💃🏼', ':dancer_tone3:': '💃🏽', ':dancer_tone4:': '💃🏾', ':dancer_tone5:': '💃🏿', ':deaf_person_light_skin_tone:': '🧏🏻', ':deaf_person_tone1:': '🧏🏻', ':deaf_person_medium_light_skin_tone:': '🧏🏼', ':deaf_person_tone2:': '🧏🏼', ':deaf_person_medium_skin_tone:': '🧏🏽', ':deaf_person_tone3:': '🧏🏽', ':deaf_person_medium_dark_skin_tone:': '🧏🏾', ':deaf_person_tone4:': '🧏🏾', ':deaf_person_dark_skin_tone:': '🧏🏿', ':deaf_person_tone5:': '🧏🏿', ':spy_tone1:': '🕵️🏻', ':sleuth_or_spy_tone1:': '🕵️🏻', ':detective_tone1:': '🕵️🏻', ':spy_tone2:': '🕵️🏼', ':sleuth_or_spy_tone2:': '🕵️🏼', ':detective_tone2:': '🕵️🏼', ':spy_tone3:': '🕵️🏽', ':sleuth_or_spy_tone3:': '🕵️🏽', ':detective_tone3:': '🕵️🏽', ':spy_tone4:': '🕵️🏾', ':sleuth_or_spy_tone4:': '🕵️🏾', ':detective_tone4:': '🕵️🏾', ':spy_tone5:': '🕵️🏿', ':sleuth_or_spy_tone5:': '🕵️🏿', ':detective_tone5:': '🕵️🏿', ':ear_tone1:': '👂🏻', ':ear_tone2:': '👂🏼', ':ear_tone3:': '👂🏽', ':ear_tone4:': '👂🏾', ':ear_tone5:': '👂🏿', ':ear_with_hearing_aid_light_skin_tone:': '🦻🏻', ':ear_with_hearing_aid_tone1:': '🦻🏻', ':ear_with_hearing_aid_medium_light_skin_tone:': '🦻🏼', ':ear_with_hearing_aid_tone2:': '🦻🏼', ':ear_with_hearing_aid_medium_skin_tone:': '🦻🏽', ':ear_with_hearing_aid_tone3:': '🦻🏽', ':ear_with_hearing_aid_medium_dark_skin_tone:': '🦻🏾', ':ear_with_hearing_aid_tone4:': '🦻🏾', ':ear_with_hearing_aid_dark_skin_tone:': '🦻🏿', ':ear_with_hearing_aid_tone5:': '🦻🏿', ':elf_light_skin_tone:': '🧝🏻', ':elf_tone1:': '🧝🏻', ':elf_medium_light_skin_tone:': '🧝🏼', ':elf_tone2:': '🧝🏼', ':elf_medium_skin_tone:': '🧝🏽', ':elf_tone3:': '🧝🏽', ':elf_medium_dark_skin_tone:': '🧝🏾', ':elf_tone4:': '🧝🏾', ':elf_dark_skin_tone:': '🧝🏿', ':elf_tone5:': '🧝🏿', ':eye_in_speech_bubble:': '👁️‍🗨️', ':fairy_light_skin_tone:': '🧚🏻', ':fairy_tone1:': '🧚🏻', ':fairy_medium_light_skin_tone:': '🧚🏼', ':fairy_tone2:': '🧚🏼', ':fairy_medium_skin_tone:': '🧚🏽', ':fairy_tone3:': '🧚🏽', ':fairy_medium_dark_skin_tone:': '🧚🏾', ':fairy_tone4:': '🧚🏾', ':fairy_dark_skin_tone:': '🧚🏿', ':fairy_tone5:': '🧚🏿', ':family_man_boy:': '👨‍👦', ':family_man_girl:': '👨‍👧', ':family_woman_boy:': '👩‍👦', ':family_woman_girl:': '👩‍👧', ':hand_with_index_and_middle_fingers_crossed_tone1:': '🤞🏻', ':fingers_crossed_tone1:': '🤞🏻', ':hand_with_index_and_middle_fingers_crossed_tone2:': '🤞🏼', ':fingers_crossed_tone2:': '🤞🏼', ':hand_with_index_and_middle_fingers_crossed_tone3:': '🤞🏽', ':fingers_crossed_tone3:': '🤞🏽', ':hand_with_index_and_middle_fingers_crossed_tone4:': '🤞🏾', ':fingers_crossed_tone4:': '🤞🏾', ':hand_with_index_and_middle_fingers_crossed_tone5:': '🤞🏿', ':fingers_crossed_tone5:': '🤞🏿', ':ac:': '🇦🇨', ':flag_ac:': '🇦🇨', ':ad:': '🇦🇩', ':flag_ad:': '🇦🇩', ':ae:': '🇦🇪', ':flag_ae:': '🇦🇪', ':af:': '🇦🇫', ':flag_af:': '🇦🇫', ':ag:': '🇦🇬', ':flag_ag:': '🇦🇬', ':ai:': '🇦🇮', ':flag_ai:': '🇦🇮', ':al:': '🇦🇱', ':flag_al:': '🇦🇱', ':am:': '🇦🇲', ':flag_am:': '🇦🇲', ':ao:': '🇦🇴', ':flag_ao:': '🇦🇴', ':aq:': '🇦🇶', ':flag_aq:': '🇦🇶', ':ar:': '🇦🇷', ':flag_ar:': '🇦🇷', ':as:': '🇦🇸', ':flag_as:': '🇦🇸', ':at:': '🇦🇹', ':flag_at:': '🇦🇹', ':au:': '🇦🇺', ':flag_au:': '🇦🇺', ':aw:': '🇦🇼', ':flag_aw:': '🇦🇼', ':ax:': '🇦🇽', ':flag_ax:': '🇦🇽', ':az:': '🇦🇿', ':flag_az:': '🇦🇿', ':ba:': '🇧🇦', ':flag_ba:': '🇧🇦', ':bb:': '🇧🇧', ':flag_bb:': '🇧🇧', ':bd:': '🇧🇩', ':flag_bd:': '🇧🇩', ':be:': '🇧🇪', ':flag_be:': '🇧🇪', ':bf:': '🇧🇫', ':flag_bf:': '🇧🇫', ':bg:': '🇧🇬', ':flag_bg:': '🇧🇬', ':bh:': '🇧🇭', ':flag_bh:': '🇧🇭', ':bi:': '🇧🇮', ':flag_bi:': '🇧🇮', ':bj:': '🇧🇯', ':flag_bj:': '🇧🇯', ':bm:': '🇧🇲', ':flag_bm:': '🇧🇲', ':bn:': '🇧🇳', ':flag_bn:': '🇧🇳', ':bo:': '🇧🇴', ':flag_bo:': '🇧🇴', ':br:': '🇧🇷', ':flag_br:': '🇧🇷', ':bs:': '🇧🇸', ':flag_bs:': '🇧🇸', ':bt:': '🇧🇹', ':flag_bt:': '🇧🇹', ':bv:': '🇧🇻', ':flag_bv:': '🇧🇻', ':bw:': '🇧🇼', ':flag_bw:': '🇧🇼', ':by:': '🇧🇾', ':flag_by:': '🇧🇾', ':bz:': '🇧🇿', ':flag_bz:': '🇧🇿', ':ca:': '🇨🇦', ':flag_ca:': '🇨🇦', ':cc:': '🇨🇨', ':flag_cc:': '🇨🇨', ':congo:': '🇨🇩', ':flag_cd:': '🇨🇩', ':cf:': '🇨🇫', ':flag_cf:': '🇨🇫', ':cg:': '🇨🇬', ':flag_cg:': '🇨🇬', ':ch:': '🇨🇭', ':flag_ch:': '🇨🇭', ':ci:': '🇨🇮', ':flag_ci:': '🇨🇮', ':ck:': '🇨🇰', ':flag_ck:': '🇨🇰', ':chile:': '🇨🇱', ':flag_cl:': '🇨🇱', ':cm:': '🇨🇲', ':flag_cm:': '🇨🇲', ':cn:': '🇨🇳', ':flag_cn:': '🇨🇳', ':co:': '🇨🇴', ':flag_co:': '🇨🇴', ':cp:': '🇨🇵', ':flag_cp:': '🇨🇵', ':cr:': '🇨🇷', ':flag_cr:': '🇨🇷', ':cu:': '🇨🇺', ':flag_cu:': '🇨🇺', ':cv:': '🇨🇻', ':flag_cv:': '🇨🇻', ':cw:': '🇨🇼', ':flag_cw:': '🇨🇼', ':cx:': '🇨🇽', ':flag_cx:': '🇨🇽', ':cy:': '🇨🇾', ':flag_cy:': '🇨🇾', ':cz:': '🇨🇿', ':flag_cz:': '🇨🇿', ':de:': '🇩🇪', ':flag_de:': '🇩🇪', ':dj:': '🇩🇯', ':flag_dj:': '🇩🇯', ':dk:': '🇩🇰', ':flag_dk:': '🇩🇰', ':dm:': '🇩🇲', ':flag_dm:': '🇩🇲', ':do:': '🇩🇴', ':flag_do:': '🇩🇴', ':dz:': '🇩🇿', ':flag_dz:': '🇩🇿', ':ec:': '🇪🇨', ':flag_ec:': '🇪🇨', ':ee:': '🇪🇪', ':flag_ee:': '🇪🇪', ':eg:': '🇪🇬', ':flag_eg:': '🇪🇬', ':er:': '🇪🇷', ':flag_er:': '🇪🇷', ':es:': '🇪🇸', ':flag_es:': '🇪🇸', ':et:': '🇪🇹', ':flag_et:': '🇪🇹', ':eu:': '🇪🇺', ':flag_eu:': '🇪🇺', ':fi:': '🇫🇮', ':flag_fi:': '🇫🇮', ':fj:': '🇫🇯', ':flag_fj:': '🇫🇯', ':fm:': '🇫🇲', ':flag_fm:': '🇫🇲', ':fo:': '🇫🇴', ':flag_fo:': '🇫🇴', ':fr:': '🇫🇷', ':flag_fr:': '🇫🇷', ':ga:': '🇬🇦', ':flag_ga:': '🇬🇦', ':gb:': '🇬🇧', ':flag_gb:': '🇬🇧', ':gd:': '🇬🇩', ':flag_gd:': '🇬🇩', ':ge:': '🇬🇪', ':flag_ge:': '🇬🇪', ':gg:': '🇬🇬', ':flag_gg:': '🇬🇬', ':gh:': '🇬🇭', ':flag_gh:': '🇬🇭', ':gi:': '🇬🇮', ':flag_gi:': '🇬🇮', ':gl:': '🇬🇱', ':flag_gl:': '🇬🇱', ':gm:': '🇬🇲', ':flag_gm:': '🇬🇲', ':gn:': '🇬🇳', ':flag_gn:': '🇬🇳', ':gq:': '🇬🇶', ':flag_gq:': '🇬🇶', ':gr:': '🇬🇷', ':flag_gr:': '🇬🇷', ':gt:': '🇬🇹', ':flag_gt:': '🇬🇹', ':gu:': '🇬🇺', ':flag_gu:': '🇬🇺', ':gw:': '🇬🇼', ':flag_gw:': '🇬🇼', ':gy:': '🇬🇾', ':flag_gy:': '🇬🇾', ':hk:': '🇭🇰', ':flag_hk:': '🇭🇰', ':hm:': '🇭🇲', ':flag_hm:': '🇭🇲', ':hn:': '🇭🇳', ':flag_hn:': '🇭🇳', ':hr:': '🇭🇷', ':flag_hr:': '🇭🇷', ':ht:': '🇭🇹', ':flag_ht:': '🇭🇹', ':hu:': '🇭🇺', ':flag_hu:': '🇭🇺', ':ic:': '🇮🇨', ':flag_ic:': '🇮🇨', ':indonesia:': '🇮🇩', ':flag_id:': '🇮🇩', ':ie:': '🇮🇪', ':flag_ie:': '🇮🇪', ':il:': '🇮🇱', ':flag_il:': '🇮🇱', ':im:': '🇮🇲', ':flag_im:': '🇮🇲', ':in:': '🇮🇳', ':flag_in:': '🇮🇳', ':io:': '🇮🇴', ':flag_io:': '🇮🇴', ':iq:': '🇮🇶', ':flag_iq:': '🇮🇶', ':ir:': '🇮🇷', ':flag_ir:': '🇮🇷', ':is:': '🇮🇸', ':flag_is:': '🇮🇸', ':it:': '🇮🇹', ':flag_it:': '🇮🇹', ':je:': '🇯🇪', ':flag_je:': '🇯🇪', ':jm:': '🇯🇲', ':flag_jm:': '🇯🇲', ':jo:': '🇯🇴', ':flag_jo:': '🇯🇴', ':jp:': '🇯🇵', ':flag_jp:': '🇯🇵', ':ke:': '🇰🇪', ':flag_ke:': '🇰🇪', ':kg:': '🇰🇬', ':flag_kg:': '🇰🇬', ':kh:': '🇰🇭', ':flag_kh:': '🇰🇭', ':ki:': '🇰🇮', ':flag_ki:': '🇰🇮', ':km:': '🇰🇲', ':flag_km:': '🇰🇲', ':kn:': '🇰🇳', ':flag_kn:': '🇰🇳', ':kp:': '🇰🇵', ':flag_kp:': '🇰🇵', ':kr:': '🇰🇷', ':flag_kr:': '🇰🇷', ':kw:': '🇰🇼', ':flag_kw:': '🇰🇼', ':ky:': '🇰🇾', ':flag_ky:': '🇰🇾', ':kz:': '🇰🇿', ':flag_kz:': '🇰🇿', ':la:': '🇱🇦', ':flag_la:': '🇱🇦', ':lb:': '🇱🇧', ':flag_lb:': '🇱🇧', ':lc:': '🇱🇨', ':flag_lc:': '🇱🇨', ':li:': '🇱🇮', ':flag_li:': '🇱🇮', ':lk:': '🇱🇰', ':flag_lk:': '🇱🇰', ':lr:': '🇱🇷', ':flag_lr:': '🇱🇷', ':ls:': '🇱🇸', ':flag_ls:': '🇱🇸', ':lt:': '🇱🇹', ':flag_lt:': '🇱🇹', ':lu:': '🇱🇺', ':flag_lu:': '🇱🇺', ':lv:': '🇱🇻', ':flag_lv:': '🇱🇻', ':ly:': '🇱🇾', ':flag_ly:': '🇱🇾', ':ma:': '🇲🇦', ':flag_ma:': '🇲🇦', ':mc:': '🇲🇨', ':flag_mc:': '🇲🇨', ':md:': '🇲🇩', ':flag_md:': '🇲🇩', ':me:': '🇲🇪', ':flag_me:': '🇲🇪', ':mg:': '🇲🇬', ':flag_mg:': '🇲🇬', ':mh:': '🇲🇭', ':flag_mh:': '🇲🇭', ':mk:': '🇲🇰', ':flag_mk:': '🇲🇰', ':ml:': '🇲🇱', ':flag_ml:': '🇲🇱', ':mm:': '🇲🇲', ':flag_mm:': '🇲🇲', ':mn:': '🇲🇳', ':flag_mn:': '🇲🇳', ':mo:': '🇲🇴', ':flag_mo:': '🇲🇴', ':mp:': '🇲🇵', ':flag_mp:': '🇲🇵', ':mr:': '🇲🇷', ':flag_mr:': '🇲🇷', ':ms:': '🇲🇸', ':flag_ms:': '🇲🇸', ':mt:': '🇲🇹', ':flag_mt:': '🇲🇹', ':mu:': '🇲🇺', ':flag_mu:': '🇲🇺', ':mv:': '🇲🇻', ':flag_mv:': '🇲🇻', ':mw:': '🇲🇼', ':flag_mw:': '🇲🇼', ':mx:': '🇲🇽', ':flag_mx:': '🇲🇽', ':my:': '🇲🇾', ':flag_my:': '🇲🇾', ':mz:': '🇲🇿', ':flag_mz:': '🇲🇿', ':na:': '🇳🇦', ':flag_na:': '🇳🇦', ':ne:': '🇳🇪', ':flag_ne:': '🇳🇪', ':nf:': '🇳🇫', ':flag_nf:': '🇳🇫', ':nigeria:': '🇳🇬', ':flag_ng:': '🇳🇬', ':ni:': '🇳🇮', ':flag_ni:': '🇳🇮', ':nl:': '🇳🇱', ':flag_nl:': '🇳🇱', ':no:': '🇳🇴', ':flag_no:': '🇳🇴', ':np:': '🇳🇵', ':flag_np:': '🇳🇵', ':nr:': '🇳🇷', ':flag_nr:': '🇳🇷', ':nu:': '🇳🇺', ':flag_nu:': '🇳🇺', ':nz:': '🇳🇿', ':flag_nz:': '🇳🇿', ':om:': '🇴🇲', ':flag_om:': '🇴🇲', ':pa:': '🇵🇦', ':flag_pa:': '🇵🇦', ':pe:': '🇵🇪', ':flag_pe:': '🇵🇪', ':pf:': '🇵🇫', ':flag_pf:': '🇵🇫', ':pg:': '🇵🇬', ':flag_pg:': '🇵🇬', ':ph:': '🇵🇭', ':flag_ph:': '🇵🇭', ':pk:': '🇵🇰', ':flag_pk:': '🇵🇰', ':pl:': '🇵🇱', ':flag_pl:': '🇵🇱', ':pn:': '🇵🇳', ':flag_pn:': '🇵🇳', ':pr:': '🇵🇷', ':flag_pr:': '🇵🇷', ':ps:': '🇵🇸', ':flag_ps:': '🇵🇸', ':pt:': '🇵🇹', ':flag_pt:': '🇵🇹', ':pw:': '🇵🇼', ':flag_pw:': '🇵🇼', ':py:': '🇵🇾', ':flag_py:': '🇵🇾', ':qa:': '🇶🇦', ':flag_qa:': '🇶🇦', ':ro:': '🇷🇴', ':flag_ro:': '🇷🇴', ':rs:': '🇷🇸', ':flag_rs:': '🇷🇸', ':ru:': '🇷🇺', ':flag_ru:': '🇷🇺', ':rw:': '🇷🇼', ':flag_rw:': '🇷🇼', ':saudiarabia:': '🇸🇦', ':saudi:': '🇸🇦', ':flag_sa:': '🇸🇦', ':sb:': '🇸🇧', ':flag_sb:': '🇸🇧', ':sc:': '🇸🇨', ':flag_sc:': '🇸🇨', ':sd:': '🇸🇩', ':flag_sd:': '🇸🇩', ':se:': '🇸🇪', ':flag_se:': '🇸🇪', ':sg:': '🇸🇬', ':flag_sg:': '🇸🇬', ':sh:': '🇸🇭', ':flag_sh:': '🇸🇭', ':si:': '🇸🇮', ':flag_si:': '🇸🇮', ':sj:': '🇸🇯', ':flag_sj:': '🇸🇯', ':sk:': '🇸🇰', ':flag_sk:': '🇸🇰', ':sl:': '🇸🇱', ':flag_sl:': '🇸🇱', ':sm:': '🇸🇲', ':flag_sm:': '🇸🇲', ':sn:': '🇸🇳', ':flag_sn:': '🇸🇳', ':so:': '🇸🇴', ':flag_so:': '🇸🇴', ':sr:': '🇸🇷', ':flag_sr:': '🇸🇷', ':ss:': '🇸🇸', ':flag_ss:': '🇸🇸', ':st:': '🇸🇹', ':flag_st:': '🇸🇹', ':sv:': '🇸🇻', ':flag_sv:': '🇸🇻', ':sx:': '🇸🇽', ':flag_sx:': '🇸🇽', ':sy:': '🇸🇾', ':flag_sy:': '🇸🇾', ':sz:': '🇸🇿', ':flag_sz:': '🇸🇿', ':ta:': '🇹🇦', ':flag_ta:': '🇹🇦', ':tc:': '🇹🇨', ':flag_tc:': '🇹🇨', ':td:': '🇹🇩', ':flag_td:': '🇹🇩', ':tg:': '🇹🇬', ':flag_tg:': '🇹🇬', ':th:': '🇹🇭', ':flag_th:': '🇹🇭', ':tj:': '🇹🇯', ':flag_tj:': '🇹🇯', ':tk:': '🇹🇰', ':flag_tk:': '🇹🇰', ':tl:': '🇹🇱', ':flag_tl:': '🇹🇱', ':turkmenistan:': '🇹🇲', ':flag_tm:': '🇹🇲', ':tn:': '🇹🇳', ':flag_tn:': '🇹🇳', ':to:': '🇹🇴', ':flag_to:': '🇹🇴', ':tr:': '🇹🇷', ':flag_tr:': '🇹🇷', ':tt:': '🇹🇹', ':flag_tt:': '🇹🇹', ':tuvalu:': '🇹🇻', ':flag_tv:': '🇹🇻', ':tw:': '🇹🇼', ':flag_tw:': '🇹🇼', ':tz:': '🇹🇿', ':flag_tz:': '🇹🇿', ':ua:': '🇺🇦', ':flag_ua:': '🇺🇦', ':ug:': '🇺🇬', ':flag_ug:': '🇺🇬', ':um:': '🇺🇲', ':flag_um:': '🇺🇲', ':us:': '🇺🇸', ':flag_us:': '🇺🇸', ':uy:': '🇺🇾', ':flag_uy:': '🇺🇾', ':uz:': '🇺🇿', ':flag_uz:': '🇺🇿', ':va:': '🇻🇦', ':flag_va:': '🇻🇦', ':vc:': '🇻🇨', ':flag_vc:': '🇻🇨', ':ve:': '🇻🇪', ':flag_ve:': '🇻🇪', ':vg:': '🇻🇬', ':flag_vg:': '🇻🇬', ':vi:': '🇻🇮', ':flag_vi:': '🇻🇮', ':vn:': '🇻🇳', ':flag_vn:': '🇻🇳', ':vu:': '🇻🇺', ':flag_vu:': '🇻🇺', ':ws:': '🇼🇸', ':flag_ws:': '🇼🇸', ':ye:': '🇾🇪', ':flag_ye:': '🇾🇪', ':za:': '🇿🇦', ':flag_za:': '🇿🇦', ':zm:': '🇿🇲', ':flag_zm:': '🇿🇲', ':zw:': '🇿🇼', ':flag_zw:': '🇿🇼', ':foot_light_skin_tone:': '🦶🏻', ':foot_tone1:': '🦶🏻', ':foot_medium_light_skin_tone:': '🦶🏼', ':foot_tone2:': '🦶🏼', ':foot_medium_skin_tone:': '🦶🏽', ':foot_tone3:': '🦶🏽', ':foot_medium_dark_skin_tone:': '🦶🏾', ':foot_tone4:': '🦶🏾', ':foot_dark_skin_tone:': '🦶🏿', ':foot_tone5:': '🦶🏿', ':girl_tone1:': '👧🏻', ':girl_tone2:': '👧🏼', ':girl_tone3:': '👧🏽', ':girl_tone4:': '👧🏾', ':girl_tone5:': '👧🏿', ':guardsman_tone1:': '💂🏻', ':guard_tone1:': '💂🏻', ':guardsman_tone2:': '💂🏼', ':guard_tone2:': '💂🏼', ':guardsman_tone3:': '💂🏽', ':guard_tone3:': '💂🏽', ':guardsman_tone4:': '💂🏾', ':guard_tone4:': '💂🏾', ':guardsman_tone5:': '💂🏿', ':guard_tone5:': '💂🏿', ':raised_hand_with_fingers_splayed_tone1:': '🖐️🏻', ':hand_splayed_tone1:': '🖐️🏻', ':raised_hand_with_fingers_splayed_tone2:': '🖐️🏼', ':hand_splayed_tone2:': '🖐️🏼', ':raised_hand_with_fingers_splayed_tone3:': '🖐️🏽', ':hand_splayed_tone3:': '🖐️🏽', ':raised_hand_with_fingers_splayed_tone4:': '🖐️🏾', ':hand_splayed_tone4:': '🖐️🏾', ':raised_hand_with_fingers_splayed_tone5:': '🖐️🏿', ':hand_splayed_tone5:': '🖐️🏿', ':horse_racing_tone1:': '🏇🏻', ':horse_racing_tone2:': '🏇🏼', ':horse_racing_tone3:': '🏇🏽', ':horse_racing_tone4:': '🏇🏾', ':horse_racing_tone5:': '🏇🏿', ':left_fist_tone1:': '🤛🏻', ':left_facing_fist_tone1:': '🤛🏻', ':left_fist_tone2:': '🤛🏼', ':left_facing_fist_tone2:': '🤛🏼', ':left_fist_tone3:': '🤛🏽', ':left_facing_fist_tone3:': '🤛🏽', ':left_fist_tone4:': '🤛🏾', ':left_facing_fist_tone4:': '🤛🏾', ':left_fist_tone5:': '🤛🏿', ':left_facing_fist_tone5:': '🤛🏿', ':leg_light_skin_tone:': '🦵🏻', ':leg_tone1:': '🦵🏻', ':leg_medium_light_skin_tone:': '🦵🏼', ':leg_tone2:': '🦵🏼', ':leg_medium_skin_tone:': '🦵🏽', ':leg_tone3:': '🦵🏽', ':leg_medium_dark_skin_tone:': '🦵🏾', ':leg_tone4:': '🦵🏾', ':leg_dark_skin_tone:': '🦵🏿', ':leg_tone5:': '🦵🏿', ':man_in_business_suit_levitating_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_light_skin_tone:': '🕴️🏻', ':levitate_tone1:': '🕴️🏻', ':man_in_business_suit_levitating_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_medium_light_skin_tone:': '🕴️🏼', ':levitate_tone2:': '🕴️🏼', ':man_in_business_suit_levitating_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_medium_skin_tone:': '🕴️🏽', ':levitate_tone3:': '🕴️🏽', ':man_in_business_suit_levitating_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_medium_dark_skin_tone:': '🕴️🏾', ':levitate_tone4:': '🕴️🏾', ':man_in_business_suit_levitating_tone5:': '🕴️🏿', ':man_in_business_suit_levitating_dark_skin_tone:': '🕴️🏿', ':levitate_tone5:': '🕴️🏿', ':love_you_gesture_light_skin_tone:': '🤟🏻', ':love_you_gesture_tone1:': '🤟🏻', ':love_you_gesture_medium_light_skin_tone:': '🤟🏼', ':love_you_gesture_tone2:': '🤟🏼', ':love_you_gesture_medium_skin_tone:': '🤟🏽', ':love_you_gesture_tone3:': '🤟🏽', ':love_you_gesture_medium_dark_skin_tone:': '🤟🏾', ':love_you_gesture_tone4:': '🤟🏾', ':love_you_gesture_dark_skin_tone:': '🤟🏿', ':love_you_gesture_tone5:': '🤟🏿', ':mage_light_skin_tone:': '🧙🏻', ':mage_tone1:': '🧙🏻', ':mage_medium_light_skin_tone:': '🧙🏼', ':mage_tone2:': '🧙🏼', ':mage_medium_skin_tone:': '🧙🏽', ':mage_tone3:': '🧙🏽', ':mage_medium_dark_skin_tone:': '🧙🏾', ':mage_tone4:': '🧙🏾', ':mage_dark_skin_tone:': '🧙🏿', ':mage_tone5:': '🧙🏿', ':man_artist:': '👨‍🎨', ':man_astronaut:': '👨‍🚀', ':man_bald:': '👨‍🦲', ':man_cook:': '👨‍🍳', ':man_curly_haired:': '👨‍🦱', ':male_dancer_tone1:': '🕺🏻', ':man_dancing_tone1:': '🕺🏻', ':male_dancer_tone2:': '🕺🏼', ':man_dancing_tone2:': '🕺🏼', ':male_dancer_tone3:': '🕺🏽', ':man_dancing_tone3:': '🕺🏽', ':male_dancer_tone4:': '🕺🏾', ':man_dancing_tone4:': '🕺🏾', ':male_dancer_tone5:': '🕺🏿', ':man_dancing_tone5:': '🕺🏿', ':man_factory_worker:': '👨‍🏭', ':man_farmer:': '👨‍🌾', ':man_firefighter:': '👨‍🚒', ':man_in_manual_wheelchair:': '👨‍🦽', ':man_in_motorized_wheelchair:': '👨‍🦼', ':tuxedo_tone1:': '🤵🏻', ':man_in_tuxedo_tone1:': '🤵🏻', ':tuxedo_tone2:': '🤵🏼', ':man_in_tuxedo_tone2:': '🤵🏼', ':tuxedo_tone3:': '🤵🏽', ':man_in_tuxedo_tone3:': '🤵🏽', ':tuxedo_tone4:': '🤵🏾', ':man_in_tuxedo_tone4:': '🤵🏾', ':tuxedo_tone5:': '🤵🏿', ':man_in_tuxedo_tone5:': '🤵🏿', ':man_mechanic:': '👨‍🔧', ':man_office_worker:': '👨‍💼', ':man_red_haired:': '👨‍🦰', ':man_scientist:': '👨‍🔬', ':man_singer:': '👨‍🎤', ':man_student:': '👨‍🎓', ':man_teacher:': '👨‍🏫', ':man_technologist:': '👨‍💻', ':man_tone1:': '👨🏻', ':man_tone2:': '👨🏼', ':man_tone3:': '👨🏽', ':man_tone4:': '👨🏾', ':man_tone5:': '👨🏿', ':man_white_haired:': '👨‍🦳', ':man_with_gua_pi_mao_tone1:': '👲🏻', ':man_with_chinese_cap_tone1:': '👲🏻', ':man_with_gua_pi_mao_tone2:': '👲🏼', ':man_with_chinese_cap_tone2:': '👲🏼', ':man_with_gua_pi_mao_tone3:': '👲🏽', ':man_with_chinese_cap_tone3:': '👲🏽', ':man_with_gua_pi_mao_tone4:': '👲🏾', ':man_with_chinese_cap_tone4:': '👲🏾', ':man_with_gua_pi_mao_tone5:': '👲🏿', ':man_with_chinese_cap_tone5:': '👲🏿', ':man_with_probing_cane:': '👨‍🦯', ':men_holding_hands_light_skin_tone:': '👬🏻', ':men_holding_hands_tone1:': '👬🏻', ':men_holding_hands_medium_light_skin_tone:': '👬🏼', ':men_holding_hands_tone2:': '👬🏼', ':men_holding_hands_medium_skin_tone:': '👬🏽', ':men_holding_hands_tone3:': '👬🏽', ':men_holding_hands_medium_dark_skin_tone:': '👬🏾', ':men_holding_hands_tone4:': '👬🏾', ':men_holding_hands_dark_skin_tone:': '👬🏿', ':men_holding_hands_tone5:': '👬🏿', ':merperson_light_skin_tone:': '🧜🏻', ':merperson_tone1:': '🧜🏻', ':merperson_medium_light_skin_tone:': '🧜🏼', ':merperson_tone2:': '🧜🏼', ':merperson_medium_skin_tone:': '🧜🏽', ':merperson_tone3:': '🧜🏽', ':merperson_medium_dark_skin_tone:': '🧜🏾', ':merperson_tone4:': '🧜🏾', ':merperson_dark_skin_tone:': '🧜🏿', ':merperson_tone5:': '🧜🏿', ':sign_of_the_horns_tone1:': '🤘🏻', ':metal_tone1:': '🤘🏻', ':sign_of_the_horns_tone2:': '🤘🏼', ':metal_tone2:': '🤘🏼', ':sign_of_the_horns_tone3:': '🤘🏽', ':metal_tone3:': '🤘🏽', ':sign_of_the_horns_tone4:': '🤘🏾', ':metal_tone4:': '🤘🏾', ':sign_of_the_horns_tone5:': '🤘🏿', ':metal_tone5:': '🤘🏿', ':reversed_hand_with_middle_finger_extended_tone1:': '🖕🏻', ':middle_finger_tone1:': '🖕🏻', ':reversed_hand_with_middle_finger_extended_tone2:': '🖕🏼', ':middle_finger_tone2:': '🖕🏼', ':reversed_hand_with_middle_finger_extended_tone3:': '🖕🏽', ':middle_finger_tone3:': '🖕🏽', ':reversed_hand_with_middle_finger_extended_tone4:': '🖕🏾', ':middle_finger_tone4:': '🖕🏾', ':reversed_hand_with_middle_finger_extended_tone5:': '🖕🏿', ':middle_finger_tone5:': '🖕🏿', ':mother_christmas_tone1:': '🤶🏻', ':mrs_claus_tone1:': '🤶🏻', ':mother_christmas_tone2:': '🤶🏼', ':mrs_claus_tone2:': '🤶🏼', ':mother_christmas_tone3:': '🤶🏽', ':mrs_claus_tone3:': '🤶🏽', ':mother_christmas_tone4:': '🤶🏾', ':mrs_claus_tone4:': '🤶🏾', ':mother_christmas_tone5:': '🤶🏿', ':mrs_claus_tone5:': '🤶🏿', ':muscle_tone1:': '💪🏻', ':muscle_tone2:': '💪🏼', ':muscle_tone3:': '💪🏽', ':muscle_tone4:': '💪🏾', ':muscle_tone5:': '💪🏿', ':nail_care_tone1:': '💅🏻', ':nail_care_tone2:': '💅🏼', ':nail_care_tone3:': '💅🏽', ':nail_care_tone4:': '💅🏾', ':nail_care_tone5:': '💅🏿', ':nose_tone1:': '👃🏻', ':nose_tone2:': '👃🏼', ':nose_tone3:': '👃🏽', ':nose_tone4:': '👃🏾', ':nose_tone5:': '👃🏿', ':ok_hand_tone1:': '👌🏻', ':ok_hand_tone2:': '👌🏼', ':ok_hand_tone3:': '👌🏽', ':ok_hand_tone4:': '👌🏾', ':ok_hand_tone5:': '👌🏿', ':older_adult_light_skin_tone:': '🧓🏻', ':older_adult_tone1:': '🧓🏻', ':older_adult_medium_light_skin_tone:': '🧓🏼', ':older_adult_tone2:': '🧓🏼', ':older_adult_medium_skin_tone:': '🧓🏽', ':older_adult_tone3:': '🧓🏽', ':older_adult_medium_dark_skin_tone:': '🧓🏾', ':older_adult_tone4:': '🧓🏾', ':older_adult_dark_skin_tone:': '🧓🏿', ':older_adult_tone5:': '🧓🏿', ':older_man_tone1:': '👴🏻', ':older_man_tone2:': '👴🏼', ':older_man_tone3:': '👴🏽', ':older_man_tone4:': '👴🏾', ':older_man_tone5:': '👴🏿', ':grandma_tone1:': '👵🏻', ':older_woman_tone1:': '👵🏻', ':grandma_tone2:': '👵🏼', ':older_woman_tone2:': '👵🏼', ':grandma_tone3:': '👵🏽', ':older_woman_tone3:': '👵🏽', ':grandma_tone4:': '👵🏾', ':older_woman_tone4:': '👵🏾', ':grandma_tone5:': '👵🏿', ':older_woman_tone5:': '👵🏿', ':open_hands_tone1:': '👐🏻', ':open_hands_tone2:': '👐🏼', ':open_hands_tone3:': '👐🏽', ':open_hands_tone4:': '👐🏾', ':open_hands_tone5:': '👐🏿', ':palms_up_together_light_skin_tone:': '🤲🏻', ':palms_up_together_tone1:': '🤲🏻', ':palms_up_together_medium_light_skin_tone:': '🤲🏼', ':palms_up_together_tone2:': '🤲🏼', ':palms_up_together_medium_skin_tone:': '🤲🏽', ':palms_up_together_tone3:': '🤲🏽', ':palms_up_together_medium_dark_skin_tone:': '🤲🏾', ':palms_up_together_tone4:': '🤲🏾', ':palms_up_together_dark_skin_tone:': '🤲🏿', ':palms_up_together_tone5:': '🤲🏿', ':bicyclist_tone1:': '🚴🏻', ':person_biking_tone1:': '🚴🏻', ':bicyclist_tone2:': '🚴🏼', ':person_biking_tone2:': '🚴🏼', ':bicyclist_tone3:': '🚴🏽', ':person_biking_tone3:': '🚴🏽', ':bicyclist_tone4:': '🚴🏾', ':person_biking_tone4:': '🚴🏾', ':bicyclist_tone5:': '🚴🏿', ':person_biking_tone5:': '🚴🏿', ':bow_tone1:': '🙇🏻', ':person_bowing_tone1:': '🙇🏻', ':bow_tone2:': '🙇🏼', ':person_bowing_tone2:': '🙇🏼', ':bow_tone3:': '🙇🏽', ':person_bowing_tone3:': '🙇🏽', ':bow_tone4:': '🙇🏾', ':person_bowing_tone4:': '🙇🏾', ':bow_tone5:': '🙇🏿', ':person_bowing_tone5:': '🙇🏿', ':person_climbing_light_skin_tone:': '🧗🏻', ':person_climbing_tone1:': '🧗🏻', ':person_climbing_medium_light_skin_tone:': '🧗🏼', ':person_climbing_tone2:': '🧗🏼', ':person_climbing_medium_skin_tone:': '🧗🏽', ':person_climbing_tone3:': '🧗🏽', ':person_climbing_medium_dark_skin_tone:': '🧗🏾', ':person_climbing_tone4:': '🧗🏾', ':person_climbing_dark_skin_tone:': '🧗🏿', ':person_climbing_tone5:': '🧗🏿', ':cartwheel_tone1:': '🤸🏻', ':person_doing_cartwheel_tone1:': '🤸🏻', ':cartwheel_tone2:': '🤸🏼', ':person_doing_cartwheel_tone2:': '🤸🏼', ':cartwheel_tone3:': '🤸🏽', ':person_doing_cartwheel_tone3:': '🤸🏽', ':cartwheel_tone4:': '🤸🏾', ':person_doing_cartwheel_tone4:': '🤸🏾', ':cartwheel_tone5:': '🤸🏿', ':person_doing_cartwheel_tone5:': '🤸🏿', ':face_palm_tone1:': '🤦🏻', ':facepalm_tone1:': '🤦🏻', ':person_facepalming_tone1:': '🤦🏻', ':face_palm_tone2:': '🤦🏼', ':facepalm_tone2:': '🤦🏼', ':person_facepalming_tone2:': '🤦🏼', ':face_palm_tone3:': '🤦🏽', ':facepalm_tone3:': '🤦🏽', ':person_facepalming_tone3:': '🤦🏽', ':face_palm_tone4:': '🤦🏾', ':facepalm_tone4:': '🤦🏾', ':person_facepalming_tone4:': '🤦🏾', ':face_palm_tone5:': '🤦🏿', ':facepalm_tone5:': '🤦🏿', ':person_facepalming_tone5:': '🤦🏿', ':person_frowning_tone1:': '🙍🏻', ':person_frowning_tone2:': '🙍🏼', ':person_frowning_tone3:': '🙍🏽', ':person_frowning_tone4:': '🙍🏾', ':person_frowning_tone5:': '🙍🏿', ':no_good_tone1:': '🙅🏻', ':person_gesturing_no_tone1:': '🙅🏻', ':no_good_tone2:': '🙅🏼', ':person_gesturing_no_tone2:': '🙅🏼', ':no_good_tone3:': '🙅🏽', ':person_gesturing_no_tone3:': '🙅🏽', ':no_good_tone4:': '🙅🏾', ':person_gesturing_no_tone4:': '🙅🏾', ':no_good_tone5:': '🙅🏿', ':person_gesturing_no_tone5:': '🙅🏿', ':ok_woman_tone1:': '🙆🏻', ':person_gesturing_ok_tone1:': '🙆🏻', ':ok_woman_tone2:': '🙆🏼', ':person_gesturing_ok_tone2:': '🙆🏼', ':ok_woman_tone3:': '🙆🏽', ':person_gesturing_ok_tone3:': '🙆🏽', ':ok_woman_tone4:': '🙆🏾', ':person_gesturing_ok_tone4:': '🙆🏾', ':ok_woman_tone5:': '🙆🏿', ':person_gesturing_ok_tone5:': '🙆🏿', ':haircut_tone1:': '💇🏻', ':person_getting_haircut_tone1:': '💇🏻', ':haircut_tone2:': '💇🏼', ':person_getting_haircut_tone2:': '💇🏼', ':haircut_tone3:': '💇🏽', ':person_getting_haircut_tone3:': '💇🏽', ':haircut_tone4:': '💇🏾', ':person_getting_haircut_tone4:': '💇🏾', ':haircut_tone5:': '💇🏿', ':person_getting_haircut_tone5:': '💇🏿', ':massage_tone1:': '💆🏻', ':person_getting_massage_tone1:': '💆🏻', ':massage_tone2:': '💆🏼', ':person_getting_massage_tone2:': '💆🏼', ':massage_tone3:': '💆🏽', ':person_getting_massage_tone3:': '💆🏽', ':massage_tone4:': '💆🏾', ':person_getting_massage_tone4:': '💆🏾', ':massage_tone5:': '💆🏿', ':person_getting_massage_tone5:': '💆🏿', ':person_golfing_light_skin_tone:': '🏌️🏻', ':person_golfing_tone1:': '🏌️🏻', ':person_golfing_medium_light_skin_tone:': '🏌️🏼', ':person_golfing_tone2:': '🏌️🏼', ':person_golfing_medium_skin_tone:': '🏌️🏽', ':person_golfing_tone3:': '🏌️🏽', ':person_golfing_medium_dark_skin_tone:': '🏌️🏾', ':person_golfing_tone4:': '🏌️🏾', ':person_golfing_dark_skin_tone:': '🏌️🏿', ':person_golfing_tone5:': '🏌️🏿', ':person_in_bed_light_skin_tone:': '🛌🏻', ':person_in_bed_tone1:': '🛌🏻', ':person_in_bed_medium_light_skin_tone:': '🛌🏼', ':person_in_bed_tone2:': '🛌🏼', ':person_in_bed_medium_skin_tone:': '🛌🏽', ':person_in_bed_tone3:': '🛌🏽', ':person_in_bed_medium_dark_skin_tone:': '🛌🏾', ':person_in_bed_tone4:': '🛌🏾', ':person_in_bed_dark_skin_tone:': '🛌🏿', ':person_in_bed_tone5:': '🛌🏿', ':person_in_lotus_position_light_skin_tone:': '🧘🏻', ':person_in_lotus_position_tone1:': '🧘🏻', ':person_in_lotus_position_medium_light_skin_tone:': '🧘🏼', ':person_in_lotus_position_tone2:': '🧘🏼', ':person_in_lotus_position_medium_skin_tone:': '🧘🏽', ':person_in_lotus_position_tone3:': '🧘🏽', ':person_in_lotus_position_medium_dark_skin_tone:': '🧘🏾', ':person_in_lotus_position_tone4:': '🧘🏾', ':person_in_lotus_position_dark_skin_tone:': '🧘🏿', ':person_in_lotus_position_tone5:': '🧘🏿', ':person_in_steamy_room_light_skin_tone:': '🧖🏻', ':person_in_steamy_room_tone1:': '🧖🏻', ':person_in_steamy_room_medium_light_skin_tone:': '🧖🏼', ':person_in_steamy_room_tone2:': '🧖🏼', ':person_in_steamy_room_medium_skin_tone:': '🧖🏽', ':person_in_steamy_room_tone3:': '🧖🏽', ':person_in_steamy_room_medium_dark_skin_tone:': '🧖🏾', ':person_in_steamy_room_tone4:': '🧖🏾', ':person_in_steamy_room_dark_skin_tone:': '🧖🏿', ':person_in_steamy_room_tone5:': '🧖🏿', ':juggling_tone1:': '🤹🏻', ':juggler_tone1:': '🤹🏻', ':person_juggling_tone1:': '🤹🏻', ':juggling_tone2:': '🤹🏼', ':juggler_tone2:': '🤹🏼', ':person_juggling_tone2:': '🤹🏼', ':juggling_tone3:': '🤹🏽', ':juggler_tone3:': '🤹🏽', ':person_juggling_tone3:': '🤹🏽', ':juggling_tone4:': '🤹🏾', ':juggler_tone4:': '🤹🏾', ':person_juggling_tone4:': '🤹🏾', ':juggling_tone5:': '🤹🏿', ':juggler_tone5:': '🤹🏿', ':person_juggling_tone5:': '🤹🏿', ':person_kneeling_light_skin_tone:': '🧎🏻', ':person_kneeling_tone1:': '🧎🏻', ':person_kneeling_medium_light_skin_tone:': '🧎🏼', ':person_kneeling_tone2:': '🧎🏼', ':person_kneeling_medium_skin_tone:': '🧎🏽', ':person_kneeling_tone3:': '🧎🏽', ':person_kneeling_medium_dark_skin_tone:': '🧎🏾', ':person_kneeling_tone4:': '🧎🏾', ':person_kneeling_dark_skin_tone:': '🧎🏿', ':person_kneeling_tone5:': '🧎🏿', ':lifter_tone1:': '🏋️🏻', ':weight_lifter_tone1:': '🏋️🏻', ':person_lifting_weights_tone1:': '🏋️🏻', ':lifter_tone2:': '🏋️🏼', ':weight_lifter_tone2:': '🏋️🏼', ':person_lifting_weights_tone2:': '🏋️🏼', ':lifter_tone3:': '🏋️🏽', ':weight_lifter_tone3:': '🏋️🏽', ':person_lifting_weights_tone3:': '🏋️🏽', ':lifter_tone4:': '🏋️🏾', ':weight_lifter_tone4:': '🏋️🏾', ':person_lifting_weights_tone4:': '🏋️🏾', ':lifter_tone5:': '🏋️🏿', ':weight_lifter_tone5:': '🏋️🏿', ':person_lifting_weights_tone5:': '🏋️🏿', ':mountain_bicyclist_tone1:': '🚵🏻', ':person_mountain_biking_tone1:': '🚵🏻', ':mountain_bicyclist_tone2:': '🚵🏼', ':person_mountain_biking_tone2:': '🚵🏼', ':mountain_bicyclist_tone3:': '🚵🏽', ':person_mountain_biking_tone3:': '🚵🏽', ':mountain_bicyclist_tone4:': '🚵🏾', ':person_mountain_biking_tone4:': '🚵🏾', ':mountain_bicyclist_tone5:': '🚵🏿', ':person_mountain_biking_tone5:': '🚵🏿', ':handball_tone1:': '🤾🏻', ':person_playing_handball_tone1:': '🤾🏻', ':handball_tone2:': '🤾🏼', ':person_playing_handball_tone2:': '🤾🏼', ':handball_tone3:': '🤾🏽', ':person_playing_handball_tone3:': '🤾🏽', ':handball_tone4:': '🤾🏾', ':person_playing_handball_tone4:': '🤾🏾', ':handball_tone5:': '🤾🏿', ':person_playing_handball_tone5:': '🤾🏿', ':water_polo_tone1:': '🤽🏻', ':person_playing_water_polo_tone1:': '🤽🏻', ':water_polo_tone2:': '🤽🏼', ':person_playing_water_polo_tone2:': '🤽🏼', ':water_polo_tone3:': '🤽🏽', ':person_playing_water_polo_tone3:': '🤽🏽', ':water_polo_tone4:': '🤽🏾', ':person_playing_water_polo_tone4:': '🤽🏾', ':water_polo_tone5:': '🤽🏿', ':person_playing_water_polo_tone5:': '🤽🏿', ':person_with_pouting_face_tone1:': '🙎🏻', ':person_pouting_tone1:': '🙎🏻', ':person_with_pouting_face_tone2:': '🙎🏼', ':person_pouting_tone2:': '🙎🏼', ':person_with_pouting_face_tone3:': '🙎🏽', ':person_pouting_tone3:': '🙎🏽', ':person_with_pouting_face_tone4:': '🙎🏾', ':person_pouting_tone4:': '🙎🏾', ':person_with_pouting_face_tone5:': '🙎🏿', ':person_pouting_tone5:': '🙎🏿', ':raising_hand_tone1:': '🙋🏻', ':person_raising_hand_tone1:': '🙋🏻', ':raising_hand_tone2:': '🙋🏼', ':person_raising_hand_tone2:': '🙋🏼', ':raising_hand_tone3:': '🙋🏽', ':person_raising_hand_tone3:': '🙋🏽', ':raising_hand_tone4:': '🙋🏾', ':person_raising_hand_tone4:': '🙋🏾', ':raising_hand_tone5:': '🙋🏿', ':person_raising_hand_tone5:': '🙋🏿', ':rowboat_tone1:': '🚣🏻', ':person_rowing_boat_tone1:': '🚣🏻', ':rowboat_tone2:': '🚣🏼', ':person_rowing_boat_tone2:': '🚣🏼', ':rowboat_tone3:': '🚣🏽', ':person_rowing_boat_tone3:': '🚣🏽', ':rowboat_tone4:': '🚣🏾', ':person_rowing_boat_tone4:': '🚣🏾', ':rowboat_tone5:': '🚣🏿', ':person_rowing_boat_tone5:': '🚣🏿', ':runner_tone1:': '🏃🏻', ':person_running_tone1:': '🏃🏻', ':runner_tone2:': '🏃🏼', ':person_running_tone2:': '🏃🏼', ':runner_tone3:': '🏃🏽', ':person_running_tone3:': '🏃🏽', ':runner_tone4:': '🏃🏾', ':person_running_tone4:': '🏃🏾', ':runner_tone5:': '🏃🏿', ':person_running_tone5:': '🏃🏿', ':shrug_tone1:': '🤷🏻', ':person_shrugging_tone1:': '🤷🏻', ':shrug_tone2:': '🤷🏼', ':person_shrugging_tone2:': '🤷🏼', ':shrug_tone3:': '🤷🏽', ':person_shrugging_tone3:': '🤷🏽', ':shrug_tone4:': '🤷🏾', ':person_shrugging_tone4:': '🤷🏾', ':shrug_tone5:': '🤷🏿', ':person_shrugging_tone5:': '🤷🏿', ':person_standing_light_skin_tone:': '🧍🏻', ':person_standing_tone1:': '🧍🏻', ':person_standing_medium_light_skin_tone:': '🧍🏼', ':person_standing_tone2:': '🧍🏼', ':person_standing_medium_skin_tone:': '🧍🏽', ':person_standing_tone3:': '🧍🏽', ':person_standing_medium_dark_skin_tone:': '🧍🏾', ':person_standing_tone4:': '🧍🏾', ':person_standing_dark_skin_tone:': '🧍🏿', ':person_standing_tone5:': '🧍🏿', ':surfer_tone1:': '🏄🏻', ':person_surfing_tone1:': '🏄🏻', ':surfer_tone2:': '🏄🏼', ':person_surfing_tone2:': '🏄🏼', ':surfer_tone3:': '🏄🏽', ':person_surfing_tone3:': '🏄🏽', ':surfer_tone4:': '🏄🏾', ':person_surfing_tone4:': '🏄🏾', ':surfer_tone5:': '🏄🏿', ':person_surfing_tone5:': '🏄🏿', ':swimmer_tone1:': '🏊🏻', ':person_swimming_tone1:': '🏊🏻', ':swimmer_tone2:': '🏊🏼', ':person_swimming_tone2:': '🏊🏼', ':swimmer_tone3:': '🏊🏽', ':person_swimming_tone3:': '🏊🏽', ':swimmer_tone4:': '🏊🏾', ':person_swimming_tone4:': '🏊🏾', ':swimmer_tone5:': '🏊🏿', ':person_swimming_tone5:': '🏊🏿', ':information_desk_person_tone1:': '💁🏻', ':person_tipping_hand_tone1:': '💁🏻', ':information_desk_person_tone2:': '💁🏼', ':person_tipping_hand_tone2:': '💁🏼', ':information_desk_person_tone3:': '💁🏽', ':person_tipping_hand_tone3:': '💁🏽', ':information_desk_person_tone4:': '💁🏾', ':person_tipping_hand_tone4:': '💁🏾', ':information_desk_person_tone5:': '💁🏿', ':person_tipping_hand_tone5:': '💁🏿', ':walking_tone1:': '🚶🏻', ':person_walking_tone1:': '🚶🏻', ':walking_tone2:': '🚶🏼', ':person_walking_tone2:': '🚶🏼', ':walking_tone3:': '🚶🏽', ':person_walking_tone3:': '🚶🏽', ':walking_tone4:': '🚶🏾', ':person_walking_tone4:': '🚶🏾', ':walking_tone5:': '🚶🏿', ':person_walking_tone5:': '🚶🏿', ':man_with_turban_tone1:': '👳🏻', ':person_wearing_turban_tone1:': '👳🏻', ':man_with_turban_tone2:': '👳🏼', ':person_wearing_turban_tone2:': '👳🏼', ':man_with_turban_tone3:': '👳🏽', ':person_wearing_turban_tone3:': '👳🏽', ':man_with_turban_tone4:': '👳🏾', ':person_wearing_turban_tone4:': '👳🏾', ':man_with_turban_tone5:': '👳🏿', ':person_wearing_turban_tone5:': '👳🏿', ':pinching_hand_light_skin_tone:': '🤏🏻', ':pinching_hand_tone1:': '🤏🏻', ':pinching_hand_medium_light_skin_tone:': '🤏🏼', ':pinching_hand_tone2:': '🤏🏼', ':pinching_hand_medium_skin_tone:': '🤏🏽', ':pinching_hand_tone3:': '🤏🏽', ':pinching_hand_medium_dark_skin_tone:': '🤏🏾', ':pinching_hand_tone4:': '🤏🏾', ':pinching_hand_dark_skin_tone:': '🤏🏿', ':pinching_hand_tone5:': '🤏🏿', ':point_down_tone1:': '👇🏻', ':point_down_tone2:': '👇🏼', ':point_down_tone3:': '👇🏽', ':point_down_tone4:': '👇🏾', ':point_down_tone5:': '👇🏿', ':point_left_tone1:': '👈🏻', ':point_left_tone2:': '👈🏼', ':point_left_tone3:': '👈🏽', ':point_left_tone4:': '👈🏾', ':point_left_tone5:': '👈🏿', ':point_right_tone1:': '👉🏻', ':point_right_tone2:': '👉🏼', ':point_right_tone3:': '👉🏽', ':point_right_tone4:': '👉🏾', ':point_right_tone5:': '👉🏿', ':point_up_2_tone1:': '👆🏻', ':point_up_2_tone2:': '👆🏼', ':point_up_2_tone3:': '👆🏽', ':point_up_2_tone4:': '👆🏾', ':point_up_2_tone5:': '👆🏿', ':cop_tone1:': '👮🏻', ':police_officer_tone1:': '👮🏻', ':cop_tone2:': '👮🏼', ':police_officer_tone2:': '👮🏼', ':cop_tone3:': '👮🏽', ':police_officer_tone3:': '👮🏽', ':cop_tone4:': '👮🏾', ':police_officer_tone4:': '👮🏾', ':cop_tone5:': '👮🏿', ':police_officer_tone5:': '👮🏿', ':pray_tone1:': '🙏🏻', ':pray_tone2:': '🙏🏼', ':pray_tone3:': '🙏🏽', ':pray_tone4:': '🙏🏾', ':pray_tone5:': '🙏🏿', ':expecting_woman_tone1:': '🤰🏻', ':pregnant_woman_tone1:': '🤰🏻', ':expecting_woman_tone2:': '🤰🏼', ':pregnant_woman_tone2:': '🤰🏼', ':expecting_woman_tone3:': '🤰🏽', ':pregnant_woman_tone3:': '🤰🏽', ':expecting_woman_tone4:': '🤰🏾', ':pregnant_woman_tone4:': '🤰🏾', ':expecting_woman_tone5:': '🤰🏿', ':pregnant_woman_tone5:': '🤰🏿', ':prince_tone1:': '🤴🏻', ':prince_tone2:': '🤴🏼', ':prince_tone3:': '🤴🏽', ':prince_tone4:': '🤴🏾', ':prince_tone5:': '🤴🏿', ':princess_tone1:': '👸🏻', ':princess_tone2:': '👸🏼', ':princess_tone3:': '👸🏽', ':princess_tone4:': '👸🏾', ':princess_tone5:': '👸🏿', ':punch_tone1:': '👊🏻', ':punch_tone2:': '👊🏼', ':punch_tone3:': '👊🏽', ':punch_tone4:': '👊🏾', ':punch_tone5:': '👊🏿', ':gay_pride_flag:': '🏳️‍🌈', ':rainbow_flag:': '🏳️‍🌈', ':back_of_hand_tone1:': '🤚🏻', ':raised_back_of_hand_tone1:': '🤚🏻', ':back_of_hand_tone2:': '🤚🏼', ':raised_back_of_hand_tone2:': '🤚🏼', ':back_of_hand_tone3:': '🤚🏽', ':raised_back_of_hand_tone3:': '🤚🏽', ':back_of_hand_tone4:': '🤚🏾', ':raised_back_of_hand_tone4:': '🤚🏾', ':back_of_hand_tone5:': '🤚🏿', ':raised_back_of_hand_tone5:': '🤚🏿', ':raised_hands_tone1:': '🙌🏻', ':raised_hands_tone2:': '🙌🏼', ':raised_hands_tone3:': '🙌🏽', ':raised_hands_tone4:': '🙌🏾', ':raised_hands_tone5:': '🙌🏿', ':right_fist_tone1:': '🤜🏻', ':right_facing_fist_tone1:': '🤜🏻', ':right_fist_tone2:': '🤜🏼', ':right_facing_fist_tone2:': '🤜🏼', ':right_fist_tone3:': '🤜🏽', ':right_facing_fist_tone3:': '🤜🏽', ':right_fist_tone4:': '🤜🏾', ':right_facing_fist_tone4:': '🤜🏾', ':right_fist_tone5:': '🤜🏿', ':right_facing_fist_tone5:': '🤜🏿', ':santa_tone1:': '🎅🏻', ':santa_tone2:': '🎅🏼', ':santa_tone3:': '🎅🏽', ':santa_tone4:': '🎅🏾', ':santa_tone5:': '🎅🏿', ':selfie_tone1:': '🤳🏻', ':selfie_tone2:': '🤳🏼', ':selfie_tone3:': '🤳🏽', ':selfie_tone4:': '🤳🏾', ':selfie_tone5:': '🤳🏿', ':service_dog:': '🐕‍🦺', ':snowboarder_light_skin_tone:': '🏂🏻', ':snowboarder_tone1:': '🏂🏻', ':snowboarder_medium_light_skin_tone:': '🏂🏼', ':snowboarder_tone2:': '🏂🏼', ':snowboarder_medium_skin_tone:': '🏂🏽', ':snowboarder_tone3:': '🏂🏽', ':snowboarder_medium_dark_skin_tone:': '🏂🏾', ':snowboarder_tone4:': '🏂🏾', ':snowboarder_dark_skin_tone:': '🏂🏿', ':snowboarder_tone5:': '🏂🏿', ':superhero_light_skin_tone:': '🦸🏻', ':superhero_tone1:': '🦸🏻', ':superhero_medium_light_skin_tone:': '🦸🏼', ':superhero_tone2:': '🦸🏼', ':superhero_medium_skin_tone:': '🦸🏽', ':superhero_tone3:': '🦸🏽', ':superhero_medium_dark_skin_tone:': '🦸🏾', ':superhero_tone4:': '🦸🏾', ':superhero_dark_skin_tone:': '🦸🏿', ':superhero_tone5:': '🦸🏿', ':supervillain_light_skin_tone:': '🦹🏻', ':supervillain_tone1:': '🦹🏻', ':supervillain_medium_light_skin_tone:': '🦹🏼', ':supervillain_tone2:': '🦹🏼', ':supervillain_medium_skin_tone:': '🦹🏽', ':supervillain_tone3:': '🦹🏽', ':supervillain_medium_dark_skin_tone:': '🦹🏾', ':supervillain_tone4:': '🦹🏾', ':supervillain_dark_skin_tone:': '🦹🏿', ':supervillain_tone5:': '🦹🏿', ':-1_tone1:': '👎🏻', ':thumbdown_tone1:': '👎🏻', ':thumbsdown_tone1:': '👎🏻', ':-1_tone2:': '👎🏼', ':thumbdown_tone2:': '👎🏼', ':thumbsdown_tone2:': '👎🏼', ':-1_tone3:': '👎🏽', ':thumbdown_tone3:': '👎🏽', ':thumbsdown_tone3:': '👎🏽', ':-1_tone4:': '👎🏾', ':thumbdown_tone4:': '👎🏾', ':thumbsdown_tone4:': '👎🏾', ':-1_tone5:': '👎🏿', ':thumbdown_tone5:': '👎🏿', ':thumbsdown_tone5:': '👎🏿', ':+1_tone1:': '👍🏻', ':thumbup_tone1:': '👍🏻', ':thumbsup_tone1:': '👍🏻', ':+1_tone2:': '👍🏼', ':thumbup_tone2:': '👍🏼', ':thumbsup_tone2:': '👍🏼', ':+1_tone3:': '👍🏽', ':thumbup_tone3:': '👍🏽', ':thumbsup_tone3:': '👍🏽', ':+1_tone4:': '👍🏾', ':thumbup_tone4:': '👍🏾', ':thumbsup_tone4:': '👍🏾', ':+1_tone5:': '👍🏿', ':thumbup_tone5:': '👍🏿', ':thumbsup_tone5:': '👍🏿', ':united_nations:': '🇺🇳', ':vampire_light_skin_tone:': '🧛🏻', ':vampire_tone1:': '🧛🏻', ':vampire_medium_light_skin_tone:': '🧛🏼', ':vampire_tone2:': '🧛🏼', ':vampire_medium_skin_tone:': '🧛🏽', ':vampire_tone3:': '🧛🏽', ':vampire_medium_dark_skin_tone:': '🧛🏾', ':vampire_tone4:': '🧛🏾', ':vampire_dark_skin_tone:': '🧛🏿', ':vampire_tone5:': '🧛🏿', ':raised_hand_with_part_between_middle_and_ring_fingers_tone1:': '🖖🏻', ':vulcan_tone1:': '🖖🏻', ':raised_hand_with_part_between_middle_and_ring_fingers_tone2:': '🖖🏼', ':vulcan_tone2:': '🖖🏼', ':raised_hand_with_part_between_middle_and_ring_fingers_tone3:': '🖖🏽', ':vulcan_tone3:': '🖖🏽', ':raised_hand_with_part_between_middle_and_ring_fingers_tone4:': '🖖🏾', ':vulcan_tone4:': '🖖🏾', ':raised_hand_with_part_between_middle_and_ring_fingers_tone5:': '🖖🏿', ':vulcan_tone5:': '🖖🏿', ':wave_tone1:': '👋🏻', ':wave_tone2:': '👋🏼', ':wave_tone3:': '👋🏽', ':wave_tone4:': '👋🏾', ':wave_tone5:': '👋🏿', ':woman_and_man_holding_hands_light_skin_tone:': '👫🏻', ':woman_and_man_holding_hands_tone1:': '👫🏻', ':woman_and_man_holding_hands_medium_light_skin_tone:': '👫🏼', ':woman_and_man_holding_hands_tone2:': '👫🏼', ':woman_and_man_holding_hands_medium_skin_tone:': '👫🏽', ':woman_and_man_holding_hands_tone3:': '👫🏽', ':woman_and_man_holding_hands_medium_dark_skin_tone:': '👫🏾', ':woman_and_man_holding_hands_tone4:': '👫🏾', ':woman_and_man_holding_hands_dark_skin_tone:': '👫🏿', ':woman_and_man_holding_hands_tone5:': '👫🏿', ':woman_artist:': '👩‍🎨', ':woman_astronaut:': '👩‍🚀', ':woman_bald:': '👩‍🦲', ':woman_cook:': '👩‍🍳', ':woman_curly_haired:': '👩‍🦱', ':woman_factory_worker:': '👩‍🏭', ':woman_farmer:': '👩‍🌾', ':woman_firefighter:': '👩‍🚒', ':woman_in_manual_wheelchair:': '👩‍🦽', ':woman_in_motorized_wheelchair:': '👩‍🦼', ':woman_mechanic:': '👩‍🔧', ':woman_office_worker:': '👩‍💼', ':woman_red_haired:': '👩‍🦰', ':woman_scientist:': '👩‍🔬', ':woman_singer:': '👩‍🎤', ':woman_student:': '👩‍🎓', ':woman_teacher:': '👩‍🏫', ':woman_technologist:': '👩‍💻', ':woman_tone1:': '👩🏻', ':woman_tone2:': '👩🏼', ':woman_tone3:': '👩🏽', ':woman_tone4:': '👩🏾', ':woman_tone5:': '👩🏿', ':woman_white_haired:': '👩‍🦳', ':woman_with_headscarf_light_skin_tone:': '🧕🏻', ':woman_with_headscarf_tone1:': '🧕🏻', ':woman_with_headscarf_medium_light_skin_tone:': '🧕🏼', ':woman_with_headscarf_tone2:': '🧕🏼', ':woman_with_headscarf_medium_skin_tone:': '🧕🏽', ':woman_with_headscarf_tone3:': '🧕🏽', ':woman_with_headscarf_medium_dark_skin_tone:': '🧕🏾', ':woman_with_headscarf_tone4:': '🧕🏾', ':woman_with_headscarf_dark_skin_tone:': '🧕🏿', ':woman_with_headscarf_tone5:': '🧕🏿', ':woman_with_probing_cane:': '👩‍🦯', ':women_holding_hands_light_skin_tone:': '👭🏻', ':women_holding_hands_tone1:': '👭🏻', ':women_holding_hands_medium_light_skin_tone:': '👭🏼', ':women_holding_hands_tone2:': '👭🏼', ':women_holding_hands_medium_skin_tone:': '👭🏽', ':women_holding_hands_tone3:': '👭🏽', ':women_holding_hands_medium_dark_skin_tone:': '👭🏾', ':women_holding_hands_tone4:': '👭🏾', ':women_holding_hands_dark_skin_tone:': '👭🏿', ':women_holding_hands_tone5:': '👭🏿', ':blond-haired_man:': '👱‍♂️', ':blond-haired_woman:': '👱‍♀️', ':deaf_man:': '🧏‍♂️', ':deaf_woman:': '🧏‍♀️', ':fist_tone1:': '✊🏻', ':fist_tone2:': '✊🏼', ':fist_tone3:': '✊🏽', ':fist_tone4:': '✊🏾', ':fist_tone5:': '✊🏿', ':man_biking:': '🚴‍♂️', ':man_bowing:': '🙇‍♂️', ':man_cartwheeling:': '🤸‍♂️', ':man_climbing:': '🧗‍♂️', ':man_construction_worker:': '👷‍♂️', ':man_detective:': '🕵️‍♂️', ':man_elf:': '🧝‍♂️', ':man_facepalming:': '🤦‍♂️', ':man_fairy:': '🧚‍♂️', ':man_frowning:': '🙍‍♂️', ':man_genie:': '🧞‍♂️', ':man_gesturing_no:': '🙅‍♂️', ':man_gesturing_ok:': '🙆‍♂️', ':man_getting_face_massage:': '💆‍♂️', ':man_getting_haircut:': '💇‍♂️', ':man_golfing:': '🏌️‍♂️', ':man_guard:': '💂‍♂️', ':man_health_worker:': '👨‍⚕️', ':man_in_lotus_position:': '🧘‍♂️', ':man_in_steamy_room:': '🧖‍♂️', ':man_judge:': '👨‍⚖️', ':man_juggling:': '🤹‍♂️', ':man_kneeling:': '🧎‍♂️', ':man_lifting_weights:': '🏋️‍♂️', ':man_mage:': '🧙‍♂️', ':man_mountain_biking:': '🚵‍♂️', ':man_pilot:': '👨‍✈️', ':man_playing_handball:': '🤾‍♂️', ':man_playing_water_polo:': '🤽‍♂️', ':man_police_officer:': '👮‍♂️', ':man_pouting:': '🙎‍♂️', ':man_raising_hand:': '🙋‍♂️', ':man_rowing_boat:': '🚣‍♂️', ':man_running:': '🏃‍♂️', ':man_shrugging:': '🤷‍♂️', ':man_standing:': '🧍‍♂️', ':man_superhero:': '🦸‍♂️', ':man_supervillain:': '🦹‍♂️', ':man_surfing:': '🏄‍♂️', ':man_swimming:': '🏊‍♂️', ':man_tipping_hand:': '💁‍♂️', ':man_vampire:': '🧛‍♂️', ':man_walking:': '🚶‍♂️', ':man_wearing_turban:': '👳‍♂️', ':man_zombie:': '🧟‍♂️', ':men_with_bunny_ears_partying:': '👯‍♂️', ':men_wrestling:': '🤼♂️', ':mermaid:': '🧜‍♀️', ':merman:': '🧜‍♂️', ':basketball_player_tone1:': '⛹️🏻', ':person_with_ball_tone1:': '⛹️🏻', ':person_bouncing_ball_tone1:': '⛹️🏻', ':basketball_player_tone2:': '⛹️🏼', ':person_with_ball_tone2:': '⛹️🏼', ':person_bouncing_ball_tone2:': '⛹️🏼', ':basketball_player_tone3:': '⛹️🏽', ':person_with_ball_tone3:': '⛹️🏽', ':person_bouncing_ball_tone3:': '⛹️🏽', ':basketball_player_tone4:': '⛹️🏾', ':person_with_ball_tone4:': '⛹️🏾', ':person_bouncing_ball_tone4:': '⛹️🏾', ':basketball_player_tone5:': '⛹️🏿', ':person_with_ball_tone5:': '⛹️🏿', ':person_bouncing_ball_tone5:': '⛹️🏿', ':pirate_flag:': '🏴‍☠️', ':point_up_tone1:': '☝️🏻', ':point_up_tone2:': '☝️🏼', ':point_up_tone3:': '☝️🏽', ':point_up_tone4:': '☝️🏾', ':point_up_tone5:': '☝️🏿', ':raised_hand_tone1:': '✋🏻', ':raised_hand_tone2:': '✋🏼', ':raised_hand_tone3:': '✋🏽', ':raised_hand_tone4:': '✋🏾', ':raised_hand_tone5:': '✋🏿', ':v_tone1:': '✌️🏻', ':v_tone2:': '✌️🏼', ':v_tone3:': '✌️🏽', ':v_tone4:': '✌️🏾', ':v_tone5:': '✌️🏿', ':woman_biking:': '🚴‍♀️', ':woman_bowing:': '🙇‍♀️', ':woman_cartwheeling:': '🤸‍♀️', ':woman_climbing:': '🧗‍♀️', ':woman_construction_worker:': '👷‍♀️', ':woman_detective:': '🕵️‍♀️', ':woman_elf:': '🧝‍♀️', ':woman_facepalming:': '🤦‍♀️', ':woman_fairy:': '🧚‍♀️', ':woman_frowning:': '🙍‍♀️', ':woman_genie:': '🧞‍♀️', ':woman_gesturing_no:': '🙅‍♀️', ':woman_gesturing_ok:': '🙆‍♀️', ':woman_getting_face_massage:': '💆‍♀️', ':woman_getting_haircut:': '💇‍♀️', ':woman_golfing:': '🏌️‍♀️', ':woman_guard:': '💂‍♀️', ':woman_health_worker:': '👩‍⚕️', ':woman_in_lotus_position:': '🧘‍♀️', ':woman_in_steamy_room:': '🧖‍♀️', ':woman_judge:': '👩‍⚖️', ':woman_juggling:': '🤹‍♀️', ':woman_kneeling:': '🧎‍♀️', ':woman_lifting_weights:': '🏋️‍♀️', ':woman_mage:': '🧙‍♀️', ':woman_mountain_biking:': '🚵‍♀️', ':woman_pilot:': '👩‍✈️', ':woman_playing_handball:': '🤾‍♀️', ':woman_playing_water_polo:': '🤽‍♀️', ':woman_police_officer:': '👮‍♀️', ':woman_pouting:': '🙎‍♀️', ':woman_raising_hand:': '🙋‍♀️', ':woman_rowing_boat:': '🚣‍♀️', ':woman_running:': '🏃‍♀️', ':woman_shrugging:': '🤷‍♀️', ':woman_standing:': '🧍‍♀️', ':woman_superhero:': '🦸‍♀️', ':woman_supervillain:': '🦹‍♀️', ':woman_surfing:': '🏄‍♀️', ':woman_swimming:': '🏊‍♀️', ':woman_tipping_hand:': '💁‍♀️', ':woman_vampire:': '🧛‍♀️', ':woman_walking:': '🚶‍♀️', ':woman_wearing_turban:': '👳‍♀️', ':woman_zombie:': '🧟‍♀️', ':women_with_bunny_ears_partying:': '👯‍♀️', ':women_wrestling:': '🤼♀️', ':writing_hand_tone1:': '✍️🏻', ':writing_hand_tone2:': '✍️🏼', ':writing_hand_tone3:': '✍️🏽', ':writing_hand_tone4:': '✍️🏾', ':writing_hand_tone5:': '✍️🏿', ':keycap_asterisk:': '*️⃣', ':asterisk:': '*️⃣', ':eight:': '8️⃣', ':five:': '5️⃣', ':four:': '4️⃣', ':hash:': '#️⃣', ':man_bouncing_ball:': '⛹️‍♂️', ':nine:': '9️⃣', ':one:': '1️⃣', ':seven:': '7️⃣', ':six:': '6️⃣', ':three:': '3️⃣', ':two:': '2️⃣', ':woman_bouncing_ball:': '⛹️‍♀️', ':zero:': '0️⃣', ':100:': '💯', ':1234:': '🔢', ':8ball:': '🎱', ':a:': '🅰️', ':ab:': '🆎', ':abacus:': '🧮', ':abc:': '🔤', ':abcd:': '🔡', ':accept:': '🉑', ':adhesive_bandage:': '🩹', ':adult:': '🧑', ':aerial_tramway:': '🚡', ':airplane_arriving:': '🛬', ':airplane_departure:': '🛫', ':small_airplane:': '🛩️', ':airplane_small:': '🛩️', ':alien:': '👽', ':ambulance:': '🚑', ':amphora:': '🏺', ':angel:': '👼', ':anger:': '💢', ':right_anger_bubble:': '🗯️', ':anger_right:': '🗯️', ':angry:': '😠', ':anguished:': '😧', ':ant:': '🐜', ':apple:': '🍎', ':arrow_down_small:': '🔽', ':arrow_up_small:': '🔼', ':arrows_clockwise:': '🔃', ':arrows_counterclockwise:': '🔄', ':art:': '🎨', ':articulated_lorry:': '🚛', ':astonished:': '😲', ':athletic_shoe:': '👟', ':atm:': '🏧', ':auto_rickshaw:': '🛺', ':avocado:': '🥑', ':axe:': '🪓', ':b:': '🅱️', ':baby:': '👶', ':baby_bottle:': '🍼', ':baby_chick:': '🐤', ':baby_symbol:': '🚼', ':back:': '🔙', ':bacon:': '🥓', ':badger:': '🦡', ':badminton:': '🏸', ':bagel:': '🥯', ':baggage_claim:': '🛄', ':bald:': '🦲', ':ballet_shoes:': '🩰', ':balloon:': '🎈', ':ballot_box_with_ballot:': '🗳️', ':ballot_box:': '🗳️', ':bamboo:': '🎍', ':banana:': '🍌', ':banjo:': '🪕', ':bank:': '🏦', ':bar_chart:': '📊', ':barber:': '💈', ':basket:': '🧺', ':basketball:': '🏀', ':bat:': '🦇', ':bath:': '🛀', ':bathtub:': '🛁', ':battery:': '🔋', ':beach_with_umbrella:': '🏖️', ':beach:': '🏖️', ':bear:': '🐻', ':bearded_person:': '🧔', ':bed:': '🛏️', ':bee:': '🐝', ':beer:': '🍺', ':beers:': '🍻', ':beetle:': '🐞', ':beginner:': '🔰', ':bell:': '🔔', ':bellhop_bell:': '🛎️', ':bellhop:': '🛎️', ':bento:': '🍱', ':beverage_box:': '🧃', ':bike:': '🚲', ':bikini:': '👙', ':billed_cap:': '🧢', ':bird:': '🐦', ':birthday:': '🎂', ':black_heart:': '🖤', ':black_joker:': '🃏', ':black_square_button:': '🔲', ':person_with_blond_hair:': '👱', ':blond_haired_person:': '👱', ':blossom:': '🌼', ':blowfish:': '🐡', ':blue_book:': '📘', ':blue_car:': '🚙', ':blue_circle:': '🔵', ':blue_heart:': '💙', ':blue_square:': '🟦', ':blush:': '😊', ':boar:': '🐗', ':bomb:': '💣', ':bone:': '🦴', ':book:': '📖', ':bookmark:': '🔖', ':bookmark_tabs:': '📑', ':books:': '📚', ':boom:': '💥', ':boot:': '👢', ':bouquet:': '💐', ':archery:': '🏹', ':bow_and_arrow:': '🏹', ':bowl_with_spoon:': '🥣', ':bowling:': '🎳', ':boxing_gloves:': '🥊', ':boxing_glove:': '🥊', ':boy:': '👦', ':brain:': '🧠', ':bread:': '🍞', ':breast_feeding:': '🤱', ':bricks:': '🧱', ':bride_with_veil:': '👰', ':bridge_at_night:': '🌉', ':briefcase:': '💼', ':briefs:': '🩲', ':broccoli:': '🥦', ':broken_heart:': '💔', ':broom:': '🧹', ':brown_circle:': '🟤', ':brown_heart:': '🤎', ':brown_square:': '🟫', ':bug:': '🐛', ':bulb:': '💡', ':bullettrain_front:': '🚅', ':bullettrain_side:': '🚄', ':burrito:': '🌯', ':bus:': '🚌', ':busstop:': '🚏', ':bust_in_silhouette:': '👤', ':busts_in_silhouette:': '👥', ':butter:': '🧈', ':butterfly:': '🦋', ':cactus:': '🌵', ':cake:': '🍰', ':calendar:': '📆', ':spiral_calendar_pad:': '🗓️', ':calendar_spiral:': '🗓️', ':call_me_hand:': '🤙', ':call_me:': '🤙', ':calling:': '📲', ':camel:': '🐫', ':camera:': '📷', ':camera_with_flash:': '📸', ':camping:': '🏕️', ':candle:': '🕯️', ':candy:': '🍬', ':canned_food:': '🥫', ':kayak:': '🛶', ':canoe:': '🛶', ':capital_abcd:': '🔠', ':card_file_box:': '🗃️', ':card_box:': '🗃️', ':card_index:': '📇', ':carousel_horse:': '🎠', ':carrot:': '🥕', ':cat2:': '🐈', ':cat:': '🐱', ':cd:': '💿', ':chair:': '🪑', ':bottle_with_popping_cork:': '🍾', ':champagne:': '🍾', ':clinking_glass:': '🥂', ':champagne_glass:': '🥂', ':chart:': '💹', ':chart_with_downwards_trend:': '📉', ':chart_with_upwards_trend:': '📈', ':checkered_flag:': '🏁', ':cheese_wedge:': '🧀', ':cheese:': '🧀', ':cherries:': '🍒', ':cherry_blossom:': '🌸', ':chestnut:': '🌰', ':chicken:': '🐔', ':child:': '🧒', ':children_crossing:': '🚸', ':chipmunk:': '🐿️', ':chocolate_bar:': '🍫', ':chopsticks:': '🥢', ':christmas_tree:': '🎄', ':cinema:': '🎦', ':circus_tent:': '🎪', ':city_dusk:': '🌆', ':city_sunrise:': '🌇', ':city_sunset:': '🌇', ':cityscape:': '🏙️', ':cl:': '🆑', ':clap:': '👏', ':clapper:': '🎬', ':classical_building:': '🏛️', ':clipboard:': '📋', ':clock1030:': '🕥', ':clock10:': '🕙', ':clock1130:': '🕦', ':clock11:': '🕚', ':clock1230:': '🕧', ':clock12:': '🕛', ':clock130:': '🕜', ':clock1:': '🕐', ':clock230:': '🕝', ':clock2:': '🕑', ':clock330:': '🕞', ':clock3:': '🕒', ':clock430:': '🕟', ':clock4:': '🕓', ':clock530:': '🕠', ':clock5:': '🕔', ':clock630:': '🕡', ':clock6:': '🕕', ':clock730:': '🕢', ':clock7:': '🕖', ':clock830:': '🕣', ':clock8:': '🕗', ':clock930:': '🕤', ':clock9:': '🕘', ':mantlepiece_clock:': '🕰️', ':clock:': '🕰️', ':closed_book:': '📕', ':closed_lock_with_key:': '🔐', ':closed_umbrella:': '🌂', ':cloud_with_lightning:': '🌩️', ':cloud_lightning:': '🌩️', ':cloud_with_rain:': '🌧️', ':cloud_rain:': '🌧️', ':cloud_with_snow:': '🌨️', ':cloud_snow:': '🌨️', ':cloud_with_tornado:': '🌪️', ':cloud_tornado:': '🌪️', ':clown_face:': '🤡', ':clown:': '🤡', ':coat:': '🧥', ':cocktail:': '🍸', ':coconut:': '🥥', ':cold_face:': '🥶', ':cold_sweat:': '😰', ':compass:': '🧭', ':compression:': '🗜️', ':computer:': '💻', ':confetti_ball:': '🎊', ':confounded:': '😖', ':confused:': '😕', ':construction:': '🚧', ':building_construction:': '🏗️', ':construction_site:': '🏗️', ':construction_worker:': '👷', ':control_knobs:': '🎛️', ':convenience_store:': '🏪', ':cookie:': '🍪', ':cooking:': '🍳', ':cool:': '🆒', ':corn:': '🌽', ':couch_and_lamp:': '🛋️', ':couch:': '🛋️', ':couple:': '👫', ':couple_with_heart:': '💑', ':couplekiss:': '💏', ':cow2:': '🐄', ':cow:': '🐮', ':face_with_cowboy_hat:': '🤠', ':cowboy:': '🤠', ':crab:': '🦀', ':lower_left_crayon:': '🖍️', ':crayon:': '🖍️', ':credit_card:': '💳', ':crescent_moon:': '🌙', ':cricket:': '🦗', ':cricket_bat_ball:': '🏏', ':cricket_game:': '🏏', ':crocodile:': '🐊', ':croissant:': '🥐', ':crossed_flags:': '🎌', ':crown:': '👑', ':passenger_ship:': '🛳️', ':cruise_ship:': '🛳️', ':cry:': '😢', ':crying_cat_face:': '😿', ':crystal_ball:': '🔮', ':cucumber:': '🥒', ':cup_with_straw:': '🥤', ':cupcake:': '🧁', ':cupid:': '💘', ':curling_stone:': '🥌', ':curly_haired:': '🦱', ':currency_exchange:': '💱', ':curry:': '🍛', ':pudding:': '🍮', ':flan:': '🍮', ':custard:': '🍮', ':customs:': '🛃', ':cut_of_meat:': '🥩', ':cyclone:': '🌀', ':dagger_knife:': '🗡️', ':dagger:': '🗡️', ':dancer:': '💃', ':dango:': '🍡', ':dark_sunglasses:': '🕶️', ':dart:': '🎯', ':dash:': '💨', ':date:': '📅', ':deaf_person:': '🧏', ':deciduous_tree:': '🌳', ':deer:': '🦌', ':department_store:': '🏬', ':desert:': '🏜️', ':desktop_computer:': '🖥️', ':desktop:': '🖥️', ':spy:': '🕵️', ':sleuth_or_spy:': '🕵️', ':detective:': '🕵️', ':diamond_shape_with_a_dot_inside:': '💠', ':disappointed:': '😞', ':disappointed_relieved:': '😥', ':card_index_dividers:': '🗂️', ':dividers:': '🗂️', ':diving_mask:': '🤿', ':diya_lamp:': '🪔', ':dizzy:': '💫', ':dizzy_face:': '😵', ':dna:': '🧬', ':do_not_litter:': '🚯', ':dog2:': '🐕', ':dog:': '🐶', ':dollar:': '💵', ':dolls:': '🎎', ':dolphin:': '🐬', ':door:': '🚪', ':doughnut:': '🍩', ':dove_of_peace:': '🕊️', ':dove:': '🕊️', ':dragon:': '🐉', ':dragon_face:': '🐲', ':dress:': '👗', ':dromedary_camel:': '🐪', ':drool:': '🤤', ':drooling_face:': '🤤', ':drop_of_blood:': '🩸', ':droplet:': '💧', ':drum_with_drumsticks:': '🥁', ':drum:': '🥁', ':duck:': '🦆', ':dumpling:': '🥟', ':dvd:': '📀', ':email:': '📧', ':e-mail:': '📧', ':eagle:': '🦅', ':ear:': '👂', ':ear_of_rice:': '🌾', ':ear_with_hearing_aid:': '🦻', ':earth_africa:': '🌍', ':earth_americas:': '🌎', ':earth_asia:': '🌏', ':egg:': '🥚', ':eggplant:': '🍆', ':electric_plug:': '🔌', ':elephant:': '🐘', ':elf:': '🧝', ':end:': '🔚', ':envelope_with_arrow:': '📩', ':euro:': '💶', ':european_castle:': '🏰', ':european_post_office:': '🏤', ':evergreen_tree:': '🌲', ':exploding_head:': '🤯', ':expressionless:': '😑', ':eye:': '👁️', ':eyeglasses:': '👓', ':eyes:': '👀', ':face_vomiting:': '🤮', ':face_with_hand_over_mouth:': '🤭', ':face_with_monocle:': '🧐', ':face_with_raised_eyebrow:': '🤨', ':face_with_symbols_over_mouth:': '🤬', ':factory:': '🏭', ':fairy:': '🧚', ':falafel:': '🧆', ':fallen_leaf:': '🍂', ':family:': '👪', ':fax:': '📠', ':fearful:': '😨', ':paw_prints:': '🐾', ':feet:': '🐾', ':ferris_wheel:': '🎡', ':field_hockey:': '🏑', ':file_cabinet:': '🗄️', ':file_folder:': '📁', ':film_frames:': '🎞️', ':hand_with_index_and_middle_finger_crossed:': '🤞', ':fingers_crossed:': '🤞', ':flame:': '🔥', ':fire:': '🔥', ':fire_engine:': '🚒', ':fire_extinguisher:': '🧯', ':firecracker:': '🧨', ':fireworks:': '🎆', ':first_place_medal:': '🥇', ':first_place:': '🥇', ':first_quarter_moon:': '🌓', ':first_quarter_moon_with_face:': '🌛', ':fish:': '🐟', ':fish_cake:': '🍥', ':fishing_pole_and_fish:': '🎣', ':waving_black_flag:': '🏴', ':flag_black:': '🏴', ':waving_white_flag:': '🏳️', ':flag_white:': '🏳️', ':flags:': '🎏', ':flamingo:': '🦩', ':flashlight:': '🔦', ':floppy_disk:': '💾', ':flower_playing_cards:': '🎴', ':flushed:': '😳', ':flying_disc:': '🥏', ':flying_saucer:': '🛸', ':fog:': '🌫️', ':foggy:': '🌁', ':foot:': '🦶', ':football:': '🏈', ':footprints:': '👣', ':fork_and_knife:': '🍴', ':fork_and_knife_with_plate:': '🍽️', ':fork_knife_plate:': '🍽️', ':fortune_cookie:': '🥠', ':four_leaf_clover:': '🍀', ':fox_face:': '🦊', ':fox:': '🦊', ':frame_with_picture:': '🖼️', ':frame_photo:': '🖼️', ':free:': '🆓', ':baguette_bread:': '🥖', ':french_bread:': '🥖', ':fried_shrimp:': '🍤', ':fries:': '🍟', ':frog:': '🐸', ':frowning:': '😦', ':full_moon:': '🌕', ':full_moon_with_face:': '🌝', ':game_die:': '🎲', ':garlic:': '🧄', ':gem:': '💎', ':genie:': '🧞', ':ghost:': '👻', ':gift:': '🎁', ':gift_heart:': '💝', ':giraffe:': '🦒', ':girl:': '👧', ':globe_with_meridians:': '🌐', ':gloves:': '🧤', ':goal_net:': '🥅', ':goal:': '🥅', ':goat:': '🐐', ':goggles:': '🥽', ':gorilla:': '🦍', ':grapes:': '🍇', ':green_apple:': '🍏', ':green_book:': '📗', ':green_circle:': '🟢', ':green_heart:': '💚', ':green_square:': '🟩', ':grimacing:': '😬', ':grin:': '😁', ':grinning:': '😀', ':guardsman:': '💂', ':guard:': '💂', ':guide_dog:': '🦮', ':guitar:': '🎸', ':gun:': '🔫', ':hamburger:': '🍔', ':hammer:': '🔨', ':hamster:': '🐹', ':raised_hand_with_fingers_splayed:': '🖐️', ':hand_splayed:': '🖐️', ':handbag:': '👜', ':shaking_hands:': '🤝', ':handshake:': '🤝', ':hatched_chick:': '🐥', ':hatching_chick:': '🐣', ':face_with_head_bandage:': '🤕', ':head_bandage:': '🤕', ':headphones:': '🎧', ':hear_no_evil:': '🙉', ':heart_decoration:': '💟', ':heart_eyes:': '😍', ':heart_eyes_cat:': '😻', ':heartbeat:': '💓', ':heartpulse:': '💗', ':heavy_dollar_sign:': '💲', ':hedgehog:': '🦔', ':helicopter:': '🚁', ':herb:': '🌿', ':hibiscus:': '🌺', ':high_brightness:': '🔆', ':high_heel:': '👠', ':hiking_boot:': '🥾', ':hindu_temple:': '🛕', ':hippopotamus:': '🦛', ':hockey:': '🏒', ':hole:': '🕳️', ':house_buildings:': '🏘️', ':homes:': '🏘️', ':honey_pot:': '🍯', ':horse:': '🐴', ':horse_racing:': '🏇', ':hospital:': '🏥', ':hot_face:': '🥵', ':hot_pepper:': '🌶️', ':hot_dog:': '🌭', ':hotdog:': '🌭', ':hotel:': '🏨', ':house:': '🏠', ':derelict_house_building:': '🏚️', ':house_abandoned:': '🏚️', ':house_with_garden:': '🏡', ':hugging_face:': '🤗', ':hugging:': '🤗', ':hushed:': '😯', ':ice_cream:': '🍨', ':ice_cube:': '🧊', ':icecream:': '🍦', ':id:': '🆔', ':ideograph_advantage:': '🉐', ':imp:': '👿', ':inbox_tray:': '📥', ':incoming_envelope:': '📨', ':innocent:': '😇', ':iphone:': '📱', ':desert_island:': '🏝️', ':island:': '🏝️', ':izakaya_lantern:': '🏮', ':jack_o_lantern:': '🎃', ':japan:': '🗾', ':japanese_castle:': '🏯', ':japanese_goblin:': '👺', ':japanese_ogre:': '👹', ':jeans:': '👖', ':jigsaw:': '🧩', ':joy:': '😂', ':joy_cat:': '😹', ':joystick:': '🕹️', ':kaaba:': '🕋', ':kangaroo:': '🦘', ':old_key:': '🗝️', ':key2:': '🗝️', ':key:': '🔑', ':keycap_ten:': '🔟', ':kimono:': '👘', ':kiss:': '💋', ':kissing:': '😗', ':kissing_cat:': '😽', ':kissing_closed_eyes:': '😚', ':kissing_heart:': '😘', ':kissing_smiling_eyes:': '😙', ':kite:': '🪁', ':kiwifruit:': '🥝', ':kiwi:': '🥝', ':knife:': '🔪', ':koala:': '🐨', ':koko:': '🈁', ':lab_coat:': '🥼', ':label:': '🏷️', ':lacrosse:': '🥍', ':large_blue_diamond:': '🔷', ':large_orange_diamond:': '🔶', ':last_quarter_moon:': '🌗', ':last_quarter_moon_with_face:': '🌜', ':satisfied:': '😆', ':laughing:': '😆', ':leafy_green:': '🥬', ':leaves:': '🍃', ':ledger:': '📒', ':left_fist:': '🤛', ':left_facing_fist:': '🤛', ':left_luggage:': '🛅', ':leg:': '🦵', ':lemon:': '🍋', ':leopard:': '🐆', ':level_slider:': '🎚️', ':man_in_business_suit_levitating:': '🕴️', ':levitate:': '🕴️', ':light_rail:': '🚈', ':link:': '🔗', ':lion:': '🦁', ':lion_face:': '🦁', ':lips:': '👄', ':lipstick:': '💄', ':lizard:': '🦎', ':llama:': '🦙', ':lobster:': '🦞', ':lock:': '🔒', ':lock_with_ink_pen:': '🔏', ':lollipop:': '🍭', ':loud_sound:': '🔊', ':loudspeaker:': '📢', ':love_hotel:': '🏩', ':love_letter:': '💌', ':love_you_gesture:': '🤟', ':low_brightness:': '🔅', ':luggage:': '🧳', ':liar:': '🤥', ':lying_face:': '🤥', ':mag:': '🔍', ':mag_right:': '🔎', ':mage:': '🧙', ':magnet:': '🧲', ':mahjong:': '🀄', ':mailbox:': '📫', ':mailbox_closed:': '📪', ':mailbox_with_mail:': '📬', ':mailbox_with_no_mail:': '📭', ':man:': '👨', ':male_dancer:': '🕺', ':man_dancing:': '🕺', ':man_in_tuxedo:': '🤵', ':man_with_gua_pi_mao:': '👲', ':man_with_chinese_cap:': '👲', ':mango:': '🥭', ':mans_shoe:': '👞', ':manual_wheelchair:': '🦽', ':world_map:': '🗺️', ':map:': '🗺️', ':maple_leaf:': '🍁', ':karate_uniform:': '🥋', ':martial_arts_uniform:': '🥋', ':mask:': '😷', ':mate:': '🧉', ':meat_on_bone:': '🍖', ':mechanical_arm:': '🦾', ':mechanical_leg:': '🦿', ':sports_medal:': '🏅', ':medal:': '🏅', ':mega:': '📣', ':melon:': '🍈', ':menorah:': '🕎', ':mens:': '🚹', ':merperson:': '🧜', ':sign_of_the_horns:': '🤘', ':metal:': '🤘', ':metro:': '🚇', ':microbe:': '🦠', ':studio_microphone:': '🎙️', ':microphone2:': '🎙️', ':microphone:': '🎤', ':microscope:': '🔬', ':reversed_hand_with_middle_finger_extended:': '🖕', ':middle_finger:': '🖕', ':military_medal:': '🎖️', ':glass_of_milk:': '🥛', ':milk:': '🥛', ':milky_way:': '🌌', ':minibus:': '🚐', ':minidisc:': '💽', ':mobile_phone_off:': '📴', ':money_mouth_face:': '🤑', ':money_mouth:': '🤑', ':money_with_wings:': '💸', ':moneybag:': '💰', ':monkey:': '🐒', ':monkey_face:': '🐵', ':monorail:': '🚝', ':moon_cake:': '🥮', ':mortar_board:': '🎓', ':mosque:': '🕌', ':mosquito:': '🦟', ':motorbike:': '🛵', ':motor_scooter:': '🛵', ':motorboat:': '🛥️', ':racing_motorcycle:': '🏍️', ':motorcycle:': '🏍️', ':motorized_wheelchair:': '🦼', ':motorway:': '🛣️', ':mount_fuji:': '🗻', ':mountain_cableway:': '🚠', ':mountain_railway:': '🚞', ':snow_capped_mountain:': '🏔️', ':mountain_snow:': '🏔️', ':mouse2:': '🐁', ':mouse:': '🐭', ':three_button_mouse:': '🖱️', ':mouse_three_button:': '🖱️', ':movie_camera:': '🎥', ':moyai:': '🗿', ':mother_christmas:': '🤶', ':mrs_claus:': '🤶', ':muscle:': '💪', ':mushroom:': '🍄', ':musical_keyboard:': '🎹', ':musical_note:': '🎵', ':musical_score:': '🎼', ':mute:': '🔇', ':nail_care:': '💅', ':name_badge:': '📛', ':sick:': '🤢', ':nauseated_face:': '🤢', ':nazar_amulet:': '🧿', ':necktie:': '👔', ':nerd_face:': '🤓', ':nerd:': '🤓', ':neutral_face:': '😐', ':new:': '🆕', ':new_moon:': '🌑', ':new_moon_with_face:': '🌚', ':rolled_up_newspaper:': '🗞️', ':newspaper2:': '🗞️', ':newspaper:': '📰', ':ng:': '🆖', ':night_with_stars:': '🌃', ':no_bell:': '🔕', ':no_bicycles:': '🚳', ':no_entry_sign:': '🚫', ':no_mobile_phones:': '📵', ':no_mouth:': '😶', ':no_pedestrians:': '🚷', ':no_smoking:': '🚭', ':non-potable_water:': '🚱', ':nose:': '👃', ':notebook:': '📓', ':notebook_with_decorative_cover:': '📔', ':spiral_note_pad:': '🗒️', ':notepad_spiral:': '🗒️', ':notes:': '🎶', ':nut_and_bolt:': '🔩', ':o2:': '🅾️', ':ocean:': '🌊', ':stop_sign:': '🛑', ':octagonal_sign:': '🛑', ':octopus:': '🐙', ':oden:': '🍢', ':office:': '🏢', ':oil_drum:': '🛢️', ':oil:': '🛢️', ':ok:': '🆗', ':ok_hand:': '👌', ':older_adult:': '🧓', ':older_man:': '👴', ':grandma:': '👵', ':older_woman:': '👵', ':om_symbol:': '🕉️', ':on:': '🔛', ':oncoming_automobile:': '🚘', ':oncoming_bus:': '🚍', ':oncoming_police_car:': '🚔', ':oncoming_taxi:': '🚖', ':one_piece_swimsuit:': '🩱', ':onion:': '🧅', ':open_file_folder:': '📂', ':open_hands:': '👐', ':open_mouth:': '😮', ':orange_book:': '📙', ':orange_circle:': '🟠', ':orange_heart:': '🧡', ':orange_square:': '🟧', ':orangutan:': '🦧', ':otter:': '🦦', ':outbox_tray:': '📤', ':owl:': '🦉', ':ox:': '🐂', ':oyster:': '🦪', ':package:': '📦', ':page_facing_up:': '📄', ':page_with_curl:': '📃', ':pager:': '📟', ':lower_left_paintbrush:': '🖌️', ':paintbrush:': '🖌️', ':palm_tree:': '🌴', ':palms_up_together:': '🤲', ':pancakes:': '🥞', ':panda_face:': '🐼', ':paperclip:': '📎', ':linked_paperclips:': '🖇️', ':paperclips:': '🖇️', ':parachute:': '🪂', ':national_park:': '🏞️', ':park:': '🏞️', ':parking:': '🅿️', ':parrot:': '🦜', ':partying_face:': '🥳', ':passport_control:': '🛂', ':peach:': '🍑', ':peacock:': '🦚', ':shelled_peanut:': '🥜', ':peanuts:': '🥜', ':pear:': '🍐', ':lower_left_ballpoint_pen:': '🖊️', ':pen_ballpoint:': '🖊️', ':lower_left_fountain_pen:': '🖋️', ':pen_fountain:': '🖋️', ':memo:': '📝', ':pencil:': '📝', ':penguin:': '🐧', ':pensive:': '😔', ':dancers:': '👯', ':people_with_bunny_ears_partying:': '👯', ':wrestlers:': '🤼', ':wrestling:': '🤼', ':people_wrestling:': '🤼', ':performing_arts:': '🎭', ':persevere:': '😣', ':bicyclist:': '🚴', ':person_biking:': '🚴', ':bow:': '🙇', ':person_bowing:': '🙇', ':person_climbing:': '🧗', ':cartwheel:': '🤸', ':person_doing_cartwheel:': '🤸', ':face_palm:': '🤦', ':facepalm:': '🤦', ':person_facepalming:': '🤦', ':fencer:': '🤺', ':fencing:': '🤺', ':person_fencing:': '🤺', ':person_frowning:': '🙍', ':no_good:': '🙅', ':person_gesturing_no:': '🙅', ':ok_woman:': '🙆', ':person_gesturing_ok:': '🙆', ':haircut:': '💇', ':person_getting_haircut:': '💇', ':massage:': '💆', ':person_getting_massage:': '💆', ':golfer:': '🏌️', ':person_golfing:': '🏌️', ':person_in_lotus_position:': '🧘', ':person_in_steamy_room:': '🧖', ':juggling:': '🤹', ':juggler:': '🤹', ':person_juggling:': '🤹', ':person_kneeling:': '🧎', ':lifter:': '🏋️', ':weight_lifter:': '🏋️', ':person_lifting_weights:': '🏋️', ':mountain_bicyclist:': '🚵', ':person_mountain_biking:': '🚵', ':handball:': '🤾', ':person_playing_handball:': '🤾', ':water_polo:': '🤽', ':person_playing_water_polo:': '🤽', ':person_with_pouting_face:': '🙎', ':person_pouting:': '🙎', ':raising_hand:': '🙋', ':person_raising_hand:': '🙋', ':rowboat:': '🚣', ':person_rowing_boat:': '🚣', ':runner:': '🏃', ':person_running:': '🏃', ':shrug:': '🤷', ':person_shrugging:': '🤷', ':person_standing:': '🧍', ':surfer:': '🏄', ':person_surfing:': '🏄', ':swimmer:': '🏊', ':person_swimming:': '🏊', ':information_desk_person:': '💁', ':person_tipping_hand:': '💁', ':walking:': '🚶', ':person_walking:': '🚶', ':man_with_turban:': '👳', ':person_wearing_turban:': '👳', ':petri_dish:': '🧫', ':pie:': '🥧', ':pig2:': '🐖', ':pig:': '🐷', ':pig_nose:': '🐽', ':pill:': '💊', ':pinching_hand:': '🤏', ':pineapple:': '🍍', ':table_tennis:': '🏓', ':ping_pong:': '🏓', ':pizza:': '🍕', ':worship_symbol:': '🛐', ':place_of_worship:': '🛐', ':pleading_face:': '🥺', ':point_down:': '👇', ':point_left:': '👈', ':point_right:': '👉', ':point_up_2:': '👆', ':police_car:': '🚓', ':cop:': '👮', ':police_officer:': '👮', ':poodle:': '🐩', ':shit:': '💩', ':hankey:': '💩', ':poo:': '💩', ':poop:': '💩', ':popcorn:': '🍿', ':post_office:': '🏣', ':postal_horn:': '📯', ':postbox:': '📮', ':potable_water:': '🚰', ':potato:': '🥔', ':pouch:': '👝', ':poultry_leg:': '🍗', ':pound:': '💷', ':pouting_cat:': '😾', ':pray:': '🙏', ':prayer_beads:': '📿', ':expecting_woman:': '🤰', ':pregnant_woman:': '🤰', ':pretzel:': '🥨', ':prince:': '🤴', ':princess:': '👸', ':printer:': '🖨️', ':probing_cane:': '🦯', ':film_projector:': '📽️', ':projector:': '📽️', ':punch:': '👊', ':purple_circle:': '🟣', ':purple_heart:': '💜', ':purple_square:': '🟪', ':purse:': '👛', ':pushpin:': '📌', ':put_litter_in_its_place:': '🚮', ':rabbit2:': '🐇', ':rabbit:': '🐰', ':raccoon:': '🦝', ':racing_car:': '🏎️', ':race_car:': '🏎️', ':racehorse:': '🐎', ':radio:': '📻', ':radio_button:': '🔘', ':rage:': '😡', ':railway_car:': '🚃', ':railroad_track:': '🛤️', ':railway_track:': '🛤️', ':rainbow:': '🌈', ':back_of_hand:': '🤚', ':raised_back_of_hand:': '🤚', ':raised_hands:': '🙌', ':ram:': '🐏', ':ramen:': '🍜', ':rat:': '🐀', ':razor:': '🪒', ':receipt:': '🧾', ':red_car:': '🚗', ':red_circle:': '🔴', ':red_envelope:': '🧧', ':red_haired:': '🦰', ':red_square:': '🟥', ':regional_indicator_a:': '🇦', ':regional_indicator_b:': '🇧', ':regional_indicator_c:': '🇨', ':regional_indicator_d:': '🇩', ':regional_indicator_e:': '🇪', ':regional_indicator_f:': '🇫', ':regional_indicator_g:': '🇬', ':regional_indicator_h:': '🇭', ':regional_indicator_i:': '🇮', ':regional_indicator_j:': '🇯', ':regional_indicator_k:': '🇰', ':regional_indicator_l:': '🇱', ':regional_indicator_m:': '🇲', ':regional_indicator_n:': '🇳', ':regional_indicator_o:': '🇴', ':regional_indicator_p:': '🇵', ':regional_indicator_q:': '🇶', ':regional_indicator_r:': '🇷', ':regional_indicator_s:': '🇸', ':regional_indicator_t:': '🇹', ':regional_indicator_u:': '🇺', ':regional_indicator_v:': '🇻', ':regional_indicator_w:': '🇼', ':regional_indicator_x:': '🇽', ':regional_indicator_y:': '🇾', ':regional_indicator_z:': '🇿', ':relieved:': '😌', ':reminder_ribbon:': '🎗️', ':repeat:': '🔁', ':repeat_one:': '🔂', ':restroom:': '🚻', ':revolving_hearts:': '💞', ':rhinoceros:': '🦏', ':rhino:': '🦏', ':ribbon:': '🎀', ':rice:': '🍚', ':rice_ball:': '🍙', ':rice_cracker:': '🍘', ':rice_scene:': '🎑', ':right_fist:': '🤜', ':right_facing_fist:': '🤜', ':ring:': '💍', ':ringed_planet:': '🪐', ':robot_face:': '🤖', ':robot:': '🤖', ':rocket:': '🚀', ':rolling_on_the_floor_laughing:': '🤣', ':rofl:': '🤣', ':roll_of_paper:': '🧻', ':roller_coaster:': '🎢', ':face_with_rolling_eyes:': '🙄', ':rolling_eyes:': '🙄', ':rooster:': '🐓', ':rose:': '🌹', ':rosette:': '🏵️', ':rotating_light:': '🚨', ':round_pushpin:': '📍', ':rugby_football:': '🏉', ':running_shirt_with_sash:': '🎽', ':sa:': '🈂️', ':safety_pin:': '🧷', ':safety_vest:': '🦺', ':sake:': '🍶', ':green_salad:': '🥗', ':salad:': '🥗', ':salt:': '🧂', ':sandal:': '👡', ':sandwich:': '🥪', ':santa:': '🎅', ':sari:': '🥻', ':satellite:': '📡', ':satellite_orbital:': '🛰️', ':sauropod:': '🦕', ':saxophone:': '🎷', ':scarf:': '🧣', ':school:': '🏫', ':school_satchel:': '🎒', ':scooter:': '🛴', ':scorpion:': '🦂', ':scream:': '😱', ':scream_cat:': '🙀', ':scroll:': '📜', ':seat:': '💺', ':second_place_medal:': '🥈', ':second_place:': '🥈', ':see_no_evil:': '🙈', ':seedling:': '🌱', ':selfie:': '🤳', ':paella:': '🥘', ':shallow_pan_of_food:': '🥘', ':shark:': '🦈', ':shaved_ice:': '🍧', ':sheep:': '🐑', ':shell:': '🐚', ':shield:': '🛡️', ':ship:': '🚢', ':shirt:': '👕', ':shopping_bags:': '🛍️', ':shopping_trolley:': '🛒', ':shopping_cart:': '🛒', ':shorts:': '🩳', ':shower:': '🚿', ':shrimp:': '🦐', ':shushing_face:': '🤫', ':signal_strength:': '📶', ':six_pointed_star:': '🔯', ':skateboard:': '🛹', ':ski:': '🎿', ':skeleton:': '💀', ':skull:': '💀', ':skunk:': '🦨', ':sled:': '🛷', ':sleeping:': '😴', ':sleeping_accommodation:': '🛌', ':sleepy:': '😪', ':slightly_frowning_face:': '🙁', ':slight_frown:': '🙁', ':slightly_smiling_face:': '🙂', ':slight_smile:': '🙂', ':slot_machine:': '🎰', ':sloth:': '🦥', ':small_blue_diamond:': '🔹', ':small_orange_diamond:': '🔸', ':small_red_triangle:': '🔺', ':small_red_triangle_down:': '🔻', ':smile:': '😄', ':smile_cat:': '😸', ':smiley:': '😃', ':smiley_cat:': '😺', ':smiling_face_with_3_hearts:': '🥰', ':smiling_imp:': '😈', ':smirk:': '😏', ':smirk_cat:': '😼', ':smoking:': '🚬', ':snail:': '🐌', ':snake:': '🐍', ':sneeze:': '🤧', ':sneezing_face:': '🤧', ':snowboarder:': '🏂', ':soap:': '🧼', ':sob:': '😭', ':socks:': '🧦', ':softball:': '🥎', ':soon:': '🔜', ':sos:': '🆘', ':sound:': '🔉', ':space_invader:': '👾', ':spaghetti:': '🍝', ':sparkler:': '🎇', ':sparkling_heart:': '💖', ':speak_no_evil:': '🙊', ':speaker:': '🔈', ':speaking_head_in_silhouette:': '🗣️', ':speaking_head:': '🗣️', ':speech_balloon:': '💬', ':left_speech_bubble:': '🗨️', ':speech_left:': '🗨️', ':speedboat:': '🚤', ':spider:': '🕷️', ':spider_web:': '🕸️', ':sponge:': '🧽', ':spoon:': '🥄', ':squeeze_bottle:': '🧴', ':squid:': '🦑', ':stadium:': '🏟️', ':star2:': '🌟', ':star_struck:': '🤩', ':stars:': '🌠', ':station:': '🚉', ':statue_of_liberty:': '🗽', ':steam_locomotive:': '🚂', ':stethoscope:': '🩺', ':stew:': '🍲', ':straight_ruler:': '📏', ':strawberry:': '🍓', ':stuck_out_tongue:': '😛', ':stuck_out_tongue_closed_eyes:': '😝', ':stuck_out_tongue_winking_eye:': '😜', ':stuffed_pita:': '🥙', ':stuffed_flatbread:': '🥙', ':sun_with_face:': '🌞', ':sunflower:': '🌻', ':sunglasses:': '😎', ':sunrise:': '🌅', ':sunrise_over_mountains:': '🌄', ':superhero:': '🦸', ':supervillain:': '🦹', ':sushi:': '🍣', ':suspension_railway:': '🚟', ':swan:': '🦢', ':sweat:': '😓', ':sweat_drops:': '💦', ':sweat_smile:': '😅', ':sweet_potato:': '🍠', ':symbols:': '🔣', ':synagogue:': '🕍', ':syringe:': '💉', ':t_rex:': '🦖', ':taco:': '🌮', ':tada:': '🎉', ':takeout_box:': '🥡', ':tanabata_tree:': '🎋', ':tangerine:': '🍊', ':taxi:': '🚕', ':tea:': '🍵', ':teddy_bear:': '🧸', ':telephone_receiver:': '📞', ':telescope:': '🔭', ':tennis:': '🎾', ':test_tube:': '🧪', ':thermometer:': '🌡️', ':face_with_thermometer:': '🤒', ':thermometer_face:': '🤒', ':thinking_face:': '🤔', ':thinking:': '🤔', ':third_place_medal:': '🥉', ':third_place:': '🥉', ':thought_balloon:': '💭', ':thread:': '🧵', ':-1:': '👎', ':thumbdown:': '👎', ':thumbsdown:': '👎', ':+1:': '👍', ':thumbup:': '👍', ':thumbsup:': '👍', ':ticket:': '🎫', ':admission_tickets:': '🎟️', ':tickets:': '🎟️', ':tiger2:': '🐅', ':tiger:': '🐯', ':tired_face:': '😫', ':toilet:': '🚽', ':tokyo_tower:': '🗼', ':tomato:': '🍅', ':tone1:': '🏻', ':tone2:': '🏼', ':tone3:': '🏽', ':tone4:': '🏾', ':tone5:': '🏿', ':tongue:': '👅', ':toolbox:': '🧰', ':hammer_and_wrench:': '🛠️', ':tools:': '🛠️', ':tooth:': '🦷', ':top:': '🔝', ':tophat:': '🎩', ':trackball:': '🖲️', ':tractor:': '🚜', ':traffic_light:': '🚥', ':train2:': '🚆', ':train:': '🚋', ':tram:': '🚊', ':triangular_flag_on_post:': '🚩', ':triangular_ruler:': '📐', ':trident:': '🔱', ':triumph:': '😤', ':trolleybus:': '🚎', ':trophy:': '🏆', ':tropical_drink:': '🍹', ':tropical_fish:': '🐠', ':truck:': '🚚', ':trumpet:': '🎺', ':tulip:': '🌷', ':whisky:': '🥃', ':tumbler_glass:': '🥃', ':turkey:': '🦃', ':turtle:': '🐢', ':tv:': '📺', ':twisted_rightwards_arrows:': '🔀', ':two_hearts:': '💕', ':two_men_holding_hands:': '👬', ':two_women_holding_hands:': '👭', ':u5272:': '🈹', ':u5408:': '🈴', ':u55b6:': '🈺', ':u6307:': '🈯', ':u6708:': '🈷️', ':u6709:': '🈶', ':u6e80:': '🈵', ':u7121:': '🈚', ':u7533:': '🈸', ':u7981:': '🈲', ':u7a7a:': '🈳', ':unamused:': '😒', ':underage:': '🔞', ':unicorn_face:': '🦄', ':unicorn:': '🦄', ':unlock:': '🔓', ':up:': '🆙', ':upside_down_face:': '🙃', ':upside_down:': '🙃', ':vampire:': '🧛', ':vertical_traffic_light:': '🚦', ':vhs:': '📼', ':vibration_mode:': '📳', ':video_camera:': '📹', ':video_game:': '🎮', ':violin:': '🎻', ':volcano:': '🌋', ':volleyball:': '🏐', ':vs:': '🆚', ':raised_hand_with_part_between_middle_and_ring_fingers:': '🖖', ':vulcan:': '🖖', ':waffle:': '🧇', ':waning_crescent_moon:': '🌘', ':waning_gibbous_moon:': '🌖', ':wastebasket:': '🗑️', ':water_buffalo:': '🐃', ':watermelon:': '🍉', ':wave:': '👋', ':waxing_crescent_moon:': '🌒', ':waxing_gibbous_moon:': '🌔', ':wc:': '🚾', ':weary:': '😩', ':wedding:': '💒', ':whale2:': '🐋', ':whale:': '🐳', ':white_flower:': '💮', ':white_haired:': '🦳', ':white_heart:': '🤍', ':white_square_button:': '🔳', ':white_sun_behind_cloud:': '🌥️', ':white_sun_cloud:': '🌥️', ':white_sun_behind_cloud_with_rain:': '🌦️', ':white_sun_rain_cloud:': '🌦️', ':white_sun_with_small_cloud:': '🌤️', ':white_sun_small_cloud:': '🌤️', ':wilted_flower:': '🥀', ':wilted_rose:': '🥀', ':wind_blowing_face:': '🌬️', ':wind_chime:': '🎐', ':wine_glass:': '🍷', ':wink:': '😉', ':wolf:': '🐺', ':woman:': '👩', ':woman_with_headscarf:': '🧕', ':womans_clothes:': '👚', ':womans_flat_shoe:': '🥿', ':womans_hat:': '👒', ':womens:': '🚺', ':woozy_face:': '🥴', ':worried:': '😟', ':wrench:': '🔧', ':yarn:': '🧶', ':yawning_face:': '🥱', ':yellow_circle:': '🟡', ':yellow_heart:': '💛', ':yellow_square:': '🟨', ':yen:': '💴', ':yo_yo:': '🪀', ':yum:': '😋', ':zany_face:': '🤪', ':zebra:': '🦓', ':zipper_mouth_face:': '🤐', ':zipper_mouth:': '🤐', ':zombie:': '🧟', ':zzz:': '💤', ':airplane:': '✈️', ':alarm_clock:': '⏰', ':alembic:': '⚗️', ':anchor:': '⚓', ':aquarius:': '♒', ':aries:': '♈', ':arrow_backward:': '◀️', ':arrow_double_down:': '⏬', ':arrow_double_up:': '⏫', ':arrow_down:': '⬇️', ':arrow_forward:': '▶️', ':arrow_heading_down:': '⤵️', ':arrow_heading_up:': '⤴️', ':arrow_left:': '⬅️', ':arrow_lower_left:': '↙️', ':arrow_lower_right:': '↘️', ':arrow_right:': '➡️', ':arrow_right_hook:': '↪️', ':arrow_up:': '⬆️', ':arrow_up_down:': '↕️', ':arrow_upper_left:': '↖️', ':arrow_upper_right:': '↗️', ':asterisk_symbol:': '*️', ':atom_symbol:': '⚛️', ':atom:': '⚛️', ':ballot_box_with_check:': '☑️', ':bangbang:': '‼️', ':baseball:': '⚾', ':umbrella_on_ground:': '⛱️', ':beach_umbrella:': '⛱️', ':biohazard_sign:': '☣️', ':biohazard:': '☣️', ':black_circle:': '⚫', ':black_large_square:': '⬛', ':black_medium_small_square:': '◾', ':black_medium_square:': '◼️', ':black_nib:': '✒️', ':black_small_square:': '▪️', ':cancer:': '♋', ':capricorn:': '♑', ':chains:': '⛓️', ':chess_pawn:': '♟️', ':church:': '⛪', ':cloud:': '☁️', ':clubs:': '♣️', ':coffee:': '☕', ':coffin:': '⚰️', ':comet:': '☄️', ':congratulations:': '㊗️', ':copyright:': '©️', ':latin_cross:': '✝️', ':cross:': '✝️', ':crossed_swords:': '⚔️', ':curly_loop:': '➰', ':diamonds:': '♦️', ':digit_eight:': '8️', ':digit_five:': '5️', ':digit_four:': '4️', ':digit_nine:': '9️', ':digit_one:': '1️', ':digit_seven:': '7️', ':digit_six:': '6️', ':digit_three:': '3️', ':digit_two:': '2️', ':digit_zero:': '0️', ':eight_pointed_black_star:': '✴️', ':eight_spoked_asterisk:': '✳️', ':eject_symbol:': '⏏️', ':eject:': '⏏️', ':envelope:': '✉️', ':exclamation:': '❗', ':fast_forward:': '⏩', ':female_sign:': '♀️', ':ferry:': '⛴️', ':fist:': '✊', ':fleur-de-lis:': '⚜️', ':fountain:': '⛲', ':white_frowning_face:': '☹️', ':frowning2:': '☹️', ':fuelpump:': '⛽', ':gear:': '⚙️', ':gemini:': '♊', ':golf:': '⛳', ':grey_exclamation:': '❕', ':grey_question:': '❔', ':hammer_and_pick:': '⚒️', ':hammer_pick:': '⚒️', ':heart:': '❤️', ':heavy_heart_exclamation_mark_ornament:': '❣️', ':heart_exclamation:': '❣️', ':hearts:': '♥️', ':heavy_check_mark:': '✔️', ':heavy_division_sign:': '➗', ':heavy_minus_sign:': '➖', ':heavy_multiplication_x:': '✖️', ':heavy_plus_sign:': '➕', ':helmet_with_white_cross:': '⛑️', ':helmet_with_cross:': '⛑️', ':hotsprings:': '♨️', ':hourglass:': '⌛', ':hourglass_flowing_sand:': '⏳', ':ice_skate:': '⛸️', ':infinity:': '♾️', ':information_source:': 'ℹ️', ':interrobang:': '⁉️', ':keyboard:': '⌨️', ':left_right_arrow:': '↔️', ':leftwards_arrow_with_hook:': '↩️', ':leo:': '♌', ':libra:': '♎', ':loop:': '➿', ':m:': 'Ⓜ️', ':male_sign:': '♂️', ':medical_symbol:': '⚕️', ':mountain:': '⛰️', ':negative_squared_cross_mark:': '❎', ':no_entry:': '⛔', ':o:': '⭕', ':ophiuchus:': '⛎', ':orthodox_cross:': '☦️', ':part_alternation_mark:': '〽️', ':partly_sunny:': '⛅', ':double_vertical_bar:': '⏸️', ':pause_button:': '⏸️', ':peace_symbol:': '☮️', ':peace:': '☮️', ':pencil2:': '✏️', ':basketball_player:': '⛹️', ':person_with_ball:': '⛹️', ':person_bouncing_ball:': '⛹️', ':pick:': '⛏️', ':pisces:': '♓', ':play_pause:': '⏯️', ':point_up:': '☝️', ':pound_symbol:': '#️', ':question:': '❓', ':radioactive_sign:': '☢️', ':radioactive:': '☢️', ':raised_hand:': '✋', ':record_button:': '⏺️', ':recycle:': '♻️', ':registered:': '®️', ':relaxed:': '☺️', ':rewind:': '⏪', ':sagittarius:': '♐', ':sailboat:': '⛵', ':scales:': '⚖️', ':scissors:': '✂️', ':scorpius:': '♏', ':secret:': '㊙️', ':shamrock:': '☘️', ':shinto_shrine:': '⛩️', ':skier:': '⛷️', ':skull_and_crossbones:': '☠️', ':skull_crossbones:': '☠️', ':snowflake:': '❄️', ':snowman2:': '☃️', ':snowman:': '⛄', ':soccer:': '⚽', ':spades:': '♠️', ':sparkle:': '❇️', ':sparkles:': '✨', ':star:': '⭐', ':star_and_crescent:': '☪️', ':star_of_david:': '✡️', ':stop_button:': '⏹️', ':stopwatch:': '⏱️', ':sunny:': '☀️', ':taurus:': '♉', ':telephone:': '☎️', ':tent:': '⛺', ':thunder_cloud_and_rain:': '⛈️', ':thunder_cloud_rain:': '⛈️', ':timer_clock:': '⏲️', ':timer:': '⏲️', ':tm:': '™️', ':next_track:': '⏭️', ':track_next:': '⏭️', ':previous_track:': '⏮️', ':track_previous:': '⏮️', ':umbrella2:': '☂️', ':umbrella:': '☔', ':funeral_urn:': '⚱️', ':urn:': '⚱️', ':v:': '✌️', ':virgo:': '♍', ':warning:': '⚠️', ':watch:': '⌚', ':wavy_dash:': '〰️', ':wheel_of_dharma:': '☸️', ':wheelchair:': '♿', ':white_check_mark:': '✅', ':white_circle:': '⚪', ':white_large_square:': '⬜', ':white_medium_small_square:': '◽', ':white_medium_square:': '◻️', ':white_small_square:': '▫️', ':writing_hand:': '✍️', ':x:': '❌', ':yin_yang:': '☯️', ':zap:': '⚡' };\nexport default emojis;\n","import ascii, { asciiRegexp } from './ascii';\nimport emojis from './emojis';\n\nconst shortnamePattern = new RegExp(/:[-+_a-z0-9]+:/, 'gi');\nconst replaceShortNameWithUnicode = (shortname) => emojis[shortname] || shortname;\nconst regAscii = new RegExp(`((\\\\s|^)${ asciiRegexp }(?=\\\\s|$|[!,.?]))`, 'gi');\n\nconst unescapeHTML = (string) => {\n\tconst unescaped = {\n\t\t'&': '&',\n\t\t'&': '&',\n\t\t'&': '&',\n\t\t'<': '<',\n\t\t'<': '<',\n\t\t'<': '<',\n\t\t'>': '>',\n\t\t'>': '>',\n\t\t'>': '>',\n\t\t'"': '\"',\n\t\t'"': '\"',\n\t\t'"': '\"',\n\t\t''': '\\'',\n\t\t''': '\\'',\n\t\t''': '\\'',\n\t};\n\n\treturn string.replace(/&(?:amp|#38|#x26|lt|#60|#x3C|gt|#62|#x3E|apos|#39|#x27|quot|#34|#x22);/ig, (match) => unescaped[match]);\n};\n\nconst shortnameToUnicode = (stringMessage) => {\n\tstringMessage = stringMessage.replace(shortnamePattern, replaceShortNameWithUnicode);\n\tstringMessage = stringMessage.replace(regAscii, (entire, m1, m2, m3) => {\n\t\tif (!m3 || !(unescapeHTML(m3) in ascii)) {\n\t\t\treturn entire;\n\t\t}\n\n\t\tm3 = unescapeHTML(m3);\n\t\treturn ascii[m3];\n\t});\n\n\treturn stringMessage;\n};\n\nexport default shortnameToUnicode;\n","import shortnameToUnicode from '../../Emoji/shortnameToUnicode';\n\nconst emojiUnicode = '\\u00a9|\\u00ae|[\\u2000-\\u3039]|[\\u3100-\\u3300]|\\ud83c[\\ud000-\\udfff]|\\ud83d[\\ud000-\\udfff]|\\ud83e[\\ud000-\\udfff]'; // unicode emoji from https://www.regextester.com/106421\n\nconst emojiRanges = [\n\temojiUnicode, // unicode emoji from https://www.regextester.com/106421\n\t':.{1,40}:', // custom emoji\n\t' |\\n', // allow spaces and line breaks\n].join('|');\n\n// this func is called for each emoji, input-> emoji shortname, o/p-> emoji icon in html format\nconst transformEmojisToNormalSize = (emoji) => `${ emoji }`;\n\nconst transformEmojisToLargeSize = (emoji) => `${ emoji }`;\n\nconst removeSpaces = (str) => str && str.replace(/\\s/g, '');\n\nconst removeAllEmoji = (str) => str.replace(new RegExp(emojiRanges, 'g'), '');\n\nconst isOnlyEmoji = (str) => {\n\tstr = removeSpaces(str);\n\treturn !removeAllEmoji(str).length;\n};\n\nconst renderEmojis = (origPlainText) => {\n\tconst textWithOnlyUnicode = shortnameToUnicode(origPlainText);\n\n\tif (isOnlyEmoji(textWithOnlyUnicode)) {\n\t\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToLargeSize);\n\t}\n\n\treturn textWithOnlyUnicode.replace(new RegExp(emojiUnicode, 'g'), transformEmojisToNormalSize);\n};\n\nexport default renderEmojis;\n","import { sanitize } from 'dompurify';\nimport MarkdownIt from 'markdown-it';\n\n\nconst md = new MarkdownIt({\n\thtml: true,\n\tbreaks: true,\n\tlinkify: true,\n\ttypographer: true,\n});\n\nconst defaultRender = md.renderer.rules.link_open || ((tokens, idx, options, env, self) => self.renderToken(tokens, idx, options));\n\nmd.renderer.rules.link_open = (tokens, idx, options, env, self) => {\n\tconst targetAttrIndex = tokens[idx].attrIndex('target');\n\tconst relAttrIndex = tokens[idx].attrIndex('rel');\n\n\tif (targetAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['target', '_blank']);\n\t} else {\n\t\ttokens[idx].attrs[targetAttrIndex][1] = '_blank';\n\t}\n\n\tif (relAttrIndex < 0) {\n\t\ttokens[idx].attrPush(['rel', 'noopener noreferrer']);\n\t} else {\n\t\ttokens[idx].attrs[relAttrIndex][1] = 'noopener noreferrer';\n\t}\n\n\treturn defaultRender(tokens, idx, options, env, self);\n};\n\nmd.use((md) => {\n\tconst renderStrong = (tokens, idx, opts, _, slf) => {\n\t\tconst token = tokens[idx];\n\t\tif (token.markup === '*') {\n\t\t\ttoken.tag = 'strong';\n\t\t}\n\t\treturn slf.renderToken(tokens, idx, opts);\n\t};\n\n\tmd.renderer.rules.em_open = renderStrong;\n\tmd.renderer.rules.em_close = renderStrong;\n});\n\nmd.use((md) => {\n\tmd.inline.ruler.push('strikethrough', (state, silent) => {\n\t\tconst marker = state.src.charCodeAt(state.pos);\n\n\t\tif (silent) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (marker !== 0x7E/* ~ */) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst scanned = state.scanDelims(state.pos, true);\n\n\t\tconst ch = String.fromCharCode(marker);\n\n\t\tconst len = scanned.length;\n\t\tfor (let i = 0; i < len; i += 1) {\n\t\t\tconst token = state.push('text', '', 0);\n\t\t\ttoken.content = ch;\n\n\t\t\tstate.delimiters.push({\n\t\t\t\tmarker,\n\t\t\t\tlength: 0,\n\t\t\t\tjump: i,\n\t\t\t\ttoken: state.tokens.length - 1,\n\t\t\t\tend: -1,\n\t\t\t\topen: scanned.can_open,\n\t\t\t\tclose: scanned.can_close,\n\t\t\t});\n\t\t}\n\n\t\tstate.pos += scanned.length;\n\n\t\treturn true;\n\t});\n});\n\nexport const renderMarkdown = (...args) => sanitize(md.render(...args), { ADD_ATTR: ['target', 'rel'] });\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport renderEmojis from '../../../Messages/MessageText/emoji';\nimport { renderMarkdown } from '../../../Messages/MessageText/markdown';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst Mrkdwn = ({ text/* , verbatim = false */ }) =>\n\t;\n\nexport default memo(Mrkdwn);\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport KebabIcon from '../../../../icons/kebab.svg';\nimport { Button } from '../../../Button';\nimport Menu, { PopoverMenu } from '../../../Menu';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst OverflowTrigger = ({ loading, onClick }) => {\n\tconst handleMouseUp = useCallback(({ target }) => {\n\t\ttarget.blur();\n\t}, []);\n\n\treturn \n\t\t\n\t;\n};\n\nconst OverflowOption = ({ confirm, text, value, url, parser, onClick }) => {\n\tconst handleClick = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tif (url) {\n\t\t\tconst newTab = window.open();\n\t\t\tnewTab.opener = null;\n\t\t\tnewTab.location = url;\n\t\t\treturn;\n\t\t}\n\n\t\tawait onClick(value);\n\t}, [confirm, onClick, url, value]);\n\n\treturn \n\t\t {parser.text(text)}\n\t ;\n};\n\nconst OverflowElement = ({ actionId, confirm, options, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleClick = useCallback(async (value) => {\n\t\tawait performAction({ value });\n\t}, [performAction]);\n\n\treturn }>\n\t\t\n\t\t\t{Array.isArray(options) && options.map((option, i) =>\n\t\t\t\t)}\n\t\t\n\t;\n};\n\nexport default memo(OverflowElement);\n","import { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport shortnameToUnicode from '../../../Emoji/shortnameToUnicode';\nimport { createClassName } from '../../../helpers';\nimport styles from './styles.scss';\n\nconst escapeHtml = (unsafe) =>\n\tunsafe\n\t\t.replace(/&/g, '&')\n\t\t.replace(//g, '>')\n\t\t.replace(/\"/g, '"')\n\t\t.replace(/'/g, ''');\n\nconst PlainText = ({ text, emoji = false }) =>\n\t '
'),\n\t\t}}\n\t\tdir='auto'\n\t/>;\n\nexport default memo(PlainText);\n","import { BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\nimport { memo } from 'preact/compat';\n\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst SectionBlock = ({ appId, blockId, text, fields, accessory, parser }) =>\n\t\n\t\t
\n\t\t\t
\n\t\t\t\t{text && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{parser.text(text, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(fields) && fields.length > 0 && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{fields.map((field, i) => (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{parser.text(field, BLOCK_CONTEXT.SECTION)}\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\t\t\t
\n\t\t\t{accessory &&
\n\t\t\t\t{parser.renderAccessories(accessory, BLOCK_CONTEXT.SECTION)}\n\t\t\t
}\n\t\t
\n\t
;\n\nexport default memo(SectionBlock);\n","import { h, Component } from 'preact';\n\nimport ArrowIcon from '../../../icons/arrowDown.svg';\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport class SelectInput extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.value !== state.value) {\n\t\t\treturn { value: props.value };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t}\n\n\thandleChange = (event) => {\n\t\tconst { onChange } = this.props;\n\t\tonChange && onChange(event);\n\n\t\tif (event.defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ value: event.target.value });\n\t}\n\n\trender = ({\n\t\tname,\n\t\tplaceholder,\n\t\toptions = [],\n\t\tdisabled,\n\t\tsmall,\n\t\terror,\n\t\tonInput,\n\t\tclassName,\n\t\tstyle = {},\n\t\t...props\n\t}) => (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{Array.from(options).map(({ value, label }, key) => (\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n","import { h } from 'preact';\nimport { memo, useCallback, useMemo } from 'preact/compat';\n\nimport { SelectInput } from '../../../Form/SelectInput';\nimport { createClassName } from '../../../helpers';\nimport { usePerformAction } from '../Block';\nimport styles from './styles.scss';\n\nconst StaticSelectElement = ({ actionId, confirm, placeholder, options/* , optionGroups */, initialOption, parser }) => {\n\tconst [performAction, performingAction] = usePerformAction(actionId);\n\n\tconst handleChange = useCallback(async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (confirm) {\n\t\t\t// TODO\n\t\t}\n\n\t\tawait performAction({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t}, [confirm, performAction]);\n\n\tconst selectOptions = useMemo(() => options.map((option) => ({\n\t\tlabel: parser.text(option.text),\n\t\tvalue: option.value,\n\t})), [options, parser]);\n\n\treturn ;\n};\n\nexport default memo(StaticSelectElement);\n","import { uiKitMessage, UiKitParserMessage, BLOCK_CONTEXT } from '@rocket.chat/ui-kit';\nimport { h } from 'preact';\n\nimport ActionsBlock from './ActionsBlock';\nimport ButtonElement from './ButtonElement';\nimport ContextBlock from './ContextBlock';\nimport DatePickerElement from './DatePickerElement';\nimport DividerBlock from './DividerBlock';\nimport ImageBlock from './ImageBlock';\nimport ImageElement from './ImageElement';\nimport Mrkdwn from './Mrkdwn';\nimport OverflowElement from './OverflowElement';\nimport PlainText from './PlainText';\nimport SectionBlock from './SectionBlock';\nimport StaticSelectElement from './StaticSelectElement';\n\nclass MessageParser extends UiKitParserMessage {\n\tdivider = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\tsection = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\timage = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn ;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\tactions = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\tcontext = (element, context, index) => {\n\t\tif (context !== BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\tplainText = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn ;\n\t}\n\n\tmrkdwn = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <Mrkdwn key={index} {...element} />;\n\t}\n\n\tbutton = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <ButtonElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\toverflow = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <OverflowElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tdatePicker = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <DatePickerElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tstaticSelect = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <StaticSelectElement key={index} {...element} parser={this} context={context} />;\n\t}\n\n\tmultiStaticSelect = () =>\n\t\tnull\n}\n\nexport const parser = new MessageParser();\n\nexport const renderMessageBlocks = uiKitMessage(parser, {\n\tengine: 'livechat',\n});\n","import { h } from 'preact';\nimport { memo, useCallback } from 'preact/compat';\n\nimport {\n\ttriggerAction,\n\tUIKitIncomingInteractionType,\n\tUIKitIncomingInteractionContainerType,\n} from '../../../lib/uiKit';\nimport { createClassName } from '../../helpers';\nimport { renderMessageBlocks } from '../../uiKit';\nimport Surface from '../../uiKit/message/Surface';\nimport styles from './styles.scss';\n\nconst MessageBlocks = ({ blocks = [], mid, rid }) => {\n\tconst dispatchAction = useCallback(({\n\t\tappId,\n\t\tactionId,\n\t\tpayload,\n\t}) => triggerAction({\n\t\tappId,\n\t\ttype: UIKitIncomingInteractionType.BLOCK,\n\t\tactionId,\n\t\trid,\n\t\tmid,\n\t\tviewId: null,\n\t\tcontainer: {\n\t\t\ttype: UIKitIncomingInteractionContainerType.MESSAGE,\n\t\t\tid: mid,\n\t\t},\n\t\tpayload,\n\t}), [mid, rid]);\n\n\treturn <Surface dispatchAction={dispatchAction}>\n\t\t{Array.isArray(blocks) && blocks.length > 0\n\t\t\t? <div className={createClassName(styles, 'message-blocks')}>\n\t\t\t\t{renderMessageBlocks(blocks)}\n\t\t\t</div>\n\t\t\t: null}\n\t</Surface>;\n};\n\nexport default memo(MessageBlocks);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContainer = memo(({\n\tid,\n\tcompact,\n\treverse,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n\tchildren,\n\tsystem = false,\n}) => (\n\t<Element\n\t\tid={id}\n\t\tclassName={createClassName(styles, 'message-container', { compact, reverse, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageContent = memo(({ reverse, className, style = {}, children }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'message-content', { reverse }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport renderEmojis from './emoji';\nimport { renderMarkdown } from './markdown';\nimport styles from './styles.scss';\n\nexport const MessageText = memo(({\n\ttext,\n\tsystem,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(renderEmojis(text)) }}\n\t\tclassName={createClassName(styles, 'message-text', { system }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const parseDate = (ts) => {\n\tconst timestamp = new Date(ts).toISOString();\n\treturn format(parseISO(timestamp), isToday(parseISO(timestamp)) ? 'HH:mm' : 'dddd HH:mm');\n};\n\nexport const MessageTime = memo(({ ts, normal, inverted, className, style = {} }) => (\n\t<div className={createClassName(styles, 'message-time-wrapper')}>\n\t\t<time\n\t\t\tdateTime={new Date(ts).toISOString()}\n\t\t\tclassName={createClassName(styles, 'message-time', { normal, inverted }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{parseDate(ts)}\n\t\t</time>\n\t</div>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nexport const VideoAttachment = memo(({\n\turl,\n\tclassName,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'video-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<video\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'video-attachment__inner')}\n\t\t>\n\t\t\t{I18n.t('You browser doesn\\'t support video element')}\n\t\t</video>\n\t</MessageBubble>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { getAttachmentUrl, memo, normalizeTransferHistoryMessage } from '../../helpers';\nimport { AudioAttachment } from '../AudioAttachment';\nimport { FileAttachment } from '../FileAttachment';\nimport { ImageAttachment } from '../ImageAttachment';\nimport { MessageAvatars } from '../MessageAvatars';\nimport MessageBlocks from '../MessageBlocks';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { MessageText } from '../MessageText';\nimport { MessageTime } from '../MessageTime';\nimport { VideoAttachment } from '../VideoAttachment';\nimport {\n\tMESSAGE_TYPE_ROOM_NAME_CHANGED,\n\tMESSAGE_TYPE_USER_ADDED,\n\tMESSAGE_TYPE_USER_REMOVED,\n\tMESSAGE_TYPE_USER_JOINED,\n\tMESSAGE_TYPE_USER_LEFT,\n\tMESSAGE_TYPE_WELCOME,\n\tMESSAGE_TYPE_LIVECHAT_CLOSED,\n\tMESSAGE_TYPE_LIVECHAT_STARTED,\n\tMESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY,\n} from '../constants';\n\nconst renderContent = ({\n\ttext,\n\tsystem,\n\tquoted,\n\tme,\n\tblocks,\n\tattachments,\n\tattachmentResolver,\n\tmid,\n\trid,\n}) => [\n\t...(attachments || [])\n\t\t.map((attachment) =>\n\t\t\t(attachment.audio_url\n\t\t\t\t&& <AudioAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.audio_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.video_url\n\t\t\t\t&& <VideoAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.video_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.image_url\n\t\t\t\t&& <ImageAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.image_url)}\n\t\t\t\t/>)\n\t\t\t|| (attachment.title_link\n\t\t\t\t&& <FileAttachment\n\t\t\t\t\tquoted={quoted}\n\t\t\t\t\turl={attachmentResolver(attachment.title_link)}\n\t\t\t\t\ttitle={attachment.title}\n\t\t\t\t/>)\n\t\t\t|| ((attachment.message_link || attachment.tmid) && renderContent({\n\t\t\t\ttext: attachment.text,\n\t\t\t\tquoted: true,\n\t\t\t\tattachments: attachment.attachments,\n\t\t\t\tattachmentResolver,\n\t\t\t})),\n\t\t),\n\ttext && (\n\t\t<MessageBubble inverse={me} quoted={quoted} system={system}>\n\t\t\t<MessageText text={text} system={system} />\n\t\t</MessageBubble>\n\t),\n\tblocks && (\n\t\t<MessageBlocks\n\t\t\tblocks={blocks}\n\t\t\tmid={mid}\n\t\t\trid={rid}\n\t\t/>\n\t),\n].filter(Boolean);\n\nconst getSystemMessageText = ({ t, conversationFinishedMessage, transferData }) =>\n\t(t === MESSAGE_TYPE_ROOM_NAME_CHANGED && I18n.t('Room name changed'))\n\t|| (t === MESSAGE_TYPE_USER_ADDED && I18n.t('User added by'))\n\t|| (t === MESSAGE_TYPE_USER_REMOVED && I18n.t('User removed by'))\n\t|| (t === MESSAGE_TYPE_USER_JOINED && I18n.t('User joined'))\n\t|| (t === MESSAGE_TYPE_USER_LEFT && I18n.t('User left'))\n\t|| (t === MESSAGE_TYPE_WELCOME && I18n.t('Welcome'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_CLOSED && (conversationFinishedMessage || I18n.t('Conversation finished')))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_STARTED && I18n.t('Chat started'))\n\t|| (t === MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY && normalizeTransferHistoryMessage(transferData));\n\nconst getMessageUsernames = (compact, message) => {\n\tif (compact || !message.u) {\n\t\treturn [];\n\t}\n\n\tconst { alias, u: { username, name } } = message;\n\tif (alias && name) {\n\t\treturn [name];\n\t}\n\n\treturn [username];\n};\n\nexport const Message = memo(({\n\tavatarResolver,\n\tattachmentResolver = getAttachmentUrl,\n\tuse,\n\tts,\n\tme,\n\tcompact,\n\tclassName,\n\tstyle = {},\n\t...message\n}) => (\n\t<MessageContainer\n\t\tid={message._id}\n\t\tcompact={compact}\n\t\treverse={me}\n\t\tuse={use}\n\t\tclassName={className}\n\t\tstyle={style}\n\t\tsystem={!!message.t}\n\t>\n\t\t{!message.t && <MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={getMessageUsernames(compact, message)}\n\t\t/>}\n\t\t<MessageContent reverse={me}>\n\t\t\t{renderContent({\n\t\t\t\ttext: message.t ? getSystemMessageText(message) : message.msg,\n\t\t\t\tsystem: !!message.t,\n\t\t\t\tme,\n\t\t\t\tattachments: message.attachments,\n\t\t\t\tblocks: message.blocks,\n\t\t\t\tmid: message._id,\n\t\t\t\trid: message.rid,\n\t\t\t\tattachmentResolver,\n\t\t\t})}\n\t\t</MessageContent>\n\t\t{!compact && !message.t && <MessageTime normal={!me} inverse={me} ts={ts} />}\n\t</MessageContainer>\n));\n","export const MESSAGE_TYPE_ROOM_NAME_CHANGED = 'r';\nexport const MESSAGE_TYPE_USER_ADDED = 'au';\nexport const MESSAGE_TYPE_USER_REMOVED = 'ru';\nexport const MESSAGE_TYPE_USER_JOINED = 'uj';\nexport const MESSAGE_TYPE_USER_LEFT = 'ul';\nexport const MESSAGE_TYPE_WELCOME = 'wm';\nexport const MESSAGE_TYPE_LIVECHAT_CLOSED = 'livechat-close';\nexport const MESSAGE_TYPE_LIVECHAT_STARTED = 'livechat-started';\nexport const MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY = 'livechat_transfer_history';\n","import format from 'date-fns/format';\nimport { parseISO } from 'date-fns/fp';\nimport { h } from 'preact';\n\nimport I18n from '../../../i18n';\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const MessageSeparator = memo(({\n\tdate,\n\tunread,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n}) => (\n\t<Element\n\t\tclassName={createClassName(styles, 'separator', {\n\t\t\tdate: !!date && !unread,\n\t\t\tunread: !date && !!unread,\n\t\t}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t\t{(date || unread) && (\n\t\t\t<span className={createClassName(styles, 'separator__text')}>\n\t\t\t\t{\n\t\t\t\t\t(!!date && format(parseISO(date), 'MMM dd, yyyy').toUpperCase())\n\t\t\t\t\t|| (unread && I18n.t('unread messages'))\n\t\t\t\t}\n\t\t\t</span>\n\t\t)}\n\t\t<hr className={createClassName(styles, 'separator__line')} />\n\t</Element>\n));\n","import { h } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\nexport const TypingDots = ({\n\ttext,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<div\n\t\taria-label={text}\n\t\tclassName={createClassName(styles, 'typing-dots', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t\t<span class={createClassName(styles, 'typing-dots__dot')} />\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { memo } from '../../helpers';\nimport { MessageAvatars } from '../MessageAvatars';\nimport { MessageBubble } from '../MessageBubble';\nimport { MessageContainer } from '../MessageContainer';\nimport { MessageContent } from '../MessageContent';\nimport { TypingDots } from '../TypingDots';\n\n\nexport const TypingIndicator = memo(({\n\tavatarResolver = () => null,\n\tusernames = [],\n\ttext,\n\t...containerProps\n}) => (\n\t<MessageContainer {...containerProps}>\n\t\t<MessageAvatars\n\t\t\tavatarResolver={avatarResolver}\n\t\t\tusernames={usernames}\n\t\t/>\n\t\t<MessageContent>\n\t\t\t<MessageBubble>\n\t\t\t\t<TypingDots text={text} />\n\t\t\t</MessageBubble>\n\t\t</MessageContent>\n\t</MessageContainer>\n));\n","import { parseISO } from 'date-fns/fp';\nimport isSameDay from 'date-fns/isSameDay';\nimport { h } from 'preact';\n\nimport { createClassName, getAttachmentUrl, MemoizedComponent } from '../../helpers';\nimport { Message } from '../Message';\nimport { MessageSeparator } from '../MessageSeparator';\nimport { TypingIndicator } from '../TypingIndicator';\nimport styles from './styles.scss';\n\n\nexport class MessageList extends MemoizedComponent {\n\tstatic defaultProps = {\n\t\ttypingUsernames: [],\n\t}\n\n\tstatic SCROLL_AT_TOP = 'top';\n\n\tstatic SCROLL_AT_BOTTOM = 'bottom';\n\n\tstatic SCROLL_FREE = 'free';\n\n\tscrollPosition = MessageList.SCROLL_AT_BOTTOM\n\n\thandleScroll = () => {\n\t\tif (this.isResizingFromBottom) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tdelete this.isResizingFromBottom;\n\t\t\treturn;\n\t\t}\n\n\t\tlet scrollPosition;\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else if (this.base.scrollTop === 0) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_TOP;\n\t\t} else if (this.base.scrollHeight === this.base.scrollTop + this.base.clientHeight) {\n\t\t\tscrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t} else {\n\t\t\tscrollPosition = MessageList.SCROLL_FREE;\n\t\t}\n\n\t\tif (this.scrollPosition !== scrollPosition) {\n\t\t\tthis.scrollPosition = scrollPosition;\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tonScrollTo && onScrollTo(scrollPosition);\n\t\t}\n\t}\n\n\thandleResize = () => {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\tthis.isResizingFromBottom = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.base.scrollHeight <= this.base.clientHeight) {\n\t\t\tconst { onScrollTo } = this.props;\n\t\t\tthis.scrollPosition = MessageList.SCROLL_AT_BOTTOM;\n\t\t\tonScrollTo && onScrollTo(MessageList.SCROLL_AT_BOTTOM);\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tconst { handleEmojiClick } = this.props;\n\t\thandleEmojiClick && handleEmojiClick();\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tthis.previousScrollHeight = this.base.scrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.base.scrollTop = this.base.scrollHeight;\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.scrollPosition === MessageList.SCROLL_AT_TOP) {\n\t\t\tconst delta = this.base.scrollHeight - this.previousScrollHeight;\n\t\t\tif (delta > 0) {\n\t\t\t\tthis.base.scrollTop = delta;\n\t\t\t}\n\t\t\tdelete this.previousScrollHeight;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handleResize();\n\t\twindow.addEventListener('resize', this.handleResize);\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.handleResize);\n\t}\n\n\trenderItems = ({\n\t\tattachmentResolver = getAttachmentUrl,\n\t\tavatarResolver,\n\t\tmessages,\n\t\tlastReadMessageId,\n\t\tuid,\n\t\tconversationFinishedMessage,\n\t\ttypingUsernames,\n\t}) => {\n\t\tconst items = [];\n\n\t\tfor (let i = 0; i < messages.length; ++i) {\n\t\t\tconst previousMessage = messages[i - 1];\n\t\t\tconst message = messages[i];\n\t\t\tconst nextMessage = messages[i + 1];\n\n\t\t\tconst showDateSeparator = !previousMessage || !isSameDay(parseISO(message.ts), parseISO(previousMessage.ts));\n\t\t\tif (showDateSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey={`sep-${ message.ts }`}\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tdate={message.ts}\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.push(\n\t\t\t\t<Message\n\t\t\t\t\tkey={message._id}\n\t\t\t\t\tattachmentResolver={attachmentResolver}\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tuse='li'\n\t\t\t\t\tme={uid && message.u && uid === message.u._id}\n\t\t\t\t\tcompact={nextMessage && message.u && nextMessage.u && message.u._id === nextMessage.u._id && !nextMessage.t}\n\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t{...message}\n\t\t\t\t/>,\n\t\t\t);\n\n\t\t\tconst showUnreadSeparator = lastReadMessageId && nextMessage && lastReadMessageId === message._id;\n\t\t\tif (showUnreadSeparator) {\n\t\t\t\titems.push(\n\t\t\t\t\t<MessageSeparator\n\t\t\t\t\t\tkey='unread'\n\t\t\t\t\t\tuse='li'\n\t\t\t\t\t\tunread\n\t\t\t\t\t/>,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (typingUsernames && typingUsernames.length) {\n\t\t\titems.push(\n\t\t\t\t<TypingIndicator\n\t\t\t\t\tkey='typing'\n\t\t\t\t\tuse='li'\n\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\tusernames={typingUsernames}\n\t\t\t\t/>,\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t}\n\n\trender = ({\n\t\tclassName,\n\t\tstyle = {},\n\t}) => (\n\t\t<div\n\t\t\tonScroll={this.handleScroll}\n\t\t\tclassName={createClassName(styles, 'message-list', {}, [className])}\n\t\t\tonClick={this.handleClick}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<ol className={createClassName(styles, 'message-list__content')}>\n\t\t\t\t{this.renderItems(this.props)}\n\t\t\t</ol>\n\t\t</div>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport I18n from '../../i18n';\nimport CloseIcon from '../../icons/close.svg';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Alert extends Component {\n\tstatic defaultProps = {\n\t\ttimeout: 3000,\n\t\thideCloseButton: false,\n\t}\n\n\thandleDismiss = () => {\n\t\tconst { onDismiss, id } = this.props;\n\t\tonDismiss && onDismiss(id);\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { timeout } = this.props;\n\t\tif (Number.isFinite(timeout) && timeout > 0) {\n\t\t\tthis.dismissTimeout = setTimeout(this.handleDismiss, timeout);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout(this.dismissTimeout);\n\t}\n\n\trender = ({ success, warning, error, color, hideCloseButton, className, style = {}, children }) => (\n\t\t<div\n\t\t\trole='alert'\n\t\t\tclassName={createClassName(styles, 'alert', { success, warning, error }, [className])}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\t...color && { backgroundColor: color },\n\t\t\t}}\n\t\t>\n\t\t\t<div className={createClassName(styles, 'alert__content')}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{!hideCloseButton && (\n\t\t\t\t<button\n\t\t\t\t\tonClick={this.handleDismiss}\n\t\t\t\t\tclassName={createClassName(styles, 'alert__close')}\n\t\t\t\t\taria-label={I18n.t('Dismiss this alert')}\n\t\t\t\t>\n\t\t\t\t\t<CloseIcon width={20} height={20} />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport const Header = ({\n\tchildren,\n\ttheme: { color: backgroundColor, fontColor: color } = {},\n\tclassName,\n\tpost,\n\tlarge,\n\tstyle,\n\t...props\n}) => (\n\t<header\n\t\tclassName={createClassName(styles, 'header', { large }, [className])}\n\t\tstyle={style || backgroundColor || color ? { ...style || {}, backgroundColor, color } : null}\n\t\t{...props}\n\t>\n\t\t{children}\n\t\t{post}\n\t</header>\n);\n\nexport const Picture = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__picture', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Content = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const Title = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__title', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const SubTitle = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__subtitle', {\n\t\t\tchildren: toChildArray(children).length > 0,\n\t\t}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nexport const Actions = ({ children, className, ...props }) => (\n\t<nav className={createClassName(styles, 'header__actions', {}, [className])} {...props}>\n\t\t{children}\n\t</nav>\n);\n\nexport const Action = ({ children, className, ...props }) => (\n\t<button className={createClassName(styles, 'header__action', {}, [className])} {...props}>\n\t\t{children}\n\t</button>\n);\n\nexport const Post = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'header__post', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\nexport const CustomField = ({ children, className, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'header__custom-field', {}, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\nHeader.Picture = Picture;\nHeader.Content = Content;\nHeader.Title = Title;\nHeader.SubTitle = SubTitle;\nHeader.Actions = Actions;\nHeader.Action = Action;\nHeader.Post = Post;\nHeader.CustomField = CustomField;\n\nexport default Header;\n","import { h, Component } from 'preact';\n\nexport class Sound extends Component {\n\tplay = () => {\n\t\tthis.audio.play();\n\t}\n\n\thandleRef = (audio) => {\n\t\tthis.audio = audio;\n\t}\n\n\thandlePlayProp = () => {\n\t\tconst { play, dismissNotification } = this.props;\n\n\t\tif (play) {\n\t\t\tif (dismissNotification && dismissNotification()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.audio.play();\n\t\t} else if (!this.audio.ended && !this.audio.paused) {\n\t\t\tthis.audio.pause();\n\t\t\tthis.audio.currentTime = 0;\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.handlePlayProp();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.handlePlayProp();\n\t}\n\n\trender = ({ src, onStart, onStop }) => (\n\t\t<audio\n\t\t\tref={this.handleRef}\n\t\t\tsrc={src}\n\t\t\tonPlay={onStart}\n\t\t\tonEnded={onStop}\n\t\t\ttype='audio/mpeg'\n\t\t/>\n\t)\n}\n","import { h, cloneElement, Component, createContext, toChildArray } from 'preact';\n\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nconst getPositioningStyle = (placement, { left, top, right, bottom }) => {\n\tswitch (placement) {\n\t\tcase 'left':\n\t\t\treturn {\n\t\t\t\tleft: `${ left }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'top':\n\t\tcase 'top-left':\n\t\tcase 'top-right':\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ top }px`,\n\t\t\t};\n\n\t\tcase 'right':\n\t\t\treturn {\n\t\t\t\tleft: `${ right }px`,\n\t\t\t\ttop: `${ (top + bottom) / 2 }px`,\n\t\t\t};\n\n\t\tcase 'bottom':\n\t\tcase 'bottom-left':\n\t\tcase 'bottom-right':\n\t\tdefault:\n\t\t\treturn {\n\t\t\t\tleft: `${ (left + right) / 2 }px`,\n\t\t\t\ttop: `${ bottom }px`,\n\t\t\t};\n\t}\n};\n\n\nexport const Tooltip = ({ children, hidden = false, placement, floating = false, triggerBounds, ...props }) => (\n\t<div\n\t\tclassName={createClassName(styles, 'tooltip', { hidden, placement, floating })}\n\t\tstyle={floating ? getPositioningStyle(placement, triggerBounds) : {}}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\n);\n\n\nconst TooltipContext = createContext();\n\n\nexport class TooltipContainer extends Component {\n\tstate = {\n\t\ttooltip: null,\n\t\tactiveChild: null,\n\t\tevent: null,\n\t\tplacement: null,\n\t}\n\n\tshowTooltip = (event, { content, placement = 'bottom', childIndex }) => {\n\t\tconst triggerBounds = event.target.getBoundingClientRect();\n\t\tthis.setState({ tooltip: <Tooltip floating placement={placement} triggerBounds={triggerBounds}>{content}</Tooltip>, activeChild: childIndex, event, placement, content });\n\t}\n\n\thideTooltip = () => {\n\t\tthis.setState({ tooltip: null });\n\t}\n\n\tUNSAFE_componentWillReceiveProps(props) {\n\t\tif (this.state.tooltip) {\n\t\t\tconst activeChildren = props?.children?.props?.children[this.state.activeChild];\n\t\t\tif (activeChildren && activeChildren.props.content !== this.state.content) {\n\t\t\t\tthis.showTooltip(this.state.event, { content: activeChildren.props.content, placement: this.state.placement, childIndex: this.state.activeChild });\n\t\t\t}\n\t\t}\n\t}\n\n\trender({ children }) {\n\t\treturn (\n\t\t\t<TooltipContext.Provider value={{ ...this.state, showTooltip: this.showTooltip, hideTooltip: this.hideTooltip }}>\n\t\t\t\t{children}\n\t\t\t\t<TooltipContext.Consumer>\n\t\t\t\t\t{({ tooltip }) => tooltip}\n\t\t\t\t</TooltipContext.Consumer>\n\t\t\t</TooltipContext.Provider>\n\t\t);\n\t}\n}\n\n\nexport const TooltipTrigger = ({ children, content, placement }) => (\n\t<TooltipContext.Consumer>\n\t\t{({ showTooltip, hideTooltip }) => toChildArray(children).map((child, index) => cloneElement(child, {\n\t\t\tonMouseEnter: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonMouseLeave: (event) => hideTooltip(event),\n\t\t\tonFocusCapture: (event) => showTooltip(event, { content, placement, childIndex: index }),\n\t\t\tonBlurCapture: (event) => hideTooltip(event),\n\t\t\tcontent,\n\t\t}))}\n\t</TooltipContext.Consumer>\n);\n\n\nexport const withTooltip = (component) => {\n\tconst TooltipConnection = ({ tooltip, ...props }) => (\n\t\t<Tooltip.Trigger content={tooltip}>\n\t\t\t{h(component, props)}\n\t\t</Tooltip.Trigger>\n\t);\n\tTooltipConnection.displayName = `withTooltip(${ component.displayName })`;\n\n\treturn TooltipConnection;\n};\n\n\nTooltip.Container = TooltipContainer;\nTooltip.Trigger = TooltipTrigger;\n\n\nexport default Tooltip;\n","import { Component, h } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nimport I18n from '../../i18n';\nimport MinimizeIcon from '../../icons/arrowDown.svg';\nimport RestoreIcon from '../../icons/arrowUp.svg';\nimport NotificationsEnabledIcon from '../../icons/bell.svg';\nimport NotificationsDisabledIcon from '../../icons/bellOff.svg';\nimport ChatIcon from '../../icons/chat.svg';\nimport CloseIcon from '../../icons/close.svg';\nimport OpenWindowIcon from '../../icons/newWindow.svg';\nimport { Alert } from '../Alert';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { Footer, FooterContent, PoweredBy } from '../Footer';\nimport Header from '../Header';\nimport { PopoverContainer } from '../Popover';\nimport { Sound } from '../Sound';\nimport Tooltip from '../Tooltip';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\nclass ScreenHeader extends Component {\n\tlargeHeader = () => {\n\t\tconst { agent } = this.props;\n\t\treturn !!(agent && agent.email && agent.phone);\n\t}\n\n\theaderTitle = () => {\n\t\tconst { agent, queueInfo, title } = this.props;\n\t\tif (agent && agent.name) {\n\t\t\treturn agent.name;\n\t\t}\n\n\t\tif (queueInfo && queueInfo.spot && queueInfo.spot > 0) {\n\t\t\treturn I18n.t('Waiting queue...');\n\t\t}\n\n\t\treturn title;\n\t}\n\n\trender = ({\n\t\talerts,\n\t\tagent,\n\t\tnotificationsEnabled,\n\t\tminimized,\n\t\texpanded,\n\t\twindowed,\n\t\tonDismissAlert,\n\t\tonEnableNotifications,\n\t\tonDisableNotifications,\n\t\tonMinimize,\n\t\tonRestore,\n\t\tonOpenWindow,\n\t}) => (\n\t\t<Header\n\t\t\tref={this.handleRef}\n\t\t\tpost={\n\t\t\t\t<Header.Post>\n\t\t\t\t\t{alerts && alerts.map((alert) => <Alert {...alert} onDismiss={onDismissAlert}>{alert.children}</Alert>)}\n\t\t\t\t</Header.Post>\n\t\t\t}\n\t\t\tlarge={this.largeHeader()}\n\t\t>\n\t\t\t{agent && agent.avatar && (\n\t\t\t\t<Header.Picture>\n\t\t\t\t\t<Avatar\n\t\t\t\t\t\tsrc={agent.avatar.src}\n\t\t\t\t\t\tdescription={agent.avatar.description}\n\t\t\t\t\t\tstatus={agent.status}\n\t\t\t\t\t\tlarge={this.largeHeader()}\n\t\t\t\t\t\tstatusBorder\n\t\t\t\t\t/>\n\t\t\t\t</Header.Picture>\n\t\t\t)}\n\n\t\t\t<Header.Content>\n\t\t\t\t<Header.Title>{this.headerTitle()}</Header.Title>\n\t\t\t\t{agent && agent.email && (\n\t\t\t\t\t<Header.SubTitle>{agent.email}</Header.SubTitle>\n\t\t\t\t)}\n\t\t\t\t{agent && agent.phone && (\n\t\t\t\t\t<Header.CustomField>{agent.phone}</Header.CustomField>\n\t\t\t\t)}\n\t\t\t</Header.Content>\n\t\t\t<Tooltip.Container>\n\t\t\t\t<Header.Actions>\n\t\t\t\t\t<Tooltip.Trigger content={notificationsEnabled ? I18n.t('Sound is on') : I18n.t('Sound is off')}>\n\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\taria-label={notificationsEnabled ? I18n.t('Disable notifications') : I18n.t('Enable notifications')}\n\t\t\t\t\t\t\tonClick={notificationsEnabled ? onDisableNotifications : onEnableNotifications}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{notificationsEnabled\n\t\t\t\t\t\t\t\t? <NotificationsEnabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t: <NotificationsDisabledIcon width={20} height={20} />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t{(expanded || !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}>\n\t\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\t\taria-label={minimized ? I18n.t('Restore chat') : I18n.t('Minimize chat')}\n\t\t\t\t\t\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{minimized\n\t\t\t\t\t\t\t\t\t? <RestoreIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t: <MinimizeIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t\t{(!expanded && !windowed) && (\n\t\t\t\t\t\t<Tooltip.Trigger content={I18n.t('Expand chat')} placement='bottom-left'>\n\t\t\t\t\t\t\t<Header.Action aria-label={I18n.t('Expand chat')} onClick={onOpenWindow}>\n\t\t\t\t\t\t\t\t<OpenWindowIcon width={20} height={20} />\n\t\t\t\t\t\t\t</Header.Action>\n\t\t\t\t\t\t</Tooltip.Trigger>\n\t\t\t\t\t)}\n\t\t\t\t</Header.Actions>\n\t\t\t</Tooltip.Container>\n\t\t</Header>\n\t)\n}\n\n\nexport const ScreenContent = ({ children, nopadding, triggered = false }) => (\n\t<main className={createClassName(styles, 'screen__main', { nopadding, triggered })}>\n\t\t{children}\n\t</main>\n);\n\n\nexport const ScreenFooter = ({ children, options, limit }) => (\n\t<Footer>\n\t\t{children && (\n\t\t\t<FooterContent>\n\t\t\t\t{children}\n\t\t\t</FooterContent>\n\t\t)}\n\t\t<FooterContent>\n\t\t\t{options}\n\t\t\t{limit}\n\t\t\t<PoweredBy />\n\t\t</FooterContent>\n\t</Footer>\n);\n\nconst ChatButton = ({\n\ttext,\n\tminimized,\n\tbadge,\n\tonClick,\n\ttriggered = false,\n\tagent,\n}) => (\n\t<Button\n\t\ticon={minimized || triggered ? <ChatIcon /> : <CloseIcon />}\n\t\tbadge={badge}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'screen__chat-button')}\n\t\timg={triggered && agent && agent.avatar.src}\n\t>\n\t\t{text}\n\t</Button>\n);\n\nconst CssVar = ({ theme }) => {\n\tuseEffect(() => {\n\t\tif (window.CSS && CSS.supports('color', 'var(--color)')) {\n\t\t\treturn;\n\t\t}\n\t\tlet mounted = true;\n\t\t(async () => {\n\t\t\tconst { default: cssVars } = await import('css-vars-ponyfill');\n\t\t\tif (!mounted) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcssVars({\n\t\t\t\tvariables: {\n\t\t\t\t\t'--color': theme.color,\n\t\t\t\t\t'--font-color': theme.fontColor,\n\t\t\t\t\t'--icon-color': theme.iconColor,\n\t\t\t\t},\n\t\t\t});\n\t\t})();\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t};\n\t}, [theme]);\n\n\treturn <style>{`\n\t\t.${ styles.screen } {\n\t\t\t${ theme.color ? `--color: ${ theme.color };` : '' }\n\t\t\t${ theme.fontColor ? `--font-color: ${ theme.fontColor };` : '' }\n\t\t\t${ theme.iconColor ? `--icon-color: ${ theme.iconColor };` : '' }\n\t\t}\n\t`}</style>;\n};\n\nexport const Screen = ({\n\ttheme = {},\n\tagent,\n\ttitle,\n\tnotificationsEnabled,\n\tminimized = false,\n\texpanded = false,\n\twindowed = false,\n\tchildren,\n\tclassName,\n\talerts,\n\tmodal,\n\tunread,\n\tsound,\n\tonDismissAlert,\n\tonEnableNotifications,\n\tonDisableNotifications,\n\tonMinimize,\n\tonRestore,\n\tonOpenWindow,\n\tonSoundStop,\n\tqueueInfo,\n\tdismissNotification,\n\ttriggered = false,\n}) => (\n\t<div className={createClassName(styles, 'screen', { minimized, expanded, windowed, triggered })}>\n\t\t<CssVar theme={theme} />\n\t\t{triggered && <Button onClick={onMinimize} className={createClassName(styles, 'screen__chat-close-button')} icon={<CloseIcon />}>Close</Button>}\n\t\t<div className={createClassName(styles, 'screen__inner', { fitTextSize: triggered }, [className])}>\n\t\t\t<PopoverContainer>\n\t\t\t\t{!triggered && <ScreenHeader\n\t\t\t\t\talerts={alerts}\n\t\t\t\t\tagent={agent}\n\t\t\t\t\ttitle={title}\n\t\t\t\t\tnotificationsEnabled={notificationsEnabled}\n\t\t\t\t\tminimized={minimized}\n\t\t\t\t\texpanded={expanded}\n\t\t\t\t\twindowed={windowed}\n\t\t\t\t\tonDismissAlert={onDismissAlert}\n\t\t\t\t\tonEnableNotifications={onEnableNotifications}\n\t\t\t\t\tonDisableNotifications={onDisableNotifications}\n\t\t\t\t\tonMinimize={onMinimize}\n\t\t\t\t\tonRestore={onRestore}\n\t\t\t\t\tonOpenWindow={onOpenWindow}\n\t\t\t\t\tqueueInfo={queueInfo}\n\t\t\t\t/>}\n\n\t\t\t\t{modal}\n\t\t\t\t{children}\n\t\t\t</PopoverContainer>\n\t\t</div>\n\n\t\t<ChatButton\n\t\t\tagent={agent}\n\t\t\ttriggered={triggered}\n\t\t\ttext={title}\n\t\t\tbadge={unread}\n\t\t\tminimized={minimized}\n\t\t\tonClick={minimized ? onRestore : onMinimize}\n\t\t/>\n\n\t\t{sound && <Sound src={sound.src} play={sound.play} onStop={onSoundStop} dismissNotification={dismissNotification} />}\n\t</div>\n);\n\n\nScreen.Content = ScreenContent;\nScreen.Footer = ScreenFooter;\n\n\nexport default Screen;\n","import { Picker } from 'emoji-mart';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { Composer, ComposerAction, ComposerActions } from '../../components/Composer';\nimport { FilesDropTarget } from '../../components/FilesDropTarget';\nimport { FooterOptions, CharCounter } from '../../components/Footer';\nimport { Menu } from '../../components/Menu';\nimport { MessageList } from '../../components/Messages';\nimport { Screen } from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport ChangeIcon from '../../icons/change.svg';\nimport FinishIcon from '../../icons/finish.svg';\nimport PlusIcon from '../../icons/plus.svg';\nimport RemoveIcon from '../../icons/remove.svg';\nimport SendIcon from '../../icons/send.svg';\nimport EmojiIcon from '../../icons/smile.svg';\nimport styles from './styles.scss';\n\nexport default class Chat extends Component {\n\tstate = {\n\t\tatBottom: true,\n\t\ttext: '',\n\t\temojiPickerActive: false,\n\t}\n\n\thandleFilesDropTargetRef = (ref) => {\n\t\tthis.filesDropTarget = ref;\n\t}\n\n\thandleMessagesContainerRef = (messagesContainer) => {\n\t\tthis.messagesContainer = messagesContainer ? messagesContainer.base : null;\n\t}\n\n\thandleScrollTo = (region) => {\n\t\tconst { onTop, onBottom } = this.props;\n\n\t\tif (region === MessageList.SCROLL_AT_BOTTOM) {\n\t\t\tthis.setState({ atBottom: true });\n\t\t\tonBottom && onBottom();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState({ atBottom: false });\n\n\t\tif (region === MessageList.SCROLL_AT_TOP) {\n\t\t\tonTop && onTop();\n\t\t}\n\t}\n\n\thandleUploadClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.filesDropTarget.browse();\n\t}\n\n\thandleSendClick = (event) => {\n\t\tevent.preventDefault();\n\t\tthis.handleSubmit(this.state.text);\n\t}\n\n\thandleSubmit = (text) => {\n\t\tif (this.props.onSubmit) {\n\t\t\tthis.props.onSubmit(text);\n\t\t\tthis.setState({ text: '' });\n\t\t\tthis.turnOffEmojiPicker();\n\t\t}\n\t}\n\n\thandleChangeText = (text) => {\n\t\tlet value = text;\n\t\tconst { onChangeText, limitTextLength } = this.props;\n\t\tif (limitTextLength && limitTextLength < text.length) {\n\t\t\tvalue = value.substring(0, limitTextLength);\n\t\t}\n\t\tthis.setState({ text: value });\n\t\tonChangeText && onChangeText(value);\n\t}\n\n\ttoggleEmojiPickerState = () => {\n\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t}\n\n\thandleEmojiSelect = (emoji) => {\n\t\tthis.toggleEmojiPickerState();\n\t\tthis.notifyEmojiSelect(emoji.native);\n\t}\n\n\thandleEmojiClick = () => {\n\t\tthis.turnOffEmojiPicker();\n\t}\n\n\tturnOffEmojiPicker = () => {\n\t\tif (this.state.emojiPickerActive) {\n\t\t\tthis.setState({ emojiPickerActive: !this.state.emojiPickerActive });\n\t\t}\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tfontColor,\n\t\tuid,\n\t\tagent,\n\t\ttypingUsernames,\n\t\tavatarResolver,\n\t\tconversationFinishedMessage,\n\t\tloading,\n\t\tonUpload,\n\t\tmessages,\n\t\tuploads = false,\n\t\toptions,\n\t\tonChangeDepartment,\n\t\tonFinishChat,\n\t\tonRemoveUserData,\n\t\tlastReadMessageId,\n\t\tqueueInfo,\n\t\tregistrationRequired,\n\t\tonRegisterUser,\n\t\tlimitTextLength,\n\t\t...props\n\t}, {\n\t\tatBottom = true,\n\t\ttext,\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || I18n.t('Need help?')}\n\t\t\tfontColor={fontColor}\n\t\t\tagent={agent || null}\n\t\t\tqueueInfo={queueInfo}\n\t\t\tnopadding\n\t\t\tonChangeDepartment={onChangeDepartment}\n\t\t\tonFinishChat={onFinishChat}\n\t\t\tonRemoveUserData={onRemoveUserData}\n\t\t\tclassName={createClassName(styles, 'chat')}\n\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t{...props}\n\t\t>\n\t\t\t<FilesDropTarget\n\t\t\t\tref={this.handleFilesDropTargetRef}\n\t\t\t\toverlayed\n\t\t\t\toverlayText={I18n.t('Drop here to upload a file')}\n\t\t\t\tonUpload={onUpload}\n\t\t\t>\n\t\t\t\t<Screen.Content nopadding>\n\t\t\t\t\t<div className={createClassName(styles, 'chat__messages', { atBottom, loading })}>\n\t\t\t\t\t\t<MessageList\n\t\t\t\t\t\t\tref={this.handleMessagesContainerRef}\n\t\t\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\t\t\tuid={uid}\n\t\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\t\ttypingUsernames={typingUsernames}\n\t\t\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\t\t\t\tonScrollTo={this.handleScrollTo}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.state.emojiPickerActive && <Picker\n\t\t\t\t\t\t\tstyle={{ position: 'absolute', zIndex: 10, bottom: 0, maxWidth: '90%', left: 20, maxHeight: '90%' }}\n\t\t\t\t\t\t\tshowPreview={false}\n\t\t\t\t\t\t\tshowSkinTones={false}\n\t\t\t\t\t\t\tsheetSize={64}\n\t\t\t\t\t\t\tonSelect={this.handleEmojiSelect}\n\t\t\t\t\t\t\tautoFocus={true}\n\t\t\t\t\t\t/>}\n\t\t\t\t\t</div>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer\n\t\t\t\t\toptions={options ? (\n\t\t\t\t\t\t<FooterOptions>\n\t\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t\t{onChangeDepartment && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onChangeDepartment} icon={ChangeIcon}>{I18n.t('Change department')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onRemoveUserData && (\n\t\t\t\t\t\t\t\t\t<Menu.Item onClick={onRemoveUserData} icon={RemoveIcon}>{I18n.t('Forget/Remove my data')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{onFinishChat && (\n\t\t\t\t\t\t\t\t\t<Menu.Item danger onClick={onFinishChat} icon={FinishIcon}>{I18n.t('Finish this chat')}</Menu.Item>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t\t</FooterOptions>\n\t\t\t\t\t) : null}\n\t\t\t\t\tlimit={limitTextLength\n\t\t\t\t\t\t? <CharCounter\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t\ttextLength={text.length}\n\t\t\t\t\t\t/> : null}\n\t\t\t\t>\n\t\t\t\t\t{ registrationRequired\n\t\t\t\t\t\t? <Button loading={loading} disabled={loading} onClick={onRegisterUser} stack>{I18n.t('Chat now')}</Button>\n\t\t\t\t\t\t: <Composer onUpload={onUpload}\n\t\t\t\t\t\t\tonSubmit={this.handleSubmit}\n\t\t\t\t\t\t\tonChange={this.handleChangeText}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Type your message here')}\n\t\t\t\t\t\t\tvalue={text}\n\t\t\t\t\t\t\tnotifyEmojiSelect={(click) => { this.notifyEmojiSelect = click; }}\n\t\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\t\tpre={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t<ComposerAction className={createClassName(styles, 'emoji-picker-icon')} onClick={this.toggleEmojiPickerState}>\n\t\t\t\t\t\t\t\t\t\t<EmojiIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tpost={(\n\t\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t\t{text.length === 0 && uploads && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleUploadClick}>\n\t\t\t\t\t\t\t\t\t\t\t<PlusIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{text.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleSendClick}>\n\t\t\t\t\t\t\t\t\t\t\t<SendIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t</Screen.Footer>\n\t\t\t</FilesDropTarget>\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { createToken, debounce, getAvatarUrl, canRenderMessage, throttle, upsert } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { normalizeQueueAlert } from '../../lib/api';\nimport constants from '../../lib/constants';\nimport { loadConfig } from '../../lib/main';\nimport { parentCall, runCallbackEventEmitter } from '../../lib/parentCall';\nimport { initRoom, closeChat, loadMessages, loadMoreMessages, defaultRoomParams, getGreetingMessages } from '../../lib/room';\nimport { Consumer } from '../../store';\nimport Chat from './component';\n\nexport class ChatContainer extends Component {\n\tstate = {\n\t\troom: null,\n\t\tconnectingAgent: false,\n\t\tqueueSpot: 0,\n\t\ttriggerQueueMessage: true,\n\t\testimatedWaitTime: null,\n\t}\n\n\tcheckConnectingAgent = async () => {\n\t\tconst { connecting, queueInfo } = this.props;\n\t\tconst { connectingAgent, queueSpot, estimatedWaitTime } = this.state;\n\n\t\tconst newConnecting = connecting;\n\t\tconst newQueueSpot = (queueInfo && queueInfo.spot) || 0;\n\t\tconst newEstimatedWaitTime = queueInfo && queueInfo.estimatedWaitTimeSeconds;\n\n\t\tif (newConnecting !== connectingAgent || newQueueSpot !== queueSpot || newEstimatedWaitTime !== estimatedWaitTime) {\n\t\t\tthis.state.connectingAgent = newConnecting;\n\t\t\tthis.state.queueSpot = newQueueSpot;\n\t\t\tthis.state.estimatedWaitTime = newEstimatedWaitTime;\n\t\t\tawait this.handleQueueMessage(connecting, queueInfo);\n\t\t\tawait this.handleConnectingAgentAlert(newConnecting, normalizeQueueAlert(queueInfo));\n\t\t}\n\t}\n\n\tcheckRoom = () => {\n\t\tconst { room } = this.props;\n\t\tconst { room: stateRoom } = this.state;\n\t\tif (room && (!stateRoom || room._id !== stateRoom._id)) {\n\t\t\tthis.state.room = room;\n\t\t\tsetTimeout(loadMessages, 500);\n\t\t}\n\t}\n\n\tgrantUser = async () => {\n\t\tconst { token, user, guest, dispatch } = this.props;\n\n\t\tif (user) {\n\t\t\treturn user;\n\t\t}\n\n\t\tconst visitor = { token, ...guest };\n\t\tconst newUser = await Livechat.grantVisitor({ visitor });\n\t\tawait dispatch({ user: newUser });\n\t}\n\n\tgetRoom = async () => {\n\t\tconst { alerts, dispatch, room, messages } = this.props;\n\t\tconst previousMessages = getGreetingMessages(messages);\n\n\t\tif (room) {\n\t\t\treturn room;\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst params = defaultRoomParams();\n\t\t\tconst newRoom = await Livechat.room(params);\n\t\t\tawait dispatch({ room: newRoom, messages: previousMessages, noMoreMessages: false });\n\t\t\tawait initRoom();\n\n\t\t\tparentCall('callback', 'chat-started');\n\t\t\treturn newRoom;\n\t\t} catch (error) {\n\t\t\tconst { data: { error: reason } } = error;\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error starting a new conversation: %{reason}', { reason }), error: true, timeout: 10000 };\n\t\t\tawait dispatch({ loading: false, alerts: (alerts.push(alert), alerts) });\n\n\t\t\trunCallbackEventEmitter(reason);\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleTop = () => {\n\t\tloadMoreMessages();\n\t}\n\n\tstartTyping = throttle(async ({ rid, username }) => {\n\t\tawait Livechat.notifyVisitorTyping(rid, username, true);\n\t\tthis.stopTypingDebounced({ rid, username });\n\t}, 4500)\n\n\tstopTyping = ({ rid, username }) => Livechat.notifyVisitorTyping(rid, username, false)\n\n\tstopTypingDebounced = debounce(this.stopTyping, 5000)\n\n\thandleChangeText = async () => {\n\t\tconst { user, room } = this.props;\n\t\tif (!(user && user.username && room && room._id)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.startTyping({ rid: room._id, username: user.username });\n\t}\n\n\thandleSubmit = async (msg) => {\n\t\tif (msg.trim() === '') {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\t\tconst { alerts, dispatch, token, user } = this.props;\n\n\t\ttry {\n\t\t\tthis.stopTypingDebounced.stop();\n\t\t\tawait Promise.all([\n\t\t\t\tthis.stopTyping({ rid, username: user.username }),\n\t\t\t\tLivechat.sendMessage({ msg, token, rid }),\n\t\t\t]);\n\t\t} catch (error) {\n\t\t\tconst reason = error?.data?.error ?? error.message;\n\t\t\tconst alert = { id: createToken(), children: reason, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t\tawait Livechat.notifyVisitorTyping(rid, user.username, false);\n\t}\n\n\tdoFileUpload = async (rid, file) => {\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\ttry {\n\t\t\tawait Livechat.uploadFile({ rid, file });\n\t\t} catch (error) {\n\t\t\tconst { data: { reason, sizeAllowed } } = error;\n\n\t\t\tlet message = I18n.t('FileUpload Error');\n\t\t\tswitch (reason) {\n\t\t\t\tcase 'error-type-not-allowed':\n\t\t\t\t\tmessage = I18n.t('Media Types Not Accepted.');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'error-size-not-allowed':\n\t\t\t\t\tmessage = I18n.t('File exceeds allowed size of %{size}.', { size: sizeAllowed });\n\t\t\t}\n\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t}\n\t};\n\n\thandleUpload = async (files) => {\n\t\tawait this.grantUser();\n\t\tconst { _id: rid } = await this.getRoom();\n\n\t\tfiles.forEach((file) => this.doFileUpload(rid, file));\n\t}\n\n\thandleSoundStop = async () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tawait dispatch({ sound: { ...sound, play: false } });\n\t}\n\n\tonChangeDepartment = () => {\n\t\troute('/switch-department');\n\t}\n\n\tonFinishChat = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to finish this chat?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch, room: { _id: rid } = {} } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tif (rid) {\n\t\t\t\tawait Livechat.closeChat({ rid });\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error closing chat.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t\tawait closeChat();\n\t\t}\n\t}\n\n\tonRemoveUserData = async () => {\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to remove all of your personal data?'),\n\t\t});\n\n\t\tif (!success) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tawait Livechat.deleteVisitor();\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tconst alert = { id: createToken(), children: I18n.t('Error removing user data.'), error: true, timeout: 0 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t} finally {\n\t\t\tawait loadConfig();\n\t\t\tawait dispatch({ loading: false });\n\t\t\troute('/chat-finished');\n\t\t}\n\t}\n\n\tcanSwitchDepartment = () => {\n\t\tconst { allowSwitchingDepartments, departments = {} } = this.props;\n\t\treturn allowSwitchingDepartments && departments.filter((dept) => dept.showOnRegistration).length > 1;\n\t}\n\n\tcanFinishChat = () => {\n\t\tconst { room, connecting } = this.props;\n\t\treturn (room !== undefined) || connecting;\n\t}\n\n\tcanRemoveUserData = () => {\n\t\tconst { allowRemoveUserData } = this.props;\n\t\treturn allowRemoveUserData;\n\t}\n\n\tregistrationRequired = () => {\n\t\tconst {\n\t\t\tregistrationFormEnabled,\n\t\t\tnameFieldRegistrationForm,\n\t\t\temailFieldRegistrationForm,\n\t\t\tdepartments = [],\n\t\t\tuser,\n\t\t} = this.props;\n\n\t\tif (user && user.token) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!registrationFormEnabled) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\t\treturn nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment;\n\t}\n\n\tonRegisterUser = () => route('/register');\n\n\tshowOptionsMenu = () =>\n\t\tthis.canSwitchDepartment() || this.canFinishChat() || this.canRemoveUserData()\n\n\n\tasync handleConnectingAgentAlert(connecting, message) {\n\t\tconst { alerts: oldAlerts, dispatch } = this.props;\n\t\tconst { connectingAgentAlertId } = constants;\n\t\tconst alerts = oldAlerts.filter((item) => item.id !== connectingAgentAlertId);\n\t\tif (connecting) {\n\t\t\talerts.push({\n\t\t\t\tid: connectingAgentAlertId,\n\t\t\t\tchildren: message || I18n.t('Please, wait for the next available agent..'),\n\t\t\t\twarning: true,\n\t\t\t\thideCloseButton: true,\n\t\t\t\ttimeout: 0,\n\t\t\t});\n\t\t}\n\n\t\tawait dispatch({ alerts });\n\t}\n\n\tasync handleQueueMessage(connecting, queueInfo) {\n\t\tif (!queueInfo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { livechatQueueMessageId } = constants;\n\t\tconst { message: { text: msg, user: u } = {} } = queueInfo;\n\t\tconst { triggerQueueMessage } = this.state;\n\n\t\tconst { room } = this.props;\n\t\tif (!room || !connecting || !msg || !triggerQueueMessage) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.state.triggerQueueMessage = false;\n\n\t\tconst { dispatch, messages } = this.props;\n\t\tconst ts = new Date();\n\t\tconst message = { _id: livechatQueueMessageId, msg, u, ts: ts.toISOString() };\n\t\tawait dispatch({\n\t\t\tmessages: upsert(messages, message, ({ _id }) => _id === message._id, ({ ts }) => ts),\n\t\t});\n\t}\n\n\tasync componentDidMount() {\n\t\tawait this.checkConnectingAgent();\n\t\tloadMessages();\n\t}\n\n\tasync componentDidUpdate(prevProps) {\n\t\tconst { messages, visible, minimized, dispatch } = this.props;\n\t\tconst { messages: prevMessages, alerts: prevAlerts } = prevProps;\n\n\t\tif (messages && prevMessages && messages.length !== prevMessages.length && visible && !minimized) {\n\t\t\tconst nextLastMessage = messages[messages.length - 1];\n\t\t\tconst lastMessage = prevMessages[prevMessages.length - 1];\n\t\t\tif ((nextLastMessage && lastMessage && nextLastMessage._id !== lastMessage._id) || (messages.length === 1 && prevMessages.length === 0)) {\n\t\t\t\tconst newAlerts = prevAlerts.filter((item) => item.id !== constants.unreadMessagesAlertId);\n\t\t\t\tdispatch({ alerts: newAlerts, unread: null, lastReadMessageId: nextLastMessage._id });\n\t\t\t}\n\t\t}\n\n\t\tawait this.checkConnectingAgent();\n\t\tthis.checkRoom();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.handleConnectingAgentAlert(false);\n\t}\n\n\trender = ({ user, ...props }) => (\n\t\t<Chat\n\t\t\t{...props}\n\t\t\tavatarResolver={getAvatarUrl}\n\t\t\tuid={user && user._id}\n\t\t\tonTop={this.handleTop}\n\t\t\tonChangeText={this.handleChangeText}\n\t\t\tonSubmit={this.handleSubmit}\n\t\t\tonUpload={this.handleUpload}\n\t\t\toptions={this.showOptionsMenu()}\n\t\t\tonChangeDepartment={(this.canSwitchDepartment() && this.onChangeDepartment) || null}\n\t\t\tonFinishChat={(this.canFinishChat() && this.onFinishChat) || null}\n\t\t\tonRemoveUserData={(this.canRemoveUserData() && this.onRemoveUserData) || null}\n\t\t\tonSoundStop={this.handleSoundStop}\n\t\t\tregistrationRequired={this.registrationRequired()}\n\t\t\tonRegisterUser={this.onRegisterUser}\n\t\t/>\n\t)\n}\n\n\nexport const ChatConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tsettings: {\n\t\t\t\t\tfileUpload: uploads,\n\t\t\t\t\tallowSwitchingDepartments,\n\t\t\t\t\tforceAcceptDataProcessingConsent: allowRemoveUserData,\n\t\t\t\t\tshowConnecting,\n\t\t\t\t\tregistrationForm,\n\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\tlimitTextLength,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t\ttitle,\n\t\t\t\t} = {},\n\t\t\t\tdepartments = {},\n\t\t\t},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t\tguest,\n\t\t\t} = {},\n\t\t\ttoken,\n\t\t\tagent,\n\t\t\tsound,\n\t\t\tuser,\n\t\t\troom,\n\t\t\tmessages,\n\t\t\tnoMoreMessages,\n\t\t\ttyping,\n\t\t\tloading,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\tvisible,\n\t\t\tunread,\n\t\t\tlastReadMessageId,\n\t\t\ttriggerAgent,\n\t\t\tqueueInfo,\n\t\t}) => (\n\t\t\t<ChatContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title || I18n.t('Need help?')}\n\t\t\t\tsound={sound}\n\t\t\t\ttoken={token}\n\t\t\t\tuser={user}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\troom={room}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t\tnoMoreMessages={noMoreMessages}\n\t\t\t\temoji={true}\n\t\t\t\tuploads={uploads}\n\t\t\t\ttypingUsernames={Array.isArray(typing) ? typing : []}\n\t\t\t\tloading={loading}\n\t\t\t\tshowConnecting={showConnecting} // setting from server that tells if app needs to show \"connecting\" sometimes\n\t\t\t\tconnecting={!!(room && !agent && (showConnecting || queueInfo))}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tdepartments={departments}\n\t\t\t\tallowSwitchingDepartments={allowSwitchingDepartments}\n\t\t\t\tconversationFinishedMessage={conversationFinishedMessage || I18n.t('Conversation finished')}\n\t\t\t\tallowRemoveUserData={allowRemoveUserData}\n\t\t\t\talerts={alerts}\n\t\t\t\tvisible={visible}\n\t\t\t\tunread={unread}\n\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\tguest={guest}\n\t\t\t\ttriggerAgent={triggerAgent}\n\t\t\t\tqueueInfo={queueInfo ? {\n\t\t\t\t\tspot: queueInfo.spot,\n\t\t\t\t\testimatedWaitTimeSeconds: queueInfo.estimatedWaitTimeSeconds,\n\t\t\t\t\tmessage: queueInfo.message,\n\t\t\t\t} : undefined}\n\t\t\t\tregistrationFormEnabled={registrationForm}\n\t\t\t\tnameFieldRegistrationForm={nameFieldRegistrationForm}\n\t\t\t\temailFieldRegistrationForm={emailFieldRegistrationForm}\n\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultGreeting = I18n.t('Thanks for talking with us');\nconst defaultMessage = I18n.t('If you have any other questions, just press the button below to start a new chat.');\n\nexport default class ChatFinished extends Component {\n\thandleClick = () => {\n\t\tconst { onRedirectChat } = this.props;\n\t\tonRedirectChat && onRedirectChat();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tgreeting,\n\t\tmessage,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonRedirectChat,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'chat-finished')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__greeting')}>{greeting || defaultGreeting}</p>\n\t\t\t\t<p className={createClassName(styles, 'chat-finished__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('New Chat') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport ChatFinished from './component';\n\n\nexport class ChatFinishedContainer extends Component {\n\thandleRedirect = () => {\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<ChatFinished {...props} onRedirectChat={this.handleRedirect} />\n\t)\n}\n\n\nexport const ChatFinishedConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tmessages: {\n\t\t\t\t\tconversationFinishedMessage: greeting,\n\t\t\t\t\tconversationFinishedText: message,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t}) => (\n\t\t\t<ChatFinishedContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('Chat Finished')}\n\t\t\t\tgreeting={greeting}\n\t\t\t\tmessage={message}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default ChatFinishedConnector;\n","import MarkdownIt from 'markdown-it';\nimport { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst md = new MarkdownIt({\n\tlinkify: false,\n\ttypographer: false,\n});\n\nconst defaultConsentText = I18n.t(\n\t'The controller of your personal data is [Company Name], with registered '\n\t+ 'office at [Company Address]. To start the chat you agree that your '\n\t+ 'personal data shall be processed and trasmitted in accordance with the General Data Protection Regulation (GDPR).',\n);\n\nconst defaultInstructions = I18n.t(\n\t'Go to **menu options → Forget/Remove my personal data** to request the immediate removal of your data.',\n);\n\nexport default class GDPR extends Component {\n\thandleClick = () => {\n\t\tconst { onAgree } = this.props;\n\t\tonAgree && onAgree();\n\t}\n\n\trender = ({\n\t\tcolor,\n\t\ttitle,\n\t\tconsentText,\n\t\tinstructions,\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tonAgree,\n\t\t...props\n\t}) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title}\n\t\t\tclassName={createClassName(styles, 'gdpr')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__consent-text')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(consentText || defaultConsentText) }}\n\t\t\t\t/>\n\t\t\t\t<p\n\t\t\t\t\tclassName={createClassName(styles, 'gdpr__instructions')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(instructions || defaultInstructions) }}\n\t\t\t\t/>\n\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ I18n.t('I Agree') }</Button>\n\t\t\t\t</ButtonGroup>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport I18n from '../../i18n';\nimport { Consumer } from '../../store';\nimport GDPRAgreement from './component';\n\n\nexport class GDPRContainer extends Component {\n\thandleAgree = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ gdpr: { accepted: true } });\n\t\troute('/');\n\t}\n\n\trender = (props) => (\n\t\t<GDPRAgreement {...props} onAgree={this.handleAgree} />\n\t)\n}\n\nexport const GDPRConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tdataProcessingConsentText: consentText,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tdispatch,\n\t\t}) => (\n\t\t\t<GDPRContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\ttitle={I18n.t('GDPR')}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tconsentText={consentText}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default GDPRConnector;\n","import { h, cloneElement } from 'preact';\n\nimport { createClassName } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const FormField = ({\n\trequired,\n\tlabel,\n\tdescription,\n\terror,\n\tclassName,\n\tstyle = {},\n\tchildren,\n}) => (\n\t<div\n\t\tclassName={createClassName(styles, 'form-field', { required, error: !!error }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<label className={createClassName(styles, 'form-field__label-wrapper')}>\n\t\t\t{label\n\t\t\t\t? <span className={createClassName(styles, 'form-field__label')}>{label}</span>\n\t\t\t\t: null}\n\t\t\t<span className={createClassName(styles, 'form-field__input')}>\n\t\t\t\t{error\n\t\t\t\t\t? (Array.isArray(children) ? children : [children])\n\t\t\t\t\t\t.map((child) => cloneElement(child, { error: !!error }))\n\t\t\t\t\t: children}\n\t\t\t</span>\n\t\t</label>\n\t\t<small className={createClassName(styles, 'form-field__description')}>\n\t\t\t{error || description}\n\t\t</small>\n\t</div>\n);\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const TextInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\tmultiline = false,\n\trows = 1,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n\t...props\n}) => (\n\tmultiline\n\t\t? (\n\t\t\t<textarea\n\t\t\t\trows={rows}\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small, multiline }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n\t\t: (\n\t\t\t<input\n\t\t\t\ttype='text'\n\t\t\t\tname={name}\n\t\t\t\tvalue={value}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={onChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'text-input', { disabled, error, small }, [className])}\n\t\t\t\tstyle={style}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t)\n));\n","import { h } from 'preact';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nexport const PasswordInput = memo(({\n\tname,\n\tvalue,\n\tplaceholder,\n\tdisabled,\n\tsmall,\n\terror,\n\tonChange,\n\tonInput,\n\tclassName,\n\tstyle = {},\n}) => (\n\t<input\n\t\ttype='password'\n\t\tname={name}\n\t\tvalue={value}\n\t\tplaceholder={placeholder}\n\t\tdisabled={disabled}\n\t\tonChange={onChange}\n\t\tonInput={onInput}\n\t\tclassName={createClassName(styles, 'password-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\n\t/>\n));\n","import { h } from 'preact';\n\nimport I18n from '../../i18n';\nimport { createClassName, MemoizedComponent } from '../helpers';\nimport styles from './styles.scss';\n\n\nexport class Form extends MemoizedComponent {\n\tstatic defaultHandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\t}\n\n\trender = ({ onSubmit, className, style = {}, children }) => (\n\t\t<form\n\t\t\tnoValidate\n\t\t\tonSubmit={onSubmit || Form.defaultHandleSubmit}\n\t\t\tclassName={createClassName(styles, 'form', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{children}\n\t\t</form>\n\t)\n}\n\nexport const Validations = {\n\tnonEmpty: ({ value }) => (!value ? I18n.t('Field required') : undefined),\n\n\temail: ({ value }) => (!/^\\S+@\\S+\\.\\S+/.test(String(value).toLowerCase()) ? I18n.t('Invalid email') : null),\n\n\tcustom: ({ value, pattern }) => (new RegExp(pattern, 'i').test(String(value)) ? null : I18n.t('Invalid value')),\n};\n\n\nexport { FormField } from './FormField';\nexport { TextInput } from './TextInput';\nexport { PasswordInput } from './PasswordInput';\nexport { SelectInput } from './SelectInput';\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, TextInput, Validations } from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Leave a message');\nconst defaultMessage = I18n.t('We are not online right now. Please, leave a message.');\nconst defaultUnavailableMessage = ''; // TODO\n\nexport default class LeaveMessage extends Component {\n\tvalidations = {\n\t\tname: [Validations.nonEmpty],\n\t\temail: [Validations.nonEmpty, Validations.email],\n\t\tdepartment: [],\n\t\tmessage: [Validations.nonEmpty],\n\t}\n\n\tgetDefaultState = () => {\n\t\tconst { hasDepartmentField, departments } = this.props;\n\n\t\tlet department = null;\n\t\tif (hasDepartmentField && departments && departments.length > 0) {\n\t\t\tdepartment = { value: '' };\n\t\t}\n\n\t\treturn {\n\t\t\tname: { value: '' },\n\t\t\temail: { value: '' },\n\t\t\tdepartment,\n\t\t\tmessage: { value: '' },\n\t\t};\n\t};\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\treset = () => this.setState(this.getDefaultState());\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleNameChange = this.handleFieldChange('name')\n\n\thandleEmailChange = this.handleFieldChange('email')\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleMessageChange = this.handleFieldChange('message')\n\n\thandleSubmit = async (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\n\t\t\tif (await this.props.onSubmit(values)) {\n\t\t\t\tthis.reset();\n\t\t\t}\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = this.getDefaultState();\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trenderForm = ({ loading, departments, valid = this.isValid() }, { name, email, department, message }) => (\n\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t{name\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleNameChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{email\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\tonInput={this.handleEmailChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{department\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={department.showError}\n\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t{message\n\t\t\t\t? (\n\t\t\t\t\t<FormField\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tlabel={I18n.t('Message')}\n\t\t\t\t\t\terror={message.showError && message.error}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\tname='message'\n\t\t\t\t\t\t\tvalue={message.value}\n\t\t\t\t\t\t\tmultiline\n\t\t\t\t\t\t\trows={4}\n\t\t\t\t\t\t\tplaceholder={I18n.t('Write your message...')}\n\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\terror={message.showError}\n\t\t\t\t\t\t\tonInput={this.handleMessageChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FormField>\n\t\t\t\t)\n\t\t\t\t: null}\n\n\t\t\t<ButtonGroup>\n\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Send')}</Button>\n\t\t\t</ButtonGroup>\n\t\t</Form>\n\t)\n\n\trender = ({ color, title, message, unavailableMessage, hasForm, ...props }) => (\n\t\t<Screen\n\t\t\tcolor={color}\n\t\t\ttitle={title || defaultTitle}\n\t\t\tclassName={createClassName(styles, 'leave-message')}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Screen.Content>\n\t\t\t\t<p className={createClassName(styles, 'leave-message__main-message')}>\n\t\t\t\t\t{hasForm ? message || defaultMessage : unavailableMessage || defaultUnavailableMessage}\n\t\t\t\t</p>\n\n\t\t\t\t{hasForm && this.renderForm(this.props, this.state)}\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer />\n\t\t</Screen>\n\t)\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { createToken, parseOfflineMessage } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport LeaveMessage from './component';\n\n\nexport class LeaveMessageContainer extends Component {\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch } = this.props;\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst payload = parseOfflineMessage(fields);\n\t\t\tconst text = await Livechat.sendOfflineMessage(payload);\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext,\n\t\t\t});\n\t\t\tparentCall('callback', ['offline-form-submit', fields]);\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tconst { data: { message } } = error;\n\t\t\tconsole.error(message);\n\t\t\tconst alert = { id: createToken(), children: message, error: true, timeout: 5000 };\n\t\t\tawait dispatch({ alerts: (alerts.push(alert), alerts) });\n\t\t\treturn false;\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<LeaveMessage {...props} onSubmit={this.handleSubmit} />\n\t)\n}\n\n\nexport const LeaveMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tofflineMessage: message,\n\t\t\t\t\tofflineSuccessMessage: successMessage,\n\t\t\t\t\tofflineUnavailableMessage: unavailableMessage,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: title,\n\t\t\t\t\tofflineColor: color,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tdisplayOfflineForm,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t}) => (\n\t\t\t<LeaveMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor,\n\t\t\t\t\tofflineTitle: customOfflineTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customOfflineTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\tsuccessMessage={successMessage}\n\t\t\t\tunavailableMessage={unavailableMessage}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\talerts={alerts}\n\t\t\t\thasForm={displayOfflineForm}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnOfflineForm)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnOfflineForm)}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default LeaveMessageConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport {\n\tForm,\n\tFormField,\n\tTextInput,\n\tSelectInput,\n\tValidations,\n} from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\nconst defaultTitle = I18n.t('Need help?');\nconst defaultMessage = I18n.t('Please, tell us some information to start the chat');\n\nconst getDefaultDepartment = (departments = []) => (departments.length === 1 && departments[0]._id) || '';\n\nconst renderCustomFields = (customFields, { loading, handleFieldChange = () => {} }, state) => customFields.map(({ _id, required, label, type, options }) => {\n\tswitch (type) {\n\t\tcase 'input':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<TextInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: label })}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t\tcase 'select':\n\t\t\treturn <FormField\n\t\t\t\tlabel={label}\n\t\t\t\trequired={required}\n\t\t\t\tkey={_id}\n\t\t\t\terror={state[_id].showError && state[_id].error}\n\t\t\t>\n\t\t\t\t<SelectInput\n\t\t\t\t\tname={_id}\n\t\t\t\t\tvalue={state[_id].value}\n\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\toptions={options && options.map((option) => ({ value: option, label: option }))}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t\tonInput={handleFieldChange}\n\t\t\t\t\tcustom\n\t\t\t\t/>\n\t\t\t</FormField>;\n\t}\n\treturn null;\n});\n\nconst validations = {\n\tname: [Validations.nonEmpty],\n\temail: [Validations.nonEmpty, Validations.email],\n\tdepartment: [],\n};\n\nconst getCustomValidations = ({ customFields = [] }) =>\n\tcustomFields\n\t\t.map(({ _id, required, regexp }) => {\n\t\t\tconst customFieldValidation = [];\n\n\t\t\tif (required) {\n\t\t\t\tcustomFieldValidation.push(Validations.nonEmpty);\n\t\t\t}\n\n\t\t\tif (regexp) {\n\t\t\t\tcustomFieldValidation.push(Validations.custom);\n\t\t\t}\n\n\t\t\tvalidations[_id] = customFieldValidation;\n\n\t\t\treturn { [_id]: customFieldValidation };\n\t\t})\n\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\nconst getValidableFields = (state) =>\n\tObject.keys(validations)\n\t\t.map((fieldName) => (state[fieldName] ? { fieldName, ...state[fieldName] } : null))\n\t\t.filter(Boolean);\n\nconst validate = (props, { _id, name, value, regexp: pattern }) => {\n\tconst validation = validations[name] || getCustomValidations(props)[_id];\n\treturn validation.reduce((error, validation) => error || validation({ value, pattern }), undefined);\n};\n\nconst getDefaultState = (props) => {\n\tconst { hasNameField, hasEmailField, hasDepartmentField, departments, customFields = [] } = props;\n\n\tlet state = {\n\t\t...hasNameField && { name: { value: '' } },\n\t\t...hasEmailField && { email: { value: '' } },\n\t\t...hasDepartmentField && { department: { value: getDefaultDepartment(departments) } },\n\t};\n\n\tcustomFields.forEach(({ _id, defaultValue, options, regexp }) => {\n\t\tlet value = '';\n\t\tif ((defaultValue && !options) || (Array.isArray(options) && options.includes(defaultValue))) {\n\t\t\tvalue = defaultValue;\n\t\t}\n\t\tconst error = validate(props, { _id, value, regexp });\n\n\t\tstate[_id] = {\n\t\t\tvalue,\n\t\t\t...regexp && { regexp },\n\t\t\terror,\n\t\t\tshowError: false,\n\t\t};\n\t});\n\n\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\tconst error = validate(props, { name, value, regexp });\n\t\tstate = {\n\t\t\t...state,\n\t\t\t[name]: {\n\t\t\t\t...state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: false,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn state;\n};\n\nexport default class Register extends Component {\n\tstatic getDerivedStateFromProps(nextProps, state) {\n\t\tconst { hasNameField, hasEmailField, hasDepartmentField, departmentDefault, departments, nameDefault, emailDefault } = nextProps;\n\n\t\tconst nameValue = nameDefault || '';\n\t\tif (hasNameField && (!state.name || state.name !== nameValue)) {\n\t\t\tstate = { ...state, name: { ...state.name, value: nameValue } };\n\t\t} else if (!hasNameField) {\n\t\t\tstate = { ...state, name: null };\n\t\t}\n\n\t\tconst emailValue = emailDefault || '';\n\t\tif (hasEmailField && (!state.email || state.name !== emailValue)) {\n\t\t\tstate = { ...state, email: { ...state.email, value: emailValue } };\n\t\t} else if (!hasEmailField) {\n\t\t\tstate = { ...state, email: null };\n\t\t}\n\n\t\tconst departmentValue = departmentDefault || getDefaultDepartment(departments);\n\t\tconst showDepartmentField = hasDepartmentField && departments && departments.length > 1;\n\t\tif (showDepartmentField && (!state.department || state.department !== departmentValue)) {\n\t\t\tstate = { ...state, department: { ...state.department, value: departmentValue } };\n\t\t} else if (!showDepartmentField) {\n\t\t\tstate = { ...state, department: null };\n\t\t}\n\n\t\tfor (const { fieldName: name, value, regexp } of getValidableFields(state)) {\n\t\t\tconst error = validate(nextProps, { name, value, regexp });\n\t\t\tstate = { ...state, [name]: { ...state[name], value, error, showError: false } };\n\t\t}\n\t}\n\n\tstate = {\n\t\tname: null,\n\t\temail: null,\n\t\tdepartment: null,\n\t}\n\n\thandleFieldChange = ({ target }) => {\n\t\tconst { name, value } = target;\n\t\tconst { regexp } = this.state[name];\n\t\tconst error = validate(this.props, { name, value, regexp });\n\t\tthis.setState({\n\t\t\t[name]: {\n\t\t\t\t...this.state[name],\n\t\t\t\tvalue,\n\t\t\t\terror,\n\t\t\t\tshowError: true,\n\t\t\t},\n\t\t});\n\t}\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = getDefaultState(props);\n\t}\n\n\trender({ title, color, message, loading, departments, customFields, ...props }, { name, email, department, ...state }) {\n\t\tconst valid = getValidableFields(this.state).every(({ error } = {}) => !error);\n\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'register')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'register__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t{name\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Name')}\n\t\t\t\t\t\t\t\t\terror={name.showError && name.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='name'\n\t\t\t\t\t\t\t\t\t\tvalue={name.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Name') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{email\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('Email')}\n\t\t\t\t\t\t\t\t\terror={email.showError && email.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<TextInput\n\t\t\t\t\t\t\t\t\t\tname='email'\n\t\t\t\t\t\t\t\t\t\tvalue={email.value}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Insert your %{field} here...', { field: I18n.t('Email') })}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{department\n\t\t\t\t\t\t\t? (\n\t\t\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\t\t\tlabel={I18n.t('I need help with...')}\n\t\t\t\t\t\t\t\t\terror={department.showError && department.error}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\t\t\tvalue={department.value}\n\t\t\t\t\t\t\t\t\t\toptions={sortArrayByColumn(departments, 'name').map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose an option...')}\n\t\t\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\t\t\tonInput={this.handleFieldChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FormField>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t: null}\n\n\t\t\t\t\t\t{customFields && renderCustomFields(customFields, { loading, handleFieldChange: this.handleFieldChange }, state)}\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../../api';\nimport CustomFields from '../../lib/customFields';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport Register from './component';\n\nexport class RegisterContainer extends Component {\n\tregisterCustomFields(customFields = {}) {\n\t\tObject.entries(customFields).forEach(([key, value]) => {\n\t\t\tif (!value || value === '') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tCustomFields.setCustomField(key, value, true);\n\t\t});\n\t}\n\n\tgetDepartment = (department) => {\n\t\tif (department !== '') {\n\t\t\treturn department;\n\t\t}\n\n\t\tconst { departments = {} } = this.props;\n\t\tconst deptDefault = departments.find((dept) => dept.showOnRegistration);\n\n\t\tif (deptDefault) {\n\t\t\treturn deptDefault._id;\n\t\t}\n\t}\n\n\thandleSubmit = async ({ name, email, department, ...customFields }) => {\n\t\tconst { dispatch, token } = this.props;\n\t\tconst fields = {\n\t\t\tname,\n\t\t\temail,\n\t\t\tdepartment: this.getDepartment(department),\n\t\t};\n\n\t\tawait dispatch({ loading: true, department });\n\t\ttry {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { ...fields, token } });\n\t\t\tawait dispatch({ user });\n\t\t\tparentCall('callback', ['pre-chat-form-submit', fields]);\n\t\t\tthis.registerCustomFields(customFields);\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\tgetDepartmentDefault() {\n\t\tconst { guestDepartment, departments } = this.props;\n\t\tif (departments && departments.some((dept) => dept._id === guestDepartment)) {\n\t\t\treturn guestDepartment;\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tconst { user: prevUser } = prevProps;\n\t\tconst { user } = this.props;\n\n\t\tif (!prevUser && user && user._id) {\n\t\t\troute('/');\n\t\t}\n\t}\n\n\trender = (props) => (\n\t\t<Register {...props} onSubmit={this.handleSubmit} departmentDefault={this.getDepartmentDefault()} />\n\t)\n}\n\nexport const RegisterConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\tmessages: {\n\t\t\t\t\tregistrationFormMessage: message,\n\t\t\t\t} = {},\n\t\t\t\tsettings: {\n\t\t\t\t\tnameFieldRegistrationForm: hasNameField,\n\t\t\t\t\temailFieldRegistrationForm: hasEmailField,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\ttitle,\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t\tcustomFields = [],\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\tguest: {\n\t\t\t\t\tdepartment: guestDepartment,\n\t\t\t\t\tname: guestName,\n\t\t\t\t\temail: guestEmail,\n\t\t\t\t} = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tloading = false,\n\t\t\ttoken,\n\t\t\tdispatch,\n\t\t\tuser,\n\t\t}) => (\n\t\t\t<RegisterContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t\ttitle: customTitle,\n\t\t\t\t}}\n\t\t\t\ttitle={customTitle || title}\n\t\t\t\tmessage={message}\n\t\t\t\thasNameField={hasNameField}\n\t\t\t\thasEmailField={hasEmailField}\n\t\t\t\thasDepartmentField={departments && departments.some((dept) => dept.showOnRegistration)}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration)}\n\t\t\t\tnameDefault={guestName}\n\t\t\t\temailDefault={guestEmail}\n\t\t\t\tguestDepartment={guestDepartment}\n\t\t\t\tloading={loading}\n\t\t\t\ttoken={token}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\tuser={user}\n\t\t\t\tcustomFields={customFields}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default RegisterConnector;\n","import { h, Component } from 'preact';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, Validations } from '../../components/Form';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Change Department');\nconst defaultMessage = I18n.t('Choose a department');\n\nexport default class SwitchDepartment extends Component {\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (props.departments && props.departments.length > 0 && !state.department) {\n\t\t\treturn { department: { value: '' } };\n\t\t}\n\n\t\tif (!props.departments || props.departments.length === 0) {\n\t\t\treturn { department: null };\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tstate = {\n\t\tdepartment: null,\n\t}\n\n\tvalidations = {\n\t\tdepartment: [Validations.nonEmpty],\n\t}\n\n\tgetValidableFields = () => Object.keys(this.validations)\n\t\t.map((fieldName) => (this.state[fieldName] ? { fieldName, ...this.state[fieldName] } : null))\n\t\t.filter(Boolean)\n\n\tvalidate = ({ name, value }) => this.validations[name].reduce((error, validation) => error || validation({ value }), undefined)\n\n\tvalidateAll = () => {\n\t\tfor (const { fieldName: name, value } of this.getValidableFields()) {\n\t\t\tconst error = this.validate({ name, value });\n\t\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } });\n\t\t}\n\t}\n\n\tisValid = () => this.getValidableFields().every(({ error } = {}) => !error)\n\n\thandleFieldChange = (name) => ({ target: { value } }) => {\n\t\tconst error = this.validate({ name, value });\n\t\tthis.setState({ [name]: { ...this.state[name], value, error, showError: false } }, () => { this.validateAll(); });\n\t}\n\n\thandleDepartmentChange = this.handleFieldChange('department')\n\n\thandleSubmit = (event) => {\n\t\tevent.preventDefault();\n\n\t\tif (this.props.onSubmit) {\n\t\t\tconst values = Object.entries(this.state)\n\t\t\t\t.filter(([, state]) => state !== null)\n\t\t\t\t.map(([name, { value }]) => ({ [name]: value }))\n\t\t\t\t.reduce((values, entry) => ({ ...values, ...entry }), {});\n\t\t\tthis.props.onSubmit(values);\n\t\t}\n\t}\n\n\thandleCancelClick = () => {\n\t\tconst { onCancel } = this.props;\n\t\tonCancel && onCancel();\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tconst { departments } = props;\n\t\tif (departments && departments.length > 0) {\n\t\t\tthis.state.department = { value: '' };\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trender({ title, color, message, loading, departments, ...props }, { department }) {\n\t\tconst valid = this.isValid();\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\tcolor={color}\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\tclassName={createClassName(styles, 'switch-department')}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Screen.Content>\n\t\t\t\t\t<p className={createClassName(styles, 'switch-department__message')}>{message || defaultMessage}</p>\n\n\t\t\t\t\t<Form onSubmit={this.handleSubmit}>\n\t\t\t\t\t\t<FormField\n\t\t\t\t\t\t\tlabel={I18n.t('Departments')}\n\t\t\t\t\t\t\terror={department && department.showError && department.error}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SelectInput\n\t\t\t\t\t\t\t\tname='department'\n\t\t\t\t\t\t\t\tvalue={department && department.value}\n\t\t\t\t\t\t\t\toptions={departments.map(({ _id, name }) => ({ value: _id, label: name }))}\n\t\t\t\t\t\t\t\tplaceholder={I18n.t('Choose a department...')}\n\t\t\t\t\t\t\t\tdisabled={loading}\n\t\t\t\t\t\t\t\terror={department && department.showError}\n\t\t\t\t\t\t\t\tonInput={this.handleDepartmentChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FormField>\n\n\t\t\t\t\t\t<ButtonGroup>\n\t\t\t\t\t\t\t<Button submit loading={loading} disabled={!valid || loading} stack>{I18n.t('Start chat')}</Button>\n\t\t\t\t\t\t\t<Button disabled={loading} stack secondary nude onClick={this.handleCancelClick}>{I18n.t('Cancel')}</Button>\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</Form>\n\t\t\t\t</Screen.Content>\n\t\t\t\t<Screen.Footer />\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { createToken } from '../../components/helpers';\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport { loadConfig } from '../../lib/main';\nimport { Consumer } from '../../store';\nimport SwitchDepartment from './component';\n\nexport class SwitchDepartmentContainer extends Component {\n\tconfirmChangeDepartment = async () => {\n\t\tconst result = await ModalManager.confirm({\n\t\t\ttext: I18n.t('Are you sure you want to switch the department?'),\n\t\t});\n\n\t\treturn typeof result.success === 'boolean' && result.success;\n\t}\n\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, room, token } = this.props;\n\t\tconst { department } = fields;\n\n\t\tconst confirm = await this.confirmChangeDepartment();\n\t\tif (!confirm) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!room) {\n\t\t\tconst user = await Livechat.grantVisitor({ visitor: { department, token } });\n\t\t\tawait dispatch({ user, alerts: (alerts.push({ id: createToken(), children: I18n.t('Department switched'), success: true }), alerts) });\n\t\t\treturn history.go(-1);\n\t\t}\n\n\t\tawait dispatch({ loading: true });\n\t\ttry {\n\t\t\tconst { _id: rid } = room;\n\t\t\tconst result = await Livechat.transferChat({ rid, department });\n\t\t\tconst { success } = result;\n\t\t\tif (!success) {\n\t\t\t\tthrow I18n.t('No available agents to transfer');\n\t\t\t}\n\n\t\t\tawait dispatch({ department, loading: false });\n\t\t\tawait loadConfig();\n\n\t\t\tawait ModalManager.alert({\n\t\t\t\ttext: I18n.t('Department switched'),\n\t\t\t});\n\n\t\t\thistory.go(-1);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tawait dispatch({ alerts: (alerts.push({ id: createToken(), children: I18n.t('No available agents to transfer'), warning: true }), alerts) });\n\t\t} finally {\n\t\t\tawait dispatch({ loading: false });\n\t\t}\n\t}\n\n\thandleCancel = () => {\n\t\thistory.go(-1);\n\t}\n\n\trender = (props) => (\n\t\t<SwitchDepartment {...props} onSubmit={this.handleSubmit} onCancel={this.handleCancel} />\n\t)\n}\n\nexport const SwitchDepartmentConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\tdepartments = {},\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\troom,\n\t\t\tloading = false,\n\t\t\tdepartment,\n\t\t\tdispatch,\n\t\t\talerts,\n\t\t\ttoken,\n\t\t}) => (\n\t\t\t<SwitchDepartmentContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tloading={loading}\n\t\t\t\tdepartments={departments.filter((dept) => dept.showOnRegistration && dept._id !== department)}\n\t\t\t\tdispatch={dispatch}\n\t\t\t\troom={room}\n\t\t\t\talerts={alerts}\n\t\t\t\ttoken={token}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\n\nexport default SwitchDepartmentConnector;\n","import { h, Component, createRef } from 'preact';\n\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport I18n from '../../i18n';\nimport { parentCall } from '../../lib/parentCall';\nimport styles from './styles.scss';\n\n\nconst defaultTitle = I18n.t('Messages');\n\nexport default class TriggerMessage extends Component {\n\tstate = { }\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.ref = createRef();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tlet height = 0;\n\n\t\tthis.ref.current.base.children.forEach((el) => {\n\t\t\theight += el.scrollHeight;\n\t\t});\n\n\t\tparentCall('resizeWidget', height);\n\t}\n\n\trender({ title, messages, loading, onStartChat = () => {}, departments, ...props }) {\n\t\tconst { theme: { color } } = props;\n\t\treturn (\n\t\t\t<Screen\n\t\t\t\ttitle={title || defaultTitle}\n\t\t\t\t{...props}\n\t\t\t\ttriggered={true}\n\t\t\t\tref={this.ref}\n\t\t\t>\n\t\t\t\t<Screen.Content triggered={true}>\n\t\t\t\t\t{messages && messages.map((message) => message.msg && <p className={createClassName(styles, 'trigger-message__message')}>{message.msg}</p>)}\n\t\t\t\t</Screen.Content>\n\t\t\t\t<footer className={createClassName(styles, 'trigger-message__footer')}>\n\t\t\t\t\t<hr className={createClassName(styles, 'trigger-message__separator')} />\n\t\t\t\t\t<button style={color && { color }} onClick={onStartChat} className={createClassName(styles, 'trigger-message__link-reply')}>{I18n.t('Start chat')}</button>\n\t\t\t\t</footer>\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\n\nimport { canRenderMessage, getAvatarUrl } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { Consumer } from '../../store';\nimport TriggerMessage from './component';\n\n\nexport class TriggerMessageContainer extends Component {\n\thandleStart() {\n\t\tparentCall('setFullScreenDocumentMobile');\n\t\tparentCall('openWidget');\n\t\troute('/');\n\t}\n\n\trender = (props) => {\n\t\tparentCall('resetDocumentStyle');\n\t\treturn <TriggerMessage onStartChat={this.handleStart} {...props} />;\n\t}\n}\n\nexport const TriggerMessageConnector = ({ ref, ...props }) => (\n\t<Consumer>\n\t\t{({\n\t\t\tconfig: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tiframe: {\n\t\t\t\ttheme: {\n\t\t\t\t\tcolor: customColor,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t} = {},\n\t\t\t} = {},\n\t\t\tmessages,\n\t\t\tagent,\n\t\t\tunread,\n\t\t}) => (\n\t\t\t<TriggerMessageContainer\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t\ttheme={{\n\t\t\t\t\tcolor: customColor || color,\n\t\t\t\t\tfontColor: customFontColor,\n\t\t\t\t\ticonColor: customIconColor,\n\t\t\t\t}}\n\t\t\t\tunread={unread}\n\t\t\t\tagent={agent ? {\n\t\t\t\t\t_id: agent._id,\n\t\t\t\t\tname: agent.name,\n\t\t\t\t\tstatus: agent.status,\n\t\t\t\t\temail: agent.emails && agent.emails[0] && agent.emails[0].address,\n\t\t\t\t\tusername: agent.username,\n\t\t\t\t\tphone: (agent.phone && agent.phone[0] && agent.phone[0].phoneNumber) || (agent.customFields && agent.customFields.phone),\n\t\t\t\t\tavatar: agent.username ? {\n\t\t\t\t\t\tdescription: agent.username,\n\t\t\t\t\t\tsrc: getAvatarUrl(agent.username),\n\t\t\t\t\t} : undefined,\n\t\t\t\t} : undefined}\n\t\t\t\tmessages={messages && messages.filter((message) => canRenderMessage(message))}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\nexport default TriggerMessageConnector;\n","import { h, Component } from 'preact';\nimport { Router, route } from 'preact-router';\nimport queryString from 'query-string';\n\nimport history from '../../history';\nimport I18n from '../../i18n';\nimport Connection from '../../lib/connection';\nimport CustomFields from '../../lib/customFields';\nimport Hooks from '../../lib/hooks';\nimport { setWidgetLanguage } from '../../lib/locale';\nimport { parentCall } from '../../lib/parentCall';\nimport Triggers from '../../lib/triggers';\nimport userPresence from '../../lib/userPresence';\nimport Chat from '../../routes/Chat';\nimport ChatFinished from '../../routes/ChatFinished';\nimport GDPRAgreement from '../../routes/GDPRAgreement';\nimport LeaveMessage from '../../routes/LeaveMessage';\nimport Register from '../../routes/Register';\nimport SwitchDepartment from '../../routes/SwitchDepartment';\nimport TriggerMessage from '../../routes/TriggerMessage';\nimport { Provider as StoreProvider, Consumer as StoreConsumer, store } from '../../store';\nimport { visibility, isActiveSession } from '../helpers';\n\nfunction isRTL(s) {\n\tconst rtlChars = '\\u0591-\\u07FF\\u200F\\u202B\\u202E\\uFB1D-\\uFDFD\\uFE70-\\uFEFC';\n\tconst rtlDirCheck = new RegExp(`^[^${ rtlChars }]*?[${ rtlChars }]`);\n\n\treturn rtlDirCheck.test(s);\n}\n\nexport class App extends Component {\n\tstate = {\n\t\tinitialized: false,\n\t\tpoppedOut: false,\n\t}\n\n\thandleRoute = async () => {\n\t\tsetTimeout(() => {\n\t\t\tconst {\n\t\t\t\tconfig: {\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tregistrationForm,\n\t\t\t\t\t\tnameFieldRegistrationForm,\n\t\t\t\t\t\temailFieldRegistrationForm,\n\t\t\t\t\t\tforceAcceptDataProcessingConsent: gdprRequired,\n\t\t\t\t\t},\n\t\t\t\t\tonline,\n\t\t\t\t\tdepartments = [],\n\t\t\t\t},\n\t\t\t\tgdpr: {\n\t\t\t\t\taccepted: gdprAccepted,\n\t\t\t\t},\n\t\t\t\ttriggered,\n\t\t\t\tuser,\n\t\t\t} = this.props;\n\n\t\t\tif (gdprRequired && !gdprAccepted) {\n\t\t\t\treturn route('/gdpr');\n\t\t\t}\n\n\t\t\tif (!online) {\n\t\t\t\tparentCall('callback', 'no-agent-online');\n\t\t\t\treturn route('/leave-message');\n\t\t\t}\n\n\t\t\tconst showDepartment = departments.filter((dept) => dept.showOnRegistration).length > 0;\n\n\t\t\tconst showRegistrationForm = (\n\t\t\t\tregistrationForm\n\t\t\t\t\t&& (nameFieldRegistrationForm || emailFieldRegistrationForm || showDepartment)\n\t\t\t)\n\t\t\t\t&& !triggered\n\t\t\t\t&& !(user && user.token);\n\t\t\tif (showRegistrationForm) {\n\t\t\t\treturn route('/register');\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\thandleTriggers() {\n\t\tconst { config: { online, enabled } } = this.props;\n\n\t\tTriggers.enabled = online && enabled;\n\n\t\tif (online && enabled) {\n\t\t\tTriggers.init();\n\t\t}\n\t}\n\n\thandleEnableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: true } });\n\t}\n\n\thandleDisableNotifications = () => {\n\t\tconst { dispatch, sound = {} } = this.props;\n\t\tdispatch({ sound: { ...sound, enabled: false } });\n\t}\n\n\thandleMinimize = () => {\n\t\tparentCall('minimizeWindow');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ minimized: true });\n\t}\n\n\thandleRestore = () => {\n\t\tparentCall('restoreWindow');\n\t\tconst { dispatch, undocked } = this.props;\n\t\tconst dispatchRestore = () => dispatch({ minimized: false, undocked: false });\n\t\tconst dispatchEvent = () => {\n\t\t\tdispatchRestore();\n\t\t\tstore.off('storageSynced', dispatchEvent);\n\t\t};\n\t\tif (undocked) {\n\t\t\tstore.on('storageSynced', dispatchEvent);\n\t\t} else {\n\t\t\tdispatchRestore();\n\t\t}\n\t}\n\n\thandleOpenWindow = () => {\n\t\tparentCall('openPopout');\n\t\tconst { dispatch } = this.props;\n\t\tdispatch({ undocked: true, minimized: false });\n\t}\n\n\thandleDismissAlert = (id) => {\n\t\tconst { dispatch, alerts = [] } = this.props;\n\t\tdispatch({ alerts: alerts.filter((alert) => alert.id !== id) });\n\t}\n\n\thandleVisibilityChange = async () => {\n\t\tconst { dispatch } = this.props;\n\t\tawait dispatch({ visible: !visibility.hidden });\n\t}\n\n\thandleLanguageChange = () => {\n\t\tthis.forceUpdate();\n\t}\n\n\tdismissNotification = () => !isActiveSession();\n\n\tinitWidget() {\n\t\tsetWidgetLanguage();\n\t\tconst { minimized, iframe: { visible }, dispatch } = this.props;\n\t\tparentCall(minimized ? 'minimizeWindow' : 'restoreWindow');\n\t\tparentCall(visible ? 'showWidget' : 'hideWidget');\n\n\t\tvisibility.addListener(this.handleVisibilityChange);\n\t\tthis.handleVisibilityChange();\n\t\twindow.addEventListener('beforeunload', () => {\n\t\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\t\tdispatch({ minimized: true, undocked: false });\n\t\t});\n\n\t\tI18n.on('change', this.handleLanguageChange);\n\t}\n\n\tcheckPoppedOutWindow() {\n\t\t// Checking if the window is poppedOut and setting parent minimized if yes for the restore purpose\n\t\tconst { dispatch } = this.props;\n\t\tconst poppedOut = queryString.parse(window.location.search).mode === 'popout';\n\t\tthis.setState({ poppedOut });\n\t\tif (poppedOut) {\n\t\t\tdispatch({ minimized: false });\n\t\t}\n\t}\n\n\tasync initialize() {\n\t\t// TODO: split these behaviors into composable components\n\t\tawait Connection.init();\n\t\tthis.handleTriggers();\n\t\tCustomFields.init();\n\t\tHooks.init();\n\t\tuserPresence.init();\n\t\tthis.initWidget();\n\t\tthis.checkPoppedOutWindow();\n\n\t\tthis.setState({ initialized: true });\n\t\tparentCall('ready');\n\t}\n\n\tasync finalize() {\n\t\tCustomFields.reset();\n\t\tuserPresence.reset();\n\t\tvisibility.removeListener(this.handleVisibilityChange);\n\t\tI18n.off('change', this.handleLanguageChange);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.initialize();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.finalize();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tdocument.dir = isRTL(I18n.t('Yes')) ? 'rtl' : 'ltr';\n\t}\n\n\trender = ({\n\t\tsound,\n\t\tundocked,\n\t\tminimized,\n\t\texpanded,\n\t\talerts,\n\t\tmodal,\n\t}, { initialized, poppedOut }) => {\n\t\tif (!initialized) {\n\t\t\treturn null;\n\t\t}\n\t\tconst screenProps = {\n\t\t\tnotificationsEnabled: sound && sound.enabled,\n\t\t\tminimized: !poppedOut && (minimized || undocked),\n\t\t\texpanded: !minimized && expanded,\n\t\t\twindowed: !minimized && poppedOut,\n\t\t\tsound,\n\t\t\talerts,\n\t\t\tmodal,\n\t\t\tonEnableNotifications: this.handleEnableNotifications,\n\t\t\tonDisableNotifications: this.handleDisableNotifications,\n\t\t\tonMinimize: this.handleMinimize,\n\t\t\tonRestore: this.handleRestore,\n\t\t\tonOpenWindow: this.handleOpenWindow,\n\t\t\tonDismissAlert: this.handleDismissAlert,\n\t\t\tdismissNotification: this.dismissNotification,\n\t\t};\n\n\t\treturn (\n\t\t\t<Router history={history} onChange={this.handleRoute}>\n\t\t\t\t<Chat default path='/' {...screenProps} />\n\t\t\t\t<ChatFinished path='/chat-finished' {...screenProps} />\n\t\t\t\t<GDPRAgreement path='/gdpr' {...screenProps} />\n\t\t\t\t<LeaveMessage path='/leave-message' {...screenProps} />\n\t\t\t\t<Register path='/register' {...screenProps} />\n\t\t\t\t<SwitchDepartment path='/switch-department' {...screenProps} />\n\t\t\t\t<TriggerMessage path='/trigger-messages' {...screenProps} />\n\t\t\t</Router>\n\t\t);\n\t}\n}\n\nconst AppConnector = () => (\n\t<div id='app'>\n\t\t<StoreProvider>\n\t\t\t<StoreConsumer>\n\t\t\t\t{({\n\t\t\t\t\tconfig,\n\t\t\t\t\tuser,\n\t\t\t\t\ttriggered,\n\t\t\t\t\tgdpr,\n\t\t\t\t\tsound,\n\t\t\t\t\tundocked,\n\t\t\t\t\tminimized = true,\n\t\t\t\t\texpanded = false,\n\t\t\t\t\talerts,\n\t\t\t\t\tmodal,\n\t\t\t\t\tdispatch,\n\t\t\t\t\tiframe,\n\t\t\t\t}) => (\n\t\t\t\t\t<App\n\t\t\t\t\t\tconfig={config}\n\t\t\t\t\t\tgdpr={gdpr}\n\t\t\t\t\t\ttriggered={triggered}\n\t\t\t\t\t\tuser={user}\n\t\t\t\t\t\tsound={sound}\n\t\t\t\t\t\tundocked={undocked}\n\t\t\t\t\t\tminimized={minimized}\n\t\t\t\t\t\texpanded={expanded}\n\t\t\t\t\t\talerts={alerts}\n\t\t\t\t\t\tmodal={modal}\n\t\t\t\t\t\tdispatch={dispatch}\n\t\t\t\t\t\tiframe={iframe}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</StoreConsumer>\n\t\t</StoreProvider>\n\t</div>\n);\n\nexport default AppConnector;\n","// Generated by i18nline and preact-i18nline.\r\nimport I18n from 'preact-i18nline/i18n';\r\n\r\nI18n.supportedLocales = ['af','ar','az','be_BY','bg','bs','ca','cs','cy','da','de','de_AT','el','en','eo','es','et','eu','fa','fi','fr','he','hr','hu','id','it','ja','km','ko','ku','lo','lt','lv','mn','ms_MY','nl','no','pl','pt','pt_BR','ro','ru','sk_SK','sl_SI','sq','sr','sv','ta_IN','th_TH','tr','ug','uk','vi_VN','zh','zh_HK','zh_TW'];\nI18n.defaultLocale = 'en';\r\n\r\nI18n.import = locale => {\r\n\t// we use a switch here so the import statements are statically\r\n\t// analyzable. the use of import() will make build tools generate\r\n\t// separate bundles which are downloaded on-demand.\r\n\tswitch (locale) {\r\n\t\tcase 'af': return import(/* webpackChunkName: 'i18n.af' */ './af.json');\n\t\tcase 'ar': return import(/* webpackChunkName: 'i18n.ar' */ './ar.json');\n\t\tcase 'az': return import(/* webpackChunkName: 'i18n.az' */ './az.json');\n\t\tcase 'be_BY': return import(/* webpackChunkName: 'i18n.be_BY' */ './be_BY.json');\n\t\tcase 'bg': return import(/* webpackChunkName: 'i18n.bg' */ './bg.json');\n\t\tcase 'bs': return import(/* webpackChunkName: 'i18n.bs' */ './bs.json');\n\t\tcase 'ca': return import(/* webpackChunkName: 'i18n.ca' */ './ca.json');\n\t\tcase 'cs': return import(/* webpackChunkName: 'i18n.cs' */ './cs.json');\n\t\tcase 'cy': return import(/* webpackChunkName: 'i18n.cy' */ './cy.json');\n\t\tcase 'da': return import(/* webpackChunkName: 'i18n.da' */ './da.json');\n\t\tcase 'de': return import(/* webpackChunkName: 'i18n.de' */ './de.json');\n\t\tcase 'de_AT': return import(/* webpackChunkName: 'i18n.de_AT' */ './de_AT.json');\n\t\tcase 'el': return import(/* webpackChunkName: 'i18n.el' */ './el.json');\n\t\tcase 'en': return import(/* webpackChunkName: 'i18n.en' */ './en.json');\n\t\tcase 'eo': return import(/* webpackChunkName: 'i18n.eo' */ './eo.json');\n\t\tcase 'es': return import(/* webpackChunkName: 'i18n.es' */ './es.json');\n\t\tcase 'et': return import(/* webpackChunkName: 'i18n.et' */ './et.json');\n\t\tcase 'eu': return import(/* webpackChunkName: 'i18n.eu' */ './eu.json');\n\t\tcase 'fa': return import(/* webpackChunkName: 'i18n.fa' */ './fa.json');\n\t\tcase 'fi': return import(/* webpackChunkName: 'i18n.fi' */ './fi.json');\n\t\tcase 'fr': return import(/* webpackChunkName: 'i18n.fr' */ './fr.json');\n\t\tcase 'he': return import(/* webpackChunkName: 'i18n.he' */ './he.json');\n\t\tcase 'hr': return import(/* webpackChunkName: 'i18n.hr' */ './hr.json');\n\t\tcase 'hu': return import(/* webpackChunkName: 'i18n.hu' */ './hu.json');\n\t\tcase 'id': return import(/* webpackChunkName: 'i18n.id' */ './id.json');\n\t\tcase 'it': return import(/* webpackChunkName: 'i18n.it' */ './it.json');\n\t\tcase 'ja': return import(/* webpackChunkName: 'i18n.ja' */ './ja.json');\n\t\tcase 'km': return import(/* webpackChunkName: 'i18n.km' */ './km.json');\n\t\tcase 'ko': return import(/* webpackChunkName: 'i18n.ko' */ './ko.json');\n\t\tcase 'ku': return import(/* webpackChunkName: 'i18n.ku' */ './ku.json');\n\t\tcase 'lo': return import(/* webpackChunkName: 'i18n.lo' */ './lo.json');\n\t\tcase 'lt': return import(/* webpackChunkName: 'i18n.lt' */ './lt.json');\n\t\tcase 'lv': return import(/* webpackChunkName: 'i18n.lv' */ './lv.json');\n\t\tcase 'mn': return import(/* webpackChunkName: 'i18n.mn' */ './mn.json');\n\t\tcase 'ms_MY': return import(/* webpackChunkName: 'i18n.ms_MY' */ './ms_MY.json');\n\t\tcase 'nl': return import(/* webpackChunkName: 'i18n.nl' */ './nl.json');\n\t\tcase 'no': return import(/* webpackChunkName: 'i18n.no' */ './no.json');\n\t\tcase 'pl': return import(/* webpackChunkName: 'i18n.pl' */ './pl.json');\n\t\tcase 'pt': return import(/* webpackChunkName: 'i18n.pt' */ './pt.json');\n\t\tcase 'pt_BR': return import(/* webpackChunkName: 'i18n.pt_BR' */ './pt_BR.json');\n\t\tcase 'ro': return import(/* webpackChunkName: 'i18n.ro' */ './ro.json');\n\t\tcase 'ru': return import(/* webpackChunkName: 'i18n.ru' */ './ru.json');\n\t\tcase 'sk_SK': return import(/* webpackChunkName: 'i18n.sk_SK' */ './sk_SK.json');\n\t\tcase 'sl_SI': return import(/* webpackChunkName: 'i18n.sl_SI' */ './sl_SI.json');\n\t\tcase 'sq': return import(/* webpackChunkName: 'i18n.sq' */ './sq.json');\n\t\tcase 'sr': return import(/* webpackChunkName: 'i18n.sr' */ './sr.json');\n\t\tcase 'sv': return import(/* webpackChunkName: 'i18n.sv' */ './sv.json');\n\t\tcase 'ta_IN': return import(/* webpackChunkName: 'i18n.ta_IN' */ './ta_IN.json');\n\t\tcase 'th_TH': return import(/* webpackChunkName: 'i18n.th_TH' */ './th_TH.json');\n\t\tcase 'tr': return import(/* webpackChunkName: 'i18n.tr' */ './tr.json');\n\t\tcase 'ug': return import(/* webpackChunkName: 'i18n.ug' */ './ug.json');\n\t\tcase 'uk': return import(/* webpackChunkName: 'i18n.uk' */ './uk.json');\n\t\tcase 'vi_VN': return import(/* webpackChunkName: 'i18n.vi_VN' */ './vi_VN.json');\n\t\tcase 'zh': return import(/* webpackChunkName: 'i18n.zh' */ './zh.json');\n\t\tcase 'zh_HK': return import(/* webpackChunkName: 'i18n.zh_HK' */ './zh_HK.json');\n\t\tcase 'zh_TW': return import(/* webpackChunkName: 'i18n.zh_TW' */ './zh_TW.json');\r\n\t\tdefault: return import(/* webpackChunkName: 'i18n.default' */ './default.json');\r\n\t}\r\n};\r\n\r\nif ((typeof module === 'object') && module.hot) {\r\n\tmodule.hot.accept('./af.json', I18n.reload('af'));\n\tmodule.hot.accept('./ar.json', I18n.reload('ar'));\n\tmodule.hot.accept('./az.json', I18n.reload('az'));\n\tmodule.hot.accept('./be_BY.json', I18n.reload('be_BY'));\n\tmodule.hot.accept('./bg.json', I18n.reload('bg'));\n\tmodule.hot.accept('./bs.json', I18n.reload('bs'));\n\tmodule.hot.accept('./ca.json', I18n.reload('ca'));\n\tmodule.hot.accept('./cs.json', I18n.reload('cs'));\n\tmodule.hot.accept('./cy.json', I18n.reload('cy'));\n\tmodule.hot.accept('./da.json', I18n.reload('da'));\n\tmodule.hot.accept('./de.json', I18n.reload('de'));\n\tmodule.hot.accept('./de_AT.json', I18n.reload('de_AT'));\n\tmodule.hot.accept('./el.json', I18n.reload('el'));\n\tmodule.hot.accept('./en.json', I18n.reload('en'));\n\tmodule.hot.accept('./eo.json', I18n.reload('eo'));\n\tmodule.hot.accept('./es.json', I18n.reload('es'));\n\tmodule.hot.accept('./et.json', I18n.reload('et'));\n\tmodule.hot.accept('./eu.json', I18n.reload('eu'));\n\tmodule.hot.accept('./fa.json', I18n.reload('fa'));\n\tmodule.hot.accept('./fi.json', I18n.reload('fi'));\n\tmodule.hot.accept('./fr.json', I18n.reload('fr'));\n\tmodule.hot.accept('./he.json', I18n.reload('he'));\n\tmodule.hot.accept('./hr.json', I18n.reload('hr'));\n\tmodule.hot.accept('./hu.json', I18n.reload('hu'));\n\tmodule.hot.accept('./id.json', I18n.reload('id'));\n\tmodule.hot.accept('./it.json', I18n.reload('it'));\n\tmodule.hot.accept('./ja.json', I18n.reload('ja'));\n\tmodule.hot.accept('./km.json', I18n.reload('km'));\n\tmodule.hot.accept('./ko.json', I18n.reload('ko'));\n\tmodule.hot.accept('./ku.json', I18n.reload('ku'));\n\tmodule.hot.accept('./lo.json', I18n.reload('lo'));\n\tmodule.hot.accept('./lt.json', I18n.reload('lt'));\n\tmodule.hot.accept('./lv.json', I18n.reload('lv'));\n\tmodule.hot.accept('./mn.json', I18n.reload('mn'));\n\tmodule.hot.accept('./ms_MY.json', I18n.reload('ms_MY'));\n\tmodule.hot.accept('./nl.json', I18n.reload('nl'));\n\tmodule.hot.accept('./no.json', I18n.reload('no'));\n\tmodule.hot.accept('./pl.json', I18n.reload('pl'));\n\tmodule.hot.accept('./pt.json', I18n.reload('pt'));\n\tmodule.hot.accept('./pt_BR.json', I18n.reload('pt_BR'));\n\tmodule.hot.accept('./ro.json', I18n.reload('ro'));\n\tmodule.hot.accept('./ru.json', I18n.reload('ru'));\n\tmodule.hot.accept('./sk_SK.json', I18n.reload('sk_SK'));\n\tmodule.hot.accept('./sl_SI.json', I18n.reload('sl_SI'));\n\tmodule.hot.accept('./sq.json', I18n.reload('sq'));\n\tmodule.hot.accept('./sr.json', I18n.reload('sr'));\n\tmodule.hot.accept('./sv.json', I18n.reload('sv'));\n\tmodule.hot.accept('./ta_IN.json', I18n.reload('ta_IN'));\n\tmodule.hot.accept('./th_TH.json', I18n.reload('th_TH'));\n\tmodule.hot.accept('./tr.json', I18n.reload('tr'));\n\tmodule.hot.accept('./ug.json', I18n.reload('ug'));\n\tmodule.hot.accept('./uk.json', I18n.reload('uk'));\n\tmodule.hot.accept('./vi_VN.json', I18n.reload('vi_VN'));\n\tmodule.hot.accept('./zh.json', I18n.reload('zh'));\n\tmodule.hot.accept('./zh_HK.json', I18n.reload('zh_HK'));\n\tmodule.hot.accept('./zh_TW.json', I18n.reload('zh_TW'));\r\n\tmodule.hot.accept('./default.json', I18n.reload('default'));\r\n}\r\n\r\nexport default I18n;\r\n"],"sourceRoot":""}