botframework-webchat-component 4.13.0 → 4.15.0

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 (698) hide show
  1. package/.eslintrc.yml +4 -100
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/Avatar.d.ts +10 -0
  4. package/lib/Activity/Avatar.d.ts.map +1 -0
  5. package/lib/Activity/Avatar.js +2 -1
  6. package/lib/Activity/Bubble.d.ts +11 -0
  7. package/lib/Activity/Bubble.d.ts.map +1 -0
  8. package/lib/Activity/Bubble.js +2 -2
  9. package/lib/Activity/CarouselFilmStrip.js +21 -31
  10. package/lib/Activity/CarouselFilmStripAttachment.js +120 -0
  11. package/lib/Activity/CarouselLayout.js +5 -5
  12. package/lib/Activity/Speak.d.ts +10 -0
  13. package/lib/Activity/Speak.d.ts.map +1 -0
  14. package/lib/Activity/Speak.js +11 -13
  15. package/lib/Activity/StackedLayout.d.ts +18 -0
  16. package/lib/Activity/StackedLayout.d.ts.map +1 -0
  17. package/lib/Activity/StackedLayout.js +19 -15
  18. package/lib/Assets/TypingAnimation.js +2 -2
  19. package/lib/Attachment/Assets/DownloadIcon.js +3 -1
  20. package/lib/Attachment/AudioAttachment.js +2 -2
  21. package/lib/Attachment/AudioContent.d.ts +11 -0
  22. package/lib/Attachment/AudioContent.d.ts.map +1 -0
  23. package/lib/Attachment/AudioContent.js +4 -4
  24. package/lib/Attachment/FileAttachment.js +2 -2
  25. package/lib/Attachment/FileContent.d.ts +10 -0
  26. package/lib/Attachment/FileContent.d.ts.map +1 -0
  27. package/lib/Attachment/FileContent.js +14 -9
  28. package/lib/Attachment/HTMLVideoContent.d.ts +11 -0
  29. package/lib/Attachment/HTMLVideoContent.d.ts.map +1 -0
  30. package/lib/Attachment/HTMLVideoContent.js +2 -2
  31. package/lib/Attachment/ImageContent.d.ts +8 -0
  32. package/lib/Attachment/ImageContent.d.ts.map +1 -0
  33. package/lib/Attachment/ImageContent.js +2 -2
  34. package/lib/Attachment/TextContent.d.ts +8 -0
  35. package/lib/Attachment/TextContent.d.ts.map +1 -0
  36. package/lib/Attachment/TextContent.js +4 -4
  37. package/lib/Attachment/VideoAttachment.js +2 -2
  38. package/lib/Attachment/VideoContent.d.ts +11 -0
  39. package/lib/Attachment/VideoContent.d.ts.map +1 -0
  40. package/lib/Attachment/VideoContent.js +1 -1
  41. package/lib/Attachment/VimeoContent.d.ts +10 -0
  42. package/lib/Attachment/VimeoContent.d.ts.map +1 -0
  43. package/lib/Attachment/VimeoContent.js +8 -8
  44. package/lib/Attachment/YouTubeContent.d.ts +10 -0
  45. package/lib/Attachment/YouTubeContent.d.ts.map +1 -0
  46. package/lib/Attachment/YouTubeContent.js +5 -5
  47. package/lib/Avatar/ImageAvatar.js +2 -2
  48. package/lib/Avatar/InitialsAvatar.js +2 -2
  49. package/lib/BasicConnectivityStatus.js +2 -2
  50. package/lib/BasicSendBox.d.ts +9 -0
  51. package/lib/BasicSendBox.d.ts.map +1 -0
  52. package/lib/BasicSendBox.js +7 -6
  53. package/lib/BasicToast.js +4 -4
  54. package/lib/BasicToaster.js +8 -5
  55. package/lib/BasicTranscript.d.ts +7 -0
  56. package/lib/BasicTranscript.d.ts.map +1 -0
  57. package/lib/BasicTranscript.js +406 -743
  58. package/lib/BasicTypingIndicator.d.ts +6 -0
  59. package/lib/BasicTypingIndicator.d.ts.map +1 -0
  60. package/lib/BasicTypingIndicator.js +13 -5
  61. package/lib/BasicWebChat.d.ts +9 -0
  62. package/lib/BasicWebChat.d.ts.map +1 -0
  63. package/lib/BasicWebChat.js +6 -4
  64. package/lib/Composer.d.ts +23 -0
  65. package/lib/Composer.d.ts.map +1 -0
  66. package/lib/Composer.js +65 -82
  67. package/lib/ConnectivityStatus/Assets/ErrorNotificationIcon.js +2 -2
  68. package/lib/ConnectivityStatus/Assets/SpinnerAnimation.js +2 -2
  69. package/lib/ConnectivityStatus/Assets/WarningNotificationIcon.js +2 -2
  70. package/lib/ConnectivityStatus/Connected.js +1 -1
  71. package/lib/ConnectivityStatus/Connecting.js +4 -4
  72. package/lib/ConnectivityStatus/FailedToConnect.js +2 -2
  73. package/lib/ConnectivityStatus/JavaScriptError.js +2 -2
  74. package/lib/Dictation.js +13 -4
  75. package/lib/ErrorBox.d.ts +8 -0
  76. package/lib/ErrorBox.d.ts.map +1 -0
  77. package/lib/ErrorBox.js +2 -2
  78. package/lib/Middleware/Activity/createCoreMiddleware.d.ts +3 -0
  79. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -0
  80. package/lib/Middleware/Activity/createCoreMiddleware.js +1 -1
  81. package/lib/Middleware/ActivityStatus/AbsoluteTime.js +1 -1
  82. package/lib/Middleware/ActivityStatus/RelativeTime.js +1 -1
  83. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +3 -3
  84. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +11 -0
  85. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -0
  86. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -5
  87. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +9 -0
  88. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -0
  89. package/lib/Middleware/ActivityStatus/Timestamp.js +2 -2
  90. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts +3 -0
  91. package/lib/Middleware/ActivityStatus/createCoreMiddleware.d.ts.map +1 -0
  92. package/lib/Middleware/ActivityStatus/createCoreMiddleware.js +1 -1
  93. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +21 -16
  94. package/lib/Middleware/ActivityStatus/createTimestampMiddleware.js +1 -1
  95. package/lib/Middleware/Attachment/createCoreMiddleware.d.ts +3 -0
  96. package/lib/Middleware/Attachment/createCoreMiddleware.d.ts.map +1 -0
  97. package/lib/Middleware/Attachment/createCoreMiddleware.js +10 -13
  98. package/lib/Middleware/AttachmentForScreenReader/AudioAttachment.js +1 -1
  99. package/lib/Middleware/AttachmentForScreenReader/FileAttachment.js +1 -1
  100. package/lib/Middleware/AttachmentForScreenReader/ImageAttachment.js +1 -1
  101. package/lib/Middleware/AttachmentForScreenReader/TextAttachment.js +1 -1
  102. package/lib/Middleware/AttachmentForScreenReader/VideoAttachment.js +1 -1
  103. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts +3 -0
  104. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -0
  105. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +9 -5
  106. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts +11 -0
  107. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -0
  108. package/lib/Middleware/Avatar/createCoreMiddleware.js +3 -4
  109. package/lib/Middleware/CardAction/createCoreMiddleware.js +11 -4
  110. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +1 -1
  111. package/lib/Middleware/ScrollToEndButton/ScrollToEndButton.js +71 -0
  112. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts +3 -0
  113. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -0
  114. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +27 -0
  115. package/lib/Middleware/Toast/createCoreMiddleware.d.ts +4 -0
  116. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -0
  117. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  118. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts +3 -0
  119. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -0
  120. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +9 -6
  121. package/lib/ReactWebChat.d.ts +10 -0
  122. package/lib/ReactWebChat.d.ts.map +1 -0
  123. package/lib/ReactWebChat.js +19 -7
  124. package/lib/ScreenReaderActivity.js +76 -48
  125. package/lib/ScreenReaderText.d.ts +9 -0
  126. package/lib/ScreenReaderText.d.ts.map +1 -0
  127. package/lib/ScreenReaderText.js +22 -8
  128. package/lib/SendBox/Assets/AttachmentIcon.js +3 -1
  129. package/lib/SendBox/Assets/MicrophoneIcon.js +3 -1
  130. package/lib/SendBox/Assets/SendIcon.js +2 -2
  131. package/lib/SendBox/AutoResizeTextArea.d.ts +23 -0
  132. package/lib/SendBox/AutoResizeTextArea.d.ts.map +1 -0
  133. package/lib/SendBox/AutoResizeTextArea.js +6 -6
  134. package/lib/SendBox/DictationInterims.d.ts +9 -0
  135. package/lib/SendBox/DictationInterims.d.ts.map +1 -0
  136. package/lib/SendBox/DictationInterims.js +3 -3
  137. package/lib/SendBox/IconButton.d.ts +11 -0
  138. package/lib/SendBox/IconButton.d.ts.map +1 -0
  139. package/lib/SendBox/IconButton.js +27 -7
  140. package/lib/SendBox/MicrophoneButton.d.ts +11 -0
  141. package/lib/SendBox/MicrophoneButton.d.ts.map +1 -0
  142. package/lib/SendBox/MicrophoneButton.js +25 -24
  143. package/lib/SendBox/SendButton.d.ts +9 -0
  144. package/lib/SendBox/SendButton.d.ts.map +1 -0
  145. package/lib/SendBox/SendButton.js +8 -6
  146. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  147. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  148. package/lib/SendBox/SuggestedAction.js +29 -24
  149. package/lib/SendBox/SuggestedActions.d.ts +5 -0
  150. package/lib/SendBox/SuggestedActions.d.ts.map +1 -0
  151. package/lib/SendBox/SuggestedActions.js +33 -13
  152. package/lib/SendBox/TextBox.d.ts +28 -0
  153. package/lib/SendBox/TextBox.d.ts.map +1 -0
  154. package/lib/SendBox/TextBox.js +13 -8
  155. package/lib/SendBox/UploadButton.d.ts +9 -0
  156. package/lib/SendBox/UploadButton.d.ts.map +1 -0
  157. package/lib/SendBox/UploadButton.js +6 -6
  158. package/lib/Styles/StyleSet/Activities.d.ts +5 -0
  159. package/lib/Styles/StyleSet/Activities.d.ts.map +1 -0
  160. package/lib/Styles/StyleSet/AudioAttachment.d.ts +6 -0
  161. package/lib/Styles/StyleSet/AudioAttachment.d.ts.map +1 -0
  162. package/lib/Styles/StyleSet/AudioContent.d.ts +4 -0
  163. package/lib/Styles/StyleSet/AudioContent.d.ts.map +1 -0
  164. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts +37 -0
  165. package/lib/Styles/StyleSet/AutoResizeTextArea.d.ts.map +1 -0
  166. package/lib/Styles/StyleSet/Avatar.d.ts +9 -0
  167. package/lib/Styles/StyleSet/Avatar.d.ts.map +1 -0
  168. package/lib/Styles/StyleSet/BasicTranscript.d.ts +85 -0
  169. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -0
  170. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  171. package/lib/Styles/StyleSet/Bubble.d.ts +5 -0
  172. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -0
  173. package/lib/Styles/StyleSet/Bubble.js +2 -2
  174. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts +5 -0
  175. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -0
  176. package/lib/Styles/StyleSet/CarouselFilmStrip.js +2 -18
  177. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts +3 -0
  178. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -0
  179. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +63 -0
  180. package/lib/Styles/StyleSet/CarouselFlipper.d.ts +27 -0
  181. package/lib/Styles/StyleSet/CarouselFlipper.d.ts.map +1 -0
  182. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts +13 -0
  183. package/lib/Styles/StyleSet/ConnectivityNotification.d.ts.map +1 -0
  184. package/lib/Styles/StyleSet/DictationInterims.d.ts +13 -0
  185. package/lib/Styles/StyleSet/DictationInterims.d.ts.map +1 -0
  186. package/lib/Styles/StyleSet/ErrorBox.d.ts +33 -0
  187. package/lib/Styles/StyleSet/ErrorBox.d.ts.map +1 -0
  188. package/lib/Styles/StyleSet/ErrorNotification.d.ts +23 -0
  189. package/lib/Styles/StyleSet/ErrorNotification.d.ts.map +1 -0
  190. package/lib/Styles/StyleSet/FileContent.d.ts +32 -0
  191. package/lib/Styles/StyleSet/FileContent.d.ts.map +1 -0
  192. package/lib/Styles/StyleSet/ImageAvatar.d.ts +7 -0
  193. package/lib/Styles/StyleSet/ImageAvatar.d.ts.map +1 -0
  194. package/lib/Styles/StyleSet/InitialsAvatar.d.ts +19 -0
  195. package/lib/Styles/StyleSet/InitialsAvatar.d.ts.map +1 -0
  196. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  197. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  198. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  199. package/lib/Styles/StyleSet/MicrophoneButton.d.ts +13 -0
  200. package/lib/Styles/StyleSet/MicrophoneButton.d.ts.map +1 -0
  201. package/lib/Styles/StyleSet/Root.d.ts +8 -0
  202. package/lib/Styles/StyleSet/Root.d.ts.map +1 -0
  203. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +36 -0
  204. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts.map +1 -0
  205. package/lib/Styles/StyleSet/ScrollToEndButton.js +36 -34
  206. package/lib/Styles/StyleSet/SendBox.d.ts +24 -0
  207. package/lib/Styles/StyleSet/SendBox.d.ts.map +1 -0
  208. package/lib/Styles/StyleSet/SendBoxButton.d.ts +79 -0
  209. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -0
  210. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  211. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +41 -0
  212. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -0
  213. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  214. package/lib/Styles/StyleSet/SendStatus.d.ts +8 -0
  215. package/lib/Styles/StyleSet/SendStatus.d.ts.map +1 -0
  216. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts +11 -0
  217. package/lib/Styles/StyleSet/SingleAttachmentActivity.d.ts.map +1 -0
  218. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts +15 -0
  219. package/lib/Styles/StyleSet/SpinnerAnimation.d.ts.map +1 -0
  220. package/lib/Styles/StyleSet/StackedLayout.d.ts +63 -0
  221. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -0
  222. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  223. package/lib/Styles/StyleSet/SuggestedAction.d.ts +94 -0
  224. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -0
  225. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  226. package/lib/Styles/StyleSet/SuggestedActions.d.ts +125 -0
  227. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -0
  228. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  229. package/lib/Styles/StyleSet/TextContent.d.ts +28 -0
  230. package/lib/Styles/StyleSet/TextContent.d.ts.map +1 -0
  231. package/lib/Styles/StyleSet/Toast.d.ts +65 -0
  232. package/lib/Styles/StyleSet/Toast.d.ts.map +1 -0
  233. package/lib/Styles/StyleSet/Toaster.d.ts +111 -0
  234. package/lib/Styles/StyleSet/Toaster.d.ts.map +1 -0
  235. package/lib/Styles/StyleSet/TypingAnimation.d.ts +8 -0
  236. package/lib/Styles/StyleSet/TypingAnimation.d.ts.map +1 -0
  237. package/lib/Styles/StyleSet/TypingIndicator.d.ts +11 -0
  238. package/lib/Styles/StyleSet/TypingIndicator.d.ts.map +1 -0
  239. package/lib/Styles/StyleSet/UploadButton.d.ts +14 -0
  240. package/lib/Styles/StyleSet/UploadButton.d.ts.map +1 -0
  241. package/lib/Styles/StyleSet/VideoAttachment.d.ts +2 -0
  242. package/lib/Styles/StyleSet/VideoAttachment.d.ts.map +1 -0
  243. package/lib/Styles/StyleSet/VideoContent.d.ts +6 -0
  244. package/lib/Styles/StyleSet/VideoContent.d.ts.map +1 -0
  245. package/lib/Styles/StyleSet/VimeoContent.d.ts +7 -0
  246. package/lib/Styles/StyleSet/VimeoContent.d.ts.map +1 -0
  247. package/lib/Styles/StyleSet/WarningNotification.d.ts +22 -0
  248. package/lib/Styles/StyleSet/WarningNotification.d.ts.map +1 -0
  249. package/lib/Styles/StyleSet/YouTubeContent.d.ts +7 -0
  250. package/lib/Styles/StyleSet/YouTubeContent.d.ts.map +1 -0
  251. package/lib/Styles/createStyleSet.d.ts +1372 -0
  252. package/lib/Styles/createStyleSet.d.ts.map +1 -0
  253. package/lib/Styles/createStyleSet.js +47 -41
  254. package/lib/Styles/mirrorStyle.js +13 -4
  255. package/lib/Toast/CollapseIcon.js +3 -1
  256. package/lib/Toast/DismissIcon.js +3 -1
  257. package/lib/Toast/ExpandIcon.js +3 -1
  258. package/lib/Toast/NotificationIcon.js +7 -3
  259. package/lib/Toast/createToastMiddleware.d.ts +4 -0
  260. package/lib/Toast/createToastMiddleware.d.ts.map +1 -0
  261. package/lib/Toast/createToastMiddleware.js +2 -2
  262. package/lib/Transcript/ActivityRow.d.ts +9 -0
  263. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  264. package/lib/Transcript/ActivityRow.js +157 -0
  265. package/lib/Transcript/ActivityTextAlt.js +57 -0
  266. package/lib/Transcript/FocusTrap.d.ts +8 -0
  267. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  268. package/lib/Transcript/FocusTrap.js +74 -0
  269. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  270. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  271. package/lib/Transcript/KeyboardHelp.js +550 -0
  272. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  273. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  274. package/lib/Transcript/LiveRegionTranscript.js +214 -0
  275. package/lib/Transcript/types.d.ts +2 -0
  276. package/lib/Transcript/types.d.ts.map +1 -0
  277. package/lib/Transcript/types.js +2 -0
  278. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  279. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  280. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  281. package/lib/Utils/AccessKeySink/Surface.js +7 -5
  282. package/lib/Utils/AccessibleButton.d.ts +11 -0
  283. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  284. package/lib/Utils/AccessibleButton.js +15 -8
  285. package/lib/Utils/AccessibleInputText.d.ts +21 -0
  286. package/lib/Utils/AccessibleInputText.d.ts.map +1 -0
  287. package/lib/Utils/AccessibleInputText.js +29 -25
  288. package/lib/Utils/AccessibleTextArea.d.ts +20 -0
  289. package/lib/Utils/AccessibleTextArea.d.ts.map +1 -0
  290. package/lib/Utils/AccessibleTextArea.js +35 -24
  291. package/lib/Utils/CroppedImage.js +2 -2
  292. package/lib/Utils/Fade.js +2 -2
  293. package/lib/Utils/FocusRedirector.d.ts +9 -0
  294. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  295. package/lib/Utils/FocusRedirector.js +18 -15
  296. package/lib/Utils/InlineMarkdown.js +17 -10
  297. package/lib/Utils/TypeFocusSink/FocusBox.js +6 -4
  298. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts +2 -0
  299. package/lib/Utils/TypeFocusSink/getTabIndex.d.ts.map +1 -0
  300. package/lib/Utils/TypeFocusSink/getTabIndex.js +1 -1
  301. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  302. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  303. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  304. package/lib/Utils/TypeFocusSink/navigableEvent.js +1 -1
  305. package/lib/Utils/activityAltText.d.ts +8 -0
  306. package/lib/Utils/activityAltText.d.ts.map +1 -0
  307. package/lib/Utils/activityAltText.js +100 -0
  308. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +1 -1
  309. package/lib/Utils/createCustomEvent.js +9 -3
  310. package/lib/Utils/debounce.js +1 -1
  311. package/lib/Utils/detectBrowser.js +4 -2
  312. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +3 -3
  313. package/lib/Utils/downscaleImageToDataURL/index.js +2 -2
  314. package/lib/Utils/filterMap.js +1 -1
  315. package/lib/Utils/findAncestor.js +17 -0
  316. package/lib/Utils/getActivityUniqueId.js +4 -2
  317. package/lib/Utils/intersectionOf.d.ts +5 -0
  318. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  319. package/lib/Utils/intersectionOf.js +17 -2
  320. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  321. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  322. package/lib/Utils/isZeroOrPositive.js +4 -1
  323. package/lib/Utils/mapMap.js +10 -3
  324. package/lib/Utils/readDataURIToBlob.js +3 -3
  325. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  326. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  327. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  328. package/lib/Utils/shallowEquals.js +7 -3
  329. package/lib/Utils/singleToArray.js +1 -1
  330. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  331. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  332. package/lib/Utils/supportPseudoClass.js +23 -0
  333. package/lib/Utils/tabbableElements.d.ts +2 -0
  334. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  335. package/lib/Utils/tabbableElements.js +2 -2
  336. package/lib/connectToWebChat.js +17 -7
  337. package/lib/hooks/index.d.ts +21 -0
  338. package/lib/hooks/index.d.ts.map +1 -0
  339. package/lib/hooks/index.js +25 -25
  340. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +100 -41
  341. package/lib/hooks/internal/UITracker.js +2 -2
  342. package/lib/hooks/internal/useChanged.js +8 -1
  343. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  344. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  345. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  346. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  347. package/lib/hooks/internal/useEnterKeyHint.js +1 -1
  348. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  349. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  350. package/lib/hooks/internal/useFocusVisible.js +48 -0
  351. package/lib/hooks/internal/useForceRender.js +2 -2
  352. package/lib/hooks/internal/useForceRenderAtInterval.js +2 -2
  353. package/lib/hooks/internal/useInternalRenderMarkdownInline.js +1 -1
  354. package/lib/hooks/internal/useLocalizeAccessKey.js +2 -2
  355. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  356. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  357. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  358. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  359. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  360. package/lib/hooks/internal/useMemoize.js +12 -3
  361. package/lib/hooks/internal/useNavigatorPlatform.js +1 -1
  362. package/lib/hooks/internal/useNonce.js +1 -1
  363. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  364. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  365. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  366. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  367. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  368. package/lib/hooks/internal/usePrevious.js +18 -0
  369. package/lib/hooks/internal/useRegisterFocusSendBox.js +1 -1
  370. package/lib/hooks/internal/useRegisterFocusTranscript.js +1 -1
  371. package/lib/hooks/internal/useRegisterScrollRelative.js +1 -1
  372. package/lib/hooks/internal/useRegisterScrollTo.js +1 -1
  373. package/lib/hooks/internal/useRegisterScrollToEnd.js +1 -1
  374. package/lib/hooks/internal/useReplaceEmoticon.js +2 -2
  375. package/lib/hooks/internal/useResumeAudioContext.js +33 -0
  376. package/lib/hooks/internal/useScrollRelative.js +1 -1
  377. package/lib/hooks/internal/useSettableDictateAbortable.js +1 -1
  378. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  379. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  380. package/lib/hooks/internal/useStateRef.js +40 -0
  381. package/lib/hooks/internal/useSuggestedActionsAccessKey.js +1 -1
  382. package/lib/hooks/internal/useUniqueId.d.ts +2 -0
  383. package/lib/hooks/internal/useUniqueId.d.ts.map +1 -0
  384. package/lib/hooks/internal/useUniqueId.js +1 -1
  385. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  386. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  387. package/lib/hooks/internal/useValueRef.js +25 -0
  388. package/lib/hooks/useDictateAbortable.d.ts +2 -0
  389. package/lib/hooks/useDictateAbortable.d.ts.map +1 -0
  390. package/lib/hooks/useDictateAbortable.js +2 -2
  391. package/lib/hooks/useFocus.d.ts +2 -0
  392. package/lib/hooks/useFocus.d.ts.map +1 -0
  393. package/lib/hooks/useFocus.js +1 -1
  394. package/lib/hooks/useFocusSendBox.d.ts +3 -0
  395. package/lib/hooks/useFocusSendBox.d.ts.map +1 -0
  396. package/lib/hooks/useFocusSendBox.js +2 -1
  397. package/lib/hooks/useObserveScrollPosition.d.ts +3 -0
  398. package/lib/hooks/useObserveScrollPosition.d.ts.map +1 -0
  399. package/lib/hooks/useObserveScrollPosition.js +2 -2
  400. package/lib/hooks/useObserveTranscriptFocus.d.ts +5 -0
  401. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -0
  402. package/lib/hooks/useObserveTranscriptFocus.js +2 -2
  403. package/lib/hooks/useRenderMarkdownAsHTML.d.ts +5 -0
  404. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -0
  405. package/lib/hooks/useRenderMarkdownAsHTML.js +2 -2
  406. package/lib/hooks/useScrollDown.d.ts +4 -0
  407. package/lib/hooks/useScrollDown.d.ts.map +1 -0
  408. package/lib/hooks/useScrollDown.js +1 -1
  409. package/lib/hooks/useScrollTo.d.ts +5 -0
  410. package/lib/hooks/useScrollTo.d.ts.map +1 -0
  411. package/lib/hooks/useScrollTo.js +1 -1
  412. package/lib/hooks/useScrollToEnd.d.ts +2 -0
  413. package/lib/hooks/useScrollToEnd.d.ts.map +1 -0
  414. package/lib/hooks/useScrollToEnd.js +1 -1
  415. package/lib/hooks/useScrollUp.d.ts +4 -0
  416. package/lib/hooks/useScrollUp.d.ts.map +1 -0
  417. package/lib/hooks/useScrollUp.js +1 -1
  418. package/lib/hooks/useSendFiles.d.ts +2 -0
  419. package/lib/hooks/useSendFiles.d.ts.map +1 -0
  420. package/lib/hooks/useSendFiles.js +3 -3
  421. package/lib/hooks/useStyleSet.d.ts +2 -0
  422. package/lib/hooks/useStyleSet.d.ts.map +1 -0
  423. package/lib/hooks/useStyleSet.js +1 -1
  424. package/lib/hooks/useWebSpeechPonyfill.d.ts +3 -0
  425. package/lib/hooks/useWebSpeechPonyfill.d.ts.map +1 -0
  426. package/lib/hooks/useWebSpeechPonyfill.js +1 -1
  427. package/lib/index.d.ts +219 -22
  428. package/lib/index.d.ts.map +1 -1
  429. package/lib/index.js +22 -20
  430. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  431. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  432. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  433. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  434. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  435. package/lib/providers/ActivityTree/private/Context.js +13 -0
  436. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  437. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  438. package/lib/providers/ActivityTree/private/types.js +2 -0
  439. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  440. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  441. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  442. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  443. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  444. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  445. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  446. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  447. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  448. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  449. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  450. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  451. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +35 -0
  452. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  453. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +156 -0
  454. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  455. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  456. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  457. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +11 -0
  458. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  459. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +86 -0
  460. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  461. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  462. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  463. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  464. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  465. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  466. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  467. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  468. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  469. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  470. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  471. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  472. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  473. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  474. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  475. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  476. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  477. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  478. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  479. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  480. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  481. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  482. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  483. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  484. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  485. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  486. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  487. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  488. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  489. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  490. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  491. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  492. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  493. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  494. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  495. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  496. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  497. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  498. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  499. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  500. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  501. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  502. package/lib/tsconfig.json +1 -1
  503. package/lib/types/ScrollPosition.d.ts +6 -0
  504. package/lib/types/ScrollPosition.d.ts.map +1 -0
  505. package/lib/types/ScrollPosition.js +2 -0
  506. package/package.json +33 -40
  507. package/src/Activity/{Avatar.js → Avatar.tsx} +9 -2
  508. package/src/Activity/{Bubble.js → Bubble.tsx} +10 -2
  509. package/src/Activity/CarouselFilmStrip.js +20 -29
  510. package/src/Activity/CarouselFilmStripAttachment.js +91 -0
  511. package/src/Activity/{Speak.js → Speak.tsx} +12 -5
  512. package/src/Activity/{StackedLayout.js → StackedLayout.tsx} +46 -20
  513. package/src/Attachment/Assets/DownloadIcon.js +8 -1
  514. package/src/Attachment/{AudioContent.js → AudioContent.tsx} +12 -3
  515. package/src/Attachment/FileAttachment.js +1 -1
  516. package/src/Attachment/{FileContent.js → FileContent.tsx} +22 -7
  517. package/src/Attachment/{HTMLVideoContent.js → HTMLVideoContent.tsx} +10 -2
  518. package/src/Attachment/{ImageContent.js → ImageContent.tsx} +7 -2
  519. package/src/Attachment/{TextContent.js → TextContent.tsx} +14 -7
  520. package/src/Attachment/{VideoContent.js → VideoContent.tsx} +10 -2
  521. package/src/Attachment/{VimeoContent.js → VimeoContent.tsx} +15 -8
  522. package/src/Attachment/{YouTubeContent.js → YouTubeContent.tsx} +12 -5
  523. package/src/{BasicSendBox.js → BasicSendBox.tsx} +9 -5
  524. package/src/BasicToaster.js +9 -5
  525. package/src/BasicTranscript.tsx +878 -0
  526. package/src/{BasicTypingIndicator.js → BasicTypingIndicator.tsx} +4 -3
  527. package/src/{BasicWebChat.js → BasicWebChat.tsx} +13 -4
  528. package/src/{Composer.js → Composer.tsx} +82 -71
  529. package/src/Dictation.js +13 -4
  530. package/src/{ErrorBox.js → ErrorBox.tsx} +7 -2
  531. package/src/Middleware/Activity/createCoreMiddleware.tsx +78 -0
  532. package/src/Middleware/ActivityStatus/SendStatus/{SendStatus.js → SendStatus.tsx} +8 -3
  533. package/src/Middleware/ActivityStatus/{Timestamp.js → Timestamp.tsx} +8 -2
  534. package/src/Middleware/ActivityStatus/{createCoreMiddleware.js → createCoreMiddleware.tsx} +3 -1
  535. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +10 -6
  536. package/src/Middleware/ActivityStatus/createTimestampMiddleware.js +10 -8
  537. package/src/Middleware/Attachment/createCoreMiddleware.tsx +44 -0
  538. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +40 -0
  539. package/src/Middleware/Avatar/{createCoreMiddleware.js → createCoreMiddleware.tsx} +19 -11
  540. package/src/Middleware/CardAction/createCoreMiddleware.js +51 -42
  541. package/src/Middleware/GroupActivities/createCoreMiddleware.js +6 -4
  542. package/src/Middleware/ScrollToEndButton/ScrollToEndButton.js +45 -0
  543. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +19 -0
  544. package/src/Middleware/Toast/createCoreMiddleware.tsx +24 -0
  545. package/src/Middleware/TypingIndicator/{createCoreMiddleware.js → createCoreMiddleware.tsx} +10 -5
  546. package/src/{ReactWebChat.js → ReactWebChat.tsx} +25 -7
  547. package/src/ScreenReaderActivity.js +65 -40
  548. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  549. package/src/SendBox/Assets/AttachmentIcon.js +1 -1
  550. package/src/SendBox/Assets/MicrophoneIcon.js +1 -1
  551. package/src/SendBox/{AutoResizeTextArea.js → AutoResizeTextArea.tsx} +30 -4
  552. package/src/SendBox/{DictationInterims.js → DictationInterims.tsx} +6 -2
  553. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  554. package/src/SendBox/{MicrophoneButton.js → MicrophoneButton.tsx} +35 -25
  555. package/src/SendBox/{SendButton.js → SendButton.tsx} +8 -3
  556. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +62 -39
  557. package/src/SendBox/{SuggestedActions.js → SuggestedActions.tsx} +70 -22
  558. package/src/SendBox/{TextBox.js → TextBox.tsx} +21 -7
  559. package/src/SendBox/{UploadButton.js → UploadButton.tsx} +7 -3
  560. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  561. package/src/Styles/StyleSet/Bubble.ts +0 -1
  562. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -30
  563. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +57 -0
  564. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  565. package/src/Styles/StyleSet/ScrollToEndButton.ts +33 -31
  566. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  567. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  568. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  569. package/src/Styles/StyleSet/SuggestedAction.ts +130 -43
  570. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  571. package/src/Styles/createStyleSet.ts +43 -40
  572. package/src/Styles/mirrorStyle.js +10 -2
  573. package/src/Toast/CollapseIcon.js +9 -1
  574. package/src/Toast/DismissIcon.js +9 -1
  575. package/src/Toast/ExpandIcon.js +9 -1
  576. package/src/Toast/NotificationIcon.js +4 -1
  577. package/src/Toast/createToastMiddleware.tsx +15 -0
  578. package/src/Transcript/ActivityRow.tsx +124 -0
  579. package/src/Transcript/ActivityTextAlt.tsx +32 -0
  580. package/src/Transcript/FocusTrap.tsx +64 -0
  581. package/src/Transcript/KeyboardHelp.tsx +282 -0
  582. package/src/Transcript/LiveRegionTranscript.tsx +181 -0
  583. package/src/Transcript/types.ts +1 -0
  584. package/src/Transcript/useActivityAccessibleName.ts +85 -0
  585. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  586. package/src/Utils/{AccessibleInputText.js → AccessibleInputText.tsx} +48 -5
  587. package/src/Utils/{AccessibleTextArea.js → AccessibleTextArea.tsx} +67 -6
  588. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  589. package/src/Utils/InlineMarkdown.js +18 -2
  590. package/src/Utils/TypeFocusSink/FocusBox.js +4 -4
  591. package/src/Utils/TypeFocusSink/getTabIndex.ts +1 -1
  592. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  593. package/src/Utils/activityAltText.ts +135 -0
  594. package/src/Utils/createCustomEvent.js +7 -1
  595. package/src/Utils/detectBrowser.js +2 -1
  596. package/src/Utils/findAncestor.ts +12 -0
  597. package/src/Utils/getActivityUniqueId.ts +5 -0
  598. package/src/Utils/intersectionOf.spec.js +2 -0
  599. package/src/Utils/intersectionOf.ts +14 -0
  600. package/src/Utils/isZeroOrPositive.ts +7 -0
  601. package/src/Utils/mapMap.js +7 -1
  602. package/src/Utils/mapMap.spec.js +2 -0
  603. package/src/Utils/removeInline.spec.js +2 -0
  604. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  605. package/src/Utils/shallowEquals.js +8 -1
  606. package/src/Utils/{singleToArray.js → singleToArray.ts} +1 -1
  607. package/src/Utils/supportPseudoClass.ts +17 -0
  608. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  609. package/src/Utils/walkMarkdownTokens.spec.js +3 -3
  610. package/src/connectToWebChat.js +11 -4
  611. package/src/hooks/{index.js → index.ts} +1 -0
  612. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +70 -17
  613. package/src/hooks/internal/useChanged.ts +17 -0
  614. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  615. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  616. package/src/hooks/internal/useFocusVisible.ts +22 -0
  617. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  618. package/src/hooks/internal/useMemoize.spec.js +3 -1
  619. package/src/hooks/internal/useMemoize.ts +53 -0
  620. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  621. package/src/hooks/internal/usePrevious.ts +12 -0
  622. package/src/hooks/internal/useResumeAudioContext.ts +7 -0
  623. package/src/hooks/internal/useScrollRelative.js +4 -3
  624. package/src/hooks/internal/useStateRef.ts +31 -0
  625. package/src/hooks/internal/{useUniqueId.js → useUniqueId.ts} +1 -1
  626. package/src/hooks/internal/useValueRef.ts +22 -0
  627. package/src/hooks/{useDictateAbortable.js → useDictateAbortable.ts} +1 -1
  628. package/src/hooks/{useFocus.js → useFocus.ts} +1 -1
  629. package/src/hooks/{useFocusSendBox.js → useFocusSendBox.ts} +2 -1
  630. package/src/hooks/{useObserveScrollPosition.js → useObserveScrollPosition.ts} +6 -1
  631. package/src/hooks/{useObserveTranscriptFocus.js → useObserveTranscriptFocus.ts} +6 -1
  632. package/src/hooks/useRenderMarkdownAsHTML.ts +23 -0
  633. package/src/hooks/{useScrollDown.js → useScrollDown.ts} +1 -1
  634. package/src/hooks/useScrollTo.ts +16 -0
  635. package/src/hooks/useScrollToEnd.ts +12 -0
  636. package/src/hooks/{useScrollUp.js → useScrollUp.ts} +1 -1
  637. package/src/hooks/{useSendFiles.js → useSendFiles.ts} +3 -2
  638. package/src/hooks/{useStyleSet.js → useStyleSet.ts} +1 -1
  639. package/src/hooks/useWebSpeechPonyfill.ts +7 -0
  640. package/src/index.ts +7 -12
  641. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  642. package/src/providers/ActivityTree/private/Context.ts +12 -0
  643. package/src/providers/ActivityTree/private/types.ts +12 -0
  644. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +66 -0
  645. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +140 -0
  646. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  647. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  648. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +154 -0
  649. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  650. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +64 -0
  651. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  652. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  653. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  654. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  655. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  656. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  657. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  658. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  659. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  660. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  661. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  662. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  663. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  664. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  665. package/src/tsconfig.json +1 -1
  666. package/src/types/ScrollPosition.ts +6 -0
  667. package/.eslintignore +0 -9
  668. package/lib/Activity/ScrollToEndButton.js +0 -81
  669. package/lib/Attachment/Assets/ErrorIcon.js +0 -22
  670. package/lib/Utils/findLastIndex.js +0 -32
  671. package/lib/Utils/remarkStripMarkdown.js +0 -26
  672. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  673. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  674. package/lib/hooks/internal/useStripMarkdown.js +0 -19
  675. package/src/Activity/ScrollToEndButton.js +0 -58
  676. package/src/Attachment/Assets/ErrorIcon.js +0 -9
  677. package/src/BasicTranscript.js +0 -1123
  678. package/src/Middleware/Activity/createCoreMiddleware.js +0 -71
  679. package/src/Middleware/Attachment/createCoreMiddleware.js +0 -43
  680. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +0 -37
  681. package/src/Middleware/Toast/createCoreMiddleware.js +0 -20
  682. package/src/Toast/createToastMiddleware.js +0 -11
  683. package/src/Utils/findLastIndex.js +0 -11
  684. package/src/Utils/findLastIndex.spec.js +0 -29
  685. package/src/Utils/getActivityUniqueId.js +0 -3
  686. package/src/Utils/intersectionOf.js +0 -11
  687. package/src/Utils/isZeroOrPositive.js +0 -4
  688. package/src/Utils/remarkStripMarkdown.js +0 -13
  689. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  690. package/src/hooks/internal/useChanged.js +0 -10
  691. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  692. package/src/hooks/internal/useMemoize.js +0 -37
  693. package/src/hooks/internal/useStripMarkdown.js +0 -7
  694. package/src/hooks/useRenderMarkdownAsHTML.js +0 -20
  695. package/src/hooks/useScrollTo.js +0 -11
  696. package/src/hooks/useScrollToEnd.js +0 -11
  697. package/src/hooks/useWebSpeechPonyfill.js +0 -5
  698. package/src/index.tsx +0 -35
@@ -25,13 +25,13 @@ var _useStyleSet3 = _interopRequireDefault(require("../hooks/useStyleSet"));
25
25
 
26
26
  var _useStyleToEmotionObject = _interopRequireDefault(require("../hooks/internal/useStyleToEmotionObject"));
27
27
 
28
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
29
 
30
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
35
 
36
36
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
37
 
@@ -45,7 +45,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
45
45
 
46
46
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
47
 
48
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
48
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
49
49
 
50
50
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
51
 
@@ -162,4 +162,4 @@ CarouselLayout.defaultProps = _objectSpread({}, CarouselLayoutCore.defaultProps)
162
162
  CarouselLayout.propTypes = _objectSpread({}, CarouselLayoutCore.propTypes);
163
163
  var _default = CarouselLayout;
164
164
  exports.default = _default;
165
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9DYXJvdXNlbExheW91dC5qcyJdLCJuYW1lcyI6WyJ1c2VEaXJlY3Rpb24iLCJob29rcyIsInVzZUxvY2FsaXplciIsIlJPT1RfU1RZTEUiLCJvdmVyZmxvdyIsInBvc2l0aW9uIiwiQ2Fyb3VzZWxMYXlvdXRDb3JlIiwiYWN0aXZpdHkiLCJoaWRlVGltZXN0YW1wIiwicmVuZGVyQWN0aXZpdHlTdGF0dXMiLCJyZW5kZXJBdHRhY2htZW50IiwicmVuZGVyQXZhdGFyIiwic2hvd0NhbGxvdXQiLCJjYXJvdXNlbEZsaXBwZXJTdHlsZVNldCIsImNhcm91c2VsRmxpcHBlciIsImZpbG1Sb290Q2xhc3NOYW1lIiwicm9vdCIsImRpcmVjdGlvbiIsInNjcm9sbEJhcldpZHRoIiwic2Nyb2xsaW5nIiwibGVmdFNpZGVGbGlwcGVyIiwibG9jYWxpemUiLCJyaWdodFNpZGVGbGlwcGVyIiwicm9vdENsYXNzTmFtZSIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXR0YWNobWVudHMiLCJhcnJheSIsImlzUmVxdWlyZWQiLCJib29sIiwib25lT2ZUeXBlIiwib25lT2YiLCJmdW5jIiwiQ2Fyb3VzZWxMYXlvdXQiLCJwcm9wcyIsIm5vbmNlIiwiZmlsbVN0eWxlU2V0IiwiY3Vyc29yIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFTQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFUUEsWSxHQUErQkMsNkIsQ0FBL0JELFk7SUFBY0UsWSxHQUFpQkQsNkIsQ0FBakJDLFk7QUFFdEIsSUFBTUMsVUFBVSxHQUFHO0FBQ2pCLGdDQUE4QjtBQUM1QkMsSUFBQUEsUUFBUSxFQUFFLFFBRGtCO0FBRTVCQyxJQUFBQSxRQUFRLEVBQUU7QUFGa0I7QUFEYixDQUFuQjs7QUFPQSxJQUFNQyxrQkFBa0Is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eyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQge1xuICBDb21wb3NlciBhcyBGaWxtQ29tcG9zZXIsXG4gIGNyZWF0ZUJhc2ljU3R5bGVTZXQgYXMgY3JlYXRlQmFzaWNTdHlsZVNldEZvclJlYWN0RmlsbSxcbiAgRmxpcHBlcixcbiAgdXNlU2Nyb2xsQmFyV2lkdGgsXG4gIHVzZVNjcm9sbGluZyxcbiAgdXNlU3R5bGVTZXRDbGFzc05hbWVzIGFzIHVzZVJlYWN0RmlsbVN0eWxlU2V0Q2xhc3NOYW1lc1xufSBmcm9tICdyZWFjdC1maWxtJztcblxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDYXJvdXNlbEZpbG1TdHJpcCBmcm9tICcuL0Nhcm91c2VsRmlsbVN0cmlwJztcbmltcG9ydCB1c2VOb25jZSBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VOb25jZSc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0IGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9FbW90aW9uT2JqZWN0JztcblxuY29uc3QgeyB1c2VEaXJlY3Rpb24sIHVzZUxvY2FsaXplciB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gICcmLndlYmNoYXRfX2Nhcm91c2VsLWxheW91dCc6IHtcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZSdcbiAgfVxufTtcblxuY29uc3QgQ2Fyb3VzZWxMYXlvdXRDb3JlID0gKHtcbiAgYWN0aXZpdHksXG4gIGhpZGVUaW1lc3RhbXAsXG4gIHJlbmRlckFjdGl2aXR5U3RhdHVzLFxuICByZW5kZXJBdHRhY2htZW50LFxuICByZW5kZXJBdmF0YXIsXG4gIHNob3dDYWxsb3V0XG59KSA9PiB7XG4gIGNvbnN0IFt7IGNhcm91c2VsRmxpcHBlcjogY2Fyb3VzZWxGbGlwcGVyU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBbeyByb290OiBmaWxtUm9vdENsYXNzTmFtZSB9XSA9IHVzZVJlYWN0RmlsbVN0eWxlU2V0Q2xhc3NOYW1lcygpO1xuICBjb25zdCBbZGlyZWN0aW9uXSA9IHVzZURpcmVjdGlvbigpO1xuICBjb25zdCBbc2Nyb2xsQmFyV2lkdGhdID0gdXNlU2Nyb2xsQmFyV2lkdGgoKTtcbiAgY29uc3QgW3Njcm9sbGluZ10gPSB1c2VTY3JvbGxpbmcoKTtcbiAgY29uc3QgbGVmdFNpZGVGbGlwcGVyID0gZGlyZWN0aW9uID09PSAncnRsJyA/ICc+JyA6ICc8JztcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcmlnaHRTaWRlRmxpcHBlciA9IGRpcmVjdGlvbiA9PT0gJ3J0bCcgPyAnPCcgOiAnPic7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX2Nhcm91c2VsLWxheW91dCcsIHJvb3RDbGFzc05hbWUsIGNhcm91c2VsRmxpcHBlclN0eWxlU2V0ICsgJycsIGZpbG1Sb290Q2xhc3NOYW1lKX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcygncmVhY3QtZmlsbV9fbWFpbicsIHsgJ3JlYWN0LWZpbG1fX21haW4tLXNjcm9sbGluZyc6IHNjcm9sbGluZyB9KX0+XG4gICAgICAgIDxDYXJvdXNlbEZpbG1TdHJpcFxuICAgICAgICAgIGFjdGl2aXR5PXthY3Rpdml0eX1cbiAgICAgICAgICBoaWRlVGltZXN0YW1wPXtoaWRlVGltZXN0YW1wfVxuICAgICAgICAgIHJlbmRlckFjdGl2aXR5U3RhdHVzPXtyZW5kZXJBY3Rpdml0eVN0YXR1c31cbiAgICAgICAgICByZW5kZXJBdHRhY2htZW50PXtyZW5kZXJBdHRhY2htZW50fVxuICAgICAgICAgIHJlbmRlckF2YXRhcj17cmVuZGVyQXZhdGFyfVxuICAgICAgICAgIHNob3dDYWxsb3V0PXtzaG93Q2FsbG91dH1cbiAgICAgICAgLz5cbiAgICAgICAge3Njcm9sbEJhcldpZHRoICE9PSAnMTAwJScgJiYgKFxuICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxGbGlwcGVyIGFyaWEtbGFiZWw9e2xvY2FsaXplKCdDQVJPVVNFTF9GTElQUEVSX0xFRlRfQUxUJyl9IGJsdXJGb2N1c09uQ2xpY2s9e3RydWV9IG1vZGU9XCJsZWZ0XCI+XG4gICAgICAgICAgICAgIHtsZWZ0U2lkZUZsaXBwZXJ9XG4gICAgICAgICAgICA8L0ZsaXBwZXI+XG4gICAgICAgICAgICA8RmxpcHBlciBhcmlhLWxhYmVsPXtsb2NhbGl6ZSgnQ0FST1VTRUxfRkxJUFBFUl9SSUdIVF9BTFQnKX0gYmx1ckZvY3VzT25DbGljaz17dHJ1ZX0gbW9kZT1cInJpZ2h0XCI+XG4gICAgICAgICAgICAgIHtyaWdodFNpZGVGbGlwcGVyfVxuICAgICAgICAgICAgPC9GbGlwcGVyPlxuICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkNhcm91c2VsTGF5b3V0Q29yZS5kZWZhdWx0UHJvcHMgPSB7XG4gIGhpZGVUaW1lc3RhbXA6IGZhbHNlLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1czogZmFsc2UsXG4gIHJlbmRlckF2YXRhcjogZmFsc2UsXG4gIHNob3dDYWxsb3V0OiB0cnVlXG59O1xuXG5DYXJvdXNlbExheW91dENvcmUucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50czogUHJvcFR5cGVzLmFycmF5XG4gIH0pLmlzUmVxdWlyZWQsXG4gIGhpZGVUaW1lc3RhbXA6IFByb3BUeXBlcy5ib29sLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1czogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuZnVuY10pLFxuICByZW5kZXJBdHRhY2htZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICByZW5kZXJBdmF0YXI6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vbmVPZihbZmFsc2VdKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgc2hvd0NhbGxvdXQ6IFByb3BUeXBlcy5ib29sXG59O1xuXG5jb25zdCBDYXJvdXNlbExheW91dCA9IHByb3BzID0+IHtcbiAgY29uc3QgeyBhY3Rpdml0eTogeyBhdHRhY2htZW50cyA9IFtdIH0gPSB7fSB9ID0gcHJvcHM7XG4gIGNvbnN0IFtkaXJlY3Rpb25dID0gdXNlRGlyZWN0aW9uKCk7XG4gIGNvbnN0IFtub25jZV0gPSB1c2VOb25jZSgpO1xuICBjb25zdCBmaWxtU3R5bGVTZXQgPSB1c2VNZW1vKCgpID0+IGNyZWF0ZUJhc2ljU3R5bGVTZXRGb3JSZWFjdEZpbG0oeyBjdXJzb3I6IG51bGwgfSksIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWxtQ29tcG9zZXIgZGlyPXtkaXJlY3Rpb259IG5vbmNlPXtub25jZX0gbnVtSXRlbXM9e2F0dGFjaG1lbnRzLmxlbmd0aH0gc3R5bGVTZXQ9e2ZpbG1TdHlsZVNldH0+XG4gICAgICA8Q2Fyb3VzZWxMYXlvdXRDb3JlIHsuLi5wcm9wc30gLz5cbiAgICA8L0ZpbG1Db21wb3Nlcj5cbiAgKTtcbn07XG5cbkNhcm91c2VsTGF5b3V0LmRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uQ2Fyb3VzZWxMYXlvdXRDb3JlLmRlZmF1bHRQcm9wc1xufTtcblxuQ2Fyb3VzZWxMYXlvdXQucHJvcFR5cGVzID0ge1xuICAuLi5DYXJvdXNlbExheW91dENvcmUucHJvcFR5cGVzXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDYXJvdXNlbExheW91dDtcbiJdfQ==
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9DYXJvdXNlbExheW91dC5qcyJdLCJuYW1lcyI6WyJ1c2VEaXJlY3Rpb24iLCJob29rcyIsInVzZUxvY2FsaXplciIsIlJPT1RfU1RZTEUiLCJvdmVyZmxvdyIsInBvc2l0aW9uIiwiQ2Fyb3VzZWxMYXlvdXRDb3JlIiwiYWN0aXZpdHkiLCJoaWRlVGltZXN0YW1wIiwicmVuZGVyQWN0aXZpdHlTdGF0dXMiLCJyZW5kZXJBdHRhY2htZW50IiwicmVuZGVyQXZhdGFyIiwic2hvd0NhbGxvdXQiLCJjYXJvdXNlbEZsaXBwZXJTdHlsZVNldCIsImNhcm91c2VsRmxpcHBlciIsImZpbG1Sb290Q2xhc3NOYW1lIiwicm9vdCIsImRpcmVjdGlvbiIsInNjcm9sbEJhcldpZHRoIiwic2Nyb2xsaW5nIiwibGVmdFNpZGVGbGlwcGVyIiwibG9jYWxpemUiLCJyaWdodFNpZGVGbGlwcGVyIiwicm9vdENsYXNzTmFtZSIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXR0YWNobWVudHMiLCJhcnJheSIsImlzUmVxdWlyZWQiLCJib29sIiwib25lT2ZUeXBlIiwib25lT2YiLCJmdW5jIiwiQ2Fyb3VzZWxMYXlvdXQiLCJwcm9wcyIsIm5vbmNlIiwiZmlsbVN0eWxlU2V0IiwiY3Vyc29yIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFTQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxZQUFSLEdBQXVDQyw2QkFBdkMsQ0FBUUQsWUFBUjtBQUFBLElBQXNCRSxZQUF0QixHQUF1Q0QsNkJBQXZDLENBQXNCQyxZQUF0QjtBQUVBLElBQU1DLFVBQVUsR0FBRztBQUNqQixnQ0FBOEI7QUFDNUJDLElBQUFBLFFBQVEsRUFBRSxRQURrQjtBQUU1QkMsSUFBQUEsUUFBUSxFQUFFO0FBRmtC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b25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IHtcbiAgQ29tcG9zZXIgYXMgRmlsbUNvbXBvc2VyLFxuICBjcmVhdGVCYXNpY1N0eWxlU2V0IGFzIGNyZWF0ZUJhc2ljU3R5bGVTZXRGb3JSZWFjdEZpbG0sXG4gIEZsaXBwZXIsXG4gIHVzZVNjcm9sbEJhcldpZHRoLFxuICB1c2VTY3JvbGxpbmcsXG4gIHVzZVN0eWxlU2V0Q2xhc3NOYW1lcyBhcyB1c2VSZWFjdEZpbG1TdHlsZVNldENsYXNzTmFtZXNcbn0gZnJvbSAncmVhY3QtZmlsbSc7XG5cbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQ2Fyb3VzZWxGaWxtU3RyaXAgZnJvbSAnLi9DYXJvdXNlbEZpbG1TdHJpcCc7XG5pbXBvcnQgdXNlTm9uY2UgZnJvbSAnLi4vaG9va3MvaW50ZXJuYWwvdXNlTm9uY2UnO1xuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcbmltcG9ydCB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmNvbnN0IHsgdXNlRGlyZWN0aW9uLCB1c2VMb2NhbGl6ZXIgfSA9IGhvb2tzO1xuXG5jb25zdCBST09UX1NUWUxFID0ge1xuICAnJi53ZWJjaGF0X19jYXJvdXNlbC1sYXlvdXQnOiB7XG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH1cbn07XG5cbmNvbnN0IENhcm91c2VsTGF5b3V0Q29yZSA9ICh7XG4gIGFjdGl2aXR5LFxuICBoaWRlVGltZXN0YW1wLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1cyxcbiAgcmVuZGVyQXR0YWNobWVudCxcbiAgcmVuZGVyQXZhdGFyLFxuICBzaG93Q2FsbG91dFxufSkgPT4ge1xuICBjb25zdCBbeyBjYXJvdXNlbEZsaXBwZXI6IGNhcm91c2VsRmxpcHBlclN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW3sgcm9vdDogZmlsbVJvb3RDbGFzc05hbWUgfV0gPSB1c2VSZWFjdEZpbG1TdHlsZVNldENsYXNzTmFtZXMoKTtcbiAgY29uc3QgW2RpcmVjdGlvbl0gPSB1c2VEaXJlY3Rpb24oKTtcbiAgY29uc3QgW3Njcm9sbEJhcldpZHRoXSA9IHVzZVNjcm9sbEJhcldpZHRoKCk7XG4gIGNvbnN0IFtzY3JvbGxpbmddID0gdXNlU2Nyb2xsaW5nKCk7XG4gIGNvbnN0IGxlZnRTaWRlRmxpcHBlciA9IGRpcmVjdGlvbiA9PT0gJ3J0bCcgPyAnPicgOiAnPCc7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHJpZ2h0U2lkZUZsaXBwZXIgPSBkaXJlY3Rpb24gPT09ICdydGwnID8gJzwnIDogJz4nO1xuICBjb25zdCByb290Q2xhc3NOYW1lID0gdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QoKShST09UX1NUWUxFKSArICcnO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19jYXJvdXNlbC1sYXlvdXQnLCByb290Q2xhc3NOYW1lLCBjYXJvdXNlbEZsaXBwZXJTdHlsZVNldCArICcnLCBmaWxtUm9vdENsYXNzTmFtZSl9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3JlYWN0LWZpbG1fX21haW4nLCB7ICdyZWFjdC1maWxtX19tYWluLS1zY3JvbGxpbmcnOiBzY3JvbGxpbmcgfSl9PlxuICAgICAgICA8Q2Fyb3VzZWxGaWxtU3RyaXBcbiAgICAgICAgICBhY3Rpdml0eT17YWN0aXZpdHl9XG4gICAgICAgICAgaGlkZVRpbWVzdGFtcD17aGlkZVRpbWVzdGFtcH1cbiAgICAgICAgICByZW5kZXJBY3Rpdml0eVN0YXR1cz17cmVuZGVyQWN0aXZpdHlTdGF0dXN9XG4gICAgICAgICAgcmVuZGVyQXR0YWNobWVudD17cmVuZGVyQXR0YWNobWVudH1cbiAgICAgICAgICByZW5kZXJBdmF0YXI9e3JlbmRlckF2YXRhcn1cbiAgICAgICAgICBzaG93Q2FsbG91dD17c2hvd0NhbGxvdXR9XG4gICAgICAgIC8+XG4gICAgICAgIHtzY3JvbGxCYXJXaWR0aCAhPT0gJzEwMCUnICYmIChcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICA8RmxpcHBlciBhcmlhLWxhYmVsPXtsb2NhbGl6ZSgnQ0FST1VTRUxfRkxJUFBFUl9MRUZUX0FMVCcpfSBibHVyRm9jdXNPbkNsaWNrPXt0cnVlfSBtb2RlPVwibGVmdFwiPlxuICAgICAgICAgICAgICB7bGVmdFNpZGVGbGlwcGVyfVxuICAgICAgICAgICAgPC9GbGlwcGVyPlxuICAgICAgICAgICAgPEZsaXBwZXIgYXJpYS1sYWJlbD17bG9jYWxpemUoJ0NBUk9VU0VMX0ZMSVBQRVJfUklHSFRfQUxUJyl9IGJsdXJGb2N1c09uQ2xpY2s9e3RydWV9IG1vZGU9XCJyaWdodFwiPlxuICAgICAgICAgICAgICB7cmlnaHRTaWRlRmxpcHBlcn1cbiAgICAgICAgICAgIDwvRmxpcHBlcj5cbiAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5DYXJvdXNlbExheW91dENvcmUuZGVmYXVsdFByb3BzID0ge1xuICBoaWRlVGltZXN0YW1wOiBmYWxzZSxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IGZhbHNlLFxuICByZW5kZXJBdmF0YXI6IGZhbHNlLFxuICBzaG93Q2FsbG91dDogdHJ1ZVxufTtcblxuQ2Fyb3VzZWxMYXlvdXRDb3JlLnByb3BUeXBlcyA9IHtcbiAgYWN0aXZpdHk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgYXR0YWNobWVudHM6IFByb3BUeXBlcy5hcnJheVxuICB9KS5pc1JlcXVpcmVkLFxuICBoaWRlVGltZXN0YW1wOiBQcm9wVHlwZXMuYm9vbCxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vbmVPZihbZmFsc2VdKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgcmVuZGVyQXR0YWNobWVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgcmVuZGVyQXZhdGFyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoW2ZhbHNlXSksIFByb3BUeXBlcy5mdW5jXSksXG4gIHNob3dDYWxsb3V0OiBQcm9wVHlwZXMuYm9vbFxufTtcblxuY29uc3QgQ2Fyb3VzZWxMYXlvdXQgPSBwcm9wcyA9PiB7XG4gIGNvbnN0IHsgYWN0aXZpdHk6IHsgYXR0YWNobWVudHMgPSBbXSB9ID0ge30gfSA9IHByb3BzO1xuICBjb25zdCBbZGlyZWN0aW9uXSA9IHVzZURpcmVjdGlvbigpO1xuICBjb25zdCBbbm9uY2VdID0gdXNlTm9uY2UoKTtcbiAgY29uc3QgZmlsbVN0eWxlU2V0ID0gdXNlTWVtbygoKSA9PiBjcmVhdGVCYXNpY1N0eWxlU2V0Rm9yUmVhY3RGaWxtKHsgY3Vyc29yOiBudWxsIH0pLCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlsbUNvbXBvc2VyIGRpcj17ZGlyZWN0aW9ufSBub25jZT17bm9uY2V9IG51bUl0ZW1zPXthdHRhY2htZW50cy5sZW5ndGh9IHN0eWxlU2V0PXtmaWxtU3R5bGVTZXR9PlxuICAgICAgPENhcm91c2VsTGF5b3V0Q29yZSB7Li4ucHJvcHN9IC8+XG4gICAgPC9GaWxtQ29tcG9zZXI+XG4gICk7XG59O1xuXG5DYXJvdXNlbExheW91dC5kZWZhdWx0UHJvcHMgPSB7XG4gIC4uLkNhcm91c2VsTGF5b3V0Q29yZS5kZWZhdWx0UHJvcHNcbn07XG5cbkNhcm91c2VsTGF5b3V0LnByb3BUeXBlcyA9IHtcbiAgLi4uQ2Fyb3VzZWxMYXlvdXRDb3JlLnByb3BUeXBlc1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQ2Fyb3VzZWxMYXlvdXQ7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+ import { FC } from 'react';
3
+ declare const connectSpeakActivity: (...selectors: any[]) => any;
4
+ declare type SpeakProps = {
5
+ activity: DirectLineActivity;
6
+ };
7
+ declare const Speak: FC<SpeakProps>;
8
+ export default Speak;
9
+ export { connectSpeakActivity };
10
+ //# sourceMappingURL=Speak.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Speak.d.ts","sourceRoot":"","sources":["../../src/Activity/Speak.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAc,EAAE,EAAE,EAAwB,MAAM,OAAO,CAAC;AAYxD,QAAA,MAAM,oBAAoB,8BAQvB,CAAC;AAEJ,aAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAyCzB,CAAC;AAoBF,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.connectSpeakActivity = exports.default = void 0;
8
+ exports.default = exports.connectSpeakActivity = void 0;
9
9
 
10
10
  var _botframeworkWebchatApi = require("botframework-webchat-api");
11
11
 
@@ -19,9 +19,9 @@ var _connectToWebChat = _interopRequireDefault(require("../connectToWebChat"));
19
19
 
20
20
  var _SayAlt = _interopRequireDefault(require("./SayAlt"));
21
21
 
22
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
23
 
24
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
27
 
@@ -29,7 +29,7 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
29
29
 
30
30
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31
31
 
32
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
32
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
33
33
 
34
34
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
35
35
 
@@ -41,7 +41,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
41
41
 
42
42
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
43
43
 
44
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
44
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
45
45
 
46
46
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
47
 
@@ -95,11 +95,10 @@ var Speak = function Speak(_ref3) {
95
95
  return !!activity && [speak || text].concat(_toConsumableArray(attachments.filter(function (_ref4) {
96
96
  var contentType = _ref4.contentType;
97
97
  return contentType === 'application/vnd.microsoft.card.adaptive';
98
- }).map(function (_ref5) {
99
- var _ref5$content = _ref5.content;
100
- _ref5$content = _ref5$content === void 0 ? {} : _ref5$content;
101
- var speak = _ref5$content.speak;
102
- return speak;
98
+ }).map(function (attachment) {
99
+ var _attachment$content;
100
+
101
+ return attachment === null || attachment === void 0 ? void 0 : (_attachment$content = attachment.content) === null || _attachment$content === void 0 ? void 0 : _attachment$content.speak;
103
102
  }))).filter(function (line) {
104
103
  return line;
105
104
  }).join('\r\n');
@@ -117,8 +116,7 @@ var Speak = function Speak(_ref3) {
117
116
  text: singleLine,
118
117
  voice: selectVoice
119
118
  }), !!showSpokenText && /*#__PURE__*/_react.default.createElement(_SayAlt.default, {
120
- speak: singleLine,
121
- voice: selectVoice
119
+ speak: singleLine
122
120
  }));
123
121
  };
124
122
 
@@ -139,4 +137,4 @@ Speak.propTypes = {
139
137
  };
140
138
  var _default = Speak;
141
139
  exports.default = _default;
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TcGVhay5qcyJdLCJuYW1lcyI6WyJ1c2VNYXJrQWN0aXZpdHlBc1Nwb2tlbiIsImhvb2tzIiwidXNlU3R5bGVPcHRpb25zIiwidXNlVm9pY2VTZWxlY3RvciIsImNvbm5lY3RTcGVha0FjdGl2aXR5Iiwic2VsZWN0b3JzIiwiY29ubmVjdFRvV2ViQ2hhdCIsImxhbmd1YWdlIiwibWFya0FjdGl2aXR5Iiwic2VsZWN0Vm9pY2UiLCJhY3Rpdml0eSIsIm1hcmtBc1Nwb2tlbiIsInZvaWNlcyIsIlNwZWFrIiwic2hvd1Nwb2tlblRleHQiLCJtYXJrQWN0aXZpdHlBc1Nwb2tlbiIsInNpbmdsZUxpbmUiLCJhdHRhY2htZW50cyIsInNwZWFrIiwidGV4dCIsImZpbHRlciIsImNvbnRlbnRUeXBlIiwibWFwIiwiY29udGVudCIsImxpbmUiLCJqb2luIiwiY2hhbm5lbERhdGEiLCJzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5T2YiLCJzdHJpbmciLCJzdWJ0aXRsZSIsInRpdGxlIiwiYW55IiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFUUEsdUIsR0FBK0RDLDZCLENBQS9ERCx1QjtJQUF5QkUsZSxHQUFzQ0QsNkIsQ0FBdENDLGU7SUFBaUJDLGdCLEdBQXFCRiw2QixDQUFyQkUsZ0IsRUFFbEQ7QUFDQTtBQUVBOztBQUNBLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUI7QUFBQSxvQ0FBSUMsU0FBSjtBQUFJQSxJQUFBQSxTQUFKO0FBQUE7O0FBQUEsU0FDM0JDLHlDQUNFO0FBQUEsUUFBR0MsUUFBSCxRQUFHQSxRQUFIO0FBQUEsUUFBYUMsWUFBYixRQUFhQSxZQUFiO0FBQUEsUUFBMkJDLFlBQTNCLFFBQTJCQSxX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QkFBVUUsT0FBVixDQUNYRixtQkFBVUMsS0FBVixDQUFnQjtBQUNkWixNQUFBQSxLQUFLLEVBQUVXLG1CQUFVRyxNQURIO0FBRWRDLE1BQUFBLFFBQVEsRUFBRUosbUJBQVVHLE1BRk47QUFHZGIsTUFBQUEsSUFBSSxFQUFFVSxtQkFBVUcsTUFIRjtBQUlkRSxNQUFBQSxLQUFLLEVBQUVMLG1CQUFVRztBQUpILEtBQWhCLENBRFcsQ0FEVztBQVN4Qk4sSUFBQUEsV0FBVyxFQUFFRyxtQkFBVUMsS0FBVixDQUFnQjtBQUMzQkgsTUFBQUEsd0JBQXdCLEVBQUVFLG1CQUFVTTtBQURULEtBQWhCLENBVFc7QUFZeEJqQixJQUFBQSxLQUFLLEVBQUVXLG1CQUFVRyxNQVpPO0FBYXhCYixJQUFBQSxJQUFJLEVBQUVVLG1CQUFVRztBQWJRLEdBQWhCLEVBY1BJO0FBZmEsQ0FBbEI7ZUFrQmV2QixLIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFNheSwgeyBTYXlVdHRlcmFuY2UgfSBmcm9tICdyZWFjdC1zYXknO1xuXG5pbXBvcnQgY29ubmVjdFRvV2ViQ2hhdCBmcm9tICcuLi9jb25uZWN0VG9XZWJDaGF0JztcbmltcG9ydCBTYXlBbHQgZnJvbSAnLi9TYXlBbHQnO1xuXG5jb25zdCB7IHVzZU1hcmtBY3Rpdml0eUFzU3Bva2VuLCB1c2VTdHlsZU9wdGlvbnMsIHVzZVZvaWNlU2VsZWN0b3IgfSA9IGhvb2tzO1xuXG4vLyBUT0RPOiBbUDRdIENvbnNpZGVyIG1vdmluZyB0aGlzIGZlYXR1cmUgaW50byBCYXNpY0FjdGl2aXR5XG4vLyAgICAgICBBbmQgaXQgaGFzIGJldHRlciBET00gcG9zaXRpb24gZm9yIHNob3dpbmcgdmlzdWFsIHNwb2tlbiB0ZXh0XG5cbi8vIFRPRE86IFtQM10gV2Ugc2hvdWxkIGFkZCBhIFwic3Bva2VuXCIgb3IgXCJzcGVha1N0YXRlXCIgZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoaXMgYWN0aXZpdHkgaXMgZ29pbmcgdG8gc3BlYWssIG9yIHNwb2tlblxuY29uc3QgY29ubmVjdFNwZWFrQWN0aXZpdHkgPSAoLi4uc2VsZWN0b3JzKSA9PlxuICBjb25uZWN0VG9XZWJDaGF0KFxuICAgICh7IGxhbmd1YWdlLCBtYXJrQWN0aXZpdHksIHNlbGVjdFZvaWNlIH0sIHsgYWN0aXZpdHkgfSkgPT4gKHtcbiAgICAgIGxhbmd1YWdlLFxuICAgICAgbWFya0FzU3Bva2VuOiAoKSA9PiBtYXJrQWN0aXZpdHkoYWN0aXZpdHksICdzcGVhaycsIGZhbHNlKSxcbiAgICAgIHNlbGVjdFZvaWNlOiB2b2ljZXMgPT4gc2VsZWN0Vm9pY2Uodm9pY2VzLCBhY3Rpdml0eSlcbiAgICB9KSxcbiAgICAuLi5zZWxlY3RvcnNcbiAgKTtcblxuY29uc3QgU3BlYWsgPSAoeyBhY3Rpdml0eSB9KSA9PiB7XG4gIGNvbnN0IFt7IHNob3dTcG9rZW5UZXh0IH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IG1hcmtBY3Rpdml0eUFzU3Bva2VuID0gdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4oKTtcbiAgY29uc3Qgc2VsZWN0Vm9pY2UgPSB1c2VWb2ljZVNlbGVjdG9yKGFjdGl2aXR5KTtcblxuICBjb25zdCBtYXJrQXNTcG9rZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbWFya0FjdGl2aXR5QXNTcG9rZW4oYWN0aXZpdHkpO1xuICB9LCBbYWN0aXZpdHksIG1hcmtBY3Rpdml0eUFzU3Bva2VuXSk7XG5cbiAgY29uc3Qgc2luZ2xlTGluZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgYXR0YWNobWVudHMgPSBbXSwgc3BlYWssIHRleHQgfSA9IGFjdGl2aXR5O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICEhYWN0aXZpdHkgJiZcbiAgICAgIFtcbiAgICAgICAgc3BlYWsgfHwgdGV4dCxcbiAgICAgICAgLi4uYXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKCh7IGNvbnRlbnRUeXBlIH0pID0+IGNvbnRlbnRUeXBlID09PSAnYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5jYXJkLmFkYXB0aXZlJylcbiAgICAgICAgICAubWFwKCh7IGNvbnRlbnQ6IHsgc3BlYWsgfSA9IHt9IH0pID0+IHNwZWFrKVxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKGxpbmUgPT4gbGluZSlcbiAgICAgICAgLmpvaW4oJ1xcclxcbicpXG4gICAgKTtcbiAgfSwgW2FjdGl2aXR5XSk7XG5cbiAgY29uc3QgeyBjaGFubmVsRGF0YTogeyBzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgfSA9IHt9IH0gPSBhY3Rpdml0eTtcblxuICByZXR1cm4gKFxuICAgICEhYWN0aXZpdHkgJiYgKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7c3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlID8gKFxuICAgICAgICAgIDxTYXlVdHRlcmFuY2Ugb25FbmQ9e21hcmtBc1Nwb2tlbn0gb25FcnJvcj17bWFya0FzU3Bva2VufSB1dHRlcmFuY2U9e3NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZX0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U2F5IG9uRW5kPXttYXJrQXNTcG9rZW59IG9uRXJyb3I9e21hcmtBc1Nwb2tlbn0gdGV4dD17c2luZ2xlTGluZX0gdm9pY2U9e3NlbGVjdFZvaWNlfSAvPlxuICAgICAgICApfVxuICAgICAgICB7ISFzaG93U3Bva2VuVGV4dCAmJiA8U2F5QWx0IHNwZWFrPXtzaW5nbGVMaW5lfSB2b2ljZT17c2VsZWN0Vm9pY2V9IC8+fVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApXG4gICk7XG59O1xuXG5TcGVhay5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGF0dGFjaG1lbnRzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIHNwZWFrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgIH0pXG4gICAgKSxcbiAgICBjaGFubmVsRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTogUHJvcFR5cGVzLmFueVxuICAgIH0pLFxuICAgIHNwZWFrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgU3BlYWs7XG5cbmV4cG9ydCB7IGNvbm5lY3RTcGVha0FjdGl2aXR5IH07XG4iXX0=
140
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TcGVhay50c3giXSwibmFtZXMiOlsidXNlTWFya0FjdGl2aXR5QXNTcG9rZW4iLCJob29rcyIsInVzZVN0eWxlT3B0aW9ucyIsInVzZVZvaWNlU2VsZWN0b3IiLCJjb25uZWN0U3BlYWtBY3Rpdml0eSIsInNlbGVjdG9ycyIsImNvbm5lY3RUb1dlYkNoYXQiLCJsYW5ndWFnZSIsIm1hcmtBY3Rpdml0eSIsInNlbGVjdFZvaWNlIiwiYWN0aXZpdHkiLCJtYXJrQXNTcG9rZW4iLCJ2b2ljZXMiLCJTcGVhayIsInNob3dTcG9rZW5UZXh0IiwibWFya0FjdGl2aXR5QXNTcG9rZW4iLCJzaW5nbGVMaW5lIiwiYXR0YWNobWVudHMiLCJzcGVhayIsInRleHQiLCJmaWx0ZXIiLCJjb250ZW50VHlwZSIsIm1hcCIsImF0dGFjaG1lbnQiLCJjb250ZW50IiwibGluZSIsImpvaW4iLCJjaGFubmVsRGF0YSIsInNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXlPZiIsInN0cmluZyIsInN1YnRpdGxlIiwidGl0bGUiLCJhbnkiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLHVCQUFSLEdBQXVFQyw2QkFBdkUsQ0FBUUQsdUJBQVI7QUFBQSxJQUFpQ0UsZUFBakMsR0FBdUVELDZCQUF2RSxDQUFpQ0MsZUFBakM7QUFBQSxJQUFrREMsZ0JBQWxELEdBQXVFRiw2QkFBdkUsQ0FBa0RFLGdCQUFsRCxDLENBRUE7QUFDQTtBQUVBOztBQUNBLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUI7QUFBQSxvQ0FBSUMsU0FBSjtBQUFJQSxJQUFBQSxTQUFKO0FBQUE7O0FBQUEsU0FDM0JDLHlDQUNFO0FBQUEsUUFBR0MsUUFBSCxR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RW9CLG1CQUFVQyxLQUFWLENBQWdCO0FBQ3hCZCxJQUFBQSxXQUFXLEVBQUVhLG1CQUFVRSxPQUFWLENBQ1hGLG1CQUFVQyxLQUFWLENBQWdCO0FBQ2RiLE1BQUFBLEtBQUssRUFBRVksbUJBQVVHLE1BREg7QUFFZEMsTUFBQUEsUUFBUSxFQUFFSixtQkFBVUcsTUFGTjtBQUdkZCxNQUFBQSxJQUFJLEVBQUVXLG1CQUFVRyxNQUhGO0FBSWRFLE1BQUFBLEtBQUssRUFBRUwsbUJBQVVHO0FBSkgsS0FBaEIsQ0FEVyxDQURXO0FBU3hCTixJQUFBQSxXQUFXLEVBQUVHLG1CQUFVQyxLQUFWLENBQWdCO0FBQzNCSCxNQUFBQSx3QkFBd0IsRUFBRUUsbUJBQVVNO0FBRFQsS0FBaEIsQ0FUVztBQVl4QmxCLElBQUFBLEtBQUssRUFBRVksbUJBQVVHLE1BWk87QUFheEJkLElBQUFBLElBQUksRUFBRVcsbUJBQVVHO0FBYlEsR0FBaEIsRUFjUEk7QUFmYSxDQUFsQjtlQWtCZXhCLEsiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2F5LCB7IFNheVV0dGVyYW5jZSB9IGZyb20gJ3JlYWN0LXNheSc7XG5cbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IFNheUFsdCBmcm9tICcuL1NheUFsdCc7XG5cbmNvbnN0IHsgdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4sIHVzZVN0eWxlT3B0aW9ucywgdXNlVm9pY2VTZWxlY3RvciB9ID0gaG9va3M7XG5cbi8vIFRPRE86IFtQNF0gQ29uc2lkZXIgbW92aW5nIHRoaXMgZmVhdHVyZSBpbnRvIEJhc2ljQWN0aXZpdHlcbi8vICAgICAgIEFuZCBpdCBoYXMgYmV0dGVyIERPTSBwb3NpdGlvbiBmb3Igc2hvd2luZyB2aXN1YWwgc3Bva2VuIHRleHRcblxuLy8gVE9ETzogW1AzXSBXZSBzaG91bGQgYWRkIGEgXCJzcG9rZW5cIiBvciBcInNwZWFrU3RhdGVcIiBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhpcyBhY3Rpdml0eSBpcyBnb2luZyB0byBzcGVhaywgb3Igc3Bva2VuXG5jb25zdCBjb25uZWN0U3BlYWtBY3Rpdml0eSA9ICguLi5zZWxlY3RvcnMpID0+XG4gIGNvbm5lY3RUb1dlYkNoYXQoXG4gICAgKHsgbGFuZ3VhZ2UsIG1hcmtBY3Rpdml0eSwgc2VsZWN0Vm9pY2UgfSwgeyBhY3Rpdml0eSB9KSA9PiAoe1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBtYXJrQXNTcG9rZW46ICgpID0+IG1hcmtBY3Rpdml0eShhY3Rpdml0eSwgJ3NwZWFrJywgZmFsc2UpLFxuICAgICAgc2VsZWN0Vm9pY2U6IHZvaWNlcyA9PiBzZWxlY3RWb2ljZSh2b2ljZXMsIGFjdGl2aXR5KVxuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFNwZWFrUHJvcHMgPSB7XG4gIGFjdGl2aXR5OiBEaXJlY3RMaW5lQWN0aXZpdHk7XG59O1xuXG5jb25zdCBTcGVhazogRkM8U3BlYWtQcm9wcz4gPSAoeyBhY3Rpdml0eSB9KSA9PiB7XG4gIGNvbnN0IFt7IHNob3dTcG9rZW5UZXh0IH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IG1hcmtBY3Rpdml0eUFzU3Bva2VuID0gdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4oKTtcbiAgY29uc3Qgc2VsZWN0Vm9pY2UgPSB1c2VWb2ljZVNlbGVjdG9yKGFjdGl2aXR5KTtcblxuICBjb25zdCBtYXJrQXNTcG9rZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbWFya0FjdGl2aXR5QXNTcG9rZW4oYWN0aXZpdHkpO1xuICB9LCBbYWN0aXZpdHksIG1hcmtBY3Rpdml0eUFzU3Bva2VuXSk7XG5cbiAgY29uc3Qgc2luZ2xlTGluZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgYXR0YWNobWVudHMgPSBbXSwgc3BlYWssIHRleHQgfSA9IGFjdGl2aXR5O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICEhYWN0aXZpdHkgJiZcbiAgICAgIFtcbiAgICAgICAgc3BlYWsgfHwgdGV4dCxcbiAgICAgICAgLi4uYXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKCh7IGNvbnRlbnRUeXBlIH0pID0+IGNvbnRlbnRUeXBlID09PSAnYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5jYXJkLmFkYXB0aXZlJylcbiAgICAgICAgICAubWFwKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudD8uY29udGVudD8uc3BlYWspXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIobGluZSA9PiBsaW5lKVxuICAgICAgICAuam9pbignXFxyXFxuJylcbiAgICApO1xuICB9LCBbYWN0aXZpdHldKTtcblxuICBjb25zdCB7XG4gICAgY2hhbm5lbERhdGE6IHsgc3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIH0gPSB7fVxuICB9OiB7IGNoYW5uZWxEYXRhOiB7IHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT86IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSB9IH0gPSBhY3Rpdml0eTtcblxuICByZXR1cm4gKFxuICAgICEhYWN0aXZpdHkgJiYgKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7c3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlID8gKFxuICAgICAgICAgIDxTYXlVdHRlcmFuY2Ugb25FbmQ9e21hcmtBc1Nwb2tlbn0gb25FcnJvcj17bWFya0FzU3Bva2VufSB1dHRlcmFuY2U9e3NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZX0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U2F5IG9uRW5kPXttYXJrQXNTcG9rZW59IG9uRXJyb3I9e21hcmtBc1Nwb2tlbn0gdGV4dD17c2luZ2xlTGluZX0gdm9pY2U9e3NlbGVjdFZvaWNlfSAvPlxuICAgICAgICApfVxuICAgICAgICB7ISFzaG93U3Bva2VuVGV4dCAmJiA8U2F5QWx0IHNwZWFrPXtzaW5nbGVMaW5lfSAvPn1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKVxuICApO1xufTtcblxuU3BlYWsucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50czogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBzcGVhazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgc3VidGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgICB9KVxuICAgICksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U6IFByb3BUeXBlcy5hbnlcbiAgICB9KSxcbiAgICBzcGVhazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNwZWFrO1xuXG5leHBvcnQgeyBjb25uZWN0U3BlYWtBY3Rpdml0eSB9O1xuIl19
@@ -0,0 +1,18 @@
1
+ import { DirectLineActivity } from 'botframework-webchat-core';
2
+ import { RenderAttachment } from 'botframework-webchat-api';
3
+ import { FC, ReactNode } from 'react';
4
+ declare const connectStackedLayout: (...selectors: any[]) => any;
5
+ declare type StackedLayoutProps = {
6
+ activity: DirectLineActivity;
7
+ hideTimestamp?: boolean;
8
+ renderActivityStatus?: (({ hideTimestamp: boolean }: {
9
+ hideTimestamp: any;
10
+ }) => Exclude<ReactNode, boolean | null | undefined>) | false;
11
+ renderAttachment?: RenderAttachment;
12
+ renderAvatar?: (activity: DirectLineActivity) => (() => Exclude<ReactNode, boolean | null | undefined>) | false;
13
+ showCallout?: boolean;
14
+ };
15
+ declare const StackedLayout: FC<StackedLayoutProps>;
16
+ export default StackedLayout;
17
+ export { connectStackedLayout };
18
+ //# sourceMappingURL=StackedLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackedLayout.d.ts","sourceRoot":"","sources":["../../src/Activity/StackedLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAS,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA+D7C,QAAA,MAAM,oBAAoB,8BAmBvB,CAAC;AAEJ,aAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE;;KAAA,KAAK,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAChH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAChH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA2IzC,CAAC;AAsCF,eAAe,aAAa,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.connectStackedLayout = exports.default = void 0;
6
+ exports.default = exports.connectStackedLayout = void 0;
7
7
 
8
8
  var _botframeworkWebchatApi = require("botframework-webchat-api");
9
9
 
@@ -39,7 +39,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
39
39
 
40
40
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
41
41
 
42
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
42
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
43
 
44
44
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
45
 
@@ -100,7 +100,8 @@ var connectStackedLayout = function connectStackedLayout() {
100
100
  _ref2$activity = _ref2$activity === void 0 ? {} : _ref2$activity;
101
101
  var _ref2$activity$from = _ref2$activity.from;
102
102
  _ref2$activity$from = _ref2$activity$from === void 0 ? {} : _ref2$activity$from;
103
- var role = _ref2$activity$from.role;
103
+ var _ref2$activity$from$r = _ref2$activity$from.role,
104
+ role = _ref2$activity$from$r === void 0 ? undefined : _ref2$activity$from$r;
104
105
  return {
105
106
  avatarInitials: role === 'user' ? userAvatarInitials : botAvatarInitials,
106
107
  language: language,
@@ -123,11 +124,7 @@ var StackedLayout = function StackedLayout(_ref3) {
123
124
 
124
125
  var _useStyleOptions = useStyleOptions(),
125
126
  _useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),
126
- _useStyleOptions2$ = _useStyleOptions2[0],
127
- bubbleNubOffset = _useStyleOptions2$.bubbleNubOffset,
128
- bubbleNubSize = _useStyleOptions2$.bubbleNubSize,
129
- bubbleFromUserNubOffset = _useStyleOptions2$.bubbleFromUserNubOffset,
130
- bubbleFromUserNubSize = _useStyleOptions2$.bubbleFromUserNubSize;
127
+ styleOptions = _useStyleOptions2[0];
131
128
 
132
129
  var _useAvatarForBot = useAvatarForBot(),
133
130
  _useAvatarForBot2 = _slicedToArray(_useAvatarForBot, 1),
@@ -144,7 +141,10 @@ var StackedLayout = function StackedLayout(_ref3) {
144
141
  var ariaLabelId = (0, _useUniqueId.default)('webchat__stacked-layout__id');
145
142
  var localize = useLocalizer();
146
143
  var rootClassName = (0, _useStyleToEmotionObject.default)()(ROOT_STYLE) + '';
147
- var showActivityStatus = typeof renderActivityStatus === 'function';
144
+ var bubbleNubOffset = styleOptions.bubbleNubOffset,
145
+ bubbleNubSize = styleOptions.bubbleNubSize,
146
+ bubbleFromUserNubOffset = styleOptions.bubbleFromUserNubOffset,
147
+ bubbleFromUserNubSize = styleOptions.bubbleFromUserNubSize;
148
148
  var _activity$attachments = activity.attachments,
149
149
  attachments = _activity$attachments === void 0 ? [] : _activity$attachments,
150
150
  _activity$channelData = activity.channelData;
@@ -193,7 +193,7 @@ var StackedLayout = function StackedLayout(_ref3) {
193
193
  className: "webchat__stacked-layout__main"
194
194
  }, /*#__PURE__*/_react.default.createElement("div", {
195
195
  className: "webchat__stacked-layout__avatar-gutter"
196
- }, showAvatar && renderAvatar({
196
+ }, showAvatar && renderAvatar && renderAvatar({
197
197
  activity: activity
198
198
  })), /*#__PURE__*/_react.default.createElement("div", {
199
199
  className: "webchat__stacked-layout__content"
@@ -210,7 +210,7 @@ var StackedLayout = function StackedLayout(_ref3) {
210
210
  }), /*#__PURE__*/_react.default.createElement(_Bubble.default, {
211
211
  className: "webchat__stacked-layout__message",
212
212
  fromUser: fromUser,
213
- nub: showNub || (hasAvatar || hasNub) && 'hidden'
213
+ nub: showNub || (hasAvatar || hasNub ? 'hidden' : false)
214
214
  }, renderAttachment({
215
215
  activity: activity,
216
216
  attachment: {
@@ -237,14 +237,14 @@ var StackedLayout = function StackedLayout(_ref3) {
237
237
  /* eslint-disable-next-line react/no-array-index-key */
238
238
  ,
239
239
  key: index,
240
- nub: (hasAvatar || hasNub) && 'hidden'
240
+ nub: hasAvatar || hasNub ? 'hidden' : false
241
241
  }, renderAttachment({
242
242
  activity: activity,
243
243
  attachment: attachment
244
244
  })));
245
245
  })), /*#__PURE__*/_react.default.createElement("div", {
246
246
  className: "webchat__stacked-layout__alignment-pad"
247
- })), showActivityStatus && /*#__PURE__*/_react.default.createElement("div", {
247
+ })), typeof renderActivityStatus === 'function' && /*#__PURE__*/_react.default.createElement("div", {
248
248
  className: "webchat__stacked-layout__status"
249
249
  }, /*#__PURE__*/_react.default.createElement("div", {
250
250
  className: "webchat__stacked-layout__avatar-gutter"
@@ -260,7 +260,7 @@ var StackedLayout = function StackedLayout(_ref3) {
260
260
  StackedLayout.defaultProps = {
261
261
  hideTimestamp: false,
262
262
  renderActivityStatus: false,
263
- renderAvatar: false,
263
+ renderAvatar: undefined,
264
264
  showCallout: true
265
265
  };
266
266
  StackedLayout.propTypes = {
@@ -280,11 +280,15 @@ StackedLayout.propTypes = {
280
280
  type: _propTypes.default.string.isRequired
281
281
  }).isRequired,
282
282
  hideTimestamp: _propTypes.default.bool,
283
+ // PropTypes cannot validate precisely with its TypeScript counterpart.
284
+ // @ts-ignore
283
285
  renderActivityStatus: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.func]),
284
286
  renderAttachment: _propTypes.default.func.isRequired,
287
+ // PropTypes cannot validate precisely with its TypeScript counterpart.
288
+ // @ts-ignore
285
289
  renderAvatar: _propTypes.default.oneOfType([_propTypes.default.oneOf([false]), _propTypes.default.func]),
286
290
  showCallout: _propTypes.default.bool
287
291
  };
288
292
  var _default = StackedLayout;
289
293
  exports.default = _default;
290
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TdGFja2VkTGF5b3V0LmpzIl0sIm5hbWVzIjpbInVzZUF2YXRhckZvckJvdCIsImhvb2tzIiwidXNlQXZhdGFyRm9yVXNlciIsInVzZUxvY2FsaXplciIsInVzZVN0eWxlT3B0aW9ucyIsIlJPT1RfU1RZTEUiLCJwb3NpdGlvbiIsImRpc3BsYXkiLCJmbGV4U2hyaW5rIiwid2lkdGgiLCJmbGV4RGlyZWN0aW9uIiwiZmxleCIsIm92ZXJmbG93IiwiY29ubmVjdFN0YWNrZWRMYXlvdXQiLCJzZWxlY3RvcnMiLCJjb25uZWN0VG9XZWJDaGF0IiwibGFuZ3VhZ2UiLCJzdHlsZVNldCIsIm9wdGlvbnMiLCJib3RBdmF0YXJJbml0aWFscyIsInVzZXJBdmF0YXJJbml0aWFscyIsImFjdGl2aXR5IiwiZnJvbSIsInJvbGUiLCJhdmF0YXJJbml0aWFscyIsIlN0YWNrZWRMYXlvdXQiLCJoaWRlVGltZXN0YW1wIiwicmVuZGVyQWN0aXZpdHlTdGF0dXMiLCJyZW5kZXJBdHRhY2htZW50IiwicmVuZGVyQXZhdGFyIiwic2hvd0NhbGxvdXQiLCJidWJibGVOdWJPZmZzZXQiLCJidWJibGVOdWJTaXplIiwiYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQiLCJidWJibGVGcm9tVXNlck51YlNpemUiLCJib3RJbml0aWFscyIsImluaXRpYWxzIiwidXNlckluaXRpYWxzIiwic3RhY2tlZExheW91dFN0eWxlU2V0Iiwic3RhY2tlZExheW91dCIsImFyaWFMYWJlbElkIiwibG9jYWxpemUiLCJyb290Q2xhc3NOYW1lIiwic2hvd0FjdGl2aXR5U3RhdHVzIiwiYXR0YWNobWVudHMiLCJjaGFubmVsRGF0YSIsIm1lc3NhZ2VCYWNrIiwibWVzc2FnZUJhY2tEaXNwbGF5VGV4dCIsImRpc3BsYXlUZXh0IiwidGV4dCIsInRleHRGb3JtYXQiLCJhY3Rpdml0eURpc3BsYXlUZXh0IiwiZnJvbVVzZXIiLCJhdHRhY2hlZEFsdCIsImdyZWV0aW5nQWx0IiwicmVwbGFjZSIsIm51Yk9mZnNldCIsIm51YlNpemUiLCJvdGhlckluaXRpYWxzIiwib3RoZXJOdWJTaXplIiwiaGFzQXZhdGFyIiwiaGFzT3RoZXJBdmF0YXIiLCJoYXNOdWIiLCJoYXNPdGhlck51YiIsInRvcEFsaWduZWRDYWxsb3V0IiwiZXh0cmFUcmFpbGluZyIsInNob3dBdmF0YXIiLCJzaG93TnViIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwiYXR0YWNobWVudCIsImNvbnRlbnQiLCJjb250ZW50VHlwZSIsIm1hcCIsImluZGV4IiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic2hhcGUiLCJhcnJheSIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJ0aW1lc3RhbXAiLCJ0eXBlIiwiYm9vbCIsIm9uZU9mVHlwZSIsIm9uZU9mIiwiZnVuYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0lBRVFBLGUsR0FBcUVDLDZCLENBQXJFRCxlO0lBQWlCRSxnQixHQUFvREQsNkIsQ0FBcERDLGdCO0lBQWtCQyxZLEdBQWtDRiw2QixDQUFsQ0UsWTtJQUFjQyxlLEdBQW9CSCw2QixDQUFwQkcsZTtBQUV6RCxJQUFNQyxVQUFVLEdBQUc7QUFDakIsK0JBQTZCO0FBQzNCQyxJQUFBQSxRQUFRLEVBQUUsVUFEaUI7QUFDTDtBQUV0QixpS0FBNko7QUFDM0pDLE1BQUFBLE9BQU8sRUFBRTtBQURrSixLQUhsSTtBQU8zQixpREFBNkM7QUFDM0NDLE1BQUFBLFVBQVUsRUFBRTtBQUQrQixLQVBsQjtBQVczQiw4Q0FBMEM7QUFDeENDLE1BQUFBLEtBQUssRUFBRTtBQURpQyxLQVhmO0FBZTNCLGlEQUE2QztBQUMzQ0YsTUFBQUEsT0FBTyxFQUFFLE1BRGtDO0FBRTNDRyxNQUFBQSxhQUFhLEVBQUUsUUFGNEI7QUFHM0NGLE1BQUFBLFVBQVUsRUFBRTtB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LElBQUFBLFNBQVMsRUFBRUwsbUJBQVVHLE1BWkc7QUFheEJHLElBQUFBLElBQUksRUFBRU4sbUJBQVVHLE1BQVYsQ0FBaUJDO0FBYkMsR0FBaEIsRUFjUEEsVUFmcUI7QUFnQnhCdkQsRUFBQUEsYUFBYSxFQUFFbUQsbUJBQVVPLElBaEJEO0FBaUJ4QnpELEVBQUFBLG9CQUFvQixFQUFFa0QsbUJBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1IsbUJBQVVTLEtBQVYsQ0FBZ0IsQ0FBQyxLQUFELENBQWhCLENBQUQsRUFBMkJULG1CQUFVVSxJQUFyQyxDQUFwQixDQWpCRTtBQWtCeEIzRCxFQUFBQSxnQkFBZ0IsRUFBRWlELG1CQUFVVSxJQUFWLENBQWVOLFVBbEJUO0FBbUJ4QnBELEVBQUFBLFlBQVksRUFBRWdELG1CQUFVUSxTQUFWLENBQW9CLENBQUNSLG1CQUFVUyxLQUFWLENBQWdCLENBQUMsS0FBRCxDQUFoQixDQUFELEVBQTJCVCxtQkFBVVUsSUFBckMsQ0FBcEIsQ0FuQlU7QUFvQnhCekQsRUFBQUEsV0FBVyxFQUFFK0MsbUJBQVVPO0FBcEJDLENBQTFCO2VBdUJlM0QsYSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IGNvbXBsZXhpdHk6IFtcImVycm9yXCIsIDMwXSAqL1xuXG5pbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQnViYmxlIGZyb20gJy4vQnViYmxlJztcbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IGlzWmVyb09yUG9zaXRpdmUgZnJvbSAnLi4vVXRpbHMvaXNaZXJvT3JQb3NpdGl2ZSc7XG5pbXBvcnQgU2NyZWVuUmVhZGVyVGV4dCBmcm9tICcuLi9TY3JlZW5SZWFkZXJUZXh0JztcbmltcG9ydCB0ZXh0Rm9ybWF0VG9Db250ZW50VHlwZSBmcm9tICcuLi9VdGlscy90ZXh0Rm9ybWF0VG9Db250ZW50VHlwZSc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0IGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9FbW90aW9uT2JqZWN0JztcblxuaW1wb3J0IHVzZVVuaXF1ZUlkIGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVVuaXF1ZUlkJztcblxuY29uc3QgeyB1c2VBdmF0YXJGb3JCb3QsIHVzZUF2YXRhckZvclVzZXIsIHVzZUxvY2FsaXplciwgdXNlU3R5bGVPcHRpb25zIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgJyYud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQnOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsIC8vIFRoaXMgaXMgdG8ga2VlcCBzY3JlZW4gcmVhZGVyIHRleHQgaW4gdGhlIGRlc3RpbmF0ZWQgYXJlYS5cblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudC1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluLCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZS1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19zdGF0dXMnOiB7XG4gICAgICBkaXNwbGF5OiAnZmxleCdcbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkJzoge1xuICAgICAgZmxleFNocmluazogMFxuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQnOiB7XG4gICAgICB3aWR0aDogJzEwMCUnXG4gICAgfSxcblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXZhdGFyLWd1dHRlcic6IHtcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgZmxleFNocmluazogMFxuICAgIH0sXG5cbiAgICAnJi53ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZnJvbS11c2VyJzoge1xuICAgICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdywgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21haW4sICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tZXNzYWdlLXJvdywgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX3N0YXR1cyc6IHtcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ3Jvdy1yZXZlcnNlJ1xuICAgICAgfVxuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2NvbnRlbnQnOiB7XG4gICAgICBmbGV4OiAxLFxuXG4gICAgICAvLyBUaGlzIGlzIGZvciBib3R0b20gYWxpZ25pbmcgYW4gYXZhdGFyIHdpdGggYSBtZXNzYWdlIGJ1YmJsZSBzaG9ydGVyIHRoYW4gdGhlIGF2YXRhci5cbiAgICAgIC8vIFJlbGF0ZWQgdG8gdGhlIHRlc3QgYXQgYWN0aXZpdHlHcm91cGluZy5hdmF0YXJNaWRkbGV3YXJlLmF0Qm90dG9tLmpzLlxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG5cbiAgICAgIC8vIFRoaXMgXCJvdmVyZmxvdzogaGlkZGVuXCIgaXMgdG8gbWFrZSBzdXJlIHRleHQgb3ZlcmZsb3cgd2lsbCBnZXQgY2xpcHBlZCBjb3JyZWN0bHkuXG4gICAgICAvLyBSZWxhdGVkIHRvIHRoZSB0ZXN0IGF0IGJhc2ljLmpzIFwibG9uZyBVUkxzIHdpdGgga2VlcC1hbGxcIi5cbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX251Yi1wYWQnOiB7XG4gICAgICBmbGV4U2hyaW5rOiAwXG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBjb25uZWN0U3RhY2tlZExheW91dCA9ICguLi5zZWxlY3RvcnMpID0+XG4gIGNvbm5lY3RUb1dlYkNoYXQoXG4gICAgKFxuICAgICAge1xuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgc3R5bGVTZXQ6IHtcbiAgICAgICAgICBvcHRpb25zOiB7IGJvdEF2YXRhckluaXRpYWxzLCB1c2VyQXZhdGFySW5pdGlhbHMgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhY3Rpdml0eTogeyBmcm9tOiB7IHJvbGUgfSA9IHt9IH0gPSB7fSB9XG4gICAgKSA9PiAoe1xuICAgICAgYXZhdGFySW5pdGlhbHM6IHJvbGUgPT09ICd1c2VyJyA/IHVzZXJBdmF0YXJJbml0aWFscyA6IGJvdEF2YXRhckluaXRpYWxzLFxuICAgICAgbGFuZ3VhZ2UsXG5cbiAgICAgIC8vIFRPRE86IFtQNF0gV2Ugd2FudCB0byBkZXByZWNhdGUgYm90QXZhdGFySW5pdGlhbHMvdXNlckF2YXRhckluaXRpYWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IGFzIGhlbHBmdWwgYXMgYXZhdGFySW5pdGlhbHNcbiAgICAgIGJvdEF2YXRhckluaXRpYWxzLFxuICAgICAgdXNlckF2YXRhckluaXRpYWxzXG4gICAgfSksXG4gICAgLi4uc2VsZWN0b3JzXG4gICk7XG5cbmNvbnN0IFN0YWNrZWRMYXlvdXQgPSAoe1xuICBhY3Rpdml0eSxcbiAgaGlkZVRpbWVzdGFtcCxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXMsXG4gIHJlbmRlckF0dGFjaG1lbnQsXG4gIHJlbmRlckF2YXRhcixcbiAgc2hvd0NhbGxvdXRcbn0pID0+IHtcbiAgY29uc3QgW3sgYnViYmxlTnViT2Zmc2V0LCBidWJibGVOdWJTaXplLCBidWJibGVGcm9tVXNlck51Yk9mZnNldCwgYnViYmxlRnJvbVVzZXJOdWJTaXplIH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IFt7IGluaXRpYWxzOiBib3RJbml0aWFscyB9XSA9IHVzZUF2YXRhckZvckJvdCgpO1xuICBjb25zdCBbeyBpbml0aWFsczogdXNlckluaXRpYWxzIH1dID0gdXNlQXZhdGFyRm9yVXNlcigpO1xuICBjb25zdCBbeyBzdGFja2VkTGF5b3V0OiBzdGFja2VkTGF5b3V0U3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBhcmlhTGFiZWxJZCA9IHVzZVVuaXF1ZUlkKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dF9faWQnKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3Qgcm9vdENsYXNzTmFtZSA9IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0KCkoUk9PVF9TVFlMRSkgKyAnJztcbiAgY29uc3Qgc2hvd0FjdGl2aXR5U3RhdHVzID0gdHlwZW9mIHJlbmRlckFjdGl2aXR5U3RhdHVzID09PSAnZnVuY3Rpb24nO1xuXG4gIGNvbnN0IHtcbiAgICBhdHRhY2htZW50cyA9IFtdLFxuICAgIGNoYW5uZWxEYXRhOiB7IG1lc3NhZ2VCYWNrOiB7IGRpc3BsYXlUZXh0OiBtZXNzYWdlQmFja0Rpc3BsYXlUZXh0IH0gPSB7fSB9ID0ge30sXG4gICAgZnJvbTogeyByb2xlIH0gPSB7fSxcbiAgICB0ZXh0LFxuICAgIHRleHRGb3JtYXRcbiAgfSA9IGFjdGl2aXR5O1xuXG4gIGNvbnN0IGFjdGl2aXR5RGlzcGxheVRleHQgPSBtZXNzYWdlQmFja0Rpc3BsYXlUZXh0IHx8IHRleHQ7XG4gIGNvbnN0IGZyb21Vc2VyID0gcm9sZSA9PT0gJ3VzZXInO1xuXG4gIGNvbnN0IGF0dGFjaGVkQWx0ID0gbG9jYWxpemUoZnJvbVVzZXIgPyAnQUNUSVZJVFlfWU9VX0FUVEFDSEVEX0FMVCcgOiAnQUNUSVZJVFlfQk9UX0FUVEFDSEVEX0FMVCcpO1xuICBjb25zdCBncmVldGluZ0FsdCA9IChmcm9tVXNlclxuICAgID8gbG9jYWxpemUoJ0FDVElWSVRZX1lPVV9TQUlEX0FMVCcpXG4gICAgOiBsb2NhbGl6ZSgnQUNUSVZJVFlfQk9UX1NBSURfQUxUJywgYm90SW5pdGlhbHMgfHwgJycpXG4gICkucmVwbGFjZSgvXFxzezIsfS9ndSwgJyAnKTtcblxuICBjb25zdCBpbml0aWFscyA9IGZyb21Vc2VyID8gdXNlckluaXRpYWxzIDogYm90SW5pdGlhbHM7XG4gIGNvbnN0IG51Yk9mZnNldCA9IGZyb21Vc2VyID8gYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQgOiBidWJibGVOdWJPZmZzZXQ7XG4gIGNvbnN0IG51YlNpemUgPSBmcm9tVXNlciA/IGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSA6IGJ1YmJsZU51YlNpemU7XG4gIGNvbnN0IG90aGVySW5pdGlhbHMgPSBmcm9tVXNlciA/IGJvdEluaXRpYWxzIDogdXNlckluaXRpYWxzO1xuICBjb25zdCBvdGhlck51YlNpemUgPSBmcm9tVXNlciA/IGJ1YmJsZU51YlNpemUgOiBidWJibGVGcm9tVXNlck51YlNpemU7XG5cbiAgY29uc3QgaGFzQXZhdGFyID0gaW5pdGlhbHMgfHwgdHlwZW9mIGluaXRpYWxzID09PSAnc3RyaW5nJztcbiAgY29uc3QgaGFzT3RoZXJBdmF0YXIgPSBvdGhlckluaXRpYWxzIHx8IHR5cGVvZiBvdGhlckluaXRpYWxzID09PSAnc3RyaW5nJztcbiAgY29uc3QgaGFzTnViID0gdHlwZW9mIG51YlNpemUgPT09ICdudW1iZXInO1xuICBjb25zdCBoYXNPdGhlck51YiA9IHR5cGVvZiBvdGhlck51YlNpemUgPT09ICdudW1iZXInO1xuICBjb25zdCB0b3BBbGlnbmVkQ2FsbG91dCA9IGlzWmVyb09yUG9zaXRpdmUobnViT2Zmc2V0KTtcblxuICBjb25zdCBleHRyYVRyYWlsaW5nID0gIWhhc090aGVyQXZhdGFyICYmIGhhc090aGVyTnViOyAvLyBUaGlzIGlzIGZvciBib3QgbWVzc2FnZSB3aXRoIHVzZXIgbnViIGFuZCBubyB1c2VyIGF2YXRhci4gQW5kIHZpY2UgdmVyc2EuXG5cbiAgY29uc3Qgc2hvd0F2YXRhciA9IHNob3dDYWxsb3V0ICYmIGhhc0F2YXRhciAmJiAhIXJlbmRlckF2YXRhcjtcbiAgY29uc3Qgc2hvd051YiA9IHNob3dDYWxsb3V0ICYmIGhhc051YiAmJiAodG9wQWxpZ25lZENhbGxvdXQgfHwgIWF0dGFjaG1lbnRzLmxlbmd0aCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FjdGl2aXR5RGlzcGxheVRleHQgPyBhcmlhTGFiZWxJZCA6IHVuZGVmaW5lZH1cbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiYWN0aXZpdHlcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dCcsIHJvb3RDbGFzc05hbWUsIHN0YWNrZWRMYXlvdXRTdHlsZVNldCArICcnLCB7XG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZXh0cmEtdHJhaWxpbmcnOiBleHRyYVRyYWlsaW5nLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWZyb20tdXNlcic6IGZyb21Vc2VyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtYXZhdGFyJzogaGFzQXZhdGFyICYmICFzaG93QXZhdGFyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtbnViJzogaGFzTnViICYmICFzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLW5vLW1lc3NhZ2UnOiAhYWN0aXZpdHlEaXNwbGF5VGV4dCxcbiAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1zaG93LWF2YXRhcic6IHNob3dBdmF0YXIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tc2hvdy1udWInOiBzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLXRvcC1jYWxsb3V0JzogdG9wQWxpZ25lZENhbGxvdXRcbiAgICAgIH0pfVxuICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIj57c2hvd0F2YXRhciAmJiByZW5kZXJBdmF0YXIoeyBhY3Rpdml0eSB9KX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fY29udGVudFwiPlxuICAgICAgICAgIHshIWFjdGl2aXR5RGlzcGxheVRleHQgJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cIm1lc3NhZ2VcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZS1yb3dcIlxuICAgICAgICAgICAgICAvLyBEaXNhYmxlIFwiUHJvcCBgaWRgIGlzIGZvcmJpZGRlbiBvbiBET00gTm9kZXNcIiBydWxlIGJlY2F1c2Ugd2UgYXJlIHVzaW5nIHRoZSBJRCBwcm9wIGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wcyAqL1xuICAgICAgICAgICAgICBpZD17YXJpYUxhYmVsSWR9XG4gICAgICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHRleHQ9e2dyZWV0aW5nQWx0fSAvPlxuICAgICAgICAgICAgICA8QnViYmxlXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21lc3NhZ2VcIlxuICAgICAgICAgICAgICAgIGZyb21Vc2VyPXtmcm9tVXNlcn1cbiAgICAgICAgICAgICAgICBudWI9e3Nob3dOdWIgfHwgKChoYXNBdmF0YXIgfHwgaGFzTnViKSAmJiAnaGlkZGVuJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cmVuZGVyQXR0YWNobWVudCh7XG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eSxcbiAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYWN0aXZpdHlEaXNwbGF5VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6IHRleHRGb3JtYXRUb0NvbnRlbnRUeXBlKHRleHRGb3JtYXQpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvQnViYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7YXR0YWNobWVudHMubWFwKChhdHRhY2htZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImF0dGFjaG1lbnRcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdycsIHtcbiAgICAgICAgICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQtcm93LS1maXJzdCc6ICFpbmRleFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgLyogYXR0YWNobWVudHMgZG8gbm90IGhhdmUgYW4gSUQsIGl0IGlzIGFsd2F5cyBpbmRleGVkIGJ5IG51bWJlciAqL1xuICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHRleHQ9e2F0dGFjaGVkQWx0fSAvPlxuICAgICAgICAgICAgICA8QnViYmxlXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnRcIlxuICAgICAgICAgICAgICAgIGZyb21Vc2VyPXtmcm9tVXNlcn1cbiAgICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBudWI9eyhoYXNBdmF0YXIgfHwgaGFzTnViKSAmJiAnaGlkZGVuJ31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJBdHRhY2htZW50KHsgYWN0aXZpdHksIGF0dGFjaG1lbnQgfSl9XG4gICAgICAgICAgICAgIDwvQnViYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3Nob3dBY3Rpdml0eVN0YXR1cyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX3N0YXR1c1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX251Yi1wYWRcIiAvPlxuICAgICAgICAgIHtyZW5kZXJBY3Rpdml0eVN0YXR1cyh7IGhpZGVUaW1lc3RhbXAgfSl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYWxpZ25tZW50LXBhZFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblN0YWNrZWRMYXlvdXQuZGVmYXVsdFByb3BzID0ge1xuICBoaWRlVGltZXN0YW1wOiBmYWxzZSxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IGZhbHNlLFxuICByZW5kZXJBdmF0YXI6IGZhbHNlLFxuICBzaG93Q2FsbG91dDogdHJ1ZVxufTtcblxuU3RhY2tlZExheW91dC5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGF0dGFjaG1lbnRzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBtZXNzYWdlQmFjazogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZGlzcGxheVRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgIH0pXG4gICAgfSksXG4gICAgZnJvbTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHJvbGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICAgIH0pLmlzUmVxdWlyZWQsXG4gICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0ZXh0Rm9ybWF0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpbWVzdGFtcDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSkuaXNSZXF1aXJlZCxcbiAgaGlkZVRpbWVzdGFtcDogUHJvcFR5cGVzLmJvb2wsXG4gIHJlbmRlckFjdGl2aXR5U3RhdHVzOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoW2ZhbHNlXSksIFByb3BUeXBlcy5mdW5jXSksXG4gIHJlbmRlckF0dGFjaG1lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHJlbmRlckF2YXRhcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuZnVuY10pLFxuICBzaG93Q2FsbG91dDogUHJvcFR5cGVzLmJvb2xcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFN0YWNrZWRMYXlvdXQ7XG5cbmV4cG9ydCB7IGNvbm5lY3RTdGFja2VkTGF5b3V0IH07XG4iXX0=
294
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TdGFja2VkTGF5b3V0LnRzeCJdLCJuYW1lcyI6WyJ1c2VBdmF0YXJGb3JCb3QiLCJob29rcyIsInVzZUF2YXRhckZvclVzZXIiLCJ1c2VMb2NhbGl6ZXIiLCJ1c2VTdHlsZU9wdGlvbnMiLCJST09UX1NUWUxFIiwicG9zaXRpb24iLCJkaXNwbGF5IiwiZmxleFNocmluayIsIndpZHRoIiwiZmxleERpcmVjdGlvbiIsImZsZXgiLCJvdmVyZmxvdyIsImNvbm5lY3RTdGFja2VkTGF5b3V0Iiwic2VsZWN0b3JzIiwiY29ubmVjdFRvV2ViQ2hhdCIsImxhbmd1YWdlIiwic3R5bGVTZXQiLCJvcHRpb25zIiwiYm90QXZhdGFySW5pdGlhbHMiLCJ1c2VyQXZhdGFySW5pdGlhbHMiLCJhY3Rpdml0eSIsImZyb20iLCJyb2xlIiwidW5kZWZpbmVkIiwiYXZhdGFySW5pdGlhbHMiLCJTdGFja2VkTGF5b3V0IiwiaGlkZVRpbWVzdGFtcCIsInJlbmRlckFjdGl2aXR5U3RhdHVzIiwicmVuZGVyQXR0YWNobWVudCIsInJlbmRlckF2YXRhciIsInNob3dDYWxsb3V0Iiwic3R5bGVPcHRpb25zIiwiYm90SW5pdGlhbHMiLCJpbml0aWFscyIsInVzZXJJbml0aWFscyIsInN0YWNrZWRMYXlvdXRTdHlsZVNldCIsInN0YWNrZWRMYXlvdXQiLCJhcmlhTGFiZWxJZCIsImxvY2FsaXplIiwicm9vdENsYXNzTmFtZSIsImJ1YmJsZU51Yk9mZnNldCIsImJ1YmJsZU51YlNpemUiLCJidWJibGVGcm9tVXNlck51Yk9mZnNldCIsImJ1YmJsZUZyb21Vc2VyTnViU2l6ZSIsImF0dGFjaG1lbnRzIiwiY2hhbm5lbERhdGEiLCJtZXNzYWdlQmFjayIsIm1lc3NhZ2VCYWNrRGlzcGxheVRleHQiLCJkaXNwbGF5VGV4dCIsInRleHQiLCJ0ZXh0Rm9ybWF0IiwiYWN0aXZpdHlEaXNwbGF5VGV4dCIsImZyb21Vc2VyIiwiYXR0YWNoZWRBbHQiLCJncmVldGluZ0FsdCIsInJlcGxhY2UiLCJudWJPZmZzZXQiLCJudWJTaXplIiwib3RoZXJJbml0aWFscyIsIm90aGVyTnViU2l6ZSIsImhhc0F2YXRhciIsImhhc090aGVyQXZhdGFyIiwiaGFzTnViIiwiaGFzT3RoZXJOdWIiLCJ0b3BBbGlnbmVkQ2FsbG91dCIsImV4dHJhVHJhaWxpbmciLCJzaG93QXZhdGFyIiwic2hvd051YiIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjb250ZW50IiwiY29udGVudFR5cGUiLCJtYXAiLCJpbmRleCIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXkiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwidGltZXN0YW1wIiwidHlwZSIsImJvb2wiLCJvbmVPZlR5cGUiLCJvbmVPZiIsImZ1bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBNkVDLDZCQUE3RSxDQUFRRCxlQUFSO0FBQUEsSUFBeUJFLGdCQUF6QixHQUE2RUQsNkJBQTdFLENBQXlCQyxnQkFBekI7QUFBQSxJQUEyQ0MsWUFBM0MsR0FBNkVGLDZCQUE3RSxDQUEyQ0UsWUFBM0M7QUFBQSxJQUF5REMsZUFBekQsR0FBNkVILDZCQUE3RSxDQUF5REcsZUFBekQ7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDakIsK0JBQTZCO0FBQzNCQyxJQUFBQSxRQUFRLEVBQUUsVUFEaUI7QUFDTDtBQUV0QixpS0FDRTtBQUNFQyxNQUFBQSxPQUFPLEVBQUU7QUFEWCxLQUp5QjtBQVEzQixpREFBNkM7QUFDM0NDLE1BQUFBLFVBQVUsRUFBRTtBQUQrQixLQVJsQjtBQVkzQiw4Q0FBMEM7QUFDeENDLE1BQUFBLEtBQUssRUFBRTtBQURpQyxLQVpmO0FBZ0IzQixpREFBNkM7QUFDM0NGLE1BQUFBLE9BQU8sRUFBRSxN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RUFBRXNELG1CQUFVRyxNQUFWLENBQWlCQztBQURILEtBQWhCLEVBRUhBLFVBVHFCO0FBVXhCL0IsSUFBQUEsSUFBSSxFQUFFMkIsbUJBQVVHLE1BVlE7QUFXeEI3QixJQUFBQSxVQUFVLEVBQUUwQixtQkFBVUcsTUFYRTtBQVl4QkUsSUFBQUEsU0FBUyxFQUFFTCxtQkFBVUcsTUFaRztBQWF4QkcsSUFBQUEsSUFBSSxFQUFFTixtQkFBVUcsTUFBVixDQUFpQkM7QUFiQyxHQUFoQixFQWNQQSxVQWZxQjtBQWdCeEJ0RCxFQUFBQSxhQUFhLEVBQUVrRCxtQkFBVU8sSUFoQkQ7QUFrQnhCO0FBQ0E7QUFDQXhELEVBQUFBLG9CQUFvQixFQUFFaUQsbUJBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1IsbUJBQVVTLEtBQVYsQ0FBZ0IsQ0FBQyxLQUFELENBQWhCLENBQUQsRUFBMkJULG1CQUFVVSxJQUFyQyxDQUFwQixDQXBCRTtBQXFCeEIxRCxFQUFBQSxnQkFBZ0IsRUFBRWdELG1CQUFVVSxJQUFWLENBQWVOLFVBckJUO0FBdUJ4QjtBQUNBO0FBQ0FuRCxFQUFBQSxZQUFZLEVBQUUrQyxtQkFBVVEsU0FBVixDQUFvQixDQUFDUixtQkFBVVMsS0FBVixDQUFnQixDQUFDLEtBQUQsQ0FBaEIsQ0FBRCxFQUEyQlQsbUJBQVVVLElBQXJDLENBQXBCLENBekJVO0FBMEJ4QnhELEVBQUFBLFdBQVcsRUFBRThDLG1CQUFVTztBQTFCQyxDQUExQjtlQTZCZTFELGEiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBjb21wbGV4aXR5OiBbXCJlcnJvclwiLCAzMF0gKi9cblxuaW1wb3J0IHsgRGlyZWN0TGluZUFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5pbXBvcnQgeyBob29rcywgUmVuZGVyQXR0YWNobWVudCB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJ1YmJsZSBmcm9tICcuL0J1YmJsZSc7XG5pbXBvcnQgY29ubmVjdFRvV2ViQ2hhdCBmcm9tICcuLi9jb25uZWN0VG9XZWJDaGF0JztcbmltcG9ydCBpc1plcm9PclBvc2l0aXZlIGZyb20gJy4uL1V0aWxzL2lzWmVyb09yUG9zaXRpdmUnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgdGV4dEZvcm1hdFRvQ29udGVudFR5cGUgZnJvbSAnLi4vVXRpbHMvdGV4dEZvcm1hdFRvQ29udGVudFR5cGUnO1xuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcbmltcG9ydCB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmltcG9ydCB1c2VVbmlxdWVJZCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VVbmlxdWVJZCc7XG5cbmNvbnN0IHsgdXNlQXZhdGFyRm9yQm90LCB1c2VBdmF0YXJGb3JVc2VyLCB1c2VMb2NhbGl6ZXIsIHVzZVN0eWxlT3B0aW9ucyB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gICcmLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0Jzoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLCAvLyBUaGlzIGlzIHRvIGtlZXAgc2NyZWVuIHJlYWRlciB0ZXh0IGluIHRoZSBkZXN0aW5hdGVkIGFyZWEuXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQtcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWFpbiwgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21lc3NhZ2Utcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fc3RhdHVzJzpcbiAgICAgIHtcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnXG4gICAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkJzoge1xuICAgICAgZmxleFNocmluazogMFxuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQnOiB7XG4gICAgICB3aWR0aDogJzEwMCUnXG4gICAgfSxcblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXZhdGFyLWd1dHRlcic6IHtcbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgZmxleFNocmluazogMFxuICAgIH0sXG5cbiAgICAnJi53ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZnJvbS11c2VyJzoge1xuICAgICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdywgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21haW4sICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tZXNzYWdlLXJvdywgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX3N0YXR1cyc6XG4gICAgICAgIHtcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93LXJldmVyc2UnXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19jb250ZW50Jzoge1xuICAgICAgZmxleDogMSxcblxuICAgICAgLy8gVGhpcyBpcyBmb3IgYm90dG9tIGFsaWduaW5nIGFuIGF2YXRhciB3aXRoIGEgbWVzc2FnZSBidWJibGUgc2hvcnRlciB0aGFuIHRoZSBhdmF0YXIuXG4gICAgICAvLyBSZWxhdGVkIHRvIHRoZSB0ZXN0IGF0IGFjdGl2aXR5R3JvdXBpbmcuYXZhdGFyTWlkZGxld2FyZS5hdEJvdHRvbS5qcy5cbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuXG4gICAgICAvLyBUaGlzIFwib3ZlcmZsb3c6IGhpZGRlblwiIGlzIHRvIG1ha2Ugc3VyZSB0ZXh0IG92ZXJmbG93IHdpbGwgZ2V0IGNsaXBwZWQgY29ycmVjdGx5LlxuICAgICAgLy8gUmVsYXRlZCB0byB0aGUgdGVzdCBhdCBiYXNpYy5qcyBcImxvbmcgVVJMcyB3aXRoIGtlZXAtYWxsXCIuXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19udWItcGFkJzoge1xuICAgICAgZmxleFNocmluazogMFxuICAgIH1cbiAgfVxufTtcblxuY29uc3QgY29ubmVjdFN0YWNrZWRMYXlvdXQgPSAoLi4uc2VsZWN0b3JzKSA9PlxuICBjb25uZWN0VG9XZWJDaGF0KFxuICAgIChcbiAgICAgIHtcbiAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgIHN0eWxlU2V0OiB7XG4gICAgICAgICAgb3B0aW9uczogeyBib3RBdmF0YXJJbml0aWFscywgdXNlckF2YXRhckluaXRpYWxzIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWN0aXZpdHk6IHsgZnJvbTogeyByb2xlID0gdW5kZWZpbmVkIH0gPSB7fSB9ID0ge30gfVxuICAgICkgPT4gKHtcbiAgICAgIGF2YXRhckluaXRpYWxzOiByb2xlID09PSAndXNlcicgPyB1c2VyQXZhdGFySW5pdGlhbHMgOiBib3RBdmF0YXJJbml0aWFscyxcbiAgICAgIGxhbmd1YWdlLFxuXG4gICAgICAvLyBUT0RPOiBbUDRdIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGJvdEF2YXRhckluaXRpYWxzL3VzZXJBdmF0YXJJbml0aWFscyBiZWNhdXNlIHRoZXkgYXJlIG5vdCBhcyBoZWxwZnVsIGFzIGF2YXRhckluaXRpYWxzXG4gICAgICBib3RBdmF0YXJJbml0aWFscyxcbiAgICAgIHVzZXJBdmF0YXJJbml0aWFsc1xuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFN0YWNrZWRMYXlvdXRQcm9wcyA9IHtcbiAgYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eTtcbiAgaGlkZVRpbWVzdGFtcD86IGJvb2xlYW47XG4gIHJlbmRlckFjdGl2aXR5U3RhdHVzPzogKCh7IGhpZGVUaW1lc3RhbXA6IGJvb2xlYW4gfSkgPT4gRXhjbHVkZTxSZWFjdE5vZGUsIGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPikgfCBmYWxzZTtcbiAgcmVuZGVyQXR0YWNobWVudD86IFJlbmRlckF0dGFjaG1lbnQ7XG4gIHJlbmRlckF2YXRhcj86IChhY3Rpdml0eTogRGlyZWN0TGluZUFjdGl2aXR5KSA9PiAoKCkgPT4gRXhjbHVkZTxSZWFjdE5vZGUsIGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPikgfCBmYWxzZTtcbiAgc2hvd0NhbGxvdXQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3RhY2tlZExheW91dDogRkM8U3RhY2tlZExheW91dFByb3BzPiA9ICh7XG4gIGFjdGl2aXR5LFxuICBoaWRlVGltZXN0YW1wLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1cyxcbiAgcmVuZGVyQXR0YWNobWVudCxcbiAgcmVuZGVyQXZhdGFyLFxuICBzaG93Q2FsbG91dFxufSkgPT4ge1xuICBjb25zdCBbc3R5bGVPcHRpb25zXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuICBjb25zdCBbeyBpbml0aWFsczogYm90SW5pdGlhbHMgfV0gPSB1c2VBdmF0YXJGb3JCb3QoKTtcbiAgY29uc3QgW3sgaW5pdGlhbHM6IHVzZXJJbml0aWFscyB9XSA9IHVzZUF2YXRhckZvclVzZXIoKTtcbiAgY29uc3QgW3sgc3RhY2tlZExheW91dDogc3RhY2tlZExheW91dFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgYXJpYUxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2lkJyk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgY29uc3QgeyBidWJibGVOdWJPZmZzZXQsIGJ1YmJsZU51YlNpemUsIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0LCBidWJibGVGcm9tVXNlck51YlNpemUgfSA9IHN0eWxlT3B0aW9ucztcblxuICBjb25zdCB7XG4gICAgYXR0YWNobWVudHMgPSBbXSxcbiAgICBjaGFubmVsRGF0YTogeyBtZXNzYWdlQmFjazogeyBkaXNwbGF5VGV4dDogbWVzc2FnZUJhY2tEaXNwbGF5VGV4dCB9ID0ge30gfSA9IHt9LFxuICAgIGZyb206IHsgcm9sZSB9ID0ge30sXG4gICAgdGV4dCxcbiAgICB0ZXh0Rm9ybWF0XG4gIH06IHtcbiAgICBhdHRhY2htZW50cz86IFtdO1xuICAgIGNoYW5uZWxEYXRhPzogeyBtZXNzYWdlQmFjaz86IHsgZGlzcGxheVRleHQ/OiBzdHJpbmcgfSB9O1xuICAgIGZyb20/OiB7IHJvbGU/OiAnYm90JyB8ICd1c2VyJyB9O1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgdGV4dEZvcm1hdD86IHN0cmluZztcbiAgfSA9IGFjdGl2aXR5O1xuXG4gIGNvbnN0IGFjdGl2aXR5RGlzcGxheVRleHQgPSBtZXNzYWdlQmFja0Rpc3BsYXlUZXh0IHx8IHRleHQ7XG4gIGNvbnN0IGZyb21Vc2VyID0gcm9sZSA9PT0gJ3VzZXInO1xuXG4gIGNvbnN0IGF0dGFjaGVkQWx0ID0gbG9jYWxpemUoZnJvbVVzZXIgPyAnQUNUSVZJVFlfWU9VX0FUVEFDSEVEX0FMVCcgOiAnQUNUSVZJVFlfQk9UX0FUVEFDSEVEX0FMVCcpO1xuICBjb25zdCBncmVldGluZ0FsdCA9IChcbiAgICBmcm9tVXNlciA/IGxvY2FsaXplKCdBQ1RJVklUWV9ZT1VfU0FJRF9BTFQnKSA6IGxvY2FsaXplKCdBQ1RJVklUWV9CT1RfU0FJRF9BTFQnLCBib3RJbml0aWFscyB8fCAnJylcbiAgKS5yZXBsYWNlKC9cXHN7Mix9L2d1LCAnICcpO1xuXG4gIGNvbnN0IGluaXRpYWxzID0gZnJvbVVzZXIgPyB1c2VySW5pdGlhbHMgOiBib3RJbml0aWFscztcbiAgY29uc3QgbnViT2Zmc2V0ID0gZnJvbVVzZXIgPyBidWJibGVGcm9tVXNlck51Yk9mZnNldCA6IGJ1YmJsZU51Yk9mZnNldDtcbiAgY29uc3QgbnViU2l6ZSA9IGZyb21Vc2VyID8gYnViYmxlRnJvbVVzZXJOdWJTaXplIDogYnViYmxlTnViU2l6ZTtcbiAgY29uc3Qgb3RoZXJJbml0aWFscyA9IGZyb21Vc2VyID8gYm90SW5pdGlhbHMgOiB1c2VySW5pdGlhbHM7XG4gIGNvbnN0IG90aGVyTnViU2l6ZSA9IGZyb21Vc2VyID8gYnViYmxlTnViU2l6ZSA6IGJ1YmJsZUZyb21Vc2VyTnViU2l6ZTtcblxuICBjb25zdCBoYXNBdmF0YXIgPSBpbml0aWFscyB8fCB0eXBlb2YgaW5pdGlhbHMgPT09ICdzdHJpbmcnO1xuICBjb25zdCBoYXNPdGhlckF2YXRhciA9IG90aGVySW5pdGlhbHMgfHwgdHlwZW9mIG90aGVySW5pdGlhbHMgPT09ICdzdHJpbmcnO1xuICBjb25zdCBoYXNOdWIgPSB0eXBlb2YgbnViU2l6ZSA9PT0gJ251bWJlcic7XG4gIGNvbnN0IGhhc090aGVyTnViID0gdHlwZW9mIG90aGVyTnViU2l6ZSA9PT0gJ251bWJlcic7XG4gIGNvbnN0IHRvcEFsaWduZWRDYWxsb3V0ID0gaXNaZXJvT3JQb3NpdGl2ZShudWJPZmZzZXQpO1xuXG4gIGNvbnN0IGV4dHJhVHJhaWxpbmcgPSAhaGFzT3RoZXJBdmF0YXIgJiYgaGFzT3RoZXJOdWI7IC8vIFRoaXMgaXMgZm9yIGJvdCBtZXNzYWdlIHdpdGggdXNlciBudWIgYW5kIG5vIHVzZXIgYXZhdGFyLiBBbmQgdmljZSB2ZXJzYS5cblxuICBjb25zdCBzaG93QXZhdGFyID0gc2hvd0NhbGxvdXQgJiYgaGFzQXZhdGFyICYmICEhcmVuZGVyQXZhdGFyO1xuICBjb25zdCBzaG93TnViID0gc2hvd0NhbGxvdXQgJiYgaGFzTnViICYmICh0b3BBbGlnbmVkQ2FsbG91dCB8fCAhYXR0YWNobWVudHMubGVuZ3RoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGFyaWEtbGFiZWxsZWRieT17YWN0aXZpdHlEaXNwbGF5VGV4dCA/IGFyaWFMYWJlbElkIDogdW5kZWZpbmVkfVxuICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJhY3Rpdml0eVwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0Jywgcm9vdENsYXNzTmFtZSwgc3RhY2tlZExheW91dFN0eWxlU2V0ICsgJycsIHtcbiAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1leHRyYS10cmFpbGluZyc6IGV4dHJhVHJhaWxpbmcsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZnJvbS11c2VyJzogZnJvbVVzZXIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0taGlkZS1hdmF0YXInOiBoYXNBdmF0YXIgJiYgIXNob3dBdmF0YXIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0taGlkZS1udWInOiBoYXNOdWIgJiYgIXNob3dOdWIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tbm8tbWVzc2FnZSc6ICFhY3Rpdml0eURpc3BsYXlUZXh0LFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLXNob3ctYXZhdGFyJzogc2hvd0F2YXRhcixcbiAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1zaG93LW51Yic6IHNob3dOdWIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tdG9wLWNhbGxvdXQnOiB0b3BBbGlnbmVkQ2FsbG91dFxuICAgICAgfSl9XG4gICAgICByb2xlPVwiZ3JvdXBcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21haW5cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXZhdGFyLWd1dHRlclwiPlxuICAgICAgICAgIHtzaG93QXZhdGFyICYmIHJlbmRlckF2YXRhciAmJiByZW5kZXJBdmF0YXIoeyBhY3Rpdml0eSB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2NvbnRlbnRcIj5cbiAgICAgICAgICB7ISFhY3Rpdml0eURpc3BsYXlUZXh0ICYmIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21lc3NhZ2Utcm93XCJcbiAgICAgICAgICAgICAgLy8gRGlzYWJsZSBcIlByb3AgYGlkYCBpcyBmb3JiaWRkZW4gb24gRE9NIE5vZGVzXCIgcnVsZSBiZWNhdXNlIHdlIGFyZSB1c2luZyB0aGUgSUQgcHJvcCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L2ZvcmJpZC1kb20tcHJvcHMgKi9cbiAgICAgICAgICAgICAgaWQ9e2FyaWFMYWJlbElkfVxuICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXtncmVldGluZ0FsdH0gLz5cbiAgICAgICAgICAgICAgPEJ1YmJsZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBmcm9tVXNlcj17ZnJvbVVzZXJ9XG4gICAgICAgICAgICAgICAgbnViPXtzaG93TnViIHx8IChoYXNBdmF0YXIgfHwgaGFzTnViID8gJ2hpZGRlbicgOiBmYWxzZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cmVuZGVyQXR0YWNobWVudCh7XG4gICAgICAgICAgICAgICAgICBhY3Rpdml0eSxcbiAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogYWN0aXZpdHlEaXNwbGF5VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6IHRleHRGb3JtYXRUb0NvbnRlbnRUeXBlKHRleHRGb3JtYXQpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDwvQnViYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7YXR0YWNobWVudHMubWFwKChhdHRhY2htZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBhcmlhLXJvbGVkZXNjcmlwdGlvbj1cImF0dGFjaG1lbnRcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdycsIHtcbiAgICAgICAgICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQtcm93LS1maXJzdCc6ICFpbmRleFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgLyogYXR0YWNobWVudHMgZG8gbm90IGhhdmUgYW4gSUQsIGl0IGlzIGFsd2F5cyBpbmRleGVkIGJ5IG51bWJlciAqL1xuICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHRleHQ9e2F0dGFjaGVkQWx0fSAvPlxuICAgICAgICAgICAgICA8QnViYmxlXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnRcIlxuICAgICAgICAgICAgICAgIGZyb21Vc2VyPXtmcm9tVXNlcn1cbiAgICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICBudWI9e2hhc0F2YXRhciB8fCBoYXNOdWIgPyAnaGlkZGVuJyA6IGZhbHNlfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3JlbmRlckF0dGFjaG1lbnQoeyBhY3Rpdml0eSwgYXR0YWNobWVudCB9KX1cbiAgICAgICAgICAgICAgPC9CdWJibGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2FsaWdubWVudC1wYWRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICB7dHlwZW9mIHJlbmRlckFjdGl2aXR5U3RhdHVzID09PSAnZnVuY3Rpb24nICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fc3RhdHVzXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXZhdGFyLWd1dHRlclwiIC8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbnViLXBhZFwiIC8+XG4gICAgICAgICAge3JlbmRlckFjdGl2aXR5U3RhdHVzKHsgaGlkZVRpbWVzdGFtcCB9KX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuU3RhY2tlZExheW91dC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhpZGVUaW1lc3RhbXA6IGZhbHNlLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1czogZmFsc2UsXG4gIHJlbmRlckF2YXRhcjogdW5kZWZpbmVkLFxuICBzaG93Q2FsbG91dDogdHJ1ZVxufTtcblxuU3RhY2tlZExheW91dC5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGF0dGFjaG1lbnRzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBtZXNzYWdlQmFjazogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZGlzcGxheVRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgIH0pXG4gICAgfSksXG4gICAgZnJvbTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHJvbGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICAgIH0pLmlzUmVxdWlyZWQsXG4gICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0ZXh0Rm9ybWF0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpbWVzdGFtcDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSkuaXNSZXF1aXJlZCxcbiAgaGlkZVRpbWVzdGFtcDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLy8gUHJvcFR5cGVzIGNhbm5vdCB2YWxpZGF0ZSBwcmVjaXNlbHkgd2l0aCBpdHMgVHlwZVNjcmlwdCBjb3VudGVycGFydC5cbiAgLy8gQHRzLWlnbm9yZVxuICByZW5kZXJBY3Rpdml0eVN0YXR1czogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuZnVuY10pLFxuICByZW5kZXJBdHRhY2htZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuXG4gIC8vIFByb3BUeXBlcyBjYW5ub3QgdmFsaWRhdGUgcHJlY2lzZWx5IHdpdGggaXRzIFR5cGVTY3JpcHQgY291bnRlcnBhcnQuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmVuZGVyQXZhdGFyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoW2ZhbHNlXSksIFByb3BUeXBlcy5mdW5jXSksXG4gIHNob3dDYWxsb3V0OiBQcm9wVHlwZXMuYm9vbFxufTtcblxuZXhwb3J0IGRlZmF1bHQgU3RhY2tlZExheW91dDtcblxuZXhwb3J0IHsgY29ubmVjdFN0YWNrZWRMYXlvdXQgfTtcbiJdfQ==
@@ -27,7 +27,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
27
27
 
28
28
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29
29
 
30
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
30
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31
31
 
32
32
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
33
 
@@ -62,4 +62,4 @@ var TypingAnimation = function TypingAnimation() {
62
62
 
63
63
  var _default = TypingAnimation;
64
64
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Bc3NldHMvVHlwaW5nQW5pbWF0aW9uLmpzIl0sIm5hbWVzIjpbInVzZURpcmVjdGlvbiIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwiUk9PVF9TVFlMRSIsInRyYW5zZm9ybSIsIlR5cGluZ0FuaW1hdGlvbiIsInR5cGluZ0FuaW1hdGlvblN0eWxlU2V0IiwidHlwaW5nQW5pbWF0aW9uIiwiZGlyZWN0aW9uIiwibG9jYWxpemUiLCJyb290Q2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFUUEsWSxHQUErQkMsNkIsQ0FBL0JELFk7SUFBY0UsWSxHQUFpQkQsNkIsQ0FBakJDLFk7QUFFdEIsSUFBTUMsVUFBVSxHQUFHO0FBQ2pCLDhEQUE0RDtBQUFFQyxJQUFBQSxTQUFTLEVBQUU7QUFBYjtBQUQzQyxDQUFuQjs7QUFJQSxJQUFNQyxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLEdBQU07QUFBQSxxQkFDMkIsNEJBRDNCO0FBQUE7QUFBQSxNQUNGQyx1QkFERSxvQkFDbkJDLGVBRG1COztBQUFBLHNCQUVSUCxZQUFZLEVBRko7QUFBQTtBQUFBLE1BRXJCUSxTQUZxQjs7QUFHNUIsTUFBTUMsUUFBUSxHQUFHUCxZQUFZLEVBQTdCO0FBQ0EsTUFBTVEsYUFBYSxHQUFHLHdDQUEwQlAsVUFBMUIsSUFBd0MsRUFBOUQ7QUFFQSxzQkFDRSw2QkFBQyxjQUFELENBQU8sUUFBUCxxQkFDRSw2QkFBQyx5QkFBRDtBQUFrQixJQUFBLElBQUksRUFBRU0sUUFBUSxDQUFDLHNCQUFEO0FBQWhDLElBREYsZUFFRTtBQUNFLG1CQUFhLElBRGY7QUFFRSxJQUFBLFNBQVMsRUFBRSx5QkFDVCwwQkFEUyxFQUVUO0FBQ0UsdUNBQWlDRCxTQUFTLEtBQUs7QUFEakQsS0FGUyxFQUtURSxhQUxTLEVBTVRKLHVCQUF1QixHQUFHLEVBTmpCO0FBRmIsSUFGRixDQURGO0FBZ0JELENBdEJEOztlQXdCZUQsZSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgU2NyZWVuUmVhZGVyVGV4dCBmcm9tICcuLi9TY3JlZW5SZWFkZXJUZXh0JztcblxuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcbmltcG9ydCB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmNvbnN0IHsgdXNlRGlyZWN0aW9uLCB1c2VMb2NhbGl6ZXIgfSA9IGhvb2tzO1xuXG5jb25zdCBST09UX1NUWUxFID0ge1xuICAnJi53ZWJjaGF0X190eXBpbmdJbmRpY2F0b3Iud2ViY2hhdF9fdHlwaW5nSW5kaWNhdG9yLS1ydGwnOiB7IHRyYW5zZm9ybTogJ3NjYWxlKC0xLCAxKScgfVxufTtcblxuY29uc3QgVHlwaW5nQW5pbWF0aW9uID0gKCkgPT4ge1xuICBjb25zdCBbeyB0eXBpbmdBbmltYXRpb246IHR5cGluZ0FuaW1hdGlvblN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW2RpcmVjdGlvbl0gPSB1c2VEaXJlY3Rpb24oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3Qgcm9vdENsYXNzTmFtZSA9IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0KCkoUk9PVF9TVFlMRSkgKyAnJztcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0IHRleHQ9e2xvY2FsaXplKCdUWVBJTkdfSU5ESUNBVE9SX0FMVCcpfSAvPlxuICAgICAgPGRpdlxuICAgICAgICBhcmlhLWhpZGRlbj17dHJ1ZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICd3ZWJjaGF0X190eXBpbmdJbmRpY2F0b3InLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICd3ZWJjaGF0X190eXBpbmdJbmRpY2F0b3ItLXJ0bCc6IGRpcmVjdGlvbiA9PT0gJ3J0bCdcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJvb3RDbGFzc05hbWUsXG4gICAgICAgICAgdHlwaW5nQW5pbWF0aW9uU3R5bGVTZXQgKyAnJ1xuICAgICAgICApfVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVHlwaW5nQW5pbWF0aW9uO1xuIl19
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Bc3NldHMvVHlwaW5nQW5pbWF0aW9uLmpzIl0sIm5hbWVzIjpbInVzZURpcmVjdGlvbiIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwiUk9PVF9TVFlMRSIsInRyYW5zZm9ybSIsIlR5cGluZ0FuaW1hdGlvbiIsInR5cGluZ0FuaW1hdGlvblN0eWxlU2V0IiwidHlwaW5nQW5pbWF0aW9uIiwiZGlyZWN0aW9uIiwibG9jYWxpemUiLCJyb290Q2xhc3NOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSxZQUFSLEdBQXVDQyw2QkFBdkMsQ0FBUUQsWUFBUjtBQUFBLElBQXNCRSxZQUF0QixHQUF1Q0QsNkJBQXZDLENBQXNCQyxZQUF0QjtBQUVBLElBQU1DLFVBQVUsR0FBRztBQUNqQiw4REFBNEQ7QUFBRUMsSUFBQUEsU0FBUyxFQUFFO0FBQWI7QUFEM0MsQ0FBbkI7O0FBSUEsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixHQUFNO0FBQzVCLHFCQUF1RCw0QkFBdkQ7QUFBQTtBQUFBLE1BQTBCQyx1QkFBMUIsb0JBQVNDLGVBQVQ7O0FBQ0Esc0JBQW9CUCxZQUFZLEVBQWhDO0FBQUE7QUFBQSxNQUFPUSxTQUFQOztBQUNBLE1BQU1DLFFBQVEsR0FBR1AsWUFBWSxFQUE3QjtBQUNBLE1BQU1RLGFBQWEsR0FBRyx3Q0FBMEJQLFVBQTFCLElBQXdDLEVBQTlEO0FBRUEsc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAscUJBQ0UsNkJBQUMseUJBQUQ7QUFBa0IsSUFBQSxJQUFJLEVBQUVNLFFBQVEsQ0FBQyxzQkFBRDtBQUFoQyxJQURGLGVBRUU7QUFDRSxtQkFBYSxJQURmO0FBRUUsSUFBQSxTQUFTLEVBQUUseUJBQ1QsMEJBRFMsRUFFVDtBQUNFLHVDQUFpQ0QsU0FBUyxLQUFLO0FBRGpELEtBRlMsRUFLVEUsYUFMUyxFQU1USix1QkFBdUIsR0FBRyxFQU5qQjtBQUZiLElBRkYsQ0FERjtBQWdCRCxDQXRCRDs7ZUF3QmVELGUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5cbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QgZnJvbSAnLi4vaG9va3MvaW50ZXJuYWwvdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QnO1xuXG5jb25zdCB7IHVzZURpcmVjdGlvbiwgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgJyYud2ViY2hhdF9fdHlwaW5nSW5kaWNhdG9yLndlYmNoYXRfX3R5cGluZ0luZGljYXRvci0tcnRsJzogeyB0cmFuc2Zvcm06ICdzY2FsZSgtMSwgMSknIH1cbn07XG5cbmNvbnN0IFR5cGluZ0FuaW1hdGlvbiA9ICgpID0+IHtcbiAgY29uc3QgW3sgdHlwaW5nQW5pbWF0aW9uOiB0eXBpbmdBbmltYXRpb25TdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG4gIGNvbnN0IFtkaXJlY3Rpb25dID0gdXNlRGlyZWN0aW9uKCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXtsb2NhbGl6ZSgnVFlQSU5HX0lORElDQVRPUl9BTFQnKX0gLz5cbiAgICAgIDxkaXZcbiAgICAgICAgYXJpYS1oaWRkZW49e3RydWV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAnd2ViY2hhdF9fdHlwaW5nSW5kaWNhdG9yJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnd2ViY2hhdF9fdHlwaW5nSW5kaWNhdG9yLS1ydGwnOiBkaXJlY3Rpb24gPT09ICdydGwnXG4gICAgICAgICAgfSxcbiAgICAgICAgICByb290Q2xhc3NOYW1lLFxuICAgICAgICAgIHR5cGluZ0FuaW1hdGlvblN0eWxlU2V0ICsgJydcbiAgICAgICAgKX1cbiAgICAgIC8+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFR5cGluZ0FuaW1hdGlvbjtcbiJdfQ==
@@ -18,7 +18,9 @@ var DownloadIcon = function DownloadIcon(_ref) {
18
18
  size = _ref.size;
19
19
  return /*#__PURE__*/_react.default.createElement("svg", {
20
20
  className: className,
21
+ focusable: false,
21
22
  height: ICON_SIZE_FACTOR * size,
23
+ role: "presentation",
22
24
  viewBox: "0 0 31.8 46",
23
25
  width: ICON_SIZE_FACTOR * size
24
26
  }, /*#__PURE__*/_react.default.createElement("path", {
@@ -36,4 +38,4 @@ DownloadIcon.propTypes = {
36
38
  };
37
39
  var _default = DownloadIcon;
38
40
  exports.default = _default;
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BdHRhY2htZW50L0Fzc2V0cy9Eb3dubG9hZEljb24uanMiXSwibmFtZXMiOlsiSUNPTl9TSVpFX0ZBQ1RPUiIsIkRvd25sb2FkSWNvbiIsImNsYXNzTmFtZSIsInNpemUiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJudW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLElBQU1BLGdCQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlO0FBQUEsTUFBR0MsU0FBSCxRQUFHQSxTQUFIO0FBQUEsTUFBY0MsSUFBZCxRQUFjQSxJQUFkO0FBQUEsc0JBQ25CO0FBQUssSUFBQSxTQUFTLEVBQUVELFNBQWhCO0FBQTJCLElBQUEsTUFBTSxFQUFFRixnQkFBZ0IsR0FBR0csSUFBdEQ7QUFBNEQsSUFBQSxPQUFPLEVBQUMsYUFBcEU7QUFBa0YsSUFBQSxLQUFLLEVBQUVILGdCQUFnQixHQUFHRztBQUE1RyxrQkFDRTtBQUFNLElBQUEsQ0FBQyxFQUFDO0FBQVIsSUFERixDQURtQjtBQUFBLENBQXJCOztBQU1BRixZQUFZLENBQUNHLFlBQWIsR0FBNEI7QUFDMUJGLEVBQUFBLFNBQVMsRUFBRSxFQURlO0FBRTFCQyxFQUFBQSxJQUFJLEVBQUU7QUFGb0IsQ0FBNUI7QUFLQUYsWUFBWSxDQUFDSSxTQUFiLEdBQXlCO0FBQ3ZCSCxFQUFBQSxTQUFTLEVBQUVJLG1CQUFVQyxNQURFO0FBRXZCSixFQUFBQSxJQUFJLEVBQUVHLG1CQUFVRTtBQUZPLENBQXpCO2VBS2VQLFkiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBJQ09OX1NJWkVfRkFDVE9SID0gMjI7XG5cbmNvbnN0IERvd25sb2FkSWNvbiA9ICh7IGNsYXNzTmFtZSwgc2l6ZSB9KSA9PiAoXG4gIDxzdmcgY2xhc3NOYW1lPXtjbGFzc05hbWV9IGhlaWdodD17SUNPTl9TSVpFX0ZBQ1RPUiAqIHNpemV9IHZpZXdCb3g9XCIwIDAgMzEuOCA0NlwiIHdpZHRoPXtJQ09OX1NJWkVfRkFDVE9SICogc2l6ZX0+XG4gICAgPHBhdGggZD1cIk0yNi44LDIzLjhsLTEwLjksMTFMNSwyMy44bDEuNi0xLjZsOC4yLDguM1Y1SDE3djI1LjVsOC4yLTguM0wyNi44LDIzLjh6IE01LjgsNDF2LTIuMkgyNlY0MUg1Ljh6XCIgLz5cbiAgPC9zdmc+XG4pO1xuXG5Eb3dubG9hZEljb24uZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6ICcnLFxuICBzaXplOiAxXG59O1xuXG5Eb3dubG9hZEljb24ucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNpemU6IFByb3BUeXBlcy5udW1iZXJcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERvd25sb2FkSWNvbjtcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9BdHRhY2htZW50L0Fzc2V0cy9Eb3dubG9hZEljb24uanMiXSwibmFtZXMiOlsiSUNPTl9TSVpFX0ZBQ1RPUiIsIkRvd25sb2FkSWNvbiIsImNsYXNzTmFtZSIsInNpemUiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJudW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUVBLElBQU1BLGdCQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlO0FBQUEsTUFBR0MsU0FBSCxRQUFHQSxTQUFIO0FBQUEsTUFBY0MsSUFBZCxRQUFjQSxJQUFkO0FBQUEsc0JBQ25CO0FBQ0UsSUFBQSxTQUFTLEVBQUVELFNBRGI7QUFFRSxJQUFBLFNBQVMsRUFBRSxLQUZiO0FBR0UsSUFBQSxNQUFNLEVBQUVGLGdCQUFnQixHQUFHRyxJQUg3QjtBQUlFLElBQUEsSUFBSSxFQUFDLGNBSlA7QUFLRSxJQUFBLE9BQU8sRUFBQyxhQUxWO0FBTUUsSUFBQSxLQUFLLEVBQUVILGdCQUFnQixHQUFHRztBQU41QixrQkFRRTtBQUFNLElBQUEsQ0FBQyxFQUFDO0FBQVIsSUFSRixDQURtQjtBQUFBLENBQXJCOztBQWFBRixZQUFZLENBQUNHLFlBQWIsR0FBNEI7QUFDMUJGLEVBQUFBLFNBQVMsRUFBRSxFQURlO0FBRTFCQyxFQUFBQSxJQUFJLEVBQUU7QUFGb0IsQ0FBNUI7QUFLQUYsWUFBWSxDQUFDSSxTQUFiLEdBQXlCO0FBQ3ZCSCxFQUFBQSxTQUFTLEVBQUVJLG1CQUFVQyxNQURFO0FBRXZCSixFQUFBQSxJQUFJLEVBQUVHLG1CQUFVRTtBQUZPLENBQXpCO2VBS2VQLFkiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5jb25zdCBJQ09OX1NJWkVfRkFDVE9SID0gMjI7XG5cbmNvbnN0IERvd25sb2FkSWNvbiA9ICh7IGNsYXNzTmFtZSwgc2l6ZSB9KSA9PiAoXG4gIDxzdmdcbiAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICBmb2N1c2FibGU9e2ZhbHNlfVxuICAgIGhlaWdodD17SUNPTl9TSVpFX0ZBQ1RPUiAqIHNpemV9XG4gICAgcm9sZT1cInByZXNlbnRhdGlvblwiXG4gICAgdmlld0JveD1cIjAgMCAzMS44IDQ2XCJcbiAgICB3aWR0aD17SUNPTl9TSVpFX0ZBQ1RPUiAqIHNpemV9XG4gID5cbiAgICA8cGF0aCBkPVwiTTI2LjgsMjMuOGwtMTAuOSwxMUw1LDIzLjhsMS42LTEuNmw4LjIsOC4zVjVIMTd2MjUuNWw4LjItOC4zTDI2LjgsMjMuOHogTTUuOCw0MXYtMi4ySDI2VjQxSDUuOHpcIiAvPlxuICA8L3N2Zz5cbik7XG5cbkRvd25sb2FkSWNvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogJycsXG4gIHNpemU6IDFcbn07XG5cbkRvd25sb2FkSWNvbi5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2l6ZTogUHJvcFR5cGVzLm51bWJlclxufTtcblxuZXhwb3J0IGRlZmF1bHQgRG93bmxvYWRJY29uO1xuIl19
@@ -23,7 +23,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
23
23
 
24
24
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
25
 
26
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
26
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
27
27
 
28
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
29
 
@@ -50,4 +50,4 @@ AudioAttachment.propTypes = {
50
50
  };
51
51
  var _default = AudioAttachment;
52
52
  exports.default = _default;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0F1ZGlvQXR0YWNobWVudC5qcyJdLCJuYW1lcyI6WyJBdWRpb0F0dGFjaG1lbnQiLCJhdHRhY2htZW50IiwiYXVkaW9BdHRhY2htZW50U3R5bGVTZXQiLCJhdWRpb0F0dGFjaG1lbnQiLCJuYW1lIiwiY29udGVudFVybCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwic3RyaW5nIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixPQUFvQjtBQUFBLE1BQWpCQyxVQUFpQixRQUFqQkEsVUFBaUI7O0FBQUEscUJBQ2EsNEJBRGI7QUFBQTtBQUFBLE1BQ2hCQyx1QkFEZ0Isb0JBQ2pDQyxlQURpQzs7QUFHMUMsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRUQ7QUFBaEIsa0JBQ0UsNkJBQUMscUJBQUQ7QUFBYyxJQUFBLEdBQUcsRUFBRUQsVUFBVSxDQUFDRyxJQUE5QjtBQUFvQyxJQUFBLEdBQUcsRUFBRUgsVUFBVSxDQUFDSTtBQUFwRCxJQURGLENBREY7QUFLRCxDQVJEOztBQVVBTCxlQUFlLENBQUNNLFNBQWhCLEdBQTRCO0FBQzFCTCxFQUFBQSxVQUFVLEVBQUVNLG1CQUFVQyxLQUFWLENBQWdCO0FBQzFCSCxJQUFBQSxVQUFVLEVBQUVFLG1CQUFVRSxNQUFWLENBQWlCQyxVQURIO0FBRTFCTixJQUFBQSxJQUFJLEVBQUVHLG1CQUFVRTtBQUZVLEdBQWhCLEVBR1RDO0FBSnVCLENBQTVCO2VBT2VWLGUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQXVkaW9Db250ZW50IGZyb20gJy4vQXVkaW9Db250ZW50JztcbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi9ob29rcy91c2VTdHlsZVNldCc7XG5cbmNvbnN0IEF1ZGlvQXR0YWNobWVudCA9ICh7IGF0dGFjaG1lbnQgfSkgPT4ge1xuICBjb25zdCBbeyBhdWRpb0F0dGFjaG1lbnQ6IGF1ZGlvQXR0YWNobWVudFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXthdWRpb0F0dGFjaG1lbnRTdHlsZVNldH0+XG4gICAgICA8QXVkaW9Db250ZW50IGFsdD17YXR0YWNobWVudC5uYW1lfSBzcmM9e2F0dGFjaG1lbnQuY29udGVudFVybH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkF1ZGlvQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIGF0dGFjaG1lbnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY29udGVudFVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXVkaW9BdHRhY2htZW50O1xuIl19
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0F1ZGlvQXR0YWNobWVudC5qcyJdLCJuYW1lcyI6WyJBdWRpb0F0dGFjaG1lbnQiLCJhdHRhY2htZW50IiwiYXVkaW9BdHRhY2htZW50U3R5bGVTZXQiLCJhdWRpb0F0dGFjaG1lbnQiLCJuYW1lIiwiY29udGVudFVybCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwic3RyaW5nIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixPQUFvQjtBQUFBLE1BQWpCQyxVQUFpQixRQUFqQkEsVUFBaUI7O0FBQzFDLHFCQUF1RCw0QkFBdkQ7QUFBQTtBQUFBLE1BQTBCQyx1QkFBMUIsb0JBQVNDLGVBQVQ7O0FBRUEsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBRUQ7QUFBaEIsa0JBQ0UsNkJBQUMscUJBQUQ7QUFBYyxJQUFBLEdBQUcsRUFBRUQsVUFBVSxDQUFDRyxJQUE5QjtBQUFvQyxJQUFBLEdBQUcsRUFBRUgsVUFBVSxDQUFDSTtBQUFwRCxJQURGLENBREY7QUFLRCxDQVJEOztBQVVBTCxlQUFlLENBQUNNLFNBQWhCLEdBQTRCO0FBQzFCTCxFQUFBQSxVQUFVLEVBQUVNLG1CQUFVQyxLQUFWLENBQWdCO0FBQzFCSCxJQUFBQSxVQUFVLEVBQUVFLG1CQUFVRSxNQUFWLENBQWlCQyxVQURIO0FBRTFCTixJQUFBQSxJQUFJLEVBQUVHLG1CQUFVRTtBQUZVLEdBQWhCLEVBR1RDO0FBSnVCLENBQTVCO2VBT2VWLGUiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQXVkaW9Db250ZW50IGZyb20gJy4vQXVkaW9Db250ZW50JztcbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi9ob29rcy91c2VTdHlsZVNldCc7XG5cbmNvbnN0IEF1ZGlvQXR0YWNobWVudCA9ICh7IGF0dGFjaG1lbnQgfSkgPT4ge1xuICBjb25zdCBbeyBhdWRpb0F0dGFjaG1lbnQ6IGF1ZGlvQXR0YWNobWVudFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXthdWRpb0F0dGFjaG1lbnRTdHlsZVNldH0+XG4gICAgICA8QXVkaW9Db250ZW50IGFsdD17YXR0YWNobWVudC5uYW1lfSBzcmM9e2F0dGFjaG1lbnQuY29udGVudFVybH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkF1ZGlvQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIGF0dGFjaG1lbnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY29udGVudFVybDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXVkaW9BdHRhY2htZW50O1xuIl19
@@ -0,0 +1,11 @@
1
+ import { FC } from 'react';
2
+ declare type AudioContentProps = {
3
+ alt?: string;
4
+ autoPlay?: boolean;
5
+ loop?: boolean;
6
+ poster?: string;
7
+ src: string;
8
+ };
9
+ declare const AudioContent: FC<AudioContentProps>;
10
+ export default AudioContent;
11
+ //# sourceMappingURL=AudioContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioContent.d.ts","sourceRoot":"","sources":["../../src/Attachment/AudioContent.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,aAAK,iBAAiB,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAavC,CAAC;AAmBF,eAAe,YAAY,CAAC"}
@@ -21,7 +21,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
21
21
 
22
22
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
23
 
24
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
24
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
25
 
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
27
 
@@ -29,7 +29,6 @@ var AudioContent = function AudioContent(_ref) {
29
29
  var alt = _ref.alt,
30
30
  autoPlay = _ref.autoPlay,
31
31
  loop = _ref.loop,
32
- poster = _ref.poster,
33
32
  src = _ref.src;
34
33
 
35
34
  var _useStyleSet = (0, _useStyleSet3.default)(),
@@ -42,7 +41,6 @@ var AudioContent = function AudioContent(_ref) {
42
41
  className: audioContentStyleSet,
43
42
  controls: true,
44
43
  loop: loop,
45
- poster: poster,
46
44
  src: src
47
45
  });
48
46
  };
@@ -57,9 +55,11 @@ AudioContent.propTypes = {
57
55
  alt: _propTypes.default.string,
58
56
  autoPlay: _propTypes.default.bool,
59
57
  loop: _propTypes.default.bool,
58
+ // We will keep the "poster" prop for #3315.
59
+ // eslint-disable-next-line react/no-unused-prop-types
60
60
  poster: _propTypes.default.string,
61
61
  src: _propTypes.default.string.isRequired
62
62
  };
63
63
  var _default = AudioContent;
64
64
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0F1ZGlvQ29udGVudC5qcyJdLCJuYW1lcyI6WyJBdWRpb0NvbnRlbnQiLCJhbHQiLCJhdXRvUGxheSIsImxvb3AiLCJwb3N0ZXIiLCJzcmMiLCJhdWRpb0NvbnRlbnRTdHlsZVNldCIsImF1ZGlvQ29udGVudCIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUcsU0FBZkEsWUFBZSxPQUEwQztBQUFBLE1BQXZDQyxHQUF1QyxRQUF2Q0EsR0FBdUM7QUFBQSxNQUFsQ0MsUUFBa0MsUUFBbENBLFFBQWtDO0FBQUEsTUFBeEJDLElBQXdCLFFBQXhCQSxJQUF3QjtBQUFBLE1BQWxCQyxNQUFrQixRQUFsQkEsTUFBa0I7QUFBQSxNQUFWQyxHQUFVLFFBQVZBLEdBQVU7O0FBQUEscUJBQ1osNEJBRFk7QUFBQTtBQUFBLE1BQ3RDQyxvQkFEc0Msb0JBQ3BEQyxZQURvRDs7QUFHN0Qsc0JBQ0U7QUFDRSxrQkFBWU4sR0FEZDtBQUVFLElBQUEsUUFBUSxFQUFFQyxRQUZaO0FBR0UsSUFBQSxTQUFTLEVBQUVJLG9CQUhiO0FBSUUsSUFBQSxRQUFRLEVBQUUsSUFKWjtBQUtFLElBQUEsSUFBSSxFQUFFSCxJQUxSO0FBTUUsSUFBQSxNQUFNLEVBQUVDLE1BTlY7QUFPRSxJQUFBLEdBQUcsRUFBRUM7QUFQUCxJQURGO0FBV0QsQ0FkRDs7QUFnQkFMLFlBQVksQ0FBQ1EsWUFBYixHQUE0QjtBQUMxQlAsRUFBQUEsR0FBRyxFQUFFLEVBRHFCO0FBRTFCQyxFQUFBQSxRQUFRLEVBQUUsS0FGZ0I7QUFHMUJDLEVBQUFBLElBQUksRUFBRSxLQUhvQjtBQUkxQkMsRUFBQUEsTUFBTSxFQUFFO0FBSmtCLENBQTVCO0FBT0FKLFlBQVksQ0FBQ1MsU0FBYixHQUF5QjtBQUN2QlIsRUFBQUEsR0FBRyxFQUFFUyxtQkFBVUMsTUFEUTtBQUV2QlQsRUFBQUEsUUFBUSxFQUFFUSxtQkFBVUUsSUFGRztBQUd2QlQsRUFBQUEsSUFBSSxFQUFFTyxtQkFBVUUsSUFITztBQUl2QlIsRUFBQUEsTUFBTSxFQUFFTSxtQkFBVUMsTUFKSztBQUt2Qk4sRUFBQUEsR0FBRyxFQUFFSyxtQkFBVUMsTUFBVixDQUFpQkU7QUFMQyxDQUF6QjtlQVFlYixZIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcblxuY29uc3QgQXVkaW9Db250ZW50ID0gKHsgYWx0LCBhdXRvUGxheSwgbG9vcCwgcG9zdGVyLCBzcmMgfSkgPT4ge1xuICBjb25zdCBbeyBhdWRpb0NvbnRlbnQ6IGF1ZGlvQ29udGVudFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcblxuICByZXR1cm4gKFxuICAgIDxhdWRpb1xuICAgICAgYXJpYS1sYWJlbD17YWx0fVxuICAgICAgYXV0b1BsYXk9e2F1dG9QbGF5fVxuICAgICAgY2xhc3NOYW1lPXthdWRpb0NvbnRlbnRTdHlsZVNldH1cbiAgICAgIGNvbnRyb2xzPXt0cnVlfVxuICAgICAgbG9vcD17bG9vcH1cbiAgICAgIHBvc3Rlcj17cG9zdGVyfVxuICAgICAgc3JjPXtzcmN9XG4gICAgLz5cbiAgKTtcbn07XG5cbkF1ZGlvQ29udGVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGFsdDogJycsXG4gIGF1dG9QbGF5OiBmYWxzZSxcbiAgbG9vcDogZmFsc2UsXG4gIHBvc3RlcjogJydcbn07XG5cbkF1ZGlvQ29udGVudC5wcm9wVHlwZXMgPSB7XG4gIGFsdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYXV0b1BsYXk6IFByb3BUeXBlcy5ib29sLFxuICBsb29wOiBQcm9wVHlwZXMuYm9vbCxcbiAgcG9zdGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBzcmM6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQXVkaW9Db250ZW50O1xuIl19
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0F1ZGlvQ29udGVudC50c3giXSwibmFtZXMiOlsiQXVkaW9Db250ZW50IiwiYWx0IiwiYXV0b1BsYXkiLCJsb29wIiwic3JjIiwiYXVkaW9Db250ZW50U3R5bGVTZXQiLCJhdWRpb0NvbnRlbnQiLCJkZWZhdWx0UHJvcHMiLCJwb3N0ZXIiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJib29sIiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsSUFBTUEsWUFBbUMsR0FBRyxTQUF0Q0EsWUFBc0MsT0FBa0M7QUFBQSxNQUEvQkMsR0FBK0IsUUFBL0JBLEdBQStCO0FBQUEsTUFBMUJDLFFBQTBCLFFBQTFCQSxRQUEwQjtBQUFBLE1BQWhCQyxJQUFnQixRQUFoQkEsSUFBZ0I7QUFBQSxNQUFWQyxHQUFVLFFBQVZBLEdBQVU7O0FBQzVFLHFCQUFpRCw0QkFBakQ7QUFBQTtBQUFBLE1BQXVCQyxvQkFBdkIsb0JBQVNDLFlBQVQ7O0FBRUEsc0JBQ0U7QUFDRSxrQkFBWUwsR0FEZDtBQUVFLElBQUEsUUFBUSxFQUFFQyxRQUZaO0FBR0UsSUFBQSxTQUFTLEVBQUVHLG9CQUhiO0FBSUUsSUFBQSxRQUFRLEVBQUUsSUFKWjtBQUtFLElBQUEsSUFBSSxFQUFFRixJQUxSO0FBTUUsSUFBQSxHQUFHLEVBQUVDO0FBTlAsSUFERjtBQVVELENBYkQ7O0FBZUFKLFlBQVksQ0FBQ08sWUFBYixHQUE0QjtBQUMxQk4sRUFBQUEsR0FBRyxFQUFFLEVBRHFCO0FBRTFCQyxFQUFBQSxRQUFRLEVBQUUsS0FGZ0I7QUFHMUJDLEVBQUFBLElBQUksRUFBRSxLQUhvQjtBQUkxQkssRUFBQUEsTUFBTSxFQUFFO0FBSmtCLENBQTVCO0FBT0FSLFlBQVksQ0FBQ1MsU0FBYixHQUF5QjtBQUN2QlIsRUFBQUEsR0FBRyxFQUFFUyxtQkFBVUMsTUFEUTtBQUV2QlQsRUFBQUEsUUFBUSxFQUFFUSxtQkFBVUUsSUFGRztBQUd2QlQsRUFBQUEsSUFBSSxFQUFFTyxtQkFBVUUsSUFITztBQUl2QjtBQUNBO0FBQ0FKLEVBQUFBLE1BQU0sRUFBRUUsbUJBQVVDLE1BTks7QUFPdkJQLEVBQUFBLEdBQUcsRUFBRU0sbUJBQVVDLE1BQVYsQ0FBaUJFO0FBUEMsQ0FBekI7ZUFVZWIsWSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcblxudHlwZSBBdWRpb0NvbnRlbnRQcm9wcyA9IHtcbiAgYWx0Pzogc3RyaW5nO1xuICBhdXRvUGxheT86IGJvb2xlYW47XG4gIGxvb3A/OiBib29sZWFuO1xuICBwb3N0ZXI/OiBzdHJpbmc7XG4gIHNyYzogc3RyaW5nO1xufTtcblxuY29uc3QgQXVkaW9Db250ZW50OiBGQzxBdWRpb0NvbnRlbnRQcm9wcz4gPSAoeyBhbHQsIGF1dG9QbGF5LCBsb29wLCBzcmMgfSkgPT4ge1xuICBjb25zdCBbeyBhdWRpb0NvbnRlbnQ6IGF1ZGlvQ29udGVudFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcblxuICByZXR1cm4gKFxuICAgIDxhdWRpb1xuICAgICAgYXJpYS1sYWJlbD17YWx0fVxuICAgICAgYXV0b1BsYXk9e2F1dG9QbGF5fVxuICAgICAgY2xhc3NOYW1lPXthdWRpb0NvbnRlbnRTdHlsZVNldH1cbiAgICAgIGNvbnRyb2xzPXt0cnVlfVxuICAgICAgbG9vcD17bG9vcH1cbiAgICAgIHNyYz17c3JjfVxuICAgIC8+XG4gICk7XG59O1xuXG5BdWRpb0NvbnRlbnQuZGVmYXVsdFByb3BzID0ge1xuICBhbHQ6ICcnLFxuICBhdXRvUGxheTogZmFsc2UsXG4gIGxvb3A6IGZhbHNlLFxuICBwb3N0ZXI6ICcnXG59O1xuXG5BdWRpb0NvbnRlbnQucHJvcFR5cGVzID0ge1xuICBhbHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGF1dG9QbGF5OiBQcm9wVHlwZXMuYm9vbCxcbiAgbG9vcDogUHJvcFR5cGVzLmJvb2wsXG4gIC8vIFdlIHdpbGwga2VlcCB0aGUgXCJwb3N0ZXJcIiBwcm9wIGZvciAjMzMxNS5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLXVudXNlZC1wcm9wLXR5cGVzXG4gIHBvc3RlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgc3JjOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEF1ZGlvQ29udGVudDtcbiJdfQ==