@rocket.chat/livechat 1.13.0 → 1.13.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/10.chunk.17520.js +2 -0
  3. package/build/{10.chunk.3443b.js.map → 10.chunk.17520.js.map} +1 -1
  4. package/build/{10.chunk.3443b.js → 11.chunk.a9837.js} +2 -2
  5. package/build/{11.chunk.ccd77.js.map → 11.chunk.a9837.js.map} +1 -1
  6. package/build/{11.chunk.ccd77.js → 12.chunk.514d9.js} +2 -2
  7. package/build/{12.chunk.4f6f3.js.map → 12.chunk.514d9.js.map} +1 -1
  8. package/build/{12.chunk.4f6f3.js → 13.chunk.f3681.js} +2 -2
  9. package/build/{13.chunk.7f2df.js.map → 13.chunk.f3681.js.map} +1 -1
  10. package/build/{13.chunk.7f2df.js → 14.chunk.0c61c.js} +2 -2
  11. package/build/{14.chunk.02269.js.map → 14.chunk.0c61c.js.map} +1 -1
  12. package/build/{14.chunk.02269.js → 15.chunk.913d6.js} +2 -2
  13. package/build/{15.chunk.df585.js.map → 15.chunk.913d6.js.map} +1 -1
  14. package/build/{15.chunk.df585.js → 16.chunk.e2bf9.js} +2 -2
  15. package/build/{16.chunk.7e69f.js.map → 16.chunk.e2bf9.js.map} +1 -1
  16. package/build/{16.chunk.7e69f.js → 17.chunk.200c0.js} +2 -2
  17. package/build/{17.chunk.beee1.js.map → 17.chunk.200c0.js.map} +1 -1
  18. package/build/18.chunk.9291f.js +2 -0
  19. package/build/{18.chunk.d1b79.js.map → 18.chunk.9291f.js.map} +1 -1
  20. package/build/{18.chunk.d1b79.js → 19.chunk.45388.js} +2 -2
  21. package/build/{19.chunk.d25ee.js.map → 19.chunk.45388.js.map} +1 -1
  22. package/build/{19.chunk.d25ee.js → 20.chunk.0f0e1.js} +2 -2
  23. package/build/{20.chunk.c2815.js.map → 20.chunk.0f0e1.js.map} +1 -1
  24. package/build/{20.chunk.c2815.js → 21.chunk.40bcf.js} +2 -2
  25. package/build/{21.chunk.da88a.js.map → 21.chunk.40bcf.js.map} +1 -1
  26. package/build/{21.chunk.da88a.js → 22.chunk.bf82d.js} +2 -2
  27. package/build/{22.chunk.811ae.js.map → 22.chunk.bf82d.js.map} +1 -1
  28. package/build/{22.chunk.811ae.js → 23.chunk.d0af6.js} +2 -2
  29. package/build/{23.chunk.a26ea.js.map → 23.chunk.d0af6.js.map} +1 -1
  30. package/build/{23.chunk.a26ea.js → 24.chunk.e9f9e.js} +2 -2
  31. package/build/{24.chunk.cc050.js.map → 24.chunk.e9f9e.js.map} +1 -1
  32. package/build/{24.chunk.cc050.js → 25.chunk.91f51.js} +2 -2
  33. package/build/{25.chunk.c5dc7.js.map → 25.chunk.91f51.js.map} +1 -1
  34. package/build/{25.chunk.c5dc7.js → 26.chunk.e0b14.js} +2 -2
  35. package/build/{26.chunk.5cef7.js.map → 26.chunk.e0b14.js.map} +1 -1
  36. package/build/{26.chunk.5cef7.js → 27.chunk.09104.js} +2 -2
  37. package/build/{27.chunk.6c057.js.map → 27.chunk.09104.js.map} +1 -1
  38. package/build/{27.chunk.6c057.js → 28.chunk.c5ad9.js} +2 -2
  39. package/build/{28.chunk.7e892.js.map → 28.chunk.c5ad9.js.map} +1 -1
  40. package/build/{28.chunk.7e892.js → 29.chunk.61957.js} +2 -2
  41. package/build/{29.chunk.594c2.js.map → 29.chunk.61957.js.map} +1 -1
  42. package/build/{29.chunk.594c2.js → 30.chunk.581de.js} +2 -2
  43. package/build/{30.chunk.2d343.js.map → 30.chunk.581de.js.map} +1 -1
  44. package/build/{30.chunk.2d343.js → 31.chunk.68d4a.js} +2 -2
  45. package/build/{31.chunk.a7fe1.js.map → 31.chunk.68d4a.js.map} +1 -1
  46. package/build/{31.chunk.a7fe1.js → 32.chunk.5078c.js} +2 -2
  47. package/build/{32.chunk.6b54e.js.map → 32.chunk.5078c.js.map} +1 -1
  48. package/build/{32.chunk.6b54e.js → 33.chunk.f21bb.js} +2 -2
  49. package/build/{33.chunk.c2c0b.js.map → 33.chunk.f21bb.js.map} +1 -1
  50. package/build/{33.chunk.c2c0b.js → 34.chunk.d4d42.js} +2 -2
  51. package/build/{34.chunk.89340.js.map → 34.chunk.d4d42.js.map} +1 -1
  52. package/build/{34.chunk.89340.js → 35.chunk.b7fb7.js} +2 -2
  53. package/build/{35.chunk.07076.js.map → 35.chunk.b7fb7.js.map} +1 -1
  54. package/build/{35.chunk.07076.js → 36.chunk.e055b.js} +2 -2
  55. package/build/{36.chunk.ed8df.js.map → 36.chunk.e055b.js.map} +1 -1
  56. package/build/{36.chunk.ed8df.js → 37.chunk.089c7.js} +2 -2
  57. package/build/{37.chunk.3bb4b.js.map → 37.chunk.089c7.js.map} +1 -1
  58. package/build/{37.chunk.3bb4b.js → 38.chunk.b080a.js} +2 -2
  59. package/build/{38.chunk.92513.js.map → 38.chunk.b080a.js.map} +1 -1
  60. package/build/{38.chunk.92513.js → 39.chunk.e848a.js} +2 -2
  61. package/build/{39.chunk.519ac.js.map → 39.chunk.e848a.js.map} +1 -1
  62. package/build/4.chunk.d09f0.js +25 -0
  63. package/build/4.chunk.d09f0.js.map +1 -0
  64. package/build/{39.chunk.519ac.js → 40.chunk.bf51a.js} +2 -2
  65. package/build/{40.chunk.8b99d.js.map → 40.chunk.bf51a.js.map} +1 -1
  66. package/build/{40.chunk.8b99d.js → 41.chunk.93781.js} +2 -2
  67. package/build/{41.chunk.b760c.js.map → 41.chunk.93781.js.map} +1 -1
  68. package/build/{41.chunk.b760c.js → 42.chunk.1aab1.js} +2 -2
  69. package/build/{42.chunk.1f197.js.map → 42.chunk.1aab1.js.map} +1 -1
  70. package/build/{42.chunk.1f197.js → 43.chunk.59734.js} +2 -2
  71. package/build/{43.chunk.50b99.js.map → 43.chunk.59734.js.map} +1 -1
  72. package/build/{43.chunk.50b99.js → 44.chunk.c55c5.js} +2 -2
  73. package/build/{44.chunk.98ae5.js.map → 44.chunk.c55c5.js.map} +1 -1
  74. package/build/{44.chunk.98ae5.js → 45.chunk.1c3a4.js} +2 -2
  75. package/build/{45.chunk.cd848.js.map → 45.chunk.1c3a4.js.map} +1 -1
  76. package/build/{45.chunk.cd848.js → 46.chunk.ecb1e.js} +2 -2
  77. package/build/{46.chunk.2a99c.js.map → 46.chunk.ecb1e.js.map} +1 -1
  78. package/build/{46.chunk.2a99c.js → 47.chunk.2e11d.js} +2 -2
  79. package/build/{47.chunk.25d73.js.map → 47.chunk.2e11d.js.map} +1 -1
  80. package/build/{47.chunk.25d73.js → 48.chunk.d5d65.js} +2 -2
  81. package/build/{48.chunk.dab54.js.map → 48.chunk.d5d65.js.map} +1 -1
  82. package/build/{48.chunk.dab54.js → 49.chunk.0b91b.js} +2 -2
  83. package/build/{49.chunk.4fa9c.js.map → 49.chunk.0b91b.js.map} +1 -1
  84. package/build/5.chunk.2c903.js +2 -0
  85. package/build/5.chunk.2c903.js.map +1 -0
  86. package/build/{49.chunk.4fa9c.js → 50.chunk.c17ae.js} +2 -2
  87. package/build/{50.chunk.e7b89.js.map → 50.chunk.c17ae.js.map} +1 -1
  88. package/build/{50.chunk.e7b89.js → 51.chunk.13d9c.js} +2 -2
  89. package/build/{51.chunk.2ccf2.js.map → 51.chunk.13d9c.js.map} +1 -1
  90. package/build/{51.chunk.2ccf2.js → 52.chunk.852a2.js} +2 -2
  91. package/build/{52.chunk.0f323.js.map → 52.chunk.852a2.js.map} +1 -1
  92. package/build/{52.chunk.0f323.js → 53.chunk.d54a3.js} +2 -2
  93. package/build/{53.chunk.242c6.js.map → 53.chunk.d54a3.js.map} +1 -1
  94. package/build/{53.chunk.242c6.js → 54.chunk.48b49.js} +2 -2
  95. package/build/{54.chunk.9b29d.js.map → 54.chunk.48b49.js.map} +1 -1
  96. package/build/{54.chunk.9b29d.js → 55.chunk.afb88.js} +2 -2
  97. package/build/{55.chunk.20aa8.js.map → 55.chunk.afb88.js.map} +1 -1
  98. package/build/{55.chunk.20aa8.js → 56.chunk.60b89.js} +2 -2
  99. package/build/{56.chunk.fba82.js.map → 56.chunk.60b89.js.map} +1 -1
  100. package/build/{56.chunk.fba82.js → 57.chunk.a969d.js} +2 -2
  101. package/build/{57.chunk.ab22c.js.map → 57.chunk.a969d.js.map} +1 -1
  102. package/build/{57.chunk.ab22c.js → 58.chunk.c64c2.js} +2 -2
  103. package/build/{58.chunk.d7b58.js.map → 58.chunk.c64c2.js.map} +1 -1
  104. package/build/{58.chunk.d7b58.js → 59.chunk.ac1d1.js} +2 -2
  105. package/build/{59.chunk.8f0e3.js.map → 59.chunk.ac1d1.js.map} +1 -1
  106. package/build/6.chunk.bc86c.js +2 -0
  107. package/build/6.chunk.bc86c.js.map +1 -0
  108. package/build/{59.chunk.8f0e3.js → 60.chunk.6e219.js} +2 -2
  109. package/build/{60.chunk.1dfcf.js.map → 60.chunk.6e219.js.map} +1 -1
  110. package/build/{60.chunk.1dfcf.js → 61.chunk.e4de6.js} +2 -2
  111. package/build/{61.chunk.0bdb1.js.map → 61.chunk.e4de6.js.map} +1 -1
  112. package/build/{61.chunk.0bdb1.js → 62.chunk.5e3be.js} +2 -2
  113. package/build/{62.chunk.b2b78.js.map → 62.chunk.5e3be.js.map} +1 -1
  114. package/build/{62.chunk.b2b78.js → 63.chunk.c233c.js} +2 -2
  115. package/build/63.chunk.c233c.js.map +1 -0
  116. package/build/{6.chunk.2cf25.js → 7.chunk.3cdf3.js} +2 -2
  117. package/build/{7.chunk.d256d.js.map → 7.chunk.3cdf3.js.map} +1 -1
  118. package/build/{7.chunk.d256d.js → 8.chunk.37a35.js} +2 -2
  119. package/build/{8.chunk.68b72.js.map → 8.chunk.37a35.js.map} +1 -1
  120. package/build/{8.chunk.68b72.js → 9.chunk.17aa6.js} +2 -2
  121. package/build/{9.chunk.a1a7d.js.map → 9.chunk.17aa6.js.map} +1 -1
  122. package/build/bundle.31a95.js +2 -0
  123. package/build/bundle.31a95.js.map +1 -0
  124. package/build/index.html +1 -1
  125. package/package.json +1 -1
  126. package/build/17.chunk.beee1.js +0 -2
  127. package/build/4.chunk.4eded.js +0 -25
  128. package/build/4.chunk.4eded.js.map +0 -1
  129. package/build/5.chunk.bf9f3.js +0 -2
  130. package/build/5.chunk.bf9f3.js.map +0 -1
  131. package/build/6.chunk.2cf25.js.map +0 -1
  132. package/build/9.chunk.a1a7d.js +0 -2
  133. package/build/bundle.ce55a.js +0 -2
  134. package/build/bundle.ce55a.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["webpack:///./src/icons/arrowDown.svg","webpack:///./src/icons/close.svg","webpack:///./node_modules/date-fns/locale sync ^\\.\\/.*\\/index\\.js$","webpack:///./src/i18n lazy ^\\.\\/.*\\.json$ namespace object","webpack:///./src/components/Button/styles.scss?43fa","webpack:///./src/components/ButtonGroup/styles.scss?d52b","webpack:///./src/components/Modal/styles.scss?ad00","webpack:///./src/icons/phone.svg","webpack:///./src/icons/phoneOff.svg","webpack:///./src/components/Avatar/styles.scss?d061","webpack:///./src/components/Composer/styles.scss?cda8","webpack:///./src/components/Composer/ComposerAction/styles.scss?f6f4","webpack:///./src/components/Composer/ComposerActions/styles.scss?dbb8","webpack:///./src/components/FilesDropTarget/styles.scss?cabb","webpack:///./src/components/Popover/styles.scss?b8d7","webpack:///./src/components/Menu/styles.scss?e0b0","webpack:///./src/components/Footer/logo.svg","webpack:///./src/components/Footer/styles.scss?9a62","webpack:///./src/components/Messages/MessageBubble/styles.scss?7212","webpack:///./src/components/Messages/AudioAttachment/styles.scss?9ec6","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?bdf3","webpack:///./src/components/Messages/ImageAttachment/styles.scss?90a9","webpack:///./src/components/Messages/MessageAvatars/styles.scss?7c6a","webpack:///./src/components/uiKit/message/ActionsBlock/styles.scss?3c6a","webpack:///./src/components/uiKit/message/ButtonElement/styles.scss?fb19","webpack:///./src/components/uiKit/message/ContextBlock/styles.scss?c4d7","webpack:///./src/components/Form/DateInput/styles.scss?992a","webpack:///./src/components/uiKit/message/DividerBlock/styles.scss?1d8c","webpack:///./src/components/uiKit/message/ImageBlock/styles.scss?2694","webpack:///./src/components/uiKit/message/ImageElement/styles.scss?587d","webpack:///./src/components/uiKit/message/Mrkdwn/styles.scss?c6cb","webpack:///./src/icons/kebab.svg","webpack:///./src/components/uiKit/message/OverflowElement/styles.scss?7773","webpack:///./src/components/uiKit/message/PlainText/styles.scss?7588","webpack:///./src/components/uiKit/message/SectionBlock/styles.scss?541e","webpack:///./src/components/Form/SelectInput/styles.scss?a2cf","webpack:///./src/components/uiKit/message/StaticSelectElement/styles.scss?38e1","webpack:///./src/components/Messages/MessageBlocks/styles.scss?6d9e","webpack:///./src/components/Messages/MessageContainer/styles.scss?9716","webpack:///./src/components/Messages/MessageContent/styles.scss?0221","webpack:///./src/components/Messages/MessageText/styles.scss?3134","webpack:///./src/components/Messages/MessageTime/styles.scss?69cd","webpack:///./src/components/Messages/VideoAttachment/styles.scss?8603","webpack:///./src/icons/video.svg","webpack:///./src/components/Messages/MessageSeparator/styles.scss?d511","webpack:///./src/components/Messages/TypingDots/styles.scss?4d8b","webpack:///./src/components/Messages/MessageList/styles.scss?ea41","webpack:///./src/icons/chat.svg","webpack:///./src/icons/arrowUp.svg","webpack:///./src/icons/bell.svg","webpack:///./src/icons/bellOff.svg","webpack:///./src/icons/newWindow.svg","webpack:///./src/components/Alert/styles.scss?41a2","webpack:///./src/components/Header/styles.scss?421d","webpack:///./src/components/Tooltip/styles.scss?b020","webpack:///./src/components/Screen/styles.scss?01fd","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?467e","webpack:///./src/routes/ChatFinished/styles.scss?d07f","webpack:///./src/routes/GDPRAgreement/styles.scss?df10","webpack:///./src/components/Form/FormField/styles.scss?cc76","webpack:///./src/components/Form/TextInput/styles.scss?1621","webpack:///./src/components/Form/PasswordInput/styles.scss?0aa8","webpack:///./src/routes/LeaveMessage/styles.scss?d842","webpack:///./src/routes/Register/styles.scss?79c0","webpack:///./src/routes/SwitchDepartment/styles.scss?5ae5","webpack:///./src/routes/TriggerMessage/styles.scss?8f7e","webpack:///./src/lib/random.js","webpack:///./src/widget.js","webpack:///./src/lib/parentCall.js","webpack:///./src/store/Store.js","webpack:///./src/store/index.js","webpack:///./src/lib/locale.js","webpack:///./src/i18next.js","webpack:///./src/history.js","webpack:///./src/api.js","webpack:///./src/lib/constants.js","webpack:///./src/components/helpers.js","webpack:///./src/lib/main.js","webpack:///./src/components/Calls/CallStatus.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/Calls/CallIFrame.js","webpack:///./src/components/Avatar/index.js","webpack:///./src/components/Calls/CallNotification.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/Messages/MessageAvatars/index.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/Calls/JoinCallButton.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/Sound/index.js","webpack:///./src/components/Alert/index.js","webpack:///./src/components/Header/index.js","webpack:///./src/components/Tooltip/index.js","webpack:///./src/components/Screen/Header.js","webpack:///./src/components/Screen/index.js","webpack:///./src/routes/Chat/component.js","webpack:///./src/routes/Chat/container.js","webpack:///./src/routes/Chat/connector.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/lib/email.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/SwitchDepartment/connector.js","webpack:///./src/routes/TriggerMessage/component.js","webpack:///./src/routes/TriggerMessage/container.js","webpack:///./src/components/App/App.js","webpack:///./src/components/App/index.js","webpack:///./src/index.ts","webpack:///./src/components/Calls/styles.scss?6b66"],"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","webpackAsyncContext","Promise","then","ids","t","UNMISTAKABLE_CHARS","chooseElement","arrayOrString","array","index","Math","floor","Uint32Array","window","crypto","getRandomValues","length","substr","createRandomString","charsCount","alphabet","Array","from","join","createToken","WordArray","random","toString","Hex","log","RocketChat","_","widget","iframe","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","classList","add","remove","style","left","height","width","WIDGET_MARGIN","openWidget","dataset","state","focus","closeWidget","api","popup","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","setBusinessUnit","businessUnit","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","isArray","clearDepartment","maximizeWidget","minimizeWidget","clearBusinessUnit","onChatMaximized","onChatMinimized","onChatStarted","onChatEnded","onPrechatFormSubmit","onOfflineFormSubmit","onWidgetShown","onWidgetHidden","onAssignAgent","onAgentStatusChange","onQueuePositionChange","onServiceOffline","runCallbackEventEmitter","callbackName","includes","localStorage","sessionStorage","initialState","typing","messages","settings","triggers","departments","resources","user","sound","enabled","play","visible","gdpr","accepted","alerts","minimized","unread","incomingCallAlert","ongoingCall","store","storedState","localStorageKey","dontPersist","getItem","_state","newValue","reload","setStoredState","sessionId","setItem","openSessionIds","setState","triggered","filter","session","persistable","partialState","prevState","persist","propName","nonPeristable","ignoredKey","StoreContext","createContext","Provider","dispatch","bind","handleStoreChange","render","children","off","Component","displayName","Consumer","browserLanguage","navigator","userLanguage","configLanguage","languageString","languageCode","countryCode","loadResource","lng","translation","default","i18next","use","type","read","namespace","resource","catch","reason","initReactI18next","split","toLowerCase","toUpperCase","fallbackLng","react","useSuspense","history","createMemoryHistory","host","SERVER_URL","queryString","search","serverUrl","useSsl","match","Livechat","LivechatClient","protocol","flatMap","arr","mapFunc","result","entries","x","createClassName","styles","elementName","modifiers","classes","modifierKey","modifierValue","asyncForEach","debounce","func","delay","inDebounce","f","context","clearTimeout","setTimeout","stop","throttle","limit","inThrottle","getInsertIndex","item","ranking","order","min","max","guess","guessedOrder","upsert","predicate","findIndex","splice","getSecureCookieSettings","setInitCookies","cookie","setCookies","rid","getAvatarUrl","username","client","msgTypesNotRendered","canRenderMessage","getAttachmentUrl","sortArrayByColumn","column","inverted","sort","a","b","parseOfflineMessage","fields","origin","normalizeDOMRect","top","visibility","hidden","removeListener","removeEventListener","msHidden","webkitHidden","MemoizedComponent","nextProps","memo","component","isActiveSession","resolveDate","dateInput","Date","$date","parseISO","escapeMap","'","escapeRegex","RegExp","escapeHtml","mem","string","replace","plainText","plain","html","updateBusinessUnit","newBusinessUnit","existingConfig","unsetSinglePropInStateByName","loadConfig","credentials","room","queueInfo","hiddenInfo","noMoreMessages","processUnread","lastReadMessageId","renderedMessages","message","lastReadMessageIndex","_id","unreadMessages","slice","lastReadMessage","alertMessage","count","val","ts","formatParams","month","day","hour","minute","alert","constants","success","timeout","newAlerts","CallStatus","isCallOngoing","callStatus","normalizeAgent","agentData","status","normalizeQueueAlert","spot","estimatedWaitTimeSeconds","locale","supportedLocales","fullLanguage","find","require","getDateFnsLocale","estimatedWaitTime","formatDistance","setSeconds","Commands","connecting","addParentMessage","parentMessage","parentMessages","tmid","isThreadMessage","replies","findParentMessage","error","normalizeThreadMessage","attachments","threadMsg","text","normalizeMessage","normalizeMessages","all","handleMouseUp","target","blur","Button","submit","disabled","outline","nude","danger","secondary","stack","small","loading","badge","icon","onClick","img","onMouseUp","aria-label","backgroundImage","ButtonGroup","toChildArray","child","cloneElement","Modal","handleKeyDown","triggerDismiss","handleTouchStart","dismissByOverlay","handleMouseDown","onDismiss","mounted","animated","onTouchStart","onMouseDown","Number","isFinite","defaultProps","ConfirmationModal","withTranslation","confirmButtonText","cancelButtonText","onConfirm","onCancel","Message","AlertModal","buttonText","Confirm","Alert","handleButton","modal","promptTranscript","transcriptMessage","visitorEmails","address","ModalManager","requestTranscript","handleTranscript","transcript","commands","closeChat","transcriptRequested","clearLocalStorageWhenChatEnded","undocked","expanded","initial","route","processIncomingCallMessage","show","callProvider","callerUsername","u","time","callId","customFields","jitsiCallUrl","processMessage","webRtcCallEndTs","doPlaySound","initRoom","unsubscribeAll","servedBy","subscribeRoom","roomAgent","onAgentChange","transformAgentInformationOnMessage","agentHiddenInfo","onTyping","isTyping","onMessage","toISOString","editedAt","self","timer","connectedListener","disconnectedListener","getGreetingMessages","trigger","getLatestCallMessage","pop","loadMessages","storedMessages","previousMessages","rawMessages","reverse","lastMessage","latestCallMessage","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","actions","triggerAction","reject","sender","now","nextAgent","runOnce","request","processTriggers","conditions","condition","test","fire","parseInt","openFunc","newTriggers","createOrUpdateGuest","grantVisitor","visitor","updateIframeGuestData","guestData","info","processRequest","sendVisitorNavigation","pageInfo","color","fontColor","iconColor","offlineTitle","dept","dep","trim","existingBusinessUnit","setExpanded","localToken","changeLanguage","onNewMessage","event","Hooks","oldStatus","docActivityEvents","userPrensence","reset","stopEvents","stopTimer","startTimer","setAway","startEvents","setOnline","updateVisitorStatus","CallIframe","handleIframeClose","expandCall","allow","Avatar","errored","handleError","large","description","nobg","alt","onError","useState","setShow","callInNewTab","acceptClick","updateCallStatus","innerWidth","innerHeight","declineClick","notifyCallDeclined","ComposerAction","ComposerActions","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","innerText","handleKeypress","onSubmit","which","shiftKey","preventDefault","handlePaste","onUpload","clipboardData","items","files","kind","getAsFile","getAsString","pasteText","handleDrop","dataTransfer","handleClick","handleEmojiClick","queryCommandSupported","execCommand","getRangeAt","deleteContents","createTextNode","insertNode","selectNodeContents","selection","pre","post","placeholder","contentEditable","onInput","onKeypress","onPaste","onDrop","onCompositionStart","handleInputLock","onCompositionEnd","handleNotifyEmojiSelect","notifyEmojiSelect","nextValue","limitTextLength","emoji","caretPosition","getCaretPosition","oldText","newText","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","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","MessageAvatars","avatarResolver","usernames","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","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","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","dangerouslySetInnerHTML","__html","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","callEndTime","callStartTime","callDuration","format","resolveWebRTCEndCallMessage","getMessageUsernames","alias","attachmentResolver","me","renderContent","attachment","audio_url","video_url","image_url","title_link","message_link","Boolean","JoinCallButton","MessageSeparator","date","year","TypingDots","class","TypingIndicator","containerProps","MessageList","SCROLL_AT_BOTTOM","handleScroll","isResizingFromBottom","scrollHeight","clientHeight","SCROLL_AT_TOP","SCROLL_FREE","onScrollTo","handleResize","renderItems","uid","typingUsernames","previousMessage","nextMessage","actionLinks","isSameDay","onScroll","previousScrollHeight","delta","Sound","audio","handlePlayProp","dismissNotification","ended","paused","pause","currentTime","onStart","onStop","onPlay","onEnded","handleDismiss","warning","hideCloseButton","dismissTimeout","Header","Picture","Content","Title","SubTitle","Actions","Action","Post","CustomField","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","variables","screen","Screen","onSoundStop","fitTextSize","nopadding","Chat","atBottom","emojiPickerActive","handleFilesDropTargetRef","filesDropTarget","handleMessagesContainerRef","messagesContainer","handleScrollTo","region","onTop","onBottom","handleUploadClick","handleSendClick","handleSubmit","turnOffEmojiPicker","handleChangeText","onChangeText","substring","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","i18n","newRoom","handleTop","startTyping","notifyVisitorTyping","stopTypingDebounced","stopTyping","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","fileUpload","forceAcceptDataProcessingConsent","showConnecting","registrationForm","customColor","customFontColor","customIconColor","customTitle","triggerAgent","emails","phoneNumber","ChatFinished","onRedirectChat","greeting","defaultGreeting","defaultMessage","ChatFinishedContainer","handleRedirect","conversationFinishedText","GDPR","onAgree","consentText","instructions","renderInline","i18nKey","GDPRContainer","handleAgree","dataProcessingConsentText","basicEmailRegex","rfcEmailRegex","FormField","required","TextInput","multiline","rows","Form","noValidate","defaultHandleSubmit","Validations","nonEmpty","validateEmail","custom","pattern","LeaveMessage","validations","getDefaultState","hasDepartmentField","getValidableFields","fieldName","validate","reduce","validation","validateAll","showError","isValid","every","handleFieldChange","handleNameChange","handleEmailChange","handleDepartmentChange","handleMessageChange","values","entry","renderForm","valid","unavailableMessage","hasForm","defaultTitle","LeaveMessageContainer","successMessage","sendOfflineMessage","LeaveMessageConnector","offlineMessage","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","dispatchRestore","dispatchEvent","handleOpenWindow","handleDismissAlert","handleVisibilityChange","handleLanguageChange","forceUpdate","screenProps","path","mode","handleTriggers","userPresence","initWidget","checkPoppedOutWindow","finalize","s","AppConnector","defineProperty","App_1","enumerable"],"mappings":"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AQ,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,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,iBAAkB,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,OAAQ,OAAQ,YAAa,OAAQ,WAAY,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,OAA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","file":"5.chunk.bf9f3.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\":\"<path d=\\\"M16.071 5L9 12.071 1.929 5\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M6 6l8.071 8.071m0-8.071L6 14.071\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"square\\\" fill=\\\"none\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\": 576,\n\t\"./_lib/buildLocalizeFn/index.js\": 577,\n\t\"./_lib/buildMatchFn/index.js\": 578,\n\t\"./_lib/buildMatchPatternFn/index.js\": 579,\n\t\"./af/_lib/formatDistance/index.js\": 836,\n\t\"./af/_lib/formatLong/index.js\": 837,\n\t\"./af/_lib/formatRelative/index.js\": 838,\n\t\"./af/_lib/localize/index.js\": 839,\n\t\"./af/_lib/match/index.js\": 840,\n\t\"./af/index.js\": 1208,\n\t\"./ar-DZ/_lib/formatDistance/index.js\": 841,\n\t\"./ar-DZ/_lib/formatLong/index.js\": 842,\n\t\"./ar-DZ/_lib/formatRelative/index.js\": 843,\n\t\"./ar-DZ/_lib/localize/index.js\": 844,\n\t\"./ar-DZ/_lib/match/index.js\": 845,\n\t\"./ar-DZ/index.js\": 1209,\n\t\"./ar-MA/_lib/formatDistance/index.js\": 846,\n\t\"./ar-MA/_lib/formatLong/index.js\": 847,\n\t\"./ar-MA/_lib/formatRelative/index.js\": 848,\n\t\"./ar-MA/_lib/localize/index.js\": 849,\n\t\"./ar-MA/_lib/match/index.js\": 850,\n\t\"./ar-MA/index.js\": 1210,\n\t\"./ar-SA/_lib/formatDistance/index.js\": 851,\n\t\"./ar-SA/_lib/formatLong/index.js\": 852,\n\t\"./ar-SA/_lib/formatRelative/index.js\": 853,\n\t\"./ar-SA/_lib/localize/index.js\": 854,\n\t\"./ar-SA/_lib/match/index.js\": 855,\n\t\"./ar-SA/index.js\": 1211,\n\t\"./az/_lib/formatDistance/index.js\": 856,\n\t\"./az/_lib/formatLong/index.js\": 857,\n\t\"./az/_lib/formatRelative/index.js\": 858,\n\t\"./az/_lib/localize/index.js\": 859,\n\t\"./az/_lib/match/index.js\": 860,\n\t\"./az/index.js\": 1212,\n\t\"./be/_lib/formatDistance/index.js\": 861,\n\t\"./be/_lib/formatLong/index.js\": 862,\n\t\"./be/_lib/formatRelative/index.js\": 863,\n\t\"./be/_lib/localize/index.js\": 864,\n\t\"./be/_lib/match/index.js\": 865,\n\t\"./be/index.js\": 1216,\n\t\"./bg/_lib/formatDistance/index.js\": 866,\n\t\"./bg/_lib/formatLong/index.js\": 867,\n\t\"./bg/_lib/formatRelative/index.js\": 868,\n\t\"./bg/_lib/localize/index.js\": 869,\n\t\"./bg/_lib/match/index.js\": 870,\n\t\"./bg/index.js\": 1217,\n\t\"./bn/_lib/formatDistance/index.js\": 871,\n\t\"./bn/_lib/formatLong/index.js\": 872,\n\t\"./bn/_lib/formatRelative/index.js\": 873,\n\t\"./bn/_lib/localize/index.js\": 720,\n\t\"./bn/_lib/match/index.js\": 874,\n\t\"./bn/index.js\": 1218,\n\t\"./ca/_lib/formatDistance/index.js\": 875,\n\t\"./ca/_lib/formatLong/index.js\": 876,\n\t\"./ca/_lib/formatRelative/index.js\": 877,\n\t\"./ca/_lib/localize/index.js\": 878,\n\t\"./ca/_lib/match/index.js\": 879,\n\t\"./ca/index.js\": 1219,\n\t\"./cs/_lib/formatDistance/index.js\": 880,\n\t\"./cs/_lib/formatLong/index.js\": 881,\n\t\"./cs/_lib/formatRelative/index.js\": 882,\n\t\"./cs/_lib/localize/index.js\": 883,\n\t\"./cs/_lib/match/index.js\": 884,\n\t\"./cs/index.js\": 1220,\n\t\"./cy/_lib/formatDistance/index.js\": 885,\n\t\"./cy/_lib/formatLong/index.js\": 886,\n\t\"./cy/_lib/formatRelative/index.js\": 887,\n\t\"./cy/_lib/localize/index.js\": 888,\n\t\"./cy/_lib/match/index.js\": 889,\n\t\"./cy/index.js\": 1221,\n\t\"./da/_lib/formatDistance/index.js\": 890,\n\t\"./da/_lib/formatLong/index.js\": 891,\n\t\"./da/_lib/formatRelative/index.js\": 892,\n\t\"./da/_lib/localize/index.js\": 893,\n\t\"./da/_lib/match/index.js\": 894,\n\t\"./da/index.js\": 1222,\n\t\"./de/_lib/formatDistance/index.js\": 895,\n\t\"./de/_lib/formatLong/index.js\": 896,\n\t\"./de/_lib/formatRelative/index.js\": 897,\n\t\"./de/_lib/localize/index.js\": 898,\n\t\"./de/_lib/match/index.js\": 899,\n\t\"./de/index.js\": 1223,\n\t\"./el/_lib/formatDistance/index.js\": 900,\n\t\"./el/_lib/formatLong/index.js\": 901,\n\t\"./el/_lib/formatRelative/index.js\": 902,\n\t\"./el/_lib/localize/index.js\": 903,\n\t\"./el/_lib/match/index.js\": 904,\n\t\"./el/index.js\": 1224,\n\t\"./en-AU/_lib/formatLong/index.js\": 905,\n\t\"./en-AU/index.js\": 1225,\n\t\"./en-CA/_lib/formatDistance/index.js\": 906,\n\t\"./en-CA/_lib/formatLong/index.js\": 907,\n\t\"./en-CA/index.js\": 1226,\n\t\"./en-GB/_lib/formatLong/index.js\": 908,\n\t\"./en-GB/index.js\": 1227,\n\t\"./en-IN/_lib/formatLong/index.js\": 909,\n\t\"./en-IN/index.js\": 1228,\n\t\"./en-NZ/_lib/formatLong/index.js\": 910,\n\t\"./en-NZ/index.js\": 1229,\n\t\"./en-US/_lib/formatDistance/index.js\": 620,\n\t\"./en-US/_lib/formatLong/index.js\": 911,\n\t\"./en-US/_lib/formatRelative/index.js\": 610,\n\t\"./en-US/_lib/localize/index.js\": 611,\n\t\"./en-US/_lib/match/index.js\": 612,\n\t\"./en-US/index.js\": 1230,\n\t\"./eo/_lib/formatDistance/index.js\": 912,\n\t\"./eo/_lib/formatLong/index.js\": 913,\n\t\"./eo/_lib/formatRelative/index.js\": 914,\n\t\"./eo/_lib/localize/index.js\": 915,\n\t\"./eo/_lib/match/index.js\": 916,\n\t\"./eo/index.js\": 1231,\n\t\"./es/_lib/formatDistance/index.js\": 917,\n\t\"./es/_lib/formatLong/index.js\": 918,\n\t\"./es/_lib/formatRelative/index.js\": 919,\n\t\"./es/_lib/localize/index.js\": 920,\n\t\"./es/_lib/match/index.js\": 921,\n\t\"./es/index.js\": 1232,\n\t\"./et/_lib/formatDistance/index.js\": 922,\n\t\"./et/_lib/formatLong/index.js\": 923,\n\t\"./et/_lib/formatRelative/index.js\": 924,\n\t\"./et/_lib/localize/index.js\": 925,\n\t\"./et/_lib/match/index.js\": 926,\n\t\"./et/index.js\": 1233,\n\t\"./eu/_lib/formatDistance/index.js\": 927,\n\t\"./eu/_lib/formatLong/index.js\": 928,\n\t\"./eu/_lib/formatRelative/index.js\": 929,\n\t\"./eu/_lib/localize/index.js\": 930,\n\t\"./eu/_lib/match/index.js\": 931,\n\t\"./eu/index.js\": 1234,\n\t\"./fa-IR/_lib/formatDistance/index.js\": 932,\n\t\"./fa-IR/_lib/formatLong/index.js\": 933,\n\t\"./fa-IR/_lib/formatRelative/index.js\": 934,\n\t\"./fa-IR/_lib/localize/index.js\": 935,\n\t\"./fa-IR/_lib/match/index.js\": 936,\n\t\"./fa-IR/index.js\": 1235,\n\t\"./fi/_lib/formatDistance/index.js\": 937,\n\t\"./fi/_lib/formatLong/index.js\": 938,\n\t\"./fi/_lib/formatRelative/index.js\": 939,\n\t\"./fi/_lib/localize/index.js\": 940,\n\t\"./fi/_lib/match/index.js\": 941,\n\t\"./fi/index.js\": 1236,\n\t\"./fr-CA/_lib/formatLong/index.js\": 942,\n\t\"./fr-CA/index.js\": 1237,\n\t\"./fr-CH/_lib/formatDistance/index.js\": 943,\n\t\"./fr-CH/_lib/formatLong/index.js\": 944,\n\t\"./fr-CH/_lib/formatRelative/index.js\": 945,\n\t\"./fr-CH/_lib/formatters/index.js\": 1238,\n\t\"./fr-CH/_lib/localize/index.js\": 946,\n\t\"./fr-CH/_lib/match/index.js\": 947,\n\t\"./fr-CH/index.js\": 1239,\n\t\"./fr/_lib/formatDistance/index.js\": 721,\n\t\"./fr/_lib/formatLong/index.js\": 948,\n\t\"./fr/_lib/formatRelative/index.js\": 722,\n\t\"./fr/_lib/formatters/index.js\": 1240,\n\t\"./fr/_lib/localize/index.js\": 723,\n\t\"./fr/_lib/match/index.js\": 724,\n\t\"./fr/index.js\": 1241,\n\t\"./gd/_lib/formatDistance/index.js\": 949,\n\t\"./gd/_lib/formatLong/index.js\": 950,\n\t\"./gd/_lib/formatRelative/index.js\": 951,\n\t\"./gd/_lib/localize/index.js\": 952,\n\t\"./gd/_lib/match/index.js\": 953,\n\t\"./gd/index.js\": 1242,\n\t\"./gl/_lib/formatDistance/index.js\": 954,\n\t\"./gl/_lib/formatLong/index.js\": 955,\n\t\"./gl/_lib/formatRelative/index.js\": 956,\n\t\"./gl/_lib/localize/index.js\": 957,\n\t\"./gl/_lib/match/index.js\": 958,\n\t\"./gl/index.js\": 1243,\n\t\"./gu/_lib/formatDistance/index.js\": 959,\n\t\"./gu/_lib/formatLong/index.js\": 960,\n\t\"./gu/_lib/formatRelative/index.js\": 961,\n\t\"./gu/_lib/localize/index.js\": 962,\n\t\"./gu/_lib/match/index.js\": 963,\n\t\"./gu/index.js\": 1244,\n\t\"./he/_lib/formatDistance/index.js\": 964,\n\t\"./he/_lib/formatLong/index.js\": 965,\n\t\"./he/_lib/formatRelative/index.js\": 966,\n\t\"./he/_lib/localize/index.js\": 967,\n\t\"./he/_lib/match/index.js\": 968,\n\t\"./he/index.js\": 1245,\n\t\"./hi/_lib/formatDistance/index.js\": 969,\n\t\"./hi/_lib/formatLong/index.js\": 970,\n\t\"./hi/_lib/formatRelative/index.js\": 971,\n\t\"./hi/_lib/localize/index.js\": 659,\n\t\"./hi/_lib/match/index.js\": 972,\n\t\"./hi/index.js\": 1246,\n\t\"./hr/_lib/formatDistance/index.js\": 973,\n\t\"./hr/_lib/formatLong/index.js\": 974,\n\t\"./hr/_lib/formatRelative/index.js\": 975,\n\t\"./hr/_lib/localize/index.js\": 976,\n\t\"./hr/_lib/match/index.js\": 977,\n\t\"./hr/index.js\": 1247,\n\t\"./hu/_lib/formatDistance/index.js\": 978,\n\t\"./hu/_lib/formatLong/index.js\": 979,\n\t\"./hu/_lib/formatRelative/index.js\": 980,\n\t\"./hu/_lib/localize/index.js\": 981,\n\t\"./hu/_lib/match/index.js\": 982,\n\t\"./hu/index.js\": 1248,\n\t\"./hy/_lib/formatDistance/index.js\": 983,\n\t\"./hy/_lib/formatLong/index.js\": 984,\n\t\"./hy/_lib/formatRelative/index.js\": 985,\n\t\"./hy/_lib/localize/index.js\": 986,\n\t\"./hy/_lib/match/index.js\": 987,\n\t\"./hy/index.js\": 1249,\n\t\"./id/_lib/formatDistance/index.js\": 988,\n\t\"./id/_lib/formatLong/index.js\": 989,\n\t\"./id/_lib/formatRelative/index.js\": 990,\n\t\"./id/_lib/localize/index.js\": 991,\n\t\"./id/_lib/match/index.js\": 992,\n\t\"./id/index.js\": 1250,\n\t\"./is/_lib/formatDistance/index.js\": 993,\n\t\"./is/_lib/formatLong/index.js\": 994,\n\t\"./is/_lib/formatRelative/index.js\": 995,\n\t\"./is/_lib/localize/index.js\": 996,\n\t\"./is/_lib/match/index.js\": 997,\n\t\"./is/index.js\": 1251,\n\t\"./it/_lib/formatDistance/index.js\": 998,\n\t\"./it/_lib/formatLong/index.js\": 999,\n\t\"./it/_lib/formatRelative/index.js\": 1000,\n\t\"./it/_lib/localize/index.js\": 1001,\n\t\"./it/_lib/match/index.js\": 1002,\n\t\"./it/index.js\": 1252,\n\t\"./ja/_lib/formatDistance/index.js\": 1003,\n\t\"./ja/_lib/formatLong/index.js\": 1004,\n\t\"./ja/_lib/formatRelative/index.js\": 1005,\n\t\"./ja/_lib/localize/index.js\": 1006,\n\t\"./ja/_lib/match/index.js\": 1007,\n\t\"./ja/index.js\": 1253,\n\t\"./ka/_lib/formatDistance/index.js\": 1008,\n\t\"./ka/_lib/formatLong/index.js\": 1009,\n\t\"./ka/_lib/formatRelative/index.js\": 1010,\n\t\"./ka/_lib/localize/index.js\": 1011,\n\t\"./ka/_lib/match/index.js\": 1012,\n\t\"./ka/index.js\": 1254,\n\t\"./kk/_lib/formatDistance/index.js\": 1013,\n\t\"./kk/_lib/formatLong/index.js\": 1014,\n\t\"./kk/_lib/formatRelative/index.js\": 1015,\n\t\"./kk/_lib/localize/index.js\": 1016,\n\t\"./kk/_lib/match/index.js\": 1017,\n\t\"./kk/index.js\": 1255,\n\t\"./kn/_lib/formatDistance/index.js\": 1018,\n\t\"./kn/_lib/formatLong/index.js\": 1019,\n\t\"./kn/_lib/formatRelative/index.js\": 1020,\n\t\"./kn/_lib/localize/index.js\": 1021,\n\t\"./kn/_lib/match/index.js\": 1022,\n\t\"./kn/index.js\": 1256,\n\t\"./ko/_lib/formatDistance/index.js\": 1023,\n\t\"./ko/_lib/formatLong/index.js\": 1024,\n\t\"./ko/_lib/formatRelative/index.js\": 1025,\n\t\"./ko/_lib/localize/index.js\": 1026,\n\t\"./ko/_lib/match/index.js\": 1027,\n\t\"./ko/index.js\": 1257,\n\t\"./lt/_lib/formatDistance/index.js\": 1028,\n\t\"./lt/_lib/formatLong/index.js\": 1029,\n\t\"./lt/_lib/formatRelative/index.js\": 1030,\n\t\"./lt/_lib/localize/index.js\": 1031,\n\t\"./lt/_lib/match/index.js\": 1032,\n\t\"./lt/index.js\": 1258,\n\t\"./lv/_lib/formatDistance/index.js\": 1033,\n\t\"./lv/_lib/formatLong/index.js\": 1034,\n\t\"./lv/_lib/formatRelative/index.js\": 1035,\n\t\"./lv/_lib/localize/index.js\": 1036,\n\t\"./lv/_lib/match/index.js\": 1037,\n\t\"./lv/index.js\": 1259,\n\t\"./mk/_lib/formatDistance/index.js\": 1038,\n\t\"./mk/_lib/formatLong/index.js\": 1039,\n\t\"./mk/_lib/formatRelative/index.js\": 1040,\n\t\"./mk/_lib/localize/index.js\": 1041,\n\t\"./mk/_lib/match/index.js\": 1042,\n\t\"./mk/index.js\": 1260,\n\t\"./ms/_lib/formatDistance/index.js\": 1043,\n\t\"./ms/_lib/formatLong/index.js\": 1044,\n\t\"./ms/_lib/formatRelative/index.js\": 1045,\n\t\"./ms/_lib/localize/index.js\": 1046,\n\t\"./ms/_lib/match/index.js\": 1047,\n\t\"./ms/index.js\": 1261,\n\t\"./mt/_lib/formatDistance/index.js\": 1048,\n\t\"./mt/_lib/formatLong/index.js\": 1049,\n\t\"./mt/_lib/formatRelative/index.js\": 1050,\n\t\"./mt/_lib/localize/index.js\": 1051,\n\t\"./mt/_lib/match/index.js\": 1052,\n\t\"./mt/index.js\": 1262,\n\t\"./nb/_lib/formatDistance/index.js\": 1053,\n\t\"./nb/_lib/formatLong/index.js\": 1054,\n\t\"./nb/_lib/formatRelative/index.js\": 1055,\n\t\"./nb/_lib/localize/index.js\": 1056,\n\t\"./nb/_lib/match/index.js\": 1057,\n\t\"./nb/index.js\": 1263,\n\t\"./nl-BE/_lib/formatDistance/index.js\": 1058,\n\t\"./nl-BE/_lib/formatLong/index.js\": 1059,\n\t\"./nl-BE/_lib/formatRelative/index.js\": 1060,\n\t\"./nl-BE/_lib/localize/index.js\": 1061,\n\t\"./nl-BE/_lib/match/index.js\": 1062,\n\t\"./nl-BE/index.js\": 1264,\n\t\"./nl/_lib/formatDistance/index.js\": 1063,\n\t\"./nl/_lib/formatLong/index.js\": 1064,\n\t\"./nl/_lib/formatRelative/index.js\": 1065,\n\t\"./nl/_lib/localize/index.js\": 1066,\n\t\"./nl/_lib/match/index.js\": 1067,\n\t\"./nl/index.js\": 1265,\n\t\"./nn/_lib/formatDistance/index.js\": 1068,\n\t\"./nn/_lib/formatLong/index.js\": 1069,\n\t\"./nn/_lib/formatRelative/index.js\": 1070,\n\t\"./nn/_lib/localize/index.js\": 1071,\n\t\"./nn/_lib/match/index.js\": 1072,\n\t\"./nn/index.js\": 1266,\n\t\"./pl/_lib/formatDistance/index.js\": 1073,\n\t\"./pl/_lib/formatLong/index.js\": 1074,\n\t\"./pl/_lib/formatRelative/index.js\": 1075,\n\t\"./pl/_lib/localize/index.js\": 1076,\n\t\"./pl/_lib/match/index.js\": 1077,\n\t\"./pl/index.js\": 1267,\n\t\"./pt-BR/_lib/formatDistance/index.js\": 1078,\n\t\"./pt-BR/_lib/formatLong/index.js\": 1079,\n\t\"./pt-BR/_lib/formatRelative/index.js\": 1080,\n\t\"./pt-BR/_lib/localize/index.js\": 1081,\n\t\"./pt-BR/_lib/match/index.js\": 1082,\n\t\"./pt-BR/index.js\": 1268,\n\t\"./pt/_lib/formatDistance/index.js\": 1083,\n\t\"./pt/_lib/formatLong/index.js\": 1084,\n\t\"./pt/_lib/formatRelative/index.js\": 1085,\n\t\"./pt/_lib/localize/index.js\": 1086,\n\t\"./pt/_lib/match/index.js\": 1087,\n\t\"./pt/index.js\": 1269,\n\t\"./ro/_lib/formatDistance/index.js\": 1088,\n\t\"./ro/_lib/formatLong/index.js\": 1089,\n\t\"./ro/_lib/formatRelative/index.js\": 1090,\n\t\"./ro/_lib/localize/index.js\": 1091,\n\t\"./ro/_lib/match/index.js\": 1092,\n\t\"./ro/index.js\": 1270,\n\t\"./ru/_lib/formatDistance/index.js\": 1093,\n\t\"./ru/_lib/formatLong/index.js\": 1094,\n\t\"./ru/_lib/formatRelative/index.js\": 1095,\n\t\"./ru/_lib/localize/index.js\": 1096,\n\t\"./ru/_lib/match/index.js\": 1097,\n\t\"./ru/index.js\": 1271,\n\t\"./sk/_lib/formatDistance/index.js\": 1098,\n\t\"./sk/_lib/formatLong/index.js\": 1099,\n\t\"./sk/_lib/formatRelative/index.js\": 1100,\n\t\"./sk/_lib/localize/index.js\": 1101,\n\t\"./sk/_lib/match/index.js\": 1102,\n\t\"./sk/index.js\": 1272,\n\t\"./sl/_lib/formatDistance/index.js\": 1103,\n\t\"./sl/_lib/formatLong/index.js\": 1104,\n\t\"./sl/_lib/formatRelative/index.js\": 1105,\n\t\"./sl/_lib/localize/index.js\": 1106,\n\t\"./sl/_lib/match/index.js\": 1107,\n\t\"./sl/index.js\": 1273,\n\t\"./sr-Latn/_lib/formatDistance/index.js\": 1108,\n\t\"./sr-Latn/_lib/formatLong/index.js\": 1109,\n\t\"./sr-Latn/_lib/formatRelative/index.js\": 1110,\n\t\"./sr-Latn/_lib/localize/index.js\": 1111,\n\t\"./sr-Latn/_lib/match/index.js\": 1112,\n\t\"./sr-Latn/index.js\": 1274,\n\t\"./sr/_lib/formatDistance/index.js\": 1113,\n\t\"./sr/_lib/formatLong/index.js\": 1114,\n\t\"./sr/_lib/formatRelative/index.js\": 1115,\n\t\"./sr/_lib/localize/index.js\": 1116,\n\t\"./sr/_lib/match/index.js\": 1117,\n\t\"./sr/index.js\": 1275,\n\t\"./sv/_lib/formatDistance/index.js\": 1118,\n\t\"./sv/_lib/formatLong/index.js\": 1119,\n\t\"./sv/_lib/formatRelative/index.js\": 1120,\n\t\"./sv/_lib/localize/index.js\": 1121,\n\t\"./sv/_lib/match/index.js\": 1122,\n\t\"./sv/index.js\": 1276,\n\t\"./ta/_lib/formatDistance/index.js\": 1123,\n\t\"./ta/_lib/formatLong/index.js\": 1124,\n\t\"./ta/_lib/formatRelative/index.js\": 1125,\n\t\"./ta/_lib/localize/index.js\": 1126,\n\t\"./ta/_lib/match/index.js\": 1127,\n\t\"./ta/index.js\": 1277,\n\t\"./te/_lib/formatDistance/index.js\": 1128,\n\t\"./te/_lib/formatLong/index.js\": 1129,\n\t\"./te/_lib/formatRelative/index.js\": 1130,\n\t\"./te/_lib/localize/index.js\": 1131,\n\t\"./te/_lib/match/index.js\": 1132,\n\t\"./te/index.js\": 1278,\n\t\"./th/_lib/formatDistance/index.js\": 1133,\n\t\"./th/_lib/formatLong/index.js\": 1134,\n\t\"./th/_lib/formatRelative/index.js\": 1135,\n\t\"./th/_lib/localize/index.js\": 1136,\n\t\"./th/_lib/match/index.js\": 1137,\n\t\"./th/index.js\": 1279,\n\t\"./tr/_lib/formatDistance/index.js\": 1138,\n\t\"./tr/_lib/formatLong/index.js\": 1139,\n\t\"./tr/_lib/formatRelative/index.js\": 1140,\n\t\"./tr/_lib/localize/index.js\": 1141,\n\t\"./tr/_lib/match/index.js\": 1142,\n\t\"./tr/index.js\": 1280,\n\t\"./ug/_lib/formatDistance/index.js\": 1143,\n\t\"./ug/_lib/formatLong/index.js\": 1144,\n\t\"./ug/_lib/formatRelative/index.js\": 1145,\n\t\"./ug/_lib/localize/index.js\": 1146,\n\t\"./ug/_lib/match/index.js\": 1147,\n\t\"./ug/index.js\": 1281,\n\t\"./uk/_lib/formatDistance/index.js\": 1148,\n\t\"./uk/_lib/formatLong/index.js\": 1149,\n\t\"./uk/_lib/formatRelative/index.js\": 1150,\n\t\"./uk/_lib/localize/index.js\": 1151,\n\t\"./uk/_lib/match/index.js\": 1152,\n\t\"./uk/index.js\": 1282,\n\t\"./uz/_lib/formatDistance/index.js\": 1153,\n\t\"./uz/_lib/formatLong/index.js\": 1154,\n\t\"./uz/_lib/formatRelative/index.js\": 1155,\n\t\"./uz/_lib/localize/index.js\": 1156,\n\t\"./uz/_lib/match/index.js\": 1157,\n\t\"./uz/index.js\": 1283,\n\t\"./vi/_lib/formatDistance/index.js\": 1158,\n\t\"./vi/_lib/formatLong/index.js\": 1159,\n\t\"./vi/_lib/formatRelative/index.js\": 1160,\n\t\"./vi/_lib/localize/index.js\": 1161,\n\t\"./vi/_lib/match/index.js\": 1162,\n\t\"./vi/index.js\": 1284,\n\t\"./zh-CN/_lib/formatDistance/index.js\": 1163,\n\t\"./zh-CN/_lib/formatLong/index.js\": 1164,\n\t\"./zh-CN/_lib/formatRelative/index.js\": 1165,\n\t\"./zh-CN/_lib/localize/index.js\": 1166,\n\t\"./zh-CN/_lib/match/index.js\": 1167,\n\t\"./zh-CN/index.js\": 1285,\n\t\"./zh-TW/_lib/formatDistance/index.js\": 1168,\n\t\"./zh-TW/_lib/formatLong/index.js\": 1169,\n\t\"./zh-TW/_lib/formatRelative/index.js\": 1170,\n\t\"./zh-TW/_lib/localize/index.js\": 1171,\n\t\"./zh-TW/_lib/match/index.js\": 1172,\n\t\"./zh-TW/index.js\": 1286\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 = 1207;","var map = {\n\t\"./af.json\": [\n\t\t1439,\n\t\t6\n\t],\n\t\"./ar.json\": [\n\t\t1440,\n\t\t7\n\t],\n\t\"./az.json\": [\n\t\t1441,\n\t\t8\n\t],\n\t\"./be-BY.json\": [\n\t\t1442,\n\t\t9\n\t],\n\t\"./bg.json\": [\n\t\t1443,\n\t\t10\n\t],\n\t\"./bs.json\": [\n\t\t1444,\n\t\t11\n\t],\n\t\"./ca.json\": [\n\t\t1445,\n\t\t12\n\t],\n\t\"./cs.json\": [\n\t\t1446,\n\t\t13\n\t],\n\t\"./cy.json\": [\n\t\t1447,\n\t\t14\n\t],\n\t\"./da.json\": [\n\t\t1448,\n\t\t15\n\t],\n\t\"./de-AT.json\": [\n\t\t1449,\n\t\t16\n\t],\n\t\"./de-IN.json\": [\n\t\t1450,\n\t\t17\n\t],\n\t\"./de.json\": [\n\t\t1451,\n\t\t18\n\t],\n\t\"./el.json\": [\n\t\t1452,\n\t\t19\n\t],\n\t\"./en.json\": [\n\t\t1453,\n\t\t20\n\t],\n\t\"./eo.json\": [\n\t\t1454,\n\t\t21\n\t],\n\t\"./es.json\": [\n\t\t1455,\n\t\t22\n\t],\n\t\"./et.json\": [\n\t\t1456,\n\t\t23\n\t],\n\t\"./eu.json\": [\n\t\t1457,\n\t\t24\n\t],\n\t\"./fa.json\": [\n\t\t1458,\n\t\t25\n\t],\n\t\"./fi.json\": [\n\t\t1459,\n\t\t26\n\t],\n\t\"./fr.json\": [\n\t\t1460,\n\t\t27\n\t],\n\t\"./he.json\": [\n\t\t1461,\n\t\t28\n\t],\n\t\"./hr.json\": [\n\t\t1462,\n\t\t29\n\t],\n\t\"./hu.json\": [\n\t\t1463,\n\t\t30\n\t],\n\t\"./id.json\": [\n\t\t1464,\n\t\t31\n\t],\n\t\"./it.json\": [\n\t\t1465,\n\t\t32\n\t],\n\t\"./ja.json\": [\n\t\t1466,\n\t\t33\n\t],\n\t\"./km.json\": [\n\t\t1467,\n\t\t34\n\t],\n\t\"./ko.json\": [\n\t\t1468,\n\t\t35\n\t],\n\t\"./ku.json\": [\n\t\t1469,\n\t\t36\n\t],\n\t\"./lo.json\": [\n\t\t1470,\n\t\t37\n\t],\n\t\"./lt.json\": [\n\t\t1471,\n\t\t38\n\t],\n\t\"./lv.json\": [\n\t\t1472,\n\t\t39\n\t],\n\t\"./mn.json\": [\n\t\t1473,\n\t\t40\n\t],\n\t\"./ms-MY.json\": [\n\t\t1474,\n\t\t41\n\t],\n\t\"./nl.json\": [\n\t\t1475,\n\t\t42\n\t],\n\t\"./no.json\": [\n\t\t1476,\n\t\t43\n\t],\n\t\"./pl.json\": [\n\t\t1477,\n\t\t44\n\t],\n\t\"./pt-BR.json\": [\n\t\t1478,\n\t\t45\n\t],\n\t\"./pt.json\": [\n\t\t1479,\n\t\t46\n\t],\n\t\"./ro.json\": [\n\t\t1480,\n\t\t47\n\t],\n\t\"./ru.json\": [\n\t\t1481,\n\t\t48\n\t],\n\t\"./sk-SK.json\": [\n\t\t1482,\n\t\t49\n\t],\n\t\"./sl-SI.json\": [\n\t\t1483,\n\t\t50\n\t],\n\t\"./sq.json\": [\n\t\t1484,\n\t\t51\n\t],\n\t\"./sr.json\": [\n\t\t1485,\n\t\t52\n\t],\n\t\"./sv.json\": [\n\t\t1486,\n\t\t53\n\t],\n\t\"./ta-IN.json\": [\n\t\t1487,\n\t\t54\n\t],\n\t\"./th-TH.json\": [\n\t\t1488,\n\t\t55\n\t],\n\t\"./tr.json\": [\n\t\t1489,\n\t\t56\n\t],\n\t\"./ug.json\": [\n\t\t1490,\n\t\t57\n\t],\n\t\"./uk.json\": [\n\t\t1491,\n\t\t58\n\t],\n\t\"./vi-VN.json\": [\n\t\t1492,\n\t\t59\n\t],\n\t\"./zh-HK.json\": [\n\t\t1493,\n\t\t60\n\t],\n\t\"./zh-TW.json\": [\n\t\t1494,\n\t\t61\n\t],\n\t\"./zh.json\": [\n\t\t1495,\n\t\t62\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 1287;\nmodule.exports = webpackAsyncContext;","// 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\"};","\nvar preact = require('preact');\nvar hooks = require('preact/hooks');\nmodule.exports = {\"attributes\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"version\":\"1.0\",\"width\":\"357.333\",\"height\":\"330.667\",\"viewBox\":\"0 0 268 248\"},\"content\":\"<path d=\\\"M83.2 30.6C63.1 36 45.6 48.6 39.8 62c-5.4 12.4-4.2 22.7 4.7 40.7 15.4 31 45.7 68.1 74 90.7 24.2 19.3 54.3 36.9 67.9 39.6 22.2 4.5 43.2-12.8 52.5-43.4 3.7-12 2.6-19.5-3.8-24.9-1.7-1.4-11.9-6.9-22.8-12.2-26.7-13.2-27.7-13.2-43-3.5l-5.3 3.3-5.6-3.7c-6.6-4.4-27.7-24.6-33.2-31.9-8-10.5-7.8-9.2-2.2-18.7 7.5-12.7 7.4-13.5-5.1-39.5-5.5-11.6-11.2-22.3-12.7-23.9-5.3-5.6-11.8-6.8-22-4zm17.3 35c4.7 9.7 8.5 18 8.5 18.5s-1.5 3.2-3.3 6.1c-1.8 2.9-3.8 6.6-4.5 8.1-1.8 4.1-1.4 12.6.7 17.2 6.4 13.9 37.3 44.9 52.5 52.7 7.5 3.8 18.6 1.9 27.3-4.8 4.1-3.1 3.2-3.3 25.6 7.7l14.9 7.3-.6 3.5c-.9 5.7-8.1 19.6-12.7 24.6-9.6 10.4-15.8 10.8-33.1 2.2-28-14-59.9-39.5-80.6-64.6-25.7-31-41.6-59.3-39.5-70.4 1.7-9.2 11.8-17.9 27.1-23.3 3.7-1.3 7.3-2.4 8-2.4.6 0 5 7.9 9.7 17.6z\\\" fill=\\\"currentColor\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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 32 32\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M25.035 20.55c.702.241 1.592.08 2.107-.642.7-.984 1.406-2.52 1.528-4.05.063-.777-.021-1.605-.386-2.365-.373-.778-1.01-1.418-1.929-1.837-1.724-.787-3.932-1.258-5.856-1.536-1.936-.279-3.672-.374-4.499-.374v1.952c.725 0 2.367.087 4.22.355 1.865.269 3.855.708 5.325 1.38.523.238.813.558.979.905.175.364.244.824.2 1.363-.084 1.058-.585 2.212-1.11 2.983l-3.98-1.37a.064.064 0 01-.016-.015.199.199 0 01-.034-.094 6.181 6.181 0 00-.238-1.164c-.119-.369-.322-.839-.696-1.181-.327-.298-.785-.442-1.11-.525a9.404 9.404 0 00-1.217-.21A21.831 21.831 0 0016 13.997v1.953c.528 0 1.354.029 2.1.115.375.043.705.097.958.162.17.043.256.08.286.092l.003.001c.025.037.08.13.14.317.074.23.126.511.158.79.083.728.55 1.457 1.352 1.733l4.038 1.39zm-18.07 0c-.702.241-1.592.08-2.107-.643-.7-.983-1.406-2.519-1.528-4.05-.063-.776.021-1.604.386-2.364.373-.778 1.01-1.418 1.929-1.837 1.724-.787 3.932-1.258 5.856-1.536 1.936-.279 3.672-.374 4.499-.374v1.952c-.725 0-2.367.087-4.22.354-1.865.27-3.855.71-5.325 1.38-.523.239-.813.56-.98.905-.174.364-.243.825-.2 1.364.085 1.058.586 2.212 1.11 2.983l3.982-1.37a.06.06 0 00.015-.015.199.199 0 00.034-.094c.04-.355.112-.771.238-1.164.119-.37.321-.839.696-1.181.327-.298.785-.442 1.11-.525a9.407 9.407 0 011.216-.21c.84-.096 1.743-.128 2.324-.128v1.953c-.528 0-1.354.029-2.1.115a7.511 7.511 0 00-.958.162c-.17.043-.256.08-.286.092l-.003.001c-.025.037-.08.13-.14.317-.074.23-.126.511-.158.79-.083.728-.55 1.456-1.353 1.733l-4.037 1.39z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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 = {\"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 = {\"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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path class=\\\"text\\\" d=\\\"M461.588 132.646c0 15.237-5.687 25.243-16.607 30.016l15.699 59.582c.681 2.734-.681 4.092-3.186 4.092h-23.663c-2.274 0-3.41-1.135-3.867-3.184l-15.244-57.76h-15.699v57.31c0 2.276-1.362 3.634-3.64 3.634h-23.663c-2.274 0-3.64-1.365-3.64-3.634V48.052c0-2.273 1.366-3.638 3.64-3.638h57.107c21.385 0 32.763 11.372 32.763 32.746v55.49zm-40.043 2.727c5.914 0 9.1-3.184 9.1-9.095V83.525c0-5.911-3.186-9.092-9.1-9.092h-22.524v60.943l22.524-.004zm58.235-58.217c0-21.375 11.374-32.746 32.763-32.746h25.483c21.385 0 32.763 11.372 32.763 32.746v116.43c0 21.371-11.377 32.743-32.763 32.743h-25.483c-21.389 0-32.763-11.372-32.763-32.743V77.156zm52.555 119.84c5.914 0 9.1-2.957 9.1-9.095V82.84c0-5.911-3.186-9.095-9.1-9.095h-13.194c-5.914 0-9.1 3.184-9.1 9.095V187.9c0 6.134 3.186 9.091 9.1 9.091h13.194zm152.425-95.281c0 2.276-1.366 3.638-3.636 3.638h-22.751c-2.505 0-3.64-1.361-3.64-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.14 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.64-3.638h22.75c2.282 0 3.637 1.361 3.637 3.638v24.562c0 21.371-11.604 32.743-32.759 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.158 0 32.759 11.372 32.759 32.746v24.559zm96 124.618c-2.735 0-4.321-1.135-5.236-3.408l-28.662-67.542-8.423 16.148v50.253c0 2.958-1.589 4.55-4.548 4.55h-21.843c-2.958 0-4.551-1.592-4.551-4.55V48.954c0-2.953 1.593-4.549 4.551-4.549h21.843c2.956 0 4.548 1.592 4.548 4.55v70.495l35.037-71.634c1.14-2.273 2.736-3.41 5.237-3.41H802.6c3.413 0 4.778 2.276 3.182 5.456l-38.673 79.364 41.174 91.874c1.593 2.958.227 5.23-3.41 5.23H780.76zM915.67 70.791c0 2.273-.912 3.865-3.64 3.865h-56.88v45.48h43.456c2.281 0 3.64 1.365 3.64 3.865v22.513c0 2.503-1.366 3.869-3.64 3.869H855.15v45.934h56.88c2.735 0 3.64 1.138 3.64 3.638v22.743c0 2.273-.912 3.63-3.64 3.63h-83.725c-2.05 0-3.416-1.365-3.416-3.63V48.048c0-2.273 1.366-3.638 3.416-3.638h83.725c2.735 0 3.64 1.365 3.64 3.638V70.79zm105.56-26.381c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.391v148.27c0 2.5-1.135 3.63-3.636 3.63H967.54c-2.282 0-3.64-1.13-3.64-3.63V74.429h-26.388c-2.282 0-3.64-1.365-3.64-3.638V48.048c0-2.273 1.366-3.638 3.64-3.638h83.718zm1.38 156.493c0-2.957 1.593-4.546 4.552-4.546h20.704c2.959 0 4.548 1.589 4.548 4.546v20.917c0 2.96-1.59 4.55-4.548 4.55h-20.704c-2.96 0-4.552-1.59-4.552-4.55v-20.917zm143.75-99.188c0 2.276-1.37 3.638-3.64 3.638h-22.75c-2.502 0-3.637-1.361-3.637-3.638v-18.19c0-5.911-3.183-9.092-9.097-9.092h-11.832c-6.144 0-9.1 3.181-9.1 9.092v103.7c0 6.138 3.183 9.088 9.1 9.088h11.832c5.914 0 9.097-2.954 9.097-9.088v-18.198c0-2.276 1.135-3.638 3.636-3.638h22.751c2.281 0 3.64 1.361 3.64 3.638v24.562c0 21.371-11.604 32.743-32.763 32.743h-25.483c-21.385 0-32.99-11.372-32.99-32.743V77.149c0-21.375 11.604-32.746 32.99-32.746h25.483c21.162 0 32.763 11.372 32.763 32.746v24.559zm82.81-53.667c0-2.273 1.362-3.638 3.636-3.638h23.432c2.732 0 3.864 1.365 3.864 3.638v174.65c0 2.273-1.135 3.63-3.864 3.63h-23.432c-2.28 0-3.636-1.365-3.636-3.63v-72.315h-29.123v72.319c0 2.276-1.366 3.634-3.64 3.634h-23.429c-2.735 0-3.87-1.365-3.87-3.634V48.052c0-2.273 1.135-3.638 3.87-3.638h23.43c2.28 0 3.639 1.365 3.639 3.638v72.315h29.123V48.052zm134.66 178.285c-2.047 0-3.182-1.135-3.64-3.184l-6.368-33.197h-40.5l-6.137 33.197c-.458 2.05-1.593 3.184-3.64 3.184h-24.341c-2.501 0-3.64-1.365-2.963-3.865l37.77-174.88c.457-2.273 1.82-3.184 3.866-3.184h31.628c2.047 0 3.413.911 3.867 3.184l37.77 174.88c.457 2.5-.455 3.865-3.183 3.865h-24.128zm-30.262-142.13l-14.56 79.364h29.123l-14.563-79.364zM1496.23 44.41c2.501 0 3.64 1.365 3.64 3.638V70.79c0 2.273-1.139 3.638-3.64 3.638h-26.388v148.27c0 2.5-1.139 3.63-3.64 3.63h-23.663c-2.274 0-3.636-1.13-3.636-3.63V74.429h-26.388c-2.278 0-3.637-1.365-3.637-3.638V48.048c0-2.273 1.366-3.638 3.637-3.638h83.715z\\\"/><path class=\\\"rocket\\\" d=\\\"M270.5 105.32l.004.006-.002-.003-.002-.003zM92.94 11.47c9.508 5.28 18.496 11.962 26.171 19.388 12.373-2.24 25.13-3.37 38.072-3.37 38.744 0 75.477 10.163 103.42 28.612 14.473 9.559 25.977 20.9 34.189 33.712 9.145 14.276 13.78 29.63 13.78 46.08 0 16.007-4.636 31.365-13.78 45.64-8.211 12.817-19.715 24.156-34.189 33.715-27.948 18.45-64.678 28.607-103.42 28.607-12.942 0-25.697-1.13-38.072-3.368a126.331 126.331 0 01-26.171 19.388c-50.802 25.443-92.931.599-92.931.599s39.169-33.254 32.799-62.405C15.283 180.106 5.787 158.44 5.787 135.456c0-22.552 9.499-44.217 27.021-62.182C39.177 44.13.022 10.883.009 10.872c.013-.008 42.136-24.844 92.931.598z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/><path d=\\\"M62.545 186.04c-17.412-13.722-27.863-31.281-27.863-50.419 0-43.916 55.032-79.517 122.92-79.517 67.885 0 122.92 35.601 122.92 79.517s-55.032 79.517-122.92 79.517c-16.731 0-32.681-2.163-47.219-6.079L99.754 219.31c-5.775 5.57-12.544 10.61-19.6 14.582-9.352 4.593-18.588 7.099-27.725 7.863.515-.937.99-1.886 1.5-2.825 10.65-19.618 13.523-37.248 8.618-52.89z\\\" fill=\\\"#fff\\\"/><path class=\\\"rocket\\\" d=\\\"M98.656 154.54c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361 18.071 8.22 18.071 18.361-8.09 18.361-18.071 18.361zm58.179 0c-9.98 0-18.071-8.22-18.071-18.361s8.09-18.361 18.071-18.361c9.98 0 18.071 8.22 18.071 18.361s-8.09 18.361-18.071 18.361z\\\" fill=\\\"#DB2323\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"><path d=\\\"M13.571 9.536l-3.535 3.535L6.5 9.536m3.515 2.469v-6.83\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"8\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M10 16v-1.5h12V16H10zm0 3v-1.5h12V19H10zm0 3v-1.5h7.5V22H10zm0-9v-1.5h12V13H10z\\\" fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#1D74F5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M15.417 20.622c-.82.82-2.197.772-3.076-.106-.879-.88-.926-2.256-.106-3.076l4.867-4.868c.592-.592 1.587-.558 2.222.077.634.635.669 1.63.076 2.222l-4.867 4.867c-.364.364-.977.343-1.367-.047-.39-.391-.412-1.003-.047-1.368l3.547-3.547c.137-.137.366-.129.513.018.146.146.154.376.017.512l-3.547 3.548c-.091.09-.086.244.012.342.097.097.25.102.342.011l4.867-4.867c.319-.319.3-.854-.041-1.196-.342-.342-.878-.36-1.197-.041l-4.867 4.867c-.546.547-.515 1.465.071 2.05.586.586 1.504.618 2.05.071l4.703-4.702c.137-.137.366-.129.512.018.147.146.155.376.018.512l-4.702 4.703z\\\" fill=\\\"#FFF\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><path d=\\\"M13.96 18.917c.352-.694 1.016-2.466 1.335-3.634.447.908.99 1.797 1.883 2.615-1.213.227-2.036.545-3.217 1.019zm1.456-7.775c.926.539.351 1.817.032 2.992-.21-.76-.504-2.447-.032-2.992zm-.089-.318c-.3.039-.62.22-.747.506-.358.818.39 3.226.504 3.628-.727 2.233-3.217 6.646-4.437 6.944-.025-.292.128-1.136 1.737-2.187a2.37 2.37 0 00.223-.272c-1.36.675-3.121 1.758-2.062 2.57a.99.99 0 00.25.123c.81.305 1.946-.695 3.09-2.96 1.257-.421 2.272-.74 3.708-.96 1.57 1.084 2.624 1.305 3.34 1.026.197-.078.51-.331.6-.663-.582.727-1.941.221-3.027-.473 1.002-.11 2.037-.176 2.484-.033.568.182.549.468.542.506.045-.155.109-.408-.013-.61-.478-.791-2.675-.33-3.473-.246-1.257-.772-2.125-2.148-2.477-3.141.326-1.279.677-2.207.422-3.128-.121-.442-.415-.662-.664-.63z\\\" fill=\\\"#FFF\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F5455C\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\"><path d=\\\"M15.55 16.748h4.5c0 2.468-2.031 4.5-4.5 4.5s-4.5-2.032-4.5-4.5c0-2.469 2.031-4.5 4.5-4.5v4.5z\\\"/><path d=\\\"M16.3 16v-4.5a4.502 4.502 0 014.5 4.5h-4.5z\\\"/></g></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#2DE0A5\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/><g fill=\\\"#FFF\\\" fill-rule=\\\"nonzero\\\"><path d=\\\"M10.75 16v-1.5h10.5V16zm0 3v-1.5h10.5V19z\\\"/><path d=\\\"M13.75 11.5h1.5V22h-1.5z\\\"/><path d=\\\"M11.5 13v7.5h9V13h-9zm0-1.5h9A1.5 1.5 0 0122 13v7.5a1.5 1.5 0 01-1.5 1.5h-9a1.5 1.5 0 01-1.5-1.5V13a1.5 1.5 0 011.5-1.5z\\\"/></g></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><path d=\\\"M20.5 4L25 8.52V26a2 2 0 01-2 2H9a2 2 0 01-2-2V6a2 2 0 012-2h11.5z\\\" fill=\\\"#F6C502\\\"/><path fill=\\\"#FFF\\\" d=\\\"M13.75 10.75h1.875V8.875H13.75zm1.875 1.875H17.5V10.75h-1.875zM13.75 14.5h1.875v-1.875H13.75zm1.875 1.875H17.5V14.5h-1.875zM13.75 18.25h1.875v-1.875H13.75zm0 3.75h3.75v-3.75h-3.75z\\\"/><path fill=\\\"#F6C502\\\" d=\\\"M14.688 21.063h1.874v-1.875h-1.875z\\\"/><path d=\\\"M20.5 4.002v3.501a1 1 0 001 1H25l-4.5-4.5z\\\" fill=\\\"#FFF\\\" opacity=\\\".5\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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 = {\"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\":\"<path d=\\\"M18 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0zm0 8a2 2 0 11-4 0 2 2 0 014 0z\\\" fill=\\\"currentColor\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\"};","\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\":\"<path d=\\\"M8 6.333c0-.552.597-1 1.333-1h8c.737 0 1.334.448 1.334 1 0 .553-.597 1-1.334 1h-8c-.736 0-1.333-.447-1.333-1zM5 12v12c0 .184.15.333.333.333h16c.184 0 .334-.15.334-.333v-2.667a1 1 0 011.49-.87l3.058 1.723a1 1 0 01.216.164c.21.21.569.061.569-.236v-8.229a.333.333 0 00-.569-.235 1 1 0 01-.216.164l-3.057 1.724a1 1 0 01-1.491-.872V12a.333.333 0 00-.334-.334h-16A.333.333 0 005 12zm.333-2.334h16A2.333 2.333 0 0123.667 12v.955l1.461-.825C26.61 10.818 29 11.858 29 13.885v8.23c0 2.026-2.39 3.067-3.872 1.754l-1.461-.824V24a2.333 2.333 0 01-2.334 2.333h-16A2.333 2.333 0 013 24V12a2.333 2.333 0 012.333-2.334z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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 = {\"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\":{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\"},\"content\":\"<g fill=\\\"currentColor\\\"><path d=\\\"M21.628 11.093c0-3.261-4.004-5.905-8.943-5.905S3.742 7.83 3.743 11.093c0 1.421.76 2.725 2.027 3.744.218 2.124-.8 3.414-1.488 4.178 2.113.552 4.288-1.158 5.277-2.388.973.24 2.026.372 3.126.372 4.939 0 8.943-2.645 8.943-5.906zM3.803 20.99l-3.226-.844 2.272-2.523c.579-.642.895-1.179.972-1.849-1.295-1.31-2.04-2.926-2.04-4.68 0-4.63 5.017-7.944 10.904-7.944S23.59 6.464 23.59 11.093c0 4.63-5.017 7.943-10.904 7.943-.83 0-1.65-.066-2.445-.196-1.76 1.712-4.137 2.751-6.437 2.15z\\\"/><g transform=\\\"translate(7.611 9.674)\\\"><ellipse cx=\\\"5.191\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"9.084\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/><ellipse cx=\\\"1.298\\\" cy=\\\"1.354\\\" rx=\\\"1.298\\\" ry=\\\"1.354\\\"/></g></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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 18 18\",\"xmlns\":\"http://www.w3.org/2000/svg\"},\"content\":\"<path d=\\\"M1.929 12L9 4.929 16.071 12\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill=\\\"none\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M4.619 10.532V6.374c0-2.296 1.962-4.158 4.381-4.158 2.419 0 4.381 1.862 4.381 4.158v4.158l1.643 3.118H2.976l1.643-3.118zm3.047 4.426h2.668c-.195.514-.716.884-1.334.884s-1.139-.37-1.334-.884zm7.048-8.625C14.714 3.388 12.155 1 9 1 5.845 1 3.286 3.388 3.286 6.333V10.6L1 14.867h5.201C6.465 16.084 7.618 17 9 17s2.535-.916 2.799-2.133H17L14.714 10.6V6.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M4.69 9.806l-1.669 1.439.343-.645V6.334C3.364 3.389 5.908 1 9.045 1a5.85 5.85 0 014.03 1.576l-.973.839a4.454 4.454 0 00-3.057-1.198c-2.405 0-4.355 1.861-4.355 4.157v3.432zM14.728 6.42v4.18L17 14.866h-5.17C11.567 16.084 10.421 17 9.046 17c-1.374 0-2.52-.916-2.783-2.134H4.932l1.41-1.216h8.693l-1.633-3.118V7.563l1.326-1.143zM1.927 16.097L1 14.958 15.98 1.43l.927 1.139-14.98 13.528zm7.119-.255c.615 0 1.132-.37 1.327-.885H7.719c.195.515.712.885 1.327.885z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M15.286 1H2.715c-.947 0-1.714.767-1.714 1.714v12.571A1.714 1.714 0 002.715 17h12.571c.947 0 1.714-.768 1.714-1.715V2.715C17 1.767 16.233 1 15.286 1zm.571 14.286a.572.572 0 01-.571.571H2.715a.572.572 0 01-.571-.571V2.715c0-.315.256-.571.571-.571h12.571c.315 0 .571.256.571.571v12.571zM4.554 13.244a.429.429 0 010-.606l6.97-6.97-.025-.025-3.213.012a.429.429 0 01-.429-.428V4.87c0-.237.192-.429.429-.429l4.857-.012c.237 0 .429.192.429.428l-.013 4.858a.429.429 0 01-.428.428h-.357a.429.429 0 01-.429-.428l.012-3.213-.025-.026-6.97 6.97a.429.429 0 01-.606 0l-.202-.202z\\\" stroke-width=\\\".3\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M15.643 12.166l4.757 4.741-4.76 4.692-1.168-1.158 2.758-2.72H6.637c-1.349 0-2.447-1.078-2.447-2.403v-1.676h1.655v1.676a.78.78 0 00.792.768h10.609l-2.777-2.768 1.174-1.152zm-6.114-1.485l-1.173 1.152L3.6 7.092 8.36 2.4l1.167 1.157-2.759 2.721h10.594c1.348 0 2.446 1.078 2.446 2.403v1.69h-1.654v-1.69a.78.78 0 00-.792-.768H6.754l2.775 2.768z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M2.4 2.4h14.4v1.986H4.41v15.228H16.8V21.6H2.4V2.4zm12.955 6.15L16.72 7.2l4.856 4.8-4.856 4.8-1.365-1.35 2.52-2.49H8.376v-1.92h9.5l-2.52-2.49z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M10 5v10m5-5H5\\\" fill=\\\"none\\\" stroke=\\\"currentColor\\\" stroke-linecap=\\\"square\\\" stroke-width=\\\"1.5\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M5.391 7.34l.778 9.394h7.662l.778-9.395H5.39zm5.628-3.58A1.111 1.111 0 0010 3.09c-.456 0-.847.276-1.019.67h2.038zm-3.423 0A2.45 2.45 0 0110 1.748a2.45 2.45 0 012.404 2.014h4.263c.368 0 .666.3.666.67a.669.669 0 01-.666.672H3.333a.669.669 0 01-.666-.671c0-.371.298-.671.666-.671h4.263zm8.462 2.237l-1 12.08H4.942l-1-12.08h12.116zm-8.502 3.58v5.815h1.333V9.576H7.556zm3.555 0v5.815h1.333V9.576h-1.333z\\\" fill=\\\"currentColor\\\" fill-rule=\\\"evenodd\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<path d=\\\"M10.342 13.283l9.56-10.359-13.049 8.264L1 8.778 21.506 1l-7.778 20.506-3.386-8.223z\\\" fill=\\\"currentColor\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\" fill-rule=\\\"evenodd\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"<g fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"><circle cx=\\\"12\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"8\\\" cy=\\\"8\\\" r=\\\"1\\\" fill=\\\"currentColor\\\"/><circle cx=\\\"10\\\" cy=\\\"10\\\" r=\\\"7\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/><path d=\\\"M7.172 12.328a4 4 0 005.656 0\\\" stroke=\\\"currentColor\\\" stroke-width=\\\"1.5\\\"/></g>\"}\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 = '<svg>' + content + '</svg>';\n\n\t\tvar source = div.firstChild;\n\t\tvar dest = ref.current;\n\n\t\twhile (source.firstChild) {\n\t\t\tdest && dest.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\":\"leave-message__2DhUH\",\"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\"};","\nimport * as crypto from 'crypto-js';\n\nconst 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\nexport const createToken = () => crypto.lib.WordArray.random(32).toString(crypto.enc.Hex);\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;\n\n\nwindow.RocketChat = window.RocketChat || { _: [] };\nconst config = {};\nlet widget;\nlet iframe;\nlet hookQueue = [];\nlet ready = false;\nlet smallScreen = false;\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\tdocument.body.classList.add('rc-livechat-mobile-full-screen');\n\t} else {\n\t\tdocument.body.classList.remove('rc-livechat-mobile-full-screen');\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.classList.remove('rc-livechat-mobile-full-screen');\n\t},\n\n\tsetFullScreenDocumentMobile() {\n\t\tsmallScreen && document.body.classList.add('rc-livechat-mobile-full-screen');\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 setBusinessUnit(businessUnit) {\n\tcallHook('setBusinessUnit', businessUnit);\n}\n\nfunction clearBusinessUnit() {\n\tcallHook('clearBusinessUnit');\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 'businessUnit': {\n\t\t\t\tsetBusinessUnit(params[method]);\n\t\t\t\tcontinue;\n\t\t\t}\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.RocketChat.url !== 'undefined') {\n\tinit(window.RocketChat.url);\n}\n\nconst queue = window.RocketChat._;\n\nwindow.RocketChat._.push = function(c) {\n\tc.call(window.RocketChat.livechat);\n};\nwindow.RocketChat = window.RocketChat._.push;\n\n// exports\nwindow.RocketChat.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\tsetBusinessUnit,\n\tclearBusinessUnit,\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.RocketChat.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';\nimport { createToken } from '../lib/random';\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 = createToken();\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\tunsetSinglePropInStateByName(propName) {\n\t\tconst prevState = this._state;\n\t\tdelete prevState[propName];\n\t\tthis._state = { ...prevState };\n\t\tthis.persist();\n\t\tthis.emit('change', [this._state, prevState]);\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 { createToken } from '../lib/random';\nimport Store from './Store';\n\nexport const 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\tincomingCallAlert: null,\n\tongoingCall: null,\t// TODO: store call info like url, startTime, timeout, etc here\n\tbusinessUnit: null,\n});\n\nconst dontPersist = ['messages', 'typing', 'loading', 'alerts', 'unread', 'noMoreMessages', 'modal', 'incomingCallAlert', 'ongoingCall'];\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<StoreContext.Provider value={this.state}>\n\t\t\t{children}\n\t\t</StoreContext.Provider>\n\t)\n}\n\nexport const { Consumer } = StoreContext;\n\nexport default store;\n","import store from '../store';\n\n/**\n * To normalize Language String and return language code\n * @param {String} languageString\n */\nexport const 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\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 i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nimport { browserLanguage, configLanguage, normalizeLanguageString } from './lib/locale';\n\nexport const loadResource = async (lng) => {\n\tconst { default: { translation } } = await import(`./i18n/${lng}.json`);\n\n\treturn translation;\n};\n\nexport default i18next\n\t\t.use({\n\t\t\ttype: 'backend',\n\t\t\tread: (language, namespace, callback) => {\n\t\t\t\tloadResource(language).then((resource) => {\n\t\t\t\t\tcallback(null, resource);\n\t\t\t\t}).catch((reason) => {\n\t\t\t\t\tcallback(reason, null);\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\t\t.use(initReactI18next)\n\t\t.init({\n\t\t\tlng: normalizeLanguageString(configLanguage() || browserLanguage()),\n\t\t\tfallbackLng: 'en',\n\t\t\treact: {\n\t\t\t\tuseSuspense: false,\n\t\t\t}\n\t\t});\n","import { createMemoryHistory } from 'history';\n\nexport const history = createMemoryHistory();\n\nexport default history;\n","import LivechatClient from '@rocket.chat/sdk/lib/clients/Livechat';\nimport queryString from 'query-string';\n\nconst host = window.SERVER_URL\n\t|| queryString.parse(window.location.search).serverUrl\n\t|| (process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : null);\nexport const useSsl = host && host.match(/^https:/) !== null;\n\nexport const Livechat = new LivechatClient({ host, protocol: 'ddp', useSsl });\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\twebRTCCallStartedMessageType: 'livechat_webrtc_video_call',\n\tjitsiCallStartedMessageType: 'jitsi_call_started',\n};\n","import parseISO from 'date-fns/parseISO';\nimport mem from 'mem';\nimport { Component } from 'preact';\n\nimport { Livechat, useSsl } from '../api';\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\n// This will allow widgets that are on different domains to send cookies to the server\n// The default config for same-site (lax) dissalows to send a cookie to a \"3rd party\" unless the user performs an action\n// like a click. Secure flag is required when SameSite is set to None\nconst getSecureCookieSettings = () => (useSsl ? 'SameSite=None; Secure;' : '');\n\nexport const setInitCookies = () => {\n\tdocument.cookie = `rc_is_widget=t; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\n\nexport const setCookies = (rid, token) => {\n\tdocument.cookie = `rc_rid=${ rid }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_token=${ token }; path=/; ${ getSecureCookieSettings() }`;\n\tdocument.cookie = `rc_room_type=l; path=/; ${ getSecureCookieSettings() }`;\n};\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\n\nexport const normalizeTransferHistoryMessage = (transferData, sender, t) => {\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\tif (!sender.username) {\n\t\t\t\treturn t('the_chat_was_transferred_to_another_agent');\n\t\t\t}\n\t\t\tconst to = transferredTo && (transferredTo.name || transferredTo.username);\n\t\t\treturn t('from_transferred_the_chat_to_to', { from, to });\n\t\t},\n\t\tdepartment: () => {\n\t\t\tconst to = nextDepartment && nextDepartment.name;\n\n\t\t\tif (!sender.username) {\n\t\t\t\treturn t('the_agent_transferred_the_chat_to_the_department_to', { to });\n\t\t\t}\n\n\t\t\treturn t('from_transferred_the_chat_to_the_department_to', { from, to });\n\t\t},\n\t\tqueue: () => {\n\t\t\tif (!sender.username) {\n\t\t\t\treturn t('the_chat_was_moved_back_to_queue');\n\t\t\t}\n\t\t\treturn t('from_returned_the_chat_to_the_queue', { from });\n\t\t},\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\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\nexport const isMobileDevice = () => window.innerWidth <= 800 && window.innerHeight >= 630;\n\nexport const resolveDate = (dateInput) => {\n\tswitch (typeof dateInput) {\n\t\tcase Date: {\n\t\t\treturn dateInput;\n\t\t}\n\t\tcase 'object': {\n\t\t\treturn new Date(dateInput.$date);\n\t\t}\n\t\tcase 'string': {\n\t\t\treturn parseISO(dateInput);\n\t\t}\n\t\tdefault: {\n\t\t\treturn new Date(dateInput);\n\t\t}\n\t}\n};\n\nconst escapeMap = {\n\t'&': '&amp;',\n\t'<': '&lt;',\n\t'>': '&gt;',\n\t'\"': '&quot;',\n\t'\\'': '&#x27;',\n\t'`': '&#x60;',\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\nexport const parse = (plainText) =>\n\t[{ plain: plainText }]\n\t\t.map(({ plain, html }) => (plain ? escapeHtml(plain) : html || ''))\n\t\t.join('');\n","import i18next from 'i18next';\n\nimport { Livechat } from '../api';\nimport { canRenderMessage } from '../components/helpers';\nimport store from '../store';\nimport constants from './constants';\n\nexport const updateBusinessUnit = async (newBusinessUnit) => {\n\tconst {\n\t\ttoken,\n\t\tconfig: existingConfig,\n\t} = store.state;\n\tif (!token) {\n\t\tthrow new Error('Error! no livechat token found. please make sure you initialize widget first before setting business unit');\n\t}\n\n\tconst { departments } = await Livechat.config({\n\t\ttoken,\n\t\t...newBusinessUnit && { businessUnit: newBusinessUnit },\n\t});\n\n\tif (newBusinessUnit) {\n\t\treturn store.setState({\n\t\t\tconfig: {\n\t\t\t\t...existingConfig,\n\t\t\t\tdepartments,\n\t\t\t},\n\t\t\tbusinessUnit: newBusinessUnit,\n\t\t});\n\t}\n\n\tawait store.setState({\n\t\tconfig: {\n\t\t\t...existingConfig,\n\t\t\tdepartments,\n\t\t},\n\t});\n\tawait store.unsetSinglePropInStateByName('businessUnit');\n};\n\nexport const loadConfig = async () => {\n\tconst {\n\t\ttoken,\n\t\tbusinessUnit = null,\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({\n\t\ttoken,\n\t\t...businessUnit && { businessUnit },\n\t});\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\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 = i18next.t('count_new_messages_since_since', {\n\t\t\t\tcount: unreadMessages.length,\n\t\t\t\tval: new Date(lastReadMessage.ts),\n\t\t\t\tformatParams: {\n\t\t\t\t\tval: { month: 'short', day: 'numeric', hour: 'numeric', minute: 'numeric' },\n\t\t\t\t},\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","export const CallStatus = {\n\tRINGING: 'ringing',\n\tDECLINED: 'declined',\n\tIN_PROGRESS: 'inProgress', // although on Livechat we only use \"IN_PROGRESS_SAME_TAB\" and \"IN_PROGRESS_DIFFERENT_TAB\", we still need this status since on Rocket.Chat core, this is the status of ongoing calls\n\tIN_PROGRESS_SAME_TAB: 'inProgressSameTab',\n\tIN_PROGRESS_DIFFERENT_TAB: 'inProgressDifferentTab',\n\tENDED: 'ended',\n};\n\nexport const isCallOngoing = (callStatus) => callStatus === CallStatus.IN_PROGRESS\n\t|| callStatus === CallStatus.IN_PROGRESS_DIFFERENT_TAB\n\t|| callStatus === CallStatus.IN_PROGRESS_SAME_TAB;\n","import { formatDistance } from 'date-fns';\nimport i18next from 'i18next';\n\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? i18next.t('your_spot_is_spot_estimated_wait_time_estimatedwai', { spot, estimatedWaitTime })\n\t\t\t: i18next.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 } from '../components/helpers';\nimport { store } from '../store';\nimport { createToken } from './random';\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<button\n\t\ttype={submit ? 'submit' : 'button'}\n\t\tdisabled={disabled}\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t\taria-label={icon ? children[0] : null}\n\t\tclassName={createClassName(styles, 'button', {\n\t\t\tdisabled,\n\t\t\toutline,\n\t\t\tnude,\n\t\t\tdanger,\n\t\t\tsecondary,\n\t\t\tstack,\n\t\t\tsmall,\n\t\t\tloading,\n\t\t\ticon: !!icon,\n\t\t\timg,\n\t\t}, [className])}\n\t\tstyle={Object.assign({}, style, img && {\n\t\t\tbackgroundImage: `url(${ img })`,\n\t\t})}\n\t>\n\t\t{badge ? (<span className={createClassName(styles, 'button__badge')}>{badge}</span>) : null}\n\t\t{!img && (icon || children)}\n\t</button>\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<div className={createClassName(styles, 'button-group')}>\n\t\t{toChildArray(children).map((child) => cloneElement(child, { className: createClassName(styles, 'button-group__item') }))}\n\t</div>\n));\n","import { h, Component } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\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<div\n\t\t\t\tonTouchStart={this.handleTouchStart}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\tclassName={createClassName(styles, 'modal__overlay')}\n\t\t\t>\n\t\t\t\t<div className={createClassName(styles, 'modal', { animated })} {...props}>{children}</div>\n\t\t\t</div>\n\t\t) : null\n\t)\n}\n\n\nexport const ModalMessage = ({ children }) => (\n\t<div className={createClassName(styles, 'modal__message')}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const ConfirmationModal = withTranslation()(({\n\ttext,\n\tconfirmButtonText,\n\tcancelButtonText,\n\tonConfirm,\n\tonCancel,\n\tt,\n\t...props\n}) => <Modal open animated dismissByOverlay={false} {...props}>\n\t<Modal.Message>{text}</Modal.Message>\n\t<ButtonGroup>\n\t\t<Button outline secondary onClick={onCancel}>{cancelButtonText || t('no')}</Button>\n\t\t<Button danger onClick={onConfirm}>{confirmButtonText || t('yes')}</Button>\n\t</ButtonGroup>\n</Modal>);\n\nexport const AlertModal = withTranslation()(({ text, buttonText, onConfirm, t, ...props }) => (\n\t<Modal open animated dismissByOverlay={false} {...props}>\n\t\t<Modal.Message>{text}</Modal.Message>\n\t\t<ButtonGroup>\n\t\t\t<Button secondary onClick={onConfirm}>{buttonText || t('ok')}</Button>\n\t\t</ButtonGroup>\n\t</Modal>\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: <Modal.Confirm {...props} onConfirm={handleButton(true)} onCancel={handleButton(false)} />,\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: <Modal.Alert {...props} onConfirm={handleButton()} />,\n\t\t\t});\n\t\t});\n\t},\n};\n","import i18next from 'i18next';\n\nimport { Livechat } from '../api';\nimport { ModalManager } from '../components/Modal';\nimport store from '../store';\n\n\nconst promptTranscript = async () => {\n\tconsole.log(store.state);\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\tconst message = transcriptMessage || i18next.t('would_you_like_a_copy_of_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\n\tif (result && result.success) {\n\t\ttranscriptSentAlert(i18next.t('transcript_success'));\n\t}\n};\n","import i18next from 'i18next';\nimport { route } from 'preact-router';\n\nimport { Livechat } from '../api';\nimport { CallStatus, isCallOngoing } from '../components/Calls/CallStatus';\nimport { setCookies, upsert, canRenderMessage, parse } from '../components/helpers';\nimport { store, initialState } from '../store';\nimport { normalizeAgent } from './api';\nimport Commands from './commands';\nimport constants from './constants';\nimport { loadConfig, processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\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\tconst { config: { settings: { clearLocalStorageWhenChatEnded } = {} } = {} } = store.state;\n\n\tif (clearLocalStorageWhenChatEnded) {\n\t\t// exclude UI-affecting flags\n\t\tconst { minimized, visible, undocked, expanded, businessUnit, ...initial } = initialState();\n\t\tawait store.setState(initial);\n\t}\n\n\tawait loadConfig();\n\tparentCall('callback', 'chat-ended');\n\troute('/chat-finished');\n};\n\n// TODO: use a separate event to listen to call start event. Listening on the message type isn't a good solution\nexport const processIncomingCallMessage = async (message) => {\n\tconst { alerts } = store.state;\n\ttry {\n\t\tawait store.setState({\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: true,\n\t\t\t\tcallProvider: message.t,\n\t\t\t\tcallerUsername: message.u.username,\n\t\t\t\trid: message.rid,\n\t\t\t\ttime: message.ts,\n\t\t\t\tcallId: message._id,\n\t\t\t\turl: message.t === constants.jitsiCallStartedMessageType ? message.customFields.jitsiCallUrl : '',\n\t\t\t},\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.RINGING,\n\t\t\t\ttime: message.ts,\n\t\t\t},\n\t\t});\n\t} catch (err) {\n\t\tconsole.error(err);\n\t\tconst alert = { id: createToken(), children: i18next.t('error_getting_call_alert'), error: true, timeout: 5000 };\n\t\tawait store.setState({ alerts: (alerts.push(alert), alerts) });\n\t}\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} else if (message.webRtcCallEndTs) {\n\t\tawait store.setState({ ongoingCall: { callStatus: CallStatus.ENDED, time: message.ts }, incomingCallAlert: null });\n\t} else if (message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType) {\n\t\tawait processIncomingCallMessage(message);\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 && user && 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\tmessage.msg = parse(message.msg);\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);\nexport const getLatestCallMessage = (messages) => messages && messages.filter((msg) => msg.t === constants.webRTCCallStartedMessageType || msg.t === constants.jitsiCallStartedMessageType).pop();\n\nexport const loadMessages = async () => {\n\tconst { ongoingCall } = store.state;\n\n\tconst { messages: storedMessages, room: { _id: rid, callStatus } = {} } = store.state;\n\tconst previousMessages = getGreetingMessages(storedMessages);\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\tif (ongoingCall && isCallOngoing(ongoingCall.callStatus)) {\n\t\treturn;\n\t}\n\n\tconst latestCallMessage = getLatestCallMessage(messages);\n\tif (!latestCallMessage) {\n\t\treturn;\n\t}\n\tif (latestCallMessage.t === constants.jitsiCallStartedMessageType) {\n\t\tawait store.setState({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider:\n\t\t\t\tlatestCallMessage.t,\n\t\t\t\turl: latestCallMessage.customFields.jitsiCallUrl,\n\t\t\t},\n\t\t});\n\t\treturn;\n\t}\n\tswitch (callStatus) {\n\t\tcase CallStatus.IN_PROGRESS: {\n\t\t\tawait store.setState({\n\t\t\t\tongoingCall: {\n\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\ttime: latestCallMessage.ts,\n\t\t\t\t},\n\t\t\t\tincomingCallAlert: {\n\t\t\t\t\tshow: false,\n\t\t\t\t\tcallProvider: latestCallMessage.t,\n\t\t\t\t},\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase CallStatus.RINGING: {\n\t\t\tprocessIncomingCallMessage(latestCallMessage);\n\t\t}\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 i18next from 'i18next';\n\nimport { Livechat } from '../api';\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: i18next.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: i18next.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, asyncForEach } from '../components/helpers';\nimport store from '../store';\nimport { normalizeAgent } from './api';\nimport { processUnread } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\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\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\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\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\tconst hrefRegExp = new RegExp(condition.value, 'g');\n\t\t\t\t\t\tif (hrefRegExp.test(window.location.href)) {\n\t\t\t\t\t\t\tthis.fire(trigger);\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\tcase 'chat-opened-by-visitor':\n\t\t\t\t\t\tconst openFunc = () => {\n\t\t\t\t\t\t\tconst { user } = store.state;\n\t\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\t\tif (trigger.runOnce) { store.off('change', openFunc); }\n\t\t\t\t\t\t\t\tthis.fire(trigger);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tstore.on('change', openFunc);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tthis._requests = [];\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 i18next from 'i18next';\n\nimport { Livechat } from '../api';\nimport { store } from '../store';\nimport CustomFields from './customFields';\nimport { loadConfig, updateBusinessUnit } from './main';\nimport { parentCall } from './parentCall';\nimport { createToken } from './random';\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\tasync setBusinessUnit(newBusinessUnit) {\n\t\tif (!newBusinessUnit || !newBusinessUnit.trim().length) {\n\t\t\tthrow new Error('Error! Invalid business ids');\n\t\t}\n\n\t\tconst { businessUnit: existingBusinessUnit } = store.state;\n\n\t\treturn existingBusinessUnit !== newBusinessUnit && updateBusinessUnit(newBusinessUnit);\n\t},\n\n\tasync clearBusinessUnit() {\n\t\tconst { businessUnit } = store.state;\n\t\treturn businessUnit && updateBusinessUnit();\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\ti18next.changeLanguage(language);\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 { Livechat } from '../../api';\nimport store from '../../store';\nimport { createClassName } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const CallIframe = () => {\n\tconst { token, room, incomingCallAlert, ongoingCall } = store.state;\n\tconst url = `${ Livechat.client.host }/meet/${ room._id }?token=${ token }&layout=embedded`;\n\twindow.handleIframeClose = () => store.setState({ incomingCallAlert: { ...incomingCallAlert, show: false } });\n\twindow.expandCall = () => {\n\t\twindow.open(\n\t\t\t`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`,\n\t\t\troom._id,\n\t\t);\n\t\treturn store.setState({\n\t\t\tincomingCallAlert: { ...incomingCallAlert, show: false },\n\t\t\tongoingCall: {\n\t\t\t\t...ongoingCall,\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t},\n\t\t});\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'call-iframe')}>\n\t\t\t<iframe className={createClassName(styles, 'call-iframe__content')} allow='camera;microphone' src={url} />\n\t\t</div>\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<div\n\t\t\taria-label='User picture'\n\t\t\tclassName={createClassName(styles, 'avatar', { small, large, nobg: src && !errored }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{(src && !errored) && (\n\t\t\t\t<img\n\t\t\t\t\tsrc={src}\n\t\t\t\t\talt={description}\n\t\t\t\t\tclassName={createClassName(styles, 'avatar__image')}\n\t\t\t\t\tonError={this.handleError}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{status && (\n\t\t\t\t<span className={createClassName(styles, 'avatar__status', { small, large, status })} />\n\t\t\t)}\n\t\t</div>\n\t)\n}\n","import { h } from 'preact';\nimport { useState } from 'preact/compat';\nimport { withTranslation } from 'react-i18next';\n\nimport { Livechat } from '../../api';\nimport PhoneAccept from '../../icons/phone.svg';\nimport PhoneDecline from '../../icons/phoneOff.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Avatar } from '../Avatar';\nimport { Button } from '../Button';\nimport { createClassName, getAvatarUrl, isMobileDevice } from '../helpers';\nimport { CallStatus } from './CallStatus';\nimport styles from './styles.scss';\n\n\nconst CallNotification = ({\n\tcallProvider,\n\tcallerUsername,\n\turl,\n\tdispatch,\n\ttime,\n\trid,\n\tcallId,\n\tt,\n}) => {\n\tconst [show, setShow] = useState(true);\n\n\tconst callInNewTab = async () => {\n\t\tconst { token } = store.state;\n\t\tconst url = `${ Livechat.client.host }/meet/${ rid }?token=${ token }`;\n\t\tawait dispatch({\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t\tincomingCallAlert: {\n\t\t\t\tshow: false,\n\t\t\t\tcallProvider,\n\t\t\t},\n\t\t});\n\t\twindow.open(url, rid);\n\t};\n\n\tconst acceptClick = async () => {\n\t\tsetShow(!{ show });\n\t\tswitch (callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(url, rid);\n\t\t\t\tawait dispatch({\n\t\t\t\t\tincomingCallAlert: { show: false, url, callProvider },\n\t\t\t\t\tongoingCall: {\n\t\t\t\t\t\tcallStatus: CallStatus.IN_PROGRESS_DIFFERENT_TAB,\n\t\t\t\t\t\ttime: { time },\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\tawait Livechat.updateCallStatus(CallStatus.IN_PROGRESS, rid, callId);\n\t\t\t\tif (isMobileDevice()) {\n\t\t\t\t\tcallInNewTab();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tawait dispatch({ ongoingCall: { callStatus: CallStatus.IN_PROGRESS_SAME_TAB, time: { time } } });\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst declineClick = async () => {\n\t\tawait Livechat.updateCallStatus(CallStatus.DECLINED, rid, callId);\n\t\tawait Livechat.notifyCallDeclined(rid);\n\t\tawait dispatch({\n\t\t\tincomingCallAlert: null,\n\t\t\tongoingCall: {\n\t\t\t\tcallStatus: CallStatus.DECLINED,\n\t\t\t\ttime: { time },\n\t\t\t},\n\t\t});\n\t};\n\n\treturn (\n\t\t<div className={createClassName(styles, 'call-notification')}>\n\t\t\t{\n\t\t\t\tshow && (\n\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content') }>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-avatar') }>\n\t\t\t\t\t\t\t<Avatar src = { getAvatarUrl(callerUsername) } large />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-message') }>\n\t\t\t\t\t\t\t{ t('incoming_video_call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className = { createClassName(styles, 'call-notification__content-actions') }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick = { declineClick }\n\t\t\t\t\t\t\t\tclassName = { createClassName(styles, 'call-notification__content-actions-decline') }>\n\t\t\t\t\t\t\t\t<PhoneDecline width = {\t20 } height = { 20 } />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {t('decline')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button onClick = { acceptClick }\n\t\t\t\t\t\t\t\tclassName = {createClassName(styles, 'call-notification__content-actions-accept') }>\n\t\t\t\t\t\t\t\t<PhoneAccept width = { 20 } height = { 20} />\n\t\t\t\t\t\t\t\t<span style='margin-left:5px'> {t('accept')} </span >\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default withTranslation()(CallNotification);\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<button\n\t\ttype='button'\n\t\taria-label={text}\n\t\tonClick={onClick}\n\t\tclassName={createClassName(styles, 'composer__action', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</button>\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<div\n\t\tclassName={createClassName(styles, 'composer__actions', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{children}\n\t</div>\n));\n","import { h, Component } from 'preact';\n\nimport { createClassName, parse } from '../helpers';\nimport styles from './styles.scss';\n\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(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\n\t\ttexts.forEach((text) => this.pasteText(parse(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(parse(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 }&nbsp;${ 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\t\t<div className={createClassName(styles, 'composer', { }, [className])} style={style}>\n\t\t\t{pre}\n\t\t\t<div\n\t\t\t\tref={this.handleRef}\n\t\t\t\t{...(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentEditable: true,\n\t\t\t\t\t\t'data-placeholder': placeholder,\n\t\t\t\t\t\tonInput: this.handleInput(onChange),\n\t\t\t\t\t\tonKeypress: this.handleKeypress(onSubmit),\n\t\t\t\t\t\tonPaste: this.handlePaste(onUpload),\n\t\t\t\t\t\tonDrop: this.handleDrop(onUpload),\n\t\t\t\t\t\tonClick: this.handleClick,\n\t\t\t\t\t}\n\t\t\t\t)}\n\n\t\t\t\tonCompositionStart={() => {\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>{value}</div>\n\t\t\t{post}\n\t\t</div>\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<div\n\t\t\tdata-overlay-text={overlayText}\n\t\t\tonDragOver={this.handleDragOver}\n\t\t\tonDragEnter={this.handleDragEnter}\n\t\t\tonDragLeave={this.handleDragLeave}\n\t\t\tonDrop={this.handleDrop}\n\t\t\tclassName={createClassName(styles, 'drop', { overlayed, dragover: dragLevel > 0 }, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<input\n\t\t\t\tref={this.handleInputRef}\n\t\t\t\ttype='file'\n\t\t\t\taccept={accept}\n\t\t\t\tmultiple={multiple}\n\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\tclassName={createClassName(styles, 'drop__input')}\n\t\t\t/>\n\t\t\t{children}\n\t\t</div>\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<div\n\t\tclassName={createClassName(styles, 'popover__overlay', { visible }, [className])}\n\t\t{...props}\n\t>\n\t\t{children}\n\t</div>\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<PopoverContext.Provider value={{ open: this.open }}>\n\t\t\t<div className={createClassName(styles, 'popover__container')}>\n\t\t\t\t{children}\n\t\t\t\t<PopoverOverlay\n\t\t\t\t\tref={this.handleOverlayRef}\n\t\t\t\t\tonMouseDown={this.handleOverlayGesture}\n\t\t\t\t\tonTouchStart={this.handleOverlayGesture}\n\t\t\t\t\tvisible={!!renderer}\n\t\t\t\t\t{...overlayProps}\n\t\t\t\t>\n\t\t\t\t\t{renderer ? renderer({ dismiss: this.dismiss, overlayBounds, triggerBounds }) : null}\n\t\t\t\t</PopoverOverlay>\n\t\t\t</div>\n\t\t</PopoverContext.Provider>\n\t)\n}\n\n\nexport const PopoverTrigger = ({ children, ...props }) => (\n\t<PopoverContext.Consumer>\n\t\t{({ open }) => children[0]({ pop: open.bind(null, children[1], props) })}\n\t</PopoverContext.Consumer>\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<div className={createClassName(styles, 'menu', { hidden, placement })} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const Group = ({ children, title, ...props }) => (\n\t<div className={createClassName(styles, 'menu__group')} {...props}>\n\t\t{title && <div className={createClassName(styles, 'menu__group-title')}>{title}</div>}\n\t\t{children}\n\t</div>\n);\n\n\nexport const Item = ({ children, primary, danger, disabled, icon, ...props }) => (\n\t<button\n\t\tclassName={createClassName(styles, 'menu__item', { primary, danger, disabled })}\n\t\tdisabled={disabled}\n\t\t{...props}\n\t>\n\t\t{icon && (\n\t\t\t<div className={createClassName(styles, 'menu__item__icon')}>\n\t\t\t\t{h(icon)}\n\t\t\t</div>\n\t\t)}\n\t\t{children}\n\t</button>\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<Menu\n\t\t\tref={this.handleRef}\n\t\t\tstyle={{ position: 'absolute', ...this.state.position }}\n\t\t\tplacement={this.state.placement}\n\t\t\tonClickCapture={this.handleClick}\n\t\t>\n\t\t\t{children}\n\t\t</Menu>\n\t)\n}\n\n\nexport const PopoverMenu = ({ children, trigger, overlayed }) => (\n\t<PopoverTrigger\n\t\toverlayProps={{\n\t\t\tclassName: overlayed ? createClassName(styles, 'popover-menu__overlay') : null,\n\t\t}}\n\t>\n\t\t{trigger}\n\t\t{({ dismiss, triggerBounds, overlayBounds }) => (\n\t\t\t<PopoverMenuWrapper\n\t\t\t\tdismiss={dismiss}\n\t\t\t\ttriggerBounds={triggerBounds}\n\t\t\t\toverlayBounds={overlayBounds}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PopoverMenuWrapper>\n\t\t)}\n\t</PopoverTrigger>\n);\n\n\nMenu.Group = Group;\nMenu.Item = Item;\nMenu.Popover = PopoverMenu;\n\n\nexport default Menu;\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\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<footer className={createClassName(styles, 'footer', {}, [className])} {...props}>\n\t\t{children}\n\t</footer>\n);\n\n\nexport const FooterContent = ({ children, className, ...props }) => (\n\t<div className={createClassName(styles, 'footer__content', {}, [className])} {...props}>\n\t\t{children}\n\t</div>\n);\n\n\nexport const PoweredBy = withTranslation()(({ className, t, ...props }) => (\n\t<h3 className={createClassName(styles, 'powered-by', {}, [className])} {...props}>\n\t\t{t('powered_by_rocket_chat').split('Rocket.Chat')[0]}\n\t\t<a href='https://rocket.chat' target='_blank' rel='noopener noreferrer'>\n\t\t\t<Logo className={createClassName(styles, 'powered-by__logo')} width={60} height={60 * 272 / 1500} role='img' aria-label='Rocket.Chat' />\n\t\t</a>\n\t\t{t('powered_by_rocket_chat').split('Rocket.Chat')[1]}\n\t</h3>\n));\n\n\nconst handleMouseUp = ({ target }) => target.blur();\n\nconst OptionsTrigger = withTranslation()(({ pop, t }) => (\n\t<button className={createClassName(styles, 'footer__options')} onClick={pop} onMouseUp={handleMouseUp}>\n\t\t{t('options')}\n\t</button>\n));\n\n\nexport const FooterOptions = ({ children }) => (\n\t<PopoverMenu trigger={OptionsTrigger} overlayed>\n\t\t{children}\n\t</PopoverMenu>\n);\n\n\nexport const CharCounter = ({ className, style = {}, textLength, limitTextLength }) => (\n\t<span\n\t\tclassName={createClassName(styles, 'footer__remainder', { highlight: textLength === limitTextLength }, [className])}\n\t\tstyle={style}\n\t>\n\t\t{textLength} / {limitTextLength}\n\t</span>\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<div\n\t\tclassName={createClassName(styles, 'message-bubble', { inverse, nude, quoted, system }, [className])}\n\t\tstyle={style}\n\t>\n\t\t<div className={createClassName(styles, 'message-bubble__inner')}>\n\t\t\t{children}\n\t\t</div>\n\t</div>\n));\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nconst AudioAttachment = memo(({\n\turl,\n\tclassName,\n\tt,\n\t...messageBubbleProps\n}) => (\n\t<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'audio-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<audio\n\t\t\tsrc={url}\n\t\t\tcontrols\n\t\t\tclassName={createClassName(styles, 'audio-attachment__inner')}\n\t\t>\n\t\t\t{t('you_browser_doesn_t_support_audio_element')}\n\t\t</audio>\n\t</MessageBubble>\n));\n\nexport default withTranslation()(AudioAttachment);\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 <Icon width={32} />;\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<MessageBubble\n\t\tclassName={createClassName(styles, 'file-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<a\n\t\t\thref={url}\n\t\t\tdownload\n\t\t\ttarget='_blank'\n\t\t\trel='noopener noreferrer'\n\t\t\tclassName={createClassName(styles, 'file-attachment__inner')}\n\t\t>\n\t\t\t<FileAttachmentIcon url={url} />\n\t\t\t<span className={createClassName(styles, 'file-attachment__title')}>{title}</span>\n\t\t\t<DownloadIcon width={20} height={20} className={createClassName(styles, 'file-attachment__download-button')} />\n\t\t</a>\n\t</MessageBubble>\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<MessageBubble\n\t\tnude\n\t\tclassName={createClassName(styles, 'image-attachment', {}, [className])}\n\t\t{...messageBubbleProps}\n\t>\n\t\t<img\n\t\t\tsrc={url}\n\t\t\tclassName={createClassName(styles, 'image-attachment__inner')}\n\t\t/>\n\t</MessageBubble>\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<div\n\t\tclassName={createClassName(styles, 'message-avatars', {}, [className])}\n\t\tstyle={style}\n\t>\n\t\t{usernames.map((username) => (\n\t\t\t<Avatar\n\t\t\t\tsrc={avatarResolver(username)}\n\t\t\t\tdescription={username}\n\t\t\t\tclassName={createClassName(styles, 'message-avatars__avatar')}\n\t\t\t/>\n\t\t))}\n\t</div>\n));\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<SurfaceContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tdispatchAction,\n\t\t}}\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<BlockContext.Provider\n\t\tchildren={children}\n\t\tvalue={{\n\t\t\tappId,\n\t\t\tblockId,\n\t\t}}\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 { useState, useMemo, useCallback } from 'preact/compat';\nimport { withTranslation } from 'react-i18next';\n\nimport { Button } from '../../../Button';\nimport { createClassName } from '../../../helpers';\nimport Block from '../Block';\nimport styles from './styles.scss';\n\nconst ActionsBlock = ({ appId, blockId, elements, parser, t }) => {\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 <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-actions-block')}>\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 <div key={key} className={createClassName(styles, 'uikit-actions-block__item')}>\n\t\t\t\t\t{renderedElement}\n\t\t\t\t</div>;\n\t\t\t})}\n\t\t\t{isMoreButtonVisible && <Button outline secondary small onClick={handleMoreButtonClick}>\n\t\t\t\t{t('hiddenelementscount_more', { hiddenElementsCount })}\n\t\t\t</Button>}\n\t\t</div>\n\t</Block>;\n};\n\nexport default withTranslation()(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 <button\n\t\tchildren={parser.text(text)}\n\t\tclassName={createClassName(styles, 'uikit-button', {\n\t\t\tstyle,\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\taction: context === BLOCK_CONTEXT.ACTION,\n\t\t})}\n\t\tdisabled={performingAction}\n\t\ttype='button'\n\t\tonClick={handleClick}\n\t\tonMouseUp={handleMouseUp}\n\t/>;\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<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-context-block')}>\n\t\t\t{elements.map((element, key) =>\n\t\t\t\t<div key={key} className={createClassName(styles, 'uikit-context-block__item')}>\n\t\t\t\t\t{parser.renderContext(element, BLOCK_CONTEXT.CONTEXT)}\n\t\t\t\t</div>)}\n\t\t</div>\n\t</Block>;\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<input\n\t\ttype='date'\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, 'date-input', { disabled, error, small }, [className])}\n\t\tstyle={style}\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 <DateInput\n\t\tvalue={initialDate}\n\t\tdisabled={performingAction}\n\t\t// TODO: placeholder={parser.text(placeholder)}\n\t\tsmall\n\t\tonChange={handleChange}\n\t/>;\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<Block appId={appId} blockId={blockId}>\n\t\t<hr\n\t\t\tclassName={createClassName(styles, 'uikit-divider-block')}\n\t\t/>\n\t</Block>;\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 <Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-image-block')}>\n\t\t\t{title && <h3 className={createClassName(styles, 'uikit-image-block__title')}>\n\t\t\t\t{parser.text(title)}\n\t\t\t</h3>}\n\t\t\t<div\n\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__content', { loading })}\n\t\t\t\tstyle={contentStyle}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__wrapper')}\n\t\t\t\t\tstyle={wrapperStyle}\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tchildren={imageUrl}\n\t\t\t\t\t\tclassName={createClassName(styles, 'uikit-image-block__link')}\n\t\t\t\t\t\thref={imageUrl}\n\t\t\t\t\t\trel='noopener noreferrer'\n\t\t\t\t\t\tstyle={linkStyle}\n\t\t\t\t\t\ttarget='_blank'\n\t\t\t\t\t\ttitle={altText}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</Block>;\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<div\n\t\taria-label={altText}\n\t\tclassName={createClassName(styles, 'uikit-image', {\n\t\t\taccessory: context === BLOCK_CONTEXT.SECTION,\n\t\t\tcontext: context === BLOCK_CONTEXT.CONTEXT,\n\t\t})}\n\t\trole='img'\n\t\tstyle={{\n\t\t\tbackgroundImage: `url(${ imageUrl })`,\n\t\t}}\n\t\ttitle={altText}\n\t/>;\n\nexport default memo(ImageElement);\n","const ascii = { '*\\\\0/*': '🙆', '*\\\\O/*': '🙆', '-___-': '😑', ':\\'-)': '😂', '\\':-)': '😅', '\\':-D': '😅', '>:-)': '😆', '\\':-(': '😓', '>:-(': '😠', ':\\'-(': '😢', 'O:-)': '😇', '0:-3': '😇', '0:-)': '😇', '0;^)': '😇', 'O;-)': '😇', '0;-)': '😇', 'O:-3': '😇', '-__-': '😑', ':-Þ': '😛', '</3': '💔', ':\\')': '😂', ':-D': '😃', '\\':)': '😅', '\\'=)': '😅', '\\':D': '😅', '\\'=D': '😅', '>:)': '😆', '>;)': '😆', '>=)': '😆', ';-)': '😉', '*-)': '😉', ';-]': '😉', ';^)': '😉', '\\':(': '😓', '\\'=(': '😓', ':-*': '😘', ':^*': '😘', '>: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'&amp;': '&',\n\t\t'&#38;': '&',\n\t\t'&#x26;': '&',\n\t\t'&lt;': '<',\n\t\t'&#60;': '<',\n\t\t'&#x3C;': '<',\n\t\t'&gt;': '>',\n\t\t'&#62;': '>',\n\t\t'&#x3E;': '>',\n\t\t'&quot;': '\"',\n\t\t'&#34;': '\"',\n\t\t'&#x22;': '\"',\n\t\t'&apos;': '\\'',\n\t\t'&#39;': '\\'',\n\t\t'&#x27;': '\\'',\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) => `<span>${ emoji }</span>`;\n\nconst transformEmojisToLargeSize = (emoji) => `<span style=\"font-size:2rem\">${ emoji }</span>`;\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 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) => md.render(...args);\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<div\n\t\tclassName={createClassName(styles, 'uikit-mrkdwn')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{ __html: renderEmojis(renderMarkdown(text), text) }}\n\t\tdir='auto'\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 <Button\n\t\tclassName={createClassName(styles, 'uikit-overflow__trigger')}\n\t\tdisabled={loading}\n\t\toutline\n\t\tsecondary\n\t\tonClick={onClick}\n\t\tonMouseUp={handleMouseUp}\n\t>\n\t\t<KebabIcon width={20} height={20} />\n\t</Button>;\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 <Menu.Item onClick={handleClick}>\n\t\t {parser.text(text)}\n\t </Menu.Item>;\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 <PopoverMenu trigger={({ pop }) => <OverflowTrigger loading={performingAction} onClick={pop} />}>\n\t\t<Menu.Group>\n\t\t\t{Array.isArray(options) && options.map((option, i) =>\n\t\t\t\t<OverflowOption key={i} {...option} confirm={confirm} parser={parser} onClick={handleClick} />)}\n\t\t</Menu.Group>\n\t</PopoverMenu>;\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, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/\"/g, '&quot;')\n\t\t.replace(/'/g, '&#039;');\n\nconst PlainText = ({ text, emoji = false }) =>\n\t<span\n\t\tclassName={createClassName(styles, 'uikit-plain-text')}\n\t\t// eslint-disable-next-line react/no-danger\n\t\tdangerouslySetInnerHTML={{\n\t\t\t__html: escapeHtml(emoji ? text : shortnameToUnicode(text)).replace(/\\n/g, () => '<br/>'),\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<Block appId={appId} blockId={blockId}>\n\t\t<div className={createClassName(styles, 'uikit-section-block')}>\n\t\t\t<div className={createClassName(styles, 'uikit-section-block__content')}>\n\t\t\t\t{text && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__text')}>\n\t\t\t\t\t\t{parser.text(text, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(fields) && fields.length > 0 && (\n\t\t\t\t\t<div className={createClassName(styles, 'uikit-section-block__fields')}>\n\t\t\t\t\t\t{fields.map((field, i) => (\n\t\t\t\t\t\t\t<div key={i} className={createClassName(styles, 'uikit-section-block__field')}>\n\t\t\t\t\t\t\t\t{parser.text(field, BLOCK_CONTEXT.SECTION)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{accessory && <div className={createClassName(styles, 'uikit-section-block__accessory')}>\n\t\t\t\t{parser.renderAccessories(accessory, BLOCK_CONTEXT.SECTION)}\n\t\t\t</div>}\n\t\t</div>\n\t</Block>;\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<div\n\t\t\tclassName={createClassName(styles, 'select-input', {}, [className])}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<select\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.value}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonInput={onInput}\n\t\t\t\tclassName={createClassName(styles, 'select-input__select', {\n\t\t\t\t\tdisabled,\n\t\t\t\t\terror,\n\t\t\t\t\tsmall,\n\t\t\t\t\tplaceholder: !this.state.value,\n\t\t\t\t})}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<option value='' disabled hidden>{placeholder}</option>\n\t\t\t\t{Array.from(options).map(({ value, label }, key) => (\n\t\t\t\t\t<option key={key} value={value} className={createClassName(styles, 'select-input__option')}>{label}</option>\n\t\t\t\t))}\n\t\t\t</select>\n\t\t\t<ArrowIcon className={createClassName(styles, 'select-input__arrow')} />\n\t\t</div>\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 <SelectInput\n\t\tclassName={createClassName(styles, 'uikit-static-select')}\n\t\tdisabled={performingAction}\n\t\toptions={selectOptions}\n\t\tplaceholder={placeholder && parser.text(placeholder)}\n\t\tsmall\n\t\tvalue={(initialOption && initialOption.value) || ''}\n\t\tonChange={handleChange}\n\t/>;\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 <DividerBlock key={index} {...element} />;\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 <SectionBlock key={index} {...element} parser={this} />;\n\t}\n\n\timage = (element, context, index) => {\n\t\tif (context === BLOCK_CONTEXT.BLOCK) {\n\t\t\treturn <ImageBlock key={index} {...element} parser={this} />;\n\t\t}\n\n\t\treturn <ImageElement key={index} {...element} parser={this} context={context} />;\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 <ActionsBlock key={index} {...element} parser={this} />;\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 <ContextBlock key={index} {...element} parser={this} />;\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 <PlainText key={index} {...element} />;\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 { parseISO } from 'date-fns/fp';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nconst parseDate = (ts, t) => {\n\tconst timestamp = new Date(ts).toISOString();\n\treturn t('message_time', {\n\t\tval: new Date(timestamp),\n\t\tformatParams: {\n\t\t\tval: isToday(parseISO(timestamp)) ? { hour: 'numeric', minute: 'numeric' } : { day: 'numeric', hour: 'numeric', minute: 'numeric' },\n\t\t},\n\t});\n};\n\nconst MessageTime = memo(({ ts, normal, inverted, className, style = {}, t }) => (\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, t)}\n\t\t</time>\n\t</div>\n));\n\nexport default withTranslation()(MessageTime);\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { createClassName, memo } from '../../helpers';\nimport { MessageBubble } from '../MessageBubble';\nimport styles from './styles.scss';\n\n\nconst VideoAttachment = memo(({\n\turl,\n\tclassName,\n\tt,\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{t('you_browser_doesn_t_support_video_element')}\n\t\t</video>\n\t</MessageBubble>\n));\n\nexport default withTranslation()(VideoAttachment);\n","import { formatDistance } from 'date-fns';\nimport format from 'date-fns/format';\nimport isToday from 'date-fns/isToday';\nimport { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { getAttachmentUrl, memo, normalizeTransferHistoryMessage, resolveDate } from '../../helpers';\nimport { default as 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\tMESSAGE_WEBRTC_CALL,\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 resolveWebRTCEndCallMessage = ({ webRtcCallEndTs, ts, t }) => {\n\tconst callEndTime = resolveDate(webRtcCallEndTs);\n\tconst callStartTime = resolveDate(ts);\n\tconst callDuration = formatDistance(callEndTime, callStartTime);\n\tconst time = format(callEndTime, isToday(callEndTime) ? 'HH:mm' : 'dddd HH:mm');\n\treturn t('call_end_time', { time, callDuration });\n};\n\nconst getSystemMessageText = ({ type, conversationFinishedMessage, transferData, u, webRtcCallEndTs, ts }, t) => (type === MESSAGE_TYPE_ROOM_NAME_CHANGED && t('room_name_changed'))\n\t|| (type === MESSAGE_TYPE_USER_ADDED && t('user_added_by'))\n\t|| (type === MESSAGE_TYPE_USER_REMOVED && t('user_removed_by'))\n\t|| (type === MESSAGE_TYPE_USER_JOINED && t('user_joined'))\n\t|| (type === MESSAGE_TYPE_USER_LEFT && t('user_left'))\n\t|| (type === MESSAGE_TYPE_WELCOME && t('welcome'))\n\t|| (type === MESSAGE_TYPE_LIVECHAT_CLOSED && (conversationFinishedMessage || t('conversation_finished')))\n\t|| (type === MESSAGE_TYPE_LIVECHAT_STARTED && t('chat_started'))\n\t|| (type === MESSAGE_TYPE_LIVECHAT_TRANSFER_HISTORY && normalizeTransferHistoryMessage(transferData, u, t))\n\t|| (type === MESSAGE_WEBRTC_CALL && webRtcCallEndTs && ts && resolveWebRTCEndCallMessage({ webRtcCallEndTs, ts, t }));\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\nconst Message = memo(({\n\tavatarResolver,\n\tattachmentResolver = getAttachmentUrl,\n\tuse,\n\tme,\n\tcompact,\n\tclassName,\n\tstyle = {},\n\tt,\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.type}\n\t>\n\t\t{!message.type && <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.type ? getSystemMessageText(message, t) : message.msg,\n\t\t\t\tsystem: !!message.type,\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\n\t\t{!compact && !message.type && <MessageTime normal={!me} inverse={me} ts={message.ts} />}\n\n\t</MessageContainer>\n));\n\nexport default withTranslation()(Message);\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';\nexport const MESSAGE_JITSI_CALL = 'jitsi_call_started';\nexport const MESSAGE_WEBRTC_CALL = 'livechat_webrtc_video_call';\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { Livechat } from '../../api';\nimport VideoIcon from '../../icons/video.svg';\nimport constants from '../../lib/constants';\nimport store from '../../store';\nimport { Button } from '../Button';\nimport { createClassName } from '../helpers';\nimport { isCallOngoing } from './CallStatus';\nimport styles from './styles.scss';\n\n\nexport const JoinCallButton = ({ t, ...props }) => {\n\tconst { token, room } = store.state;\n\n\tconst clickJoinCall = () => {\n\t\tswitch (props.callProvider) {\n\t\t\tcase constants.jitsiCallStartedMessageType: {\n\t\t\t\twindow.open(props.url, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase constants.webRTCCallStartedMessageType: {\n\t\t\t\twindow.open(`${ Livechat.client.host }/meet/${ room._id }?token=${ token }`, room._id);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\treturn (\n\t\t<div className={createClassName(styles, 'joinCall')}>\n\t\t\t{\n\t\t\t\tisCallOngoing(props.callStatus)\n\t\t\t\t&& (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content')} >\n\t\t\t\t\t\t\t<div className={createClassName(styles, 'joinCall__content-videoIcon')} >\n\t\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t{ t('join_my_room_to_start_the_video_call') }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<Button onClick={clickJoinCall} className={createClassName(styles, 'joinCall__content-action')}>\n\t\t\t\t\t\t\t<VideoIcon width={20} height={20} />\n\t\t\t\t\t\t\t{t('join_call')}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default withTranslation()(JoinCallButton);\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { createClassName, memo } from '../../helpers';\nimport styles from './styles.scss';\n\n\nconst MessageSeparator = memo(({\n\tdate,\n\tunread,\n\tuse: Element = 'div',\n\tclassName,\n\tstyle = {},\n\tt,\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 && t('message_separator_date', {\n\t\t\t\t\t\tval: new Date(date),\n\t\t\t\t\t\tformatParams: {\n\t\t\t\t\t\t\tval: { month: 'short', day: '2-digit', year: 'numeric' },\n\t\t\t\t\t\t},\n\t\t\t\t\t}).toUpperCase())\n\t\t\t\t\t|| (unread && 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\nexport default withTranslation()(MessageSeparator);\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 constants from '../../../lib/constants';\nimport store from '../../../store';\nimport { isCallOngoing } from '../../Calls/CallStatus';\nimport { JoinCallButton } from '../../Calls/JoinCallButton';\nimport { createClassName, getAttachmentUrl, MemoizedComponent } from '../../helpers';\nimport Message from '../Message';\nimport MessageSeparator from '../MessageSeparator';\nimport { TypingIndicator } from '../TypingIndicator';\nimport styles from './styles.scss';\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\t\tconst { incomingCallAlert } = store.state;\n\t\tconst { ongoingCall } = store.state;\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\tif ((message.t === constants.webRTCCallStartedMessageType || message.t === constants.jitsiCallStartedMessageType)\n\t\t\t\t&& message.actionLinks && message.actionLinks.length\n\t\t\t\t&& ongoingCall && isCallOngoing(ongoingCall.callStatus)\n\t\t\t\t&& !message.webRtcCallEndTs) {\n\t\t\t\tconst { url, callProvider, rid } = incomingCallAlert || {};\n\t\t\t\titems.push(\n\t\t\t\t\t<JoinCallButton callStatus={ongoingCall.callStatus} url={url} callProvider={callProvider} rid={rid} />,\n\t\t\t\t);\n\t\t\t\tcontinue;\n\t\t\t}\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\ttype={message.t}\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\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, Component } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport CloseIcon from '../../icons/close.svg';\nimport { createClassName } from '../helpers';\nimport styles from './styles.scss';\n\n\nclass 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, t }) => (\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={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\nexport default withTranslation()(Alert);\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, 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 { withTranslation } from 'react-i18next';\n\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 OpenWindowIcon from '../../icons/newWindow.svg';\nimport Alert from '../Alert';\nimport { Avatar } from '../Avatar';\nimport Header from '../Header';\nimport Tooltip from '../Tooltip';\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 = (t) => {\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 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\tt,\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(t)}</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 ? t('sound_is_on') : t('sound_is_off')}>\n\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\taria-label={notificationsEnabled ? t('disable_notifications') : 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 ? t('restore_chat') : t('minimize_chat')}>\n\t\t\t\t\t\t\t<Header.Action\n\t\t\t\t\t\t\t\taria-label={minimized ? t('restore_chat') : 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={t('expand_chat')} placement='bottom-left'>\n\t\t\t\t\t\t\t<Header.Action aria-label={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\nexport default withTranslation()(ScreenHeader);\n","import { h } from 'preact';\nimport { useEffect } from 'preact/hooks';\n\nimport ChatIcon from '../../icons/chat.svg';\nimport CloseIcon from '../../icons/close.svg';\nimport { Button } from '../Button';\nimport { Footer, FooterContent, PoweredBy } from '../Footer';\nimport { PopoverContainer } from '../Popover';\nimport { Sound } from '../Sound';\nimport { createClassName } from '../helpers';\nimport ScreenHeader from './Header';\nimport styles from './styles.scss';\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';\nimport { withTranslation } from 'react-i18next';\n\nimport { Button } from '../../components/Button';\nimport { CallIframe } from '../../components/Calls/CallIFrame';\nimport { default as CallNotification } from '../../components/Calls/CallNotification';\nimport { CallStatus } from '../../components/Calls/CallStatus';\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 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\nclass 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\tt,\n\t\tincomingCallAlert,\n\t\tongoingCall,\n\t\tdispatch,\n\t\t...props\n\t}, {\n\t\tatBottom = true,\n\t\ttext,\n\t}) => <Screen\n\t\tcolor={color}\n\t\ttitle={title || t('need_help')}\n\t\tfontColor={fontColor}\n\t\tagent={agent || null}\n\t\tqueueInfo={queueInfo}\n\t\tnopadding\n\t\tonChangeDepartment={onChangeDepartment}\n\t\tonFinishChat={onFinishChat}\n\t\tonRemoveUserData={onRemoveUserData}\n\t\tclassName={createClassName(styles, 'chat')}\n\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t{...props}\n\t>\n\t\t<FilesDropTarget\n\t\t\tref={this.handleFilesDropTargetRef}\n\t\t\toverlayed\n\t\t\toverlayText={t('drop_here_to_upload_a_file')}\n\t\t\tonUpload={onUpload}\n\t\t>\n\t\t\t<Screen.Content nopadding>\n\t\t\t\t{ incomingCallAlert && !!incomingCallAlert.show && <CallNotification { ...incomingCallAlert } dispatch={dispatch} />}\n\t\t\t\t{ incomingCallAlert?.show && ongoingCall && ongoingCall.callStatus === CallStatus.IN_PROGRESS_SAME_TAB ? <CallIframe { ...incomingCallAlert } /> : null }\n\t\t\t\t<div className={createClassName(styles, 'chat__messages', { atBottom, loading })}>\n\t\t\t\t\t<MessageList\n\t\t\t\t\t\tref={this.handleMessagesContainerRef}\n\t\t\t\t\t\tavatarResolver={avatarResolver}\n\t\t\t\t\t\tuid={uid}\n\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\ttypingUsernames={typingUsernames}\n\t\t\t\t\t\tconversationFinishedMessage={conversationFinishedMessage}\n\t\t\t\t\t\tlastReadMessageId={lastReadMessageId}\n\t\t\t\t\t\tonScrollTo={this.handleScrollTo}\n\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.state.emojiPickerActive && <Picker\n\t\t\t\t\t\tstyle={{ position: 'absolute', zIndex: 10, bottom: 0, maxWidth: '90%', left: 20, maxHeight: '90%' }}\n\t\t\t\t\t\tshowPreview={false}\n\t\t\t\t\t\tshowSkinTones={false}\n\t\t\t\t\t\tsheetSize={64}\n\t\t\t\t\t\tonSelect={this.handleEmojiSelect}\n\t\t\t\t\t\tautoFocus={true}\n\t\t\t\t\t/>}\n\t\t\t\t</div>\n\t\t\t</Screen.Content>\n\t\t\t<Screen.Footer\n\t\t\t\toptions={options ? (\n\t\t\t\t\t<FooterOptions>\n\t\t\t\t\t\t<Menu.Group>\n\t\t\t\t\t\t\t{onChangeDepartment && (\n\t\t\t\t\t\t\t\t<Menu.Item onClick={onChangeDepartment} icon={ChangeIcon}>{t('change_department')}</Menu.Item>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{onRemoveUserData && (\n\t\t\t\t\t\t\t\t<Menu.Item onClick={onRemoveUserData} icon={RemoveIcon}>{t('forget_remove_my_data')}</Menu.Item>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{onFinishChat && (\n\t\t\t\t\t\t\t\t<Menu.Item danger onClick={onFinishChat} icon={FinishIcon}>{t('finish_this_chat')}</Menu.Item>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Menu.Group>\n\t\t\t\t\t</FooterOptions>\n\t\t\t\t) : null}\n\t\t\t\tlimit={limitTextLength\n\t\t\t\t\t? <CharCounter\n\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t\ttextLength={text.length}\n\t\t\t\t\t/> : null}\n\t\t\t>\n\t\t\t\t{ registrationRequired\n\t\t\t\t\t? <Button loading={loading} disabled={loading} onClick={onRegisterUser} stack>{t('chat_now')}</Button>\n\t\t\t\t\t: <Composer onUpload={onUpload}\n\t\t\t\t\t\tonSubmit={this.handleSubmit}\n\t\t\t\t\t\tonChange={this.handleChangeText}\n\t\t\t\t\t\tplaceholder={t('type_your_message_here')}\n\t\t\t\t\t\tvalue={text}\n\t\t\t\t\t\tnotifyEmojiSelect={(click) => { this.notifyEmojiSelect = click; }}\n\t\t\t\t\t\thandleEmojiClick={this.handleEmojiClick}\n\t\t\t\t\t\tpre={(\n\t\t\t\t\t\t\t<ComposerActions>\n\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<EmojiIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t</ComposerAction>\n\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tpost={(\n\t\t\t\t\t\t\t<ComposerActions>\n\t\t\t\t\t\t\t\t{text.length === 0 && uploads && (\n\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleUploadClick}>\n\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</ComposerAction>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{text.length > 0 && (\n\t\t\t\t\t\t\t\t\t<ComposerAction onClick={this.handleSendClick}>\n\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</ComposerAction>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</ComposerActions>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tlimitTextLength={limitTextLength}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t</Screen.Footer>\n\t\t</FilesDropTarget>\n\t</Screen>\n}\n\nexport default withTranslation()(Chat);\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\nimport { withTranslation } from 'react-i18next';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { debounce, getAvatarUrl, canRenderMessage, throttle, upsert, parse } from '../../components/helpers';\nimport { normalizeQueueAlert } from '../../lib/api';\nimport constants from '../../lib/constants';\nimport { loadConfig } from '../../lib/main';\nimport { parentCall, runCallbackEventEmitter } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { initRoom, closeChat, loadMessages, loadMoreMessages, defaultRoomParams, getGreetingMessages } from '../../lib/room';\nimport { Consumer } from '../../store';\nimport Chat from './component';\n\nclass 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, i18n } = 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\tmsg = parse(msg);\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, i18n } = 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 { i18n } = this.props;\n\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 { i18n } = this.props;\n\t\tconst { success } = await ModalManager.confirm({\n\t\t\ttext: i18n.t('are_you_sure_you_want_to_remove_all_of_your_person'),\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, i18n } = 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\nexport const ChatConnector = ({ ref, t, ...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\tincomingCallAlert,\n\t\t\tongoingCall,\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 || 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 || 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\tincomingCallAlert={incomingCallAlert}\n\t\t\t\tongoingCall={ongoingCall}\n\t\t\t/>\n\t\t)}\n\t</Consumer>\n);\n\nexport default withTranslation()(ChatConnector);\n","import { h } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { ChatContainer } from '.';\nimport { canRenderMessage, getAvatarUrl } from '../../components/helpers';\nimport { Consumer } from '../../store';\n\nconst 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 || props.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 || props.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\nexport default withTranslation()(ChatConnector);\n","import { h, Component } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport styles from './styles.scss';\n\nclass 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\tt,\n\t\t...props\n\t}) => {\n\t\tconst defaultGreeting = t('thanks_for_talking_with_us');\n\t\tconst defaultMessage = t('if_you_have_any_other_questions_just_press_the_but');\n\n\t\treturn <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>{ 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\nexport default withTranslation()(ChatFinished);\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\nimport { withTranslation } from 'react-i18next';\n\nimport { Consumer } from '../../store';\nimport ChatFinished from './component';\n\n\nclass 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\nconst ChatFinishedConnector = ({ ref, t, ...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={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 withTranslation()(ChatFinishedConnector);\n","import MarkdownIt from 'markdown-it';\nimport { h, Component } from 'preact';\nimport { Trans, withTranslation } from 'react-i18next';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport styles from './styles.scss';\n\nconst md = new MarkdownIt({\n\tlinkify: false,\n\ttypographer: false,\n});\n\nclass 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\tt,\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{\n\t\t\t\t\tconsentText\n\t\t\t\t\t\t? <p\n\t\t\t\t\t\t\tclassName={createClassName(styles, 'gdpr__consent-text')}\n\t\t\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(consentText) }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t: <p className={createClassName(styles, 'gdpr__consent-text')}>\n\t\t\t\t\t\t\t<Trans i18nKey='the_controller_of_your_personal_data_is_company_na' />\n\t\t\t\t\t\t</p>\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\tinstructions\n\t\t\t\t\t\t? <p\n\t\t\t\t\t\t\tclassName={createClassName(styles, 'gdpr__instructions')}\n\t\t\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{ __html: md.renderInline(instructions) }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t: <p className={createClassName(styles, 'gdpr__instructions')}>\n\t\t\t\t\t\t\t<Trans i18nKey='go_to_menu_options_forget_remove_my_personal_data'>\n\t\t\t\t\t\t\t\tGo to <strong>menu options → Forget/Remove my personal data</strong> to request the immediate removal of your data.\n\t\t\t\t\t\t\t</Trans>\n\t\t\t\t\t\t</p>\n\t\t\t\t}\n\t\t\t\t<ButtonGroup>\n\t\t\t\t\t<Button onClick={this.handleClick} stack>{ 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\nexport default withTranslation()(GDPR);\n","import { h, Component } from 'preact';\nimport { route } from 'preact-router';\nimport { withTranslation } from 'react-i18next';\n\nimport { Consumer } from '../../store';\nimport GDPRAgreement from './component';\n\n\nclass 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\nconst GDPRConnector = ({ ref, t, ...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={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 withTranslation()(GDPRConnector);\n","const basicEmailRegex = /^[^@]+@[^@]+$/;\nconst rfcEmailRegex = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nexport const validateEmail = (email, options = { style: 'basic' }) => {\n\tswitch (options.style) {\n\t\tcase 'rfc':\n\t\t\treturn rfcEmailRegex.test(email);\n\t\tcase 'basic':\n\t\tdefault:\n\t\t\treturn basicEmailRegex.test(email);\n\t}\n};\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 i18next from 'i18next';\nimport { h } from 'preact';\n\nimport { validateEmail } from '../../lib/email';\nimport { createClassName, MemoizedComponent } from '../helpers';\nimport styles from './styles.scss';\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 ? i18next.t('field_required') : undefined),\n\temail: ({ value }) => (validateEmail(String(value).toLowerCase()) ? null : i18next.t('invalid_email')),\n\tcustom: ({ value, pattern }) => (new RegExp(pattern, 'i').test(String(value)) ? null : i18next.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';\nimport { withTranslation } from 'react-i18next';\n\nimport { Button } from '../../components/Button';\nimport { ButtonGroup } from '../../components/ButtonGroup';\nimport { Form, FormField, SelectInput, TextInput, Validations } from '../../components/Form';\nimport { renderMarkdown } from '../../components/Messages/MessageText/markdown';\nimport Screen from '../../components/Screen';\nimport { createClassName, sortArrayByColumn } from '../../components/helpers';\nimport styles from './styles.scss';\n\nclass LeaveMessage extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = this.getDefaultState();\n\t}\n\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\tcomponentDidMount() {\n\t\tthis.validateAll();\n\t}\n\n\trenderForm = ({ loading, departments, valid = this.isValid(), t }, { 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={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={t('insert_your_field_here', { field: 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={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={t('insert_your_field_here', { field: 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={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={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={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={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>{t('send')}</Button>\n\t\t\t</ButtonGroup>\n\t\t</Form>\n\t)\n\n\trender = ({ color, title, message, unavailableMessage, hasForm, t, ...props }) => {\n\t\tconst defaultTitle = t('leave_a_message');\n\t\tconst defaultMessage = t('we_are_not_online_right_now_please_leave_a_message');\n\t\tconst defaultUnavailableMessage = ''; // TODO\n\n\t\treturn <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<div className={createClassName(styles, 'leave-message__main-message')}\n\t\t\t\t\t// eslint-disable-next-line react/no-danger\n\t\t\t\t\tdangerouslySetInnerHTML={{ __html: renderMarkdown(hasForm ? message || defaultMessage : unavailableMessage || defaultUnavailableMessage) }}\n\t\t\t\t/>\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\nexport default withTranslation()(LeaveMessage);\n","import { h, Component } from 'preact';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport { parseOfflineMessage } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport { createToken } from '../../lib/random';\nimport { Consumer } from '../../store';\nimport LeaveMessage from './component';\n\n\nexport class LeaveMessageContainer extends Component {\n\thandleSubmit = async (fields) => {\n\t\tconst { alerts, dispatch, successMessage } = 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: successMessage || text,\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';\nimport { withTranslation } from 'react-i18next';\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 styles from './styles.scss';\n\nconst getDefaultDepartment = (departments = []) => (departments.length === 1 && departments[0]._id) || '';\n\nconst renderCustomFields = (customFields, { loading, handleFieldChange = () => {} }, state, t) => 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={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={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\nclass Register extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = getDefaultState(props);\n\t}\n\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\trender({ title, color, message, loading, departments, customFields, t, ...props }, { name, email, department, ...state }) {\n\t\tconst defaultTitle = t('need_help');\n\t\tconst defaultMessage = t('please_tell_us_some_information_to_start_the_chat');\n\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={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={t('insert_your_field_here', { field: 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={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={t('insert_your_field_here', { field: 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={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={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, t)}\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>{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\nexport default withTranslation()(Register);\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';\nimport { withTranslation } from 'react-i18next';\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 styles from './styles.scss';\n\nclass 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, t, ...props }, { department }) {\n\t\tconst defaultTitle = t('change_department_1');\n\t\tconst defaultMessage = t('choose_a_department_1');\n\n\t\tconst valid = this.isValid();\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, '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={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={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>{t('start_chat')}</Button>\n\t\t\t\t\t\t\t<Button disabled={loading} stack secondary nude onClick={this.handleCancelClick}>{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\nexport default withTranslation()(SwitchDepartment);\n","import { h, Component } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport { Livechat } from '../../api';\nimport { ModalManager } from '../../components/Modal';\nimport history from '../../history';\nimport { loadConfig } from '../../lib/main';\nimport { createToken } from '../../lib/random';\nimport SwitchDepartment from './component';\n\nclass SwitchDepartmentContainer extends Component {\n\tconfirmChangeDepartment = async () => {\n\t\tconst { i18n } = this.props;\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, t } = 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: 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 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: 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: 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 default withTranslation()(SwitchDepartmentContainer);\n","import { h } from 'preact';\n\nimport { Consumer } from '../../store';\nimport SwitchDepartmentContainer from './container';\n\nconst 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\nexport default SwitchDepartmentConnector;\n","import { h, Component, createRef } from 'preact';\nimport { withTranslation } from 'react-i18next';\n\nimport Screen from '../../components/Screen';\nimport { createClassName } from '../../components/helpers';\nimport { parentCall } from '../../lib/parentCall';\nimport styles from './styles.scss';\n\n\nclass 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, t, ...props }) {\n\t\tconst defaultTitle = t('messages');\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')}>{t('start_chat')}</button>\n\t\t\t\t</footer>\n\t\t\t</Screen>\n\t\t);\n\t}\n}\n\nexport default withTranslation()(TriggerMessage);\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 i18next from 'i18next';\nimport { h, Component } from 'preact';\nimport { Router, route } from 'preact-router';\nimport queryString from 'query-string';\nimport { withTranslation } from 'react-i18next';\n\nimport history from '../../history';\nimport Connection from '../../lib/connection';\nimport CustomFields from '../../lib/customFields';\nimport Hooks from '../../lib/hooks';\nimport { parentCall } from '../../lib/parentCall';\nimport Triggers from '../../lib/triggers';\nimport userPresence from '../../lib/userPresence';\nimport { ChatConnector } 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 { store } from '../../store';\nimport { visibility, isActiveSession, setInitCookies } 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\tsetInitCookies();\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\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\ti18next.on('languageChanged', 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}\n\n\tcomponentDidMount() {\n\t\tthis.initialize();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.finalize();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { i18n } = this.props;\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<ChatConnector 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\nexport default withTranslation()(App);\n","import { h } from 'preact';\n\nimport '../../i18next';\nimport { Provider as StoreProvider, Consumer as StoreConsumer } from '../../store';\nimport App from './App';\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","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = void 0;\nrequire(\"emoji-mart/css/emoji-mart.css\");\nrequire(\"./styles/index.scss\");\nvar App_1 = require(\"./components/App\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return App_1.default; } });\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"call-notification\":\"call-notification__3RkXD\",\"call-notification__content\":\"call-notification__content__3b5tH\",\"call-notification__content-avatar\":\"call-notification__content-avatar__2cgrA\",\"call-notification__content-message\":\"call-notification__content-message__3YU9P\",\"call-notification__content-actions\":\"call-notification__content-actions__1I_9w\",\"call-notification__content-actions-accept\":\"call-notification__content-actions-accept__2E61Z\",\"call-notification__content-actions-decline\":\"call-notification__content-actions-decline__2HSA9\",\"call-iframe\":\"call-iframe__1TpCn\",\"call-iframe__content\":\"call-iframe__content__pkcRS\",\"joinCall\":\"joinCall__36EOn\",\"joinCall__content\":\"joinCall__content__1P0Vp\",\"joinCall__content-videoIcon\":\"joinCall__content-videoIcon__1_ZVy\",\"joinCall__content-action\":\"joinCall__content-action__WSl7W\"};"],"sourceRoot":""}