mediasfu-angular 1.0.0 → 1.0.2

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 (461) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +194 -192
  3. package/dist/README.md +194 -192
  4. package/dist/esm2022/lib/components/background-components/background-modal/background-modal.component.mjs +37 -1
  5. package/dist/esm2022/lib/components/breakout-components/breakout-rooms-modal.component.mjs +51 -1
  6. package/dist/esm2022/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.mjs +49 -1
  7. package/dist/esm2022/lib/components/co-host-components/co-host-modal/co-host-modal.component.mjs +1 -2
  8. package/dist/esm2022/lib/components/display-components/alert-component/alert.component.component.mjs +25 -19
  9. package/dist/esm2022/lib/components/display-components/audio-card/audio-card.component.mjs +60 -1
  10. package/dist/esm2022/lib/components/display-components/audio-grid/audio-grid.component.mjs +21 -1
  11. package/dist/esm2022/lib/components/display-components/card-video-display/card-video-display.component.mjs +36 -1
  12. package/dist/esm2022/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.mjs +39 -1
  13. package/dist/esm2022/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.mjs +25 -41
  14. package/dist/esm2022/lib/components/display-components/control-widgets/menu-participants-widget.component.mjs +22 -1
  15. package/dist/esm2022/lib/components/display-components/control-widgets/menu-record-widget.component.mjs +23 -1
  16. package/dist/esm2022/lib/components/display-components/control-widgets/menu-widget.component.mjs +24 -1
  17. package/dist/esm2022/lib/components/display-components/control-widgets/message-widget.component.mjs +24 -1
  18. package/dist/esm2022/lib/components/display-components/control-widgets/record-timer-widget.component.mjs +16 -1
  19. package/dist/esm2022/lib/components/display-components/control-widgets/screenshare-widget.component.mjs +28 -1
  20. package/dist/esm2022/lib/components/display-components/flexible-grid/flexible-grid.component.mjs +28 -19
  21. package/dist/esm2022/lib/components/display-components/flexible-video/flexible-video.component.mjs +31 -46
  22. package/dist/esm2022/lib/components/display-components/loading-modal/loading-modal.component.mjs +20 -18
  23. package/dist/esm2022/lib/components/display-components/main-aspect-component/main-aspect-component.component.mjs +33 -25
  24. package/dist/esm2022/lib/components/display-components/main-container-component/main-container-component.component.mjs +29 -17
  25. package/dist/esm2022/lib/components/display-components/main-grid-component/main-grid-component.component.mjs +29 -15
  26. package/dist/esm2022/lib/components/display-components/main-screen-component/main-screen-component.component.mjs +44 -23
  27. package/dist/esm2022/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.mjs +26 -31
  28. package/dist/esm2022/lib/components/display-components/mini-audio/mini-audio.component.mjs +52 -59
  29. package/dist/esm2022/lib/components/display-components/mini-card/mini-card.component.mjs +20 -24
  30. package/dist/esm2022/lib/components/display-components/mini-card-audio/mini-card-audio.component.mjs +40 -40
  31. package/dist/esm2022/lib/components/display-components/other-grid-component/other-grid-component.component.mjs +29 -14
  32. package/dist/esm2022/lib/components/display-components/pagination/pagination.component.mjs +30 -24
  33. package/dist/esm2022/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.mjs +19 -25
  34. package/dist/esm2022/lib/components/display-components/video-card/video-card.component.mjs +63 -1
  35. package/dist/esm2022/lib/components/display-settings-components/display-settings-modal.component.mjs +29 -18
  36. package/dist/esm2022/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.mjs +48 -39
  37. package/dist/esm2022/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.mjs +36 -23
  38. package/dist/esm2022/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.mjs +36 -25
  39. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-broadcast.component.mjs +54 -3
  40. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-chat.component.mjs +54 -3
  41. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-conference.component.mjs +52 -3
  42. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-generic.component.mjs +52 -3
  43. package/dist/esm2022/lib/components/mediasfu-components/mediasfu-webinar.component.mjs +50 -3
  44. package/dist/esm2022/lib/components/menu-components/custom-buttons/custom-buttons.component.mjs +50 -52
  45. package/dist/esm2022/lib/components/menu-components/meeting-id-component/meeting-id-component.component.mjs +7 -2
  46. package/dist/esm2022/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.mjs +6 -1
  47. package/dist/esm2022/lib/components/menu-components/menu-modal/menu-modal.component.mjs +22 -29
  48. package/dist/esm2022/lib/components/menu-components/share-buttons-component/share-buttons-component.component.mjs +16 -14
  49. package/dist/esm2022/lib/components/message-components/message-panel/message-panel.component.mjs +25 -1
  50. package/dist/esm2022/lib/components/message-components/messages-modal/messages-modal.component.mjs +35 -1
  51. package/dist/esm2022/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.mjs +17 -34
  52. package/dist/esm2022/lib/components/misc-components/pre-join-page/pre-join-page.component.mjs +9 -1
  53. package/dist/esm2022/lib/components/misc-components/share-event-modal/share-event-modal.component.mjs +15 -1
  54. package/dist/esm2022/lib/components/misc-components/welcome-page/welcome-page.component.mjs +16 -1
  55. package/dist/esm2022/lib/components/participants-components/participant-list/participant-list.component.mjs +20 -1
  56. package/dist/esm2022/lib/components/participants-components/participant-list-item/participant-list-item.component.mjs +20 -1
  57. package/dist/esm2022/lib/components/participants-components/participant-list-others/participant-list-others.component.mjs +18 -1
  58. package/dist/esm2022/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.mjs +18 -1
  59. package/dist/esm2022/lib/components/participants-components/participants-modal/participants-modal.component.mjs +25 -1
  60. package/dist/esm2022/lib/components/polls-components/poll-modal/poll-modal.component.mjs +28 -1
  61. package/dist/esm2022/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.mjs +16 -1
  62. package/dist/esm2022/lib/components/recording-components/recording-modal/recording-modal.component.mjs +13 -1
  63. package/dist/esm2022/lib/components/recording-components/standard-panel-component/standard-panel-component.component.mjs +6 -1
  64. package/dist/esm2022/lib/components/requests-components/render-request-component/render-request-component.component.mjs +23 -1
  65. package/dist/esm2022/lib/components/requests-components/requests-modal/requests-modal.component.mjs +18 -1
  66. package/dist/esm2022/lib/components/screenboard-components/screenboard/screenboard.component.mjs +11 -1
  67. package/dist/esm2022/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.mjs +12 -1
  68. package/dist/esm2022/lib/components/waiting-components/waiting-room-modal.component.mjs +60 -1
  69. package/dist/esm2022/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.mjs +22 -1
  70. package/dist/esm2022/lib/components/whiteboard-components/whiteboard/whiteboard.component.mjs +50 -1
  71. package/dist/esm2022/lib/consumers/add-videos-grid.service.mjs +50 -1
  72. package/dist/esm2022/lib/consumers/auto-adjust.service.mjs +27 -1
  73. package/dist/esm2022/lib/consumers/calculate-rows-and-columns.service.mjs +19 -1
  74. package/dist/esm2022/lib/consumers/change-vids.service.mjs +132 -67
  75. package/dist/esm2022/lib/consumers/check-grid.service.mjs +33 -19
  76. package/dist/esm2022/lib/consumers/check-permission.service.mjs +26 -1
  77. package/dist/esm2022/lib/consumers/check-screen-share.service.mjs +36 -1
  78. package/dist/esm2022/lib/consumers/close-and-resize.service.mjs +103 -1
  79. package/dist/esm2022/lib/consumers/compare-active-names.service.mjs +32 -1
  80. package/dist/esm2022/lib/consumers/compare-screen-states.service.mjs +36 -1
  81. package/dist/esm2022/lib/consumers/connect-ips.service.mjs +43 -1
  82. package/dist/esm2022/lib/consumers/connect-recv-transport.service.mjs +34 -1
  83. package/dist/esm2022/lib/consumers/connect-send-transport-audio.service.mjs +39 -1
  84. package/dist/esm2022/lib/consumers/connect-send-transport-screen.service.mjs +41 -1
  85. package/dist/esm2022/lib/consumers/connect-send-transport-video.service.mjs +45 -1
  86. package/dist/esm2022/lib/consumers/connect-send-transport.service.mjs +55 -1
  87. package/dist/esm2022/lib/consumers/consumer-resume.service.mjs +37 -1
  88. package/dist/esm2022/lib/consumers/control-media.service.mjs +46 -1
  89. package/dist/esm2022/lib/consumers/create-send-transport.service.mjs +47 -1
  90. package/dist/esm2022/lib/consumers/disconnect-send-transport-audio.service.mjs +51 -1
  91. package/dist/esm2022/lib/consumers/disconnect-send-transport-screen.service.mjs +40 -1
  92. package/dist/esm2022/lib/consumers/disconnect-send-transport-video.service.mjs +46 -1
  93. package/dist/esm2022/lib/consumers/disp-streams.service.mjs +93 -1
  94. package/dist/esm2022/lib/consumers/generate-page-content.service.mjs +48 -1
  95. package/dist/esm2022/lib/consumers/get-estimate.service.mjs +51 -1
  96. package/dist/esm2022/lib/consumers/get-piped-producers-alt.service.mjs +34 -1
  97. package/dist/esm2022/lib/consumers/get-producers-piped.service.mjs +34 -1
  98. package/dist/esm2022/lib/consumers/get-videos.service.mjs +34 -1
  99. package/dist/esm2022/lib/consumers/mix-streams.service.mjs +23 -1
  100. package/dist/esm2022/lib/consumers/on-screen-changes.service.mjs +41 -1
  101. package/dist/esm2022/lib/consumers/prepopulate-user-media.service.mjs +100 -1
  102. package/dist/esm2022/lib/consumers/process-consumer-transports-audio.service.mjs +30 -1
  103. package/dist/esm2022/lib/consumers/process-consumer-transports.service.mjs +38 -1
  104. package/dist/esm2022/lib/consumers/re-port.service.mjs +49 -1
  105. package/dist/esm2022/lib/consumers/re-update-inter.service.mjs +83 -1
  106. package/dist/esm2022/lib/consumers/readjust.service.mjs +51 -1
  107. package/dist/esm2022/lib/consumers/receive-all-piped-transports.service.mjs +32 -1
  108. package/dist/esm2022/lib/consumers/receive-room-messages.service.mjs +28 -1
  109. package/dist/esm2022/lib/consumers/reorder-streams.service.mjs +59 -1
  110. package/dist/esm2022/lib/consumers/request-screen-share.service.mjs +35 -1
  111. package/dist/esm2022/lib/consumers/resume-pause-audio-streams.service.mjs +52 -1
  112. package/dist/esm2022/lib/consumers/resume-pause-streams.service.mjs +34 -1
  113. package/dist/esm2022/lib/consumers/resume-send-transport-audio.service.mjs +37 -1
  114. package/dist/esm2022/lib/consumers/signal-new-consumer-transport.service.mjs +38 -38
  115. package/dist/esm2022/lib/consumers/socket-receive-methods/join-consume-room.service.mjs +34 -1
  116. package/dist/esm2022/lib/consumers/socket-receive-methods/new-pipe-producer.service.mjs +40 -1
  117. package/dist/esm2022/lib/consumers/socket-receive-methods/producer-closed.service.mjs +28 -1
  118. package/dist/esm2022/lib/consumers/start-share-screen.service.mjs +41 -1
  119. package/dist/esm2022/lib/consumers/stop-share-screen.service.mjs +56 -1
  120. package/dist/esm2022/lib/consumers/stream-success-audio-switch.service.mjs +54 -1
  121. package/dist/esm2022/lib/consumers/stream-success-audio.service.mjs +62 -1
  122. package/dist/esm2022/lib/consumers/stream-success-screen.service.mjs +51 -1
  123. package/dist/esm2022/lib/consumers/stream-success-video.service.mjs +59 -1
  124. package/dist/esm2022/lib/consumers/switch-user-audio.service.mjs +34 -1
  125. package/dist/esm2022/lib/consumers/switch-user-video-alt.service.mjs +33 -1
  126. package/dist/esm2022/lib/consumers/switch-user-video.service.mjs +48 -1
  127. package/dist/esm2022/lib/consumers/trigger.service.mjs +39 -1
  128. package/dist/esm2022/lib/consumers/update-mini-cards-grid.service.mjs +55 -1
  129. package/dist/esm2022/lib/consumers/update-participant-audio-decibels.service.mjs +46 -1
  130. package/dist/esm2022/lib/methods/background-methods/launch-background.service.mjs +26 -1
  131. package/dist/esm2022/lib/methods/breakout-room-methods/breakout-room-updated.service.mjs +72 -1
  132. package/dist/esm2022/lib/methods/breakout-room-methods/launch-breakout-rooms.service.mjs +25 -1
  133. package/dist/esm2022/lib/methods/co-host-methods/launch-co-host.service.mjs +25 -1
  134. package/dist/esm2022/lib/methods/co-host-methods/modify-co-host-settings.service.mjs +45 -1
  135. package/dist/esm2022/lib/methods/display-settings-methods/launch-display-settings.service.mjs +23 -1
  136. package/dist/esm2022/lib/methods/display-settings-methods/modify-display-settings.service.mjs +76 -1
  137. package/dist/esm2022/lib/methods/exit-methods/confirm-exit.service.mjs +25 -1
  138. package/dist/esm2022/lib/methods/exit-methods/launch-confirm-exit.service.mjs +21 -1
  139. package/dist/esm2022/lib/methods/media-settings-methods/launch-media-settings.service.mjs +36 -1
  140. package/dist/esm2022/lib/methods/menu-methods/launch-menu-modal.service.mjs +23 -1
  141. package/dist/esm2022/lib/methods/message-methods/launch-messages.service.mjs +23 -1
  142. package/dist/esm2022/lib/methods/message-methods/send-message.service.mjs +50 -1
  143. package/dist/esm2022/lib/methods/participants-methods/launch-participants.service.mjs +25 -1
  144. package/dist/esm2022/lib/methods/participants-methods/message-participants.service.mjs +47 -1
  145. package/dist/esm2022/lib/methods/participants-methods/mute-participants.service.mjs +40 -1
  146. package/dist/esm2022/lib/methods/participants-methods/remove-participants.service.mjs +46 -1
  147. package/dist/esm2022/lib/methods/polls-methods/handle-create-poll.service.mjs +39 -1
  148. package/dist/esm2022/lib/methods/polls-methods/handle-end-poll.service.mjs +33 -1
  149. package/dist/esm2022/lib/methods/polls-methods/handle-vote-poll.service.mjs +35 -1
  150. package/dist/esm2022/lib/methods/polls-methods/launch-poll.service.mjs +21 -1
  151. package/dist/esm2022/lib/methods/polls-methods/poll-updated.service.mjs +32 -1
  152. package/dist/esm2022/lib/methods/recording-methods/check-pause-state.service.mjs +25 -1
  153. package/dist/esm2022/lib/methods/recording-methods/check-resume-state.service.mjs +23 -1
  154. package/dist/esm2022/lib/methods/recording-methods/confirm-recording.service.mjs +64 -1
  155. package/dist/esm2022/lib/methods/recording-methods/launch-recording.service.mjs +44 -1
  156. package/dist/esm2022/lib/methods/recording-methods/record-pause-timer.service.mjs +28 -1
  157. package/dist/esm2022/lib/methods/recording-methods/record-resume-timer.service.mjs +45 -1
  158. package/dist/esm2022/lib/methods/recording-methods/record-start-timer.service.mjs +46 -1
  159. package/dist/esm2022/lib/methods/recording-methods/record-update-timer.service.mjs +33 -1
  160. package/dist/esm2022/lib/methods/recording-methods/start-recording.service.mjs +51 -1
  161. package/dist/esm2022/lib/methods/recording-methods/stop-recording.service.mjs +39 -1
  162. package/dist/esm2022/lib/methods/recording-methods/update-recording.service.mjs +49 -1
  163. package/dist/esm2022/lib/methods/requests-methods/launch-requests.service.mjs +26 -1
  164. package/dist/esm2022/lib/methods/requests-methods/respond-to-requests.service.mjs +40 -1
  165. package/dist/esm2022/lib/methods/settings-methods/launch-settings.service.mjs +26 -1
  166. package/dist/esm2022/lib/methods/settings-methods/modify-settings.service.mjs +43 -1
  167. package/dist/esm2022/lib/methods/stream-methods/click-audio.service.mjs +98 -1
  168. package/dist/esm2022/lib/methods/stream-methods/click-chat.service.mjs +32 -1
  169. package/dist/esm2022/lib/methods/stream-methods/click-screen-share.service.mjs +69 -1
  170. package/dist/esm2022/lib/methods/stream-methods/click-video.service.mjs +89 -1
  171. package/dist/esm2022/lib/methods/stream-methods/switch-audio.service.mjs +48 -1
  172. package/dist/esm2022/lib/methods/stream-methods/switch-video-alt.service.mjs +51 -1
  173. package/dist/esm2022/lib/methods/stream-methods/switch-video.service.mjs +57 -1
  174. package/dist/esm2022/lib/methods/utils/format-number.service.mjs +27 -15
  175. package/dist/esm2022/lib/methods/utils/generate-random-messages.service.mjs +34 -1
  176. package/dist/esm2022/lib/methods/utils/generate-random-participants.service.mjs +28 -1
  177. package/dist/esm2022/lib/methods/utils/generate-random-polls.service.mjs +27 -1
  178. package/dist/esm2022/lib/methods/utils/generate-random-request-list.service.mjs +37 -1
  179. package/dist/esm2022/lib/methods/utils/generate-random-waiting-room-list.service.mjs +22 -1
  180. package/dist/esm2022/lib/methods/utils/get-modal-position.util.mjs +14 -4
  181. package/dist/esm2022/lib/methods/utils/get-overlay-position.util.mjs +14 -4
  182. package/dist/esm2022/lib/methods/utils/initial-values.util.mjs +13 -3
  183. package/dist/esm2022/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.mjs +38 -1
  184. package/dist/esm2022/lib/methods/utils/mini-audio-player/mini-audio-player.component.mjs +56 -1
  185. package/dist/esm2022/lib/methods/utils/producer/a-params.service.mjs +38 -1
  186. package/dist/esm2022/lib/methods/utils/producer/h-params.service.mjs +51 -1
  187. package/dist/esm2022/lib/methods/utils/producer/screen-params.service.mjs +38 -1
  188. package/dist/esm2022/lib/methods/utils/producer/v-params.service.mjs +51 -1
  189. package/dist/esm2022/lib/methods/utils/producer/video-capture-constraints.service.mjs +47 -1
  190. package/dist/esm2022/lib/methods/utils/sleep.util.mjs +10 -4
  191. package/dist/esm2022/lib/methods/utils/sound-player.service.mjs +22 -1
  192. package/dist/esm2022/lib/methods/utils/validate-alphanumeric.service.mjs +17 -1
  193. package/dist/esm2022/lib/methods/waiting-methods/launch-waiting.service.mjs +19 -1
  194. package/dist/esm2022/lib/methods/waiting-methods/respond-to-waiting.service.mjs +30 -1
  195. package/dist/esm2022/lib/methods/whiteboard-methods/capture-canvas-stream.service.mjs +30 -1
  196. package/dist/esm2022/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.mjs +21 -1
  197. package/dist/esm2022/lib/producer-client/producer-client-emits/create-device-client.service.mjs +24 -1
  198. package/dist/esm2022/lib/producer-client/producer-client-emits/join-room-client.service.mjs +32 -1
  199. package/dist/esm2022/lib/producer-client/producer-client-emits/update-room-parameters-client.service.mjs +45 -1
  200. package/dist/esm2022/lib/producers/producer-emits/join-con-room.service.mjs +39 -1
  201. package/dist/esm2022/lib/producers/producer-emits/join-room.service.mjs +39 -1
  202. package/dist/esm2022/lib/producers/socket-receive-methods/all-members-rest.service.mjs +74 -1
  203. package/dist/esm2022/lib/producers/socket-receive-methods/all-members.service.mjs +72 -1
  204. package/dist/esm2022/lib/producers/socket-receive-methods/all-waiting-room-members.service.mjs +28 -1
  205. package/dist/esm2022/lib/producers/socket-receive-methods/ban-participant.service.mjs +37 -1
  206. package/dist/esm2022/lib/producers/socket-receive-methods/control-media-host.service.mjs +38 -1
  207. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect-user-self.service.mjs +25 -1
  208. package/dist/esm2022/lib/producers/socket-receive-methods/disconnect.service.mjs +27 -1
  209. package/dist/esm2022/lib/producers/socket-receive-methods/get-domains.service.mjs +25 -10
  210. package/dist/esm2022/lib/producers/socket-receive-methods/host-request-response.service.mjs +32 -49
  211. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-ended.service.mjs +30 -1
  212. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-still-there.service.mjs +24 -1
  213. package/dist/esm2022/lib/producers/socket-receive-methods/meeting-time-remaining.service.mjs +28 -1
  214. package/dist/esm2022/lib/producers/socket-receive-methods/participant-requested.service.mjs +32 -1
  215. package/dist/esm2022/lib/producers/socket-receive-methods/person-joined.service.mjs +26 -1
  216. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-closed.service.mjs +62 -1
  217. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-paused.service.mjs +63 -1
  218. package/dist/esm2022/lib/producers/socket-receive-methods/producer-media-resumed.service.mjs +46 -1
  219. package/dist/esm2022/lib/producers/socket-receive-methods/re-initiate-recording.service.mjs +30 -1
  220. package/dist/esm2022/lib/producers/socket-receive-methods/receive-message.service.mjs +39 -1
  221. package/dist/esm2022/lib/producers/socket-receive-methods/recording-notice.service.mjs +39 -1
  222. package/dist/esm2022/lib/producers/socket-receive-methods/room-record-params.service.mjs +63 -1
  223. package/dist/esm2022/lib/producers/socket-receive-methods/screen-producer-id.service.mjs +42 -1
  224. package/dist/esm2022/lib/producers/socket-receive-methods/start-records.service.mjs +26 -1
  225. package/dist/esm2022/lib/producers/socket-receive-methods/stopped-recording.service.mjs +26 -1
  226. package/dist/esm2022/lib/producers/socket-receive-methods/time-left-recording.service.mjs +22 -1
  227. package/dist/esm2022/lib/producers/socket-receive-methods/update-consuming-domains.service.mjs +43 -1
  228. package/dist/esm2022/lib/producers/socket-receive-methods/update-media-settings.service.mjs +31 -1
  229. package/dist/esm2022/lib/producers/socket-receive-methods/updated-co-host.service.mjs +41 -1
  230. package/dist/esm2022/lib/producers/socket-receive-methods/user-waiting.service.mjs +15 -41
  231. package/dist/esm2022/lib/sockets/socket-manager.service.mjs +41 -1
  232. package/dist/fesm2022/mediasfu-angular.mjs +8192 -910
  233. package/dist/fesm2022/mediasfu-angular.mjs.map +1 -1
  234. package/dist/lib/components/background-components/background-modal/background-modal.component.d.ts +36 -0
  235. package/dist/lib/components/breakout-components/breakout-rooms-modal.component.d.ts +50 -0
  236. package/dist/lib/components/breakout-components/edit-room-modal/edit-room-modal.component.d.ts +48 -0
  237. package/dist/lib/components/co-host-components/co-host-modal/co-host-modal.component.d.ts +62 -0
  238. package/dist/lib/components/display-components/alert-component/alert.component.component.d.ts +24 -18
  239. package/dist/lib/components/display-components/audio-card/audio-card.component.d.ts +59 -0
  240. package/dist/lib/components/display-components/audio-grid/audio-grid.component.d.ts +20 -0
  241. package/dist/lib/components/display-components/card-video-display/card-video-display.component.d.ts +35 -0
  242. package/dist/lib/components/display-components/control-buttons-alt-component/control-buttons-alt-component.component.d.ts +38 -0
  243. package/dist/lib/components/display-components/control-buttons-component-touch/control-buttons-component-touch.component.d.ts +24 -40
  244. package/dist/lib/components/display-components/control-widgets/menu-participants-widget.component.d.ts +21 -0
  245. package/dist/lib/components/display-components/control-widgets/menu-record-widget.component.d.ts +22 -0
  246. package/dist/lib/components/display-components/control-widgets/menu-widget.component.d.ts +23 -0
  247. package/dist/lib/components/display-components/control-widgets/message-widget.component.d.ts +23 -0
  248. package/dist/lib/components/display-components/control-widgets/record-timer-widget.component.d.ts +15 -0
  249. package/dist/lib/components/display-components/control-widgets/screenshare-widget.component.d.ts +27 -0
  250. package/dist/lib/components/display-components/flexible-grid/flexible-grid.component.d.ts +27 -18
  251. package/dist/lib/components/display-components/flexible-video/flexible-video.component.d.ts +30 -45
  252. package/dist/lib/components/display-components/loading-modal/loading-modal.component.d.ts +19 -17
  253. package/dist/lib/components/display-components/main-aspect-component/main-aspect-component.component.d.ts +32 -24
  254. package/dist/lib/components/display-components/main-container-component/main-container-component.component.d.ts +28 -16
  255. package/dist/lib/components/display-components/main-grid-component/main-grid-component.component.d.ts +28 -14
  256. package/dist/lib/components/display-components/main-screen-component/main-screen-component.component.d.ts +43 -22
  257. package/dist/lib/components/display-components/meeting-progress-timer/meeting-progress-timer.component.d.ts +25 -30
  258. package/dist/lib/components/display-components/mini-audio/mini-audio.component.d.ts +55 -62
  259. package/dist/lib/components/display-components/mini-card/mini-card.component.d.ts +19 -23
  260. package/dist/lib/components/display-components/mini-card-audio/mini-card-audio.component.d.ts +39 -39
  261. package/dist/lib/components/display-components/other-grid-component/other-grid-component.component.d.ts +28 -13
  262. package/dist/lib/components/display-components/pagination/pagination.component.d.ts +29 -23
  263. package/dist/lib/components/display-components/sub-aspect-component/sub-aspect-component.component.d.ts +18 -24
  264. package/dist/lib/components/display-components/video-card/video-card.component.d.ts +62 -0
  265. package/dist/lib/components/display-settings-components/display-settings-modal.component.d.ts +28 -17
  266. package/dist/lib/components/event-settings-components/event-settings-modal/event-settings-modal.component.d.ts +47 -38
  267. package/dist/lib/components/exit-components/confirm-exit-modal/confirm-exit-modal.component.d.ts +35 -22
  268. package/dist/lib/components/media-settings-components/media-settings-modal/media-settings-modal.component.d.ts +35 -24
  269. package/dist/lib/components/mediasfu-components/mediasfu-broadcast.component.d.ts +49 -0
  270. package/dist/lib/components/mediasfu-components/mediasfu-chat.component.d.ts +49 -0
  271. package/dist/lib/components/mediasfu-components/mediasfu-conference.component.d.ts +47 -11
  272. package/dist/lib/components/mediasfu-components/mediasfu-generic.component.d.ts +47 -11
  273. package/dist/lib/components/mediasfu-components/mediasfu-webinar.component.d.ts +45 -11
  274. package/dist/lib/components/menu-components/custom-buttons/custom-buttons.component.d.ts +49 -51
  275. package/dist/lib/components/menu-components/meeting-id-component/meeting-id-component.component.d.ts +6 -1
  276. package/dist/lib/components/menu-components/meeting-passcode-component/meeting-passcode-component.component.d.ts +5 -0
  277. package/dist/lib/components/menu-components/menu-modal/menu-modal.component.d.ts +21 -28
  278. package/dist/lib/components/menu-components/share-buttons-component/share-buttons-component.component.d.ts +15 -13
  279. package/dist/lib/components/message-components/message-panel/message-panel.component.d.ts +24 -0
  280. package/dist/lib/components/message-components/messages-modal/messages-modal.component.d.ts +34 -0
  281. package/dist/lib/components/misc-components/confirm-here-modal/confirm-here-modal.component.d.ts +16 -33
  282. package/dist/lib/components/misc-components/pre-join-page/pre-join-page.component.d.ts +8 -0
  283. package/dist/lib/components/misc-components/share-event-modal/share-event-modal.component.d.ts +14 -0
  284. package/dist/lib/components/misc-components/welcome-page/welcome-page.component.d.ts +15 -0
  285. package/dist/lib/components/participants-components/participant-list/participant-list.component.d.ts +19 -0
  286. package/dist/lib/components/participants-components/participant-list-item/participant-list-item.component.d.ts +19 -0
  287. package/dist/lib/components/participants-components/participant-list-others/participant-list-others.component.d.ts +17 -0
  288. package/dist/lib/components/participants-components/participant-list-others-item/participant-list-others-item.component.d.ts +17 -0
  289. package/dist/lib/components/participants-components/participants-modal/participants-modal.component.d.ts +24 -0
  290. package/dist/lib/components/polls-components/poll-modal/poll-modal.component.d.ts +27 -0
  291. package/dist/lib/components/recording-components/advanced-panel-component/advanced-panel-components.component.d.ts +15 -0
  292. package/dist/lib/components/recording-components/recording-modal/recording-modal.component.d.ts +12 -0
  293. package/dist/lib/components/recording-components/standard-panel-component/standard-panel-component.component.d.ts +5 -0
  294. package/dist/lib/components/requests-components/render-request-component/render-request-component.component.d.ts +22 -0
  295. package/dist/lib/components/requests-components/requests-modal/requests-modal.component.d.ts +17 -0
  296. package/dist/lib/components/screenboard-components/screenboard/screenboard.component.d.ts +10 -0
  297. package/dist/lib/components/screenboard-components/screenboard-modal/screenboard-modal.component.d.ts +11 -0
  298. package/dist/lib/components/waiting-components/waiting-room-modal.component.d.ts +59 -0
  299. package/dist/lib/components/whiteboard-components/configure-whiteboard-modal/configure-whiteboard-modal.component.d.ts +21 -0
  300. package/dist/lib/components/whiteboard-components/whiteboard/whiteboard.component.d.ts +49 -0
  301. package/dist/lib/consumers/add-videos-grid.service.d.ts +49 -0
  302. package/dist/lib/consumers/auto-adjust.service.d.ts +26 -0
  303. package/dist/lib/consumers/calculate-rows-and-columns.service.d.ts +18 -0
  304. package/dist/lib/consumers/change-vids.service.d.ts +131 -66
  305. package/dist/lib/consumers/check-grid.service.d.ts +32 -18
  306. package/dist/lib/consumers/check-permission.service.d.ts +25 -0
  307. package/dist/lib/consumers/check-screen-share.service.d.ts +35 -0
  308. package/dist/lib/consumers/close-and-resize.service.d.ts +102 -0
  309. package/dist/lib/consumers/compare-active-names.service.d.ts +31 -0
  310. package/dist/lib/consumers/compare-screen-states.service.d.ts +35 -0
  311. package/dist/lib/consumers/connect-ips.service.d.ts +42 -0
  312. package/dist/lib/consumers/connect-recv-transport.service.d.ts +33 -0
  313. package/dist/lib/consumers/connect-send-transport-audio.service.d.ts +38 -0
  314. package/dist/lib/consumers/connect-send-transport-screen.service.d.ts +40 -0
  315. package/dist/lib/consumers/connect-send-transport-video.service.d.ts +44 -0
  316. package/dist/lib/consumers/connect-send-transport.service.d.ts +54 -0
  317. package/dist/lib/consumers/consumer-resume.service.d.ts +36 -0
  318. package/dist/lib/consumers/control-media.service.d.ts +45 -0
  319. package/dist/lib/consumers/create-send-transport.service.d.ts +46 -0
  320. package/dist/lib/consumers/disconnect-send-transport-audio.service.d.ts +50 -0
  321. package/dist/lib/consumers/disconnect-send-transport-screen.service.d.ts +39 -0
  322. package/dist/lib/consumers/disconnect-send-transport-video.service.d.ts +45 -0
  323. package/dist/lib/consumers/disp-streams.service.d.ts +92 -0
  324. package/dist/lib/consumers/generate-page-content.service.d.ts +47 -0
  325. package/dist/lib/consumers/get-estimate.service.d.ts +50 -0
  326. package/dist/lib/consumers/get-piped-producers-alt.service.d.ts +33 -0
  327. package/dist/lib/consumers/get-producers-piped.service.d.ts +33 -0
  328. package/dist/lib/consumers/get-videos.service.d.ts +33 -0
  329. package/dist/lib/consumers/mix-streams.service.d.ts +22 -0
  330. package/dist/lib/consumers/on-screen-changes.service.d.ts +40 -0
  331. package/dist/lib/consumers/prepopulate-user-media.service.d.ts +99 -0
  332. package/dist/lib/consumers/process-consumer-transports-audio.service.d.ts +29 -0
  333. package/dist/lib/consumers/process-consumer-transports.service.d.ts +37 -0
  334. package/dist/lib/consumers/re-port.service.d.ts +48 -0
  335. package/dist/lib/consumers/re-update-inter.service.d.ts +82 -0
  336. package/dist/lib/consumers/readjust.service.d.ts +50 -0
  337. package/dist/lib/consumers/receive-all-piped-transports.service.d.ts +31 -0
  338. package/dist/lib/consumers/receive-room-messages.service.d.ts +27 -0
  339. package/dist/lib/consumers/reorder-streams.service.d.ts +58 -0
  340. package/dist/lib/consumers/request-screen-share.service.d.ts +34 -0
  341. package/dist/lib/consumers/resume-pause-audio-streams.service.d.ts +51 -0
  342. package/dist/lib/consumers/resume-pause-streams.service.d.ts +33 -0
  343. package/dist/lib/consumers/resume-send-transport-audio.service.d.ts +36 -0
  344. package/dist/lib/consumers/signal-new-consumer-transport.service.d.ts +37 -37
  345. package/dist/lib/consumers/socket-receive-methods/join-consume-room.service.d.ts +33 -0
  346. package/dist/lib/consumers/socket-receive-methods/new-pipe-producer.service.d.ts +39 -0
  347. package/dist/lib/consumers/socket-receive-methods/producer-closed.service.d.ts +27 -0
  348. package/dist/lib/consumers/start-share-screen.service.d.ts +40 -0
  349. package/dist/lib/consumers/stop-share-screen.service.d.ts +55 -0
  350. package/dist/lib/consumers/stream-success-audio-switch.service.d.ts +53 -0
  351. package/dist/lib/consumers/stream-success-audio.service.d.ts +61 -0
  352. package/dist/lib/consumers/stream-success-screen.service.d.ts +50 -0
  353. package/dist/lib/consumers/stream-success-video.service.d.ts +58 -0
  354. package/dist/lib/consumers/switch-user-audio.service.d.ts +33 -0
  355. package/dist/lib/consumers/switch-user-video-alt.service.d.ts +32 -0
  356. package/dist/lib/consumers/switch-user-video.service.d.ts +47 -0
  357. package/dist/lib/consumers/trigger.service.d.ts +38 -0
  358. package/dist/lib/consumers/update-mini-cards-grid.service.d.ts +54 -0
  359. package/dist/lib/consumers/update-participant-audio-decibels.service.d.ts +45 -0
  360. package/dist/lib/methods/background-methods/launch-background.service.d.ts +25 -0
  361. package/dist/lib/methods/breakout-room-methods/breakout-room-updated.service.d.ts +71 -0
  362. package/dist/lib/methods/breakout-room-methods/launch-breakout-rooms.service.d.ts +24 -0
  363. package/dist/lib/methods/co-host-methods/launch-co-host.service.d.ts +24 -0
  364. package/dist/lib/methods/co-host-methods/modify-co-host-settings.service.d.ts +44 -0
  365. package/dist/lib/methods/display-settings-methods/launch-display-settings.service.d.ts +22 -0
  366. package/dist/lib/methods/display-settings-methods/modify-display-settings.service.d.ts +75 -0
  367. package/dist/lib/methods/exit-methods/confirm-exit.service.d.ts +24 -0
  368. package/dist/lib/methods/exit-methods/launch-confirm-exit.service.d.ts +20 -0
  369. package/dist/lib/methods/media-settings-methods/launch-media-settings.service.d.ts +35 -0
  370. package/dist/lib/methods/menu-methods/launch-menu-modal.service.d.ts +22 -0
  371. package/dist/lib/methods/message-methods/launch-messages.service.d.ts +22 -0
  372. package/dist/lib/methods/message-methods/send-message.service.d.ts +49 -0
  373. package/dist/lib/methods/participants-methods/launch-participants.service.d.ts +24 -0
  374. package/dist/lib/methods/participants-methods/message-participants.service.d.ts +46 -0
  375. package/dist/lib/methods/participants-methods/mute-participants.service.d.ts +39 -0
  376. package/dist/lib/methods/participants-methods/remove-participants.service.d.ts +45 -0
  377. package/dist/lib/methods/polls-methods/handle-create-poll.service.d.ts +38 -0
  378. package/dist/lib/methods/polls-methods/handle-end-poll.service.d.ts +32 -0
  379. package/dist/lib/methods/polls-methods/handle-vote-poll.service.d.ts +34 -0
  380. package/dist/lib/methods/polls-methods/launch-poll.service.d.ts +20 -0
  381. package/dist/lib/methods/polls-methods/poll-updated.service.d.ts +31 -0
  382. package/dist/lib/methods/recording-methods/check-pause-state.service.d.ts +24 -0
  383. package/dist/lib/methods/recording-methods/check-resume-state.service.d.ts +22 -0
  384. package/dist/lib/methods/recording-methods/confirm-recording.service.d.ts +63 -0
  385. package/dist/lib/methods/recording-methods/launch-recording.service.d.ts +43 -0
  386. package/dist/lib/methods/recording-methods/record-pause-timer.service.d.ts +27 -0
  387. package/dist/lib/methods/recording-methods/record-resume-timer.service.d.ts +44 -0
  388. package/dist/lib/methods/recording-methods/record-start-timer.service.d.ts +45 -0
  389. package/dist/lib/methods/recording-methods/record-update-timer.service.d.ts +32 -0
  390. package/dist/lib/methods/recording-methods/start-recording.service.d.ts +50 -0
  391. package/dist/lib/methods/recording-methods/stop-recording.service.d.ts +38 -0
  392. package/dist/lib/methods/recording-methods/update-recording.service.d.ts +48 -0
  393. package/dist/lib/methods/requests-methods/launch-requests.service.d.ts +25 -0
  394. package/dist/lib/methods/requests-methods/respond-to-requests.service.d.ts +39 -0
  395. package/dist/lib/methods/settings-methods/launch-settings.service.d.ts +25 -0
  396. package/dist/lib/methods/settings-methods/modify-settings.service.d.ts +42 -0
  397. package/dist/lib/methods/stream-methods/click-audio.service.d.ts +97 -0
  398. package/dist/lib/methods/stream-methods/click-chat.service.d.ts +31 -0
  399. package/dist/lib/methods/stream-methods/click-screen-share.service.d.ts +68 -0
  400. package/dist/lib/methods/stream-methods/click-video.service.d.ts +88 -0
  401. package/dist/lib/methods/stream-methods/switch-audio.service.d.ts +47 -0
  402. package/dist/lib/methods/stream-methods/switch-video-alt.service.d.ts +50 -0
  403. package/dist/lib/methods/stream-methods/switch-video.service.d.ts +56 -0
  404. package/dist/lib/methods/utils/format-number.service.d.ts +26 -14
  405. package/dist/lib/methods/utils/generate-random-messages.service.d.ts +33 -0
  406. package/dist/lib/methods/utils/generate-random-participants.service.d.ts +27 -0
  407. package/dist/lib/methods/utils/generate-random-polls.service.d.ts +26 -0
  408. package/dist/lib/methods/utils/generate-random-request-list.service.d.ts +36 -0
  409. package/dist/lib/methods/utils/generate-random-waiting-room-list.service.d.ts +21 -0
  410. package/dist/lib/methods/utils/get-modal-position.util.d.ts +13 -3
  411. package/dist/lib/methods/utils/get-overlay-position.util.d.ts +13 -3
  412. package/dist/lib/methods/utils/meeting-timer/start-meeting-progress-timer.service.d.ts +37 -0
  413. package/dist/lib/methods/utils/mini-audio-player/mini-audio-player.component.d.ts +55 -0
  414. package/dist/lib/methods/utils/producer/a-params.service.d.ts +37 -0
  415. package/dist/lib/methods/utils/producer/h-params.service.d.ts +50 -0
  416. package/dist/lib/methods/utils/producer/screen-params.service.d.ts +37 -0
  417. package/dist/lib/methods/utils/producer/v-params.service.d.ts +50 -0
  418. package/dist/lib/methods/utils/producer/video-capture-constraints.service.d.ts +46 -0
  419. package/dist/lib/methods/utils/sleep.util.d.ts +9 -3
  420. package/dist/lib/methods/utils/sound-player.service.d.ts +21 -0
  421. package/dist/lib/methods/utils/validate-alphanumeric.service.d.ts +16 -0
  422. package/dist/lib/methods/waiting-methods/launch-waiting.service.d.ts +18 -0
  423. package/dist/lib/methods/waiting-methods/respond-to-waiting.service.d.ts +29 -0
  424. package/dist/lib/methods/whiteboard-methods/capture-canvas-stream.service.d.ts +29 -0
  425. package/dist/lib/methods/whiteboard-methods/launch-configure-whiteboard.service.d.ts +20 -0
  426. package/dist/lib/producer-client/producer-client-emits/create-device-client.service.d.ts +23 -0
  427. package/dist/lib/producer-client/producer-client-emits/join-room-client.service.d.ts +31 -0
  428. package/dist/lib/producer-client/producer-client-emits/update-room-parameters-client.service.d.ts +44 -0
  429. package/dist/lib/producers/producer-emits/join-con-room.service.d.ts +38 -0
  430. package/dist/lib/producers/producer-emits/join-room.service.d.ts +38 -0
  431. package/dist/lib/producers/socket-receive-methods/all-members-rest.service.d.ts +73 -0
  432. package/dist/lib/producers/socket-receive-methods/all-members.service.d.ts +71 -0
  433. package/dist/lib/producers/socket-receive-methods/all-waiting-room-members.service.d.ts +27 -0
  434. package/dist/lib/producers/socket-receive-methods/ban-participant.service.d.ts +36 -0
  435. package/dist/lib/producers/socket-receive-methods/control-media-host.service.d.ts +37 -0
  436. package/dist/lib/producers/socket-receive-methods/disconnect-user-self.service.d.ts +24 -0
  437. package/dist/lib/producers/socket-receive-methods/disconnect.service.d.ts +26 -0
  438. package/dist/lib/producers/socket-receive-methods/get-domains.service.d.ts +24 -9
  439. package/dist/lib/producers/socket-receive-methods/host-request-response.service.d.ts +31 -48
  440. package/dist/lib/producers/socket-receive-methods/meeting-ended.service.d.ts +29 -0
  441. package/dist/lib/producers/socket-receive-methods/meeting-still-there.service.d.ts +23 -0
  442. package/dist/lib/producers/socket-receive-methods/meeting-time-remaining.service.d.ts +27 -0
  443. package/dist/lib/producers/socket-receive-methods/participant-requested.service.d.ts +31 -0
  444. package/dist/lib/producers/socket-receive-methods/person-joined.service.d.ts +25 -0
  445. package/dist/lib/producers/socket-receive-methods/producer-media-closed.service.d.ts +61 -0
  446. package/dist/lib/producers/socket-receive-methods/producer-media-paused.service.d.ts +62 -0
  447. package/dist/lib/producers/socket-receive-methods/producer-media-resumed.service.d.ts +45 -0
  448. package/dist/lib/producers/socket-receive-methods/re-initiate-recording.service.d.ts +29 -0
  449. package/dist/lib/producers/socket-receive-methods/receive-message.service.d.ts +38 -0
  450. package/dist/lib/producers/socket-receive-methods/recording-notice.service.d.ts +38 -0
  451. package/dist/lib/producers/socket-receive-methods/room-record-params.service.d.ts +62 -0
  452. package/dist/lib/producers/socket-receive-methods/screen-producer-id.service.d.ts +41 -0
  453. package/dist/lib/producers/socket-receive-methods/start-records.service.d.ts +25 -0
  454. package/dist/lib/producers/socket-receive-methods/stopped-recording.service.d.ts +25 -0
  455. package/dist/lib/producers/socket-receive-methods/time-left-recording.service.d.ts +21 -0
  456. package/dist/lib/producers/socket-receive-methods/update-consuming-domains.service.d.ts +42 -0
  457. package/dist/lib/producers/socket-receive-methods/update-media-settings.service.d.ts +30 -0
  458. package/dist/lib/producers/socket-receive-methods/updated-co-host.service.d.ts +40 -0
  459. package/dist/lib/producers/socket-receive-methods/user-waiting.service.d.ts +14 -40
  460. package/dist/lib/sockets/socket-manager.service.d.ts +40 -0
  461. package/package.json +11 -2
@@ -1,5 +1,43 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Triggers an update to the screen client based on the provided parameters.
5
+ *
6
+ * This function handles various conditions to determine the main screen person,
7
+ * adjusts the screen states, and emits an update to the screen client via socket.
8
+ *
9
+ * @param {TriggerOptions} options - The options for triggering the update.
10
+ * @param {string[]} options.ref_ActiveNames - Reference to the active names.
11
+ * @param {TriggerParameters} options.parameters - The parameters for the trigger.
12
+ * @returns {Promise<void>} A promise that resolves when the trigger is complete.
13
+ *
14
+ * @throws Will throw an error if the updateScreenClient operation fails.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * await trigger({
19
+ * ref_ActiveNames: ["user1", "user2"],
20
+ * parameters: {
21
+ * socket: socketInstance,
22
+ * roomName: "room1",
23
+ * screenStates: [{ mainScreenPerson: "user1", mainScreenFilled: true, adminOnMainScreen: false }],
24
+ * participants: [{ name: "admin", islevel: "2" }],
25
+ * updateDateState: 0,
26
+ * lastUpdate: null,
27
+ * nForReadjust: 0,
28
+ * eventType: "conference",
29
+ * shared: false,
30
+ * shareScreenStarted: false,
31
+ * whiteboardStarted: false,
32
+ * whiteboardEnded: false,
33
+ * updateUpdateDateState: (date) => {},
34
+ * updateLastUpdate: (date) => {},
35
+ * updateNForReadjust: (n) => {},
36
+ * autoAdjust: async ({ n, parameters }) => [n, 0],
37
+ * },
38
+ * });
39
+ * ```
40
+ */
3
41
  export class Trigger {
4
42
  /**
5
43
  * Triggers an update to the screen client based on the provided parameters.
@@ -169,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
169
207
  providedIn: 'root',
170
208
  }]
171
209
  }] });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy90cmlnZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUF1QzNDLE1BQU0sT0FBTyxPQUFPO0lBQ2xCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNDRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFrQjtRQUMzRCw2Q0FBNkM7UUFFN0MsSUFBSSxDQUFDO1lBQ0gsSUFBSSxFQUNGLE1BQU0sRUFDTixRQUFRLEVBQ1IsWUFBWSxFQUNaLFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsTUFBTSxFQUNOLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLFVBQVUsR0FDWCxHQUFHLFVBQVUsQ0FBQztZQUVmLElBQUksa0JBQWtCLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1lBRTFELElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNuQixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztZQUM1RixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxrQkFBa0IsS0FB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QUNwQjt3QkFDRSxRQUFRO3dCQUNSLEtBQUssRUFBRSxlQUFlO3dCQUN0QixXQUFXLEVBQUUsS0FBSzt3QkFDbEIsZ0JBQWdCLEVBQUUsa0JBQWtCO3dCQUNwQyxRQUFRLEVBQUUsU0FBUztxQkFDcEIsRUFDRCxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBd0MsRUFBRSxFQUFFO3dCQUM1RCxlQUFlLEdBQUcsU0FBUyxDQUFDO3dCQUM1QixxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDdkMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUM5QyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQzt3QkFDN0IsSUFBSSxPQUFPLEVBQUUsQ0FBQzs0QkFDWixpQkFBaUI7d0JBQ25CLENBQUM7NkJBQU0sQ0FBQzs0QkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO3dCQUNuRCxDQUFDO29CQUNILENBQUMsQ0FDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04saUJBQWlCO2dCQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzt1R0F2TVUsT0FBTzsyR0FBUCxPQUFPLGNBRk4sTUFBTTs7MkZBRVAsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdzb2NrZXQuaW8tY2xpZW50JztcbmltcG9ydCB7IFBhcnRpY2lwYW50LCBBdXRvQWRqdXN0VHlwZSwgU2NyZWVuU3RhdGUsIEV2ZW50VHlwZSB9IGZyb20gJy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlclBhcmFtZXRlcnMge1xuICBzb2NrZXQ6IFNvY2tldDtcbiAgcm9vbU5hbWU6IHN0cmluZztcbiAgc2NyZWVuU3RhdGVzOiBTY3JlZW5TdGF0ZVtdO1xuICBwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W107XG4gIHVwZGF0ZURhdGVTdGF0ZT86IG51bWJlciB8IG51bGw7XG4gIGxhc3RVcGRhdGU6IG51bWJlciB8IG51bGw7XG4gIG5Gb3JSZWFkanVzdDogbnVtYmVyO1xuICBldmVudFR5cGU6IEV2ZW50VHlwZTtcbiAgc2hhcmVkOiBib29sZWFuO1xuICBzaGFyZVNjcmVlblN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHdoaXRlYm9hcmRTdGFydGVkOiBib29sZWFuO1xuICB3aGl0ZWJvYXJkRW5kZWQ6IGJvb2xlYW47XG4gIHVwZGF0ZVVwZGF0ZURhdGVTdGF0ZTogKHRpbWVzdGFtcDogbnVtYmVyIHwgbnVsbCkgPT4gdm9pZDtcbiAgdXBkYXRlTGFzdFVwZGF0ZTogKGxhc3RVcGRhdGU6IG51bWJlciB8IG51bGwpID0+IHZvaWQ7XG4gIHVwZGF0ZU5Gb3JSZWFkanVzdDogKG5Gb3JSZWFkanVzdDogbnVtYmVyKSA9PiB2b2lkO1xuXG4gIC8vIG1lZGlhc2Z1IGZ1bmN0aW9uc1xuICBhdXRvQWRqdXN0OiBBdXRvQWRqdXN0VHlwZTtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBUcmlnZ2VyUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJPcHRpb25zIHtcbiAgcmVmX0FjdGl2ZU5hbWVzOiBzdHJpbmdbXTtcbiAgcGFyYW1ldGVyczogVHJpZ2dlclBhcmFtZXRlcnM7XG59XG5cbi8vIEV4cG9ydCB0aGUgdHlwZSBkZWZpbml0aW9uIGZvciB0aGUgZnVuY3Rpb25cbmV4cG9ydCB0eXBlIFRyaWdnZXJUeXBlID0gKG9wdGlvbnM6IFRyaWdnZXJPcHRpb25zKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgVHJpZ2dlciB7XG4gIC8qKlxuICAgKiBUcmlnZ2VycyBhbiB1cGRhdGUgdG8gdGhlIHNjcmVlbiBjbGllbnQgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEBwYXJhbSB7VHJpZ2dlck9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdHJpZ2dlcmluZyB0aGUgdXBkYXRlLlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBvcHRpb25zLnJlZl9BY3RpdmVOYW1lcyAtIFJlZmVyZW5jZSB0byB0aGUgYWN0aXZlIG5hbWVzLlxuICAgKiBAcGFyYW0ge1BhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRyaWdnZXIgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdXBkYXRlU2NyZWVuQ2xpZW50IG9wZXJhdGlvbiBmYWlscy5cbiAgICpcbiAgICogQHJlbWFya3NcbiAgICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIHZhcmlvdXMgY29uZGl0aW9ucyB0byBkZXRlcm1pbmUgdGhlIG1haW4gc2NyZWVuIHBlcnNvbixcbiAgICogYWRqdXN0cyB0aGUgc2NyZWVuIHN0YXRlcywgYW5kIGVtaXRzIGFuIHVwZGF0ZSB0byB0aGUgc2NyZWVuIGNsaWVudCB2aWEgc29ja2V0LlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGF3YWl0IHRyaWdnZXIoe1xuICAgKiAgIHJlZl9BY3RpdmVOYW1lczogW1widXNlcjFcIiwgXCJ1c2VyMlwiXSxcbiAgICogICBwYXJhbWV0ZXJzOiB7XG4gICAqICAgICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICAgKiAgICAgcm9vbU5hbWU6IFwicm9vbTFcIixcbiAgICogICAgIHNjcmVlblN0YXRlczogW3sgbWFpblNjcmVlblBlcnNvbjogXCJ1c2VyMVwiLCBtYWluU2NyZWVuRmlsbGVkOiB0cnVlLCBhZG1pbk9uTWFpblNjcmVlbjogZmFsc2UgfV0sXG4gICAqICAgICBwYXJ0aWNpcGFudHM6IFt7IG5hbWU6IFwiYWRtaW5cIiwgaXNsZXZlbDogXCIyXCIgfV0sXG4gICAqICAgICB1cGRhdGVEYXRlU3RhdGU6IDAsXG4gICAqICAgICBsYXN0VXBkYXRlOiBudWxsLFxuICAgKiAgICAgbkZvclJlYWRqdXN0OiAwLFxuICAgKiAgICAgZXZlbnRUeXBlOiBcImNvbmZlcmVuY2VcIixcbiAgICogICAgIHNoYXJlZDogZmFsc2UsXG4gICAqICAgICBzaGFyZVNjcmVlblN0YXJ0ZWQ6IGZhbHNlLFxuICAgKiAgICAgd2hpdGVib2FyZFN0YXJ0ZWQ6IGZhbHNlLFxuICAgKiAgICAgd2hpdGVib2FyZEVuZGVkOiBmYWxzZSxcbiAgICogICAgIHVwZGF0ZVVwZGF0ZURhdGVTdGF0ZTogKGRhdGUpID0+IHt9LFxuICAgKiAgICAgdXBkYXRlTGFzdFVwZGF0ZTogKGRhdGUpID0+IHt9LFxuICAgKiAgICAgdXBkYXRlTkZvclJlYWRqdXN0OiAobikgPT4ge30sXG4gICAqICAgICBhdXRvQWRqdXN0OiBhc3luYyAoeyBuLCBwYXJhbWV0ZXJzIH0pID0+IFtuLCAwXSxcbiAgICogICB9LFxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyB0cmlnZ2VyKHsgcmVmX0FjdGl2ZU5hbWVzLCBwYXJhbWV0ZXJzIH06IFRyaWdnZXJPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gRnVuY3Rpb24gdG8gdHJpZ2dlciB0aGUgdXBkYXRlU2NyZWVuIGV2ZW50XG5cbiAgICB0cnkge1xuICAgICAgbGV0IHtcbiAgICAgICAgc29ja2V0LFxuICAgICAgICByb29tTmFtZSxcbiAgICAgICAgc2NyZWVuU3RhdGVzLFxuICAgICAgICBwYXJ0aWNpcGFudHMsXG4gICAgICAgIHVwZGF0ZURhdGVTdGF0ZSxcbiAgICAgICAgbGFzdFVwZGF0ZSxcbiAgICAgICAgbkZvclJlYWRqdXN0LFxuICAgICAgICBldmVudFR5cGUsXG4gICAgICAgIHNoYXJlZCxcbiAgICAgICAgc2hhcmVTY3JlZW5TdGFydGVkLFxuICAgICAgICB3aGl0ZWJvYXJkU3RhcnRlZCxcbiAgICAgICAgd2hpdGVib2FyZEVuZGVkLFxuXG4gICAgICAgIHVwZGF0ZVVwZGF0ZURhdGVTdGF0ZSxcbiAgICAgICAgdXBkYXRlTGFzdFVwZGF0ZSxcbiAgICAgICAgdXBkYXRlTkZvclJlYWRqdXN0LFxuXG4gICAgICAgIGF1dG9BZGp1c3QsXG4gICAgICB9ID0gcGFyYW1ldGVycztcblxuICAgICAgbGV0IHBlcnNvbk9uTWFpblNjcmVlbiA9IHNjcmVlblN0YXRlc1swXS5tYWluU2NyZWVuUGVyc29uO1xuXG4gICAgICBsZXQgYWRtaW5OYW1lID0gJyc7XG4gICAgICBjb25zdCBhZG1pbiA9IHBhcnRpY2lwYW50cy5maWx0ZXIoKHBhcnRpY2lwYW50OiBQYXJ0aWNpcGFudCkgPT4gcGFydGljaXBhbnQuaXNsZXZlbCA9PSAnMicpO1xuICAgICAgaWYgKGFkbWluLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYWRtaW5OYW1lID0gYWRtaW5bMF0ubmFtZSB8fCAnJztcbiAgICAgIH1cbiAgICAgIGlmIChwZXJzb25Pbk1haW5TY3JlZW4gPT09ICdXaGl0ZWJvYXJkQWN0aXZlJykge1xuICAgICAgICBwZXJzb25Pbk1haW5TY3JlZW4gPSBhZG1pbk5hbWU7XG4gICAgICB9XG5cbiAgICAgIGxldCBtYWluZmlsbGVkID0gc2NyZWVuU3RhdGVzWzBdLm1haW5TY3JlZW5GaWxsZWQ7XG4gICAgICBsZXQgYWRtaW5Pbk1haW4gPSBzY3JlZW5TdGF0ZXNbMF0uYWRtaW5Pbk1haW5TY3JlZW47XG4gICAgICBsZXQgbkZvclJlYWRqdXN0XztcbiAgICAgIGxldCB2YWwxO1xuXG4gICAgICBsZXQgbm93dyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgLy8gZ2V0IG5vdyBpbiBzZWNvbmRzXG4gICAgICBsZXQgdGltZXN0YW1wID0gTWF0aC5mbG9vcihub3d3IC8gMTAwMCk7XG5cbiAgICAgIGxldCBldmVudFBhc3MgPSBmYWxzZTtcbiAgICAgIGlmIChldmVudFR5cGUgPT09ICdjb25mZXJlbmNlJyAmJiAhKHNoYXJlZCB8fCBzaGFyZVNjcmVlblN0YXJ0ZWQpKSB7XG4gICAgICAgIGV2ZW50UGFzcyA9IHRydWU7XG4gICAgICAgIHBlcnNvbk9uTWFpblNjcmVlbiA9IGFkbWluTmFtZTtcbiAgICAgICAgaWYgKCFyZWZfQWN0aXZlTmFtZXMuaW5jbHVkZXMoYWRtaW5OYW1lKSkge1xuICAgICAgICAgIHJlZl9BY3RpdmVOYW1lcy51bnNoaWZ0KGFkbWluTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKChtYWluZmlsbGVkICYmIHBlcnNvbk9uTWFpblNjcmVlbiAhPSBudWxsICYmIGFkbWluT25NYWluKSB8fCBldmVudFBhc3MpIHtcbiAgICAgICAgaWYgKGV2ZW50VHlwZSA9PT0gJ2NvbmZlcmVuY2UnKSB7XG4gICAgICAgICAgbkZvclJlYWRqdXN0ID0gbkZvclJlYWRqdXN0ICsgMTtcbiAgICAgICAgICB1cGRhdGVORm9yUmVhZGp1c3QobkZvclJlYWRqdXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVmX0FjdGl2ZU5hbWVzLmluY2x1ZGVzKGFkbWluTmFtZSkgJiYgd2hpdGVib2FyZFN0YXJ0ZWQgJiYgIXdoaXRlYm9hcmRFbmRlZCkge1xuICAgICAgICAgIHJlZl9BY3RpdmVOYW1lcy51bnNoaWZ0KGFkbWluTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBuRm9yUmVhZGp1c3RfID0gcmVmX0FjdGl2ZU5hbWVzLmxlbmd0aDtcblxuICAgICAgICBpZiAobkZvclJlYWRqdXN0XyA9PT0gMCAmJiBldmVudFR5cGUgPT09ICd3ZWJpbmFyJykge1xuICAgICAgICAgIHZhbDEgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IFt2YWwxMV0gPSBhd2FpdCBhdXRvQWRqdXN0KHtcbiAgICAgICAgICAgIG46IG5Gb3JSZWFkanVzdF8sXG4gICAgICAgICAgICBldmVudFR5cGUsXG4gICAgICAgICAgICBzaGFyZWQsXG4gICAgICAgICAgICBzaGFyZVNjcmVlblN0YXJ0ZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdmFsMSA9IHZhbDExO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGNhbGMxID0gTWF0aC5mbG9vcigodmFsMSAvIDEyKSAqIDEwMCk7XG4gICAgICAgIGxldCBjYWxjMiA9IDEwMCAtIGNhbGMxO1xuXG4gICAgICAgIC8vIGNoZWNrIGlmIGxhc3RVcGRhdGUgaXMgbm90IG51bGwgYW5kIGF0IGxlYXN0IHNhbWUgc2Vjb25kc1xuICAgICAgICBpZiAobGFzdFVwZGF0ZSA9PSBudWxsIHx8IHVwZGF0ZURhdGVTdGF0ZSAhPSB0aW1lc3RhbXApIHtcbiAgICAgICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcblxuICAgICAgICAgIHNvY2tldC5lbWl0KFxuICAgICAgICAgICAgJ3VwZGF0ZVNjcmVlbkNsaWVudCcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJvb21OYW1lLFxuICAgICAgICAgICAgICBuYW1lczogcmVmX0FjdGl2ZU5hbWVzLFxuICAgICAgICAgICAgICBtYWluUGVyY2VudDogY2FsYzIsXG4gICAgICAgICAgICAgIG1haW5TY3JlZW5QZXJzb246IHBlcnNvbk9uTWFpblNjcmVlbixcbiAgICAgICAgICAgICAgdmlld1R5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoeyBzdWNjZXNzLCByZWFzb24gfTogeyBzdWNjZXNzOiBib29sZWFuOyByZWFzb246IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZURhdGVTdGF0ZSA9IHRpbWVzdGFtcDtcbiAgICAgICAgICAgICAgdXBkYXRlVXBkYXRlRGF0ZVN0YXRlKHVwZGF0ZURhdGVTdGF0ZSk7XG4gICAgICAgICAgICAgIGxhc3RVcGRhdGUgPSBNYXRoLmZsb29yKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICAgICAgICAgICAgdXBkYXRlTGFzdFVwZGF0ZShsYXN0VXBkYXRlKTtcbiAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgc3VjY2Vzc1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlYXNvbiwgJ3VwZGF0ZVNjcmVlbkNsaWVudCBmYWlsZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG1haW5maWxsZWQgJiYgcGVyc29uT25NYWluU2NyZWVuICE9IG51bGwgJiYgIWFkbWluT25NYWluKSB7XG4gICAgICAgIG5Gb3JSZWFkanVzdF8gPSByZWZfQWN0aXZlTmFtZXMubGVuZ3RoO1xuXG4gICAgICAgIGlmICghcmVmX0FjdGl2ZU5hbWVzLmluY2x1ZGVzKGFkbWluTmFtZSkpIHtcbiAgICAgICAgICByZWZfQWN0aXZlTmFtZXMudW5zaGlmdChhZG1pbk5hbWUpO1xuICAgICAgICAgIG5Gb3JSZWFkanVzdF8gPSByZWZfQWN0aXZlTmFtZXMubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW3ZhbDExXSA9IGF3YWl0IGF1dG9BZGp1c3Qoe1xuICAgICAgICAgIG46IG5Gb3JSZWFkanVzdF8sXG4gICAgICAgICAgZXZlbnRUeXBlLFxuICAgICAgICAgIHNoYXJlZCxcbiAgICAgICAgICBzaGFyZVNjcmVlblN0YXJ0ZWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHZhbDEgPSB2YWwxMTtcblxuICAgICAgICBjb25zdCBjYWxjMSA9IE1hdGguZmxvb3IoKHZhbDEgLyAxMikgKiAxMDApO1xuICAgICAgICBjb25zdCBjYWxjMiA9IDEwMCAtIGNhbGMxO1xuXG4gICAgICAgIGlmIChsYXN0VXBkYXRlID09IG51bGwgfHwgdXBkYXRlRGF0ZVN0YXRlICE9IHRpbWVzdGFtcCkge1xuICAgICAgICAgIGxldCBub3cgPSBuZXcgRGF0ZSgpO1xuXG4gICAgICAgICAgc29ja2V0LmVtaXQoXG4gICAgICAgICAgICAndXBkYXRlU2NyZWVuQ2xpZW50JyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcm9vbU5hbWUsXG4gICAgICAgICAgICAgIG5hbWVzOiByZWZfQWN0aXZlTmFtZXMsXG4gICAgICAgICAgICAgIG1haW5QZXJjZW50OiBjYWxjMixcbiAgICAgICAgICAgICAgbWFpblNjcmVlblBlcnNvbjogcGVyc29uT25NYWluU2NyZWVuLFxuICAgICAgICAgICAgICB2aWV3VHlwZTogZXZlbnRUeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICh7IHN1Y2Nlc3MsIHJlYXNvbiB9OiB7IHN1Y2Nlc3M6IGJvb2xlYW47IHJlYXNvbjogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgICAgICAgdXBkYXRlRGF0ZVN0YXRlID0gdGltZXN0YW1wO1xuICAgICAgICAgICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGUodXBkYXRlRGF0ZVN0YXRlKTtcbiAgICAgICAgICAgICAgbGFzdFVwZGF0ZSA9IE1hdGguZmxvb3Iobm93LmdldFRpbWUoKSAvIDEwMDApO1xuICAgICAgICAgICAgICB1cGRhdGVMYXN0VXBkYXRlKGxhc3RVcGRhdGUpO1xuICAgICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBzdWNjZXNzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVhc29uLCAndXBkYXRlU2NyZWVuQ2xpZW50IGZhaWxlZCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHN0b3AgcmVjb3JkaW5nXG4gICAgICAgIGNvbnNvbGUubG9nKCd0cmlnZ2VyIHN0b3BSZWNvcmRpbmcnKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHRyaWdnZXJpbmcgdXBkYXRlU2NyZWVuOicsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy90cmlnZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFvQzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNHO0FBTUgsTUFBTSxPQUFPLE9BQU87SUFDbEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0NHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQWtCO1FBQzNELDZDQUE2QztRQUU3QyxJQUFJLENBQUM7WUFDSCxJQUFJLEVBQ0YsTUFBTSxFQUNOLFFBQVEsRUFDUixZQUFZLEVBQ1osWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFNBQVMsRUFDVCxNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixlQUFlLEVBRWYscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFFbEIsVUFBVSxHQUNYLEdBQUcsVUFBVSxDQUFDO1lBRWYsSUFBSSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFFMUQsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQzVGLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLGtCQUFrQixLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQzlDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztZQUNqQyxDQUFDO1lBRUQsSUFBSSxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELElBQUksV0FBVyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUNwRCxJQUFJLGFBQWEsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQztZQUVULElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMscUJBQXFCO1lBQ3JCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRXhDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLFNBQVMsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xFLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDekMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLENBQUMsVUFBVSxJQUFJLGtCQUFrQixJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDM0UsSUFBSSxTQUFTLEtBQUssWUFBWSxFQUFFLENBQUM7b0JBQy9CLFlBQVksR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDO29CQUNoQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztnQkFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNsRixlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUVELGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO2dCQUV2QyxJQUFJLGFBQWEsS0FBSyxDQUFDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUNuRCxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNYLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxVQUFVLENBQUM7d0JBQy9CLENBQUMsRUFBRSxhQUFhO3dCQUNoQixTQUFTO3dCQUNULE1BQU07d0JBQ04sa0JBQWtCO3FCQUNuQixDQUFDLENBQUM7b0JBQ0gsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUVELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBRXhCLDREQUE0RDtnQkFDNUQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLGVBQWUsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDdkQsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFFckIsTUFBTSxDQUFDLElBQUksQ0FDVCxvQkFBb0IsRUFDcEI7d0JBQ0UsUUFBUTt3QkFDUixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsV0FBVyxFQUFFLEtBQUs7d0JBQ2xCLGdCQUFnQixFQUFFLGtCQUFrQjt3QkFDcEMsUUFBUSxFQUFFLFNBQVM7cUJBQ3BCLEVBQ0QsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQXdDLEVBQUUsRUFBRTt3QkFDNUQsZUFBZSxHQUFHLFNBQVMsQ0FBQzt3QkFDNUIscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQ3ZDLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQzt3QkFDOUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzdCLElBQUksT0FBTyxFQUFFLENBQUM7NEJBQ1osaUJBQWlCO3dCQUNuQixDQUFDOzZCQUFNLENBQUM7NEJBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsMkJBQTJCLENBQUMsQ0FBQzt3QkFDbkQsQ0FBQztvQkFDSCxDQUFDLENBQ0YsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLFVBQVUsSUFBSSxrQkFBa0IsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEUsYUFBYSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7Z0JBRXZDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ25DLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO2dCQUN6QyxDQUFDO2dCQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLFVBQVUsQ0FBQztvQkFDL0IsQ0FBQyxFQUFFLGFBQWE7b0JBQ2hCLFNBQVM7b0JBQ1QsTUFBTTtvQkFDTixrQkFBa0I7aUJBQ25CLENBQUMsQ0FBQztnQkFFSCxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUViLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBRTFCLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxlQUFlLElBQUksU0FBUyxFQUFFLENBQUM7b0JBQ3ZELElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7b0JBRXJCLE1BQU0sQ0FBQyxJQUFJLENBQ1Qsb0JBQW9CLEVBQ3BCO3dCQUNFLFFBQVE7d0JBQ1IsS0FBSyxFQUFFLGVBQWU7d0JBQ3RCLFdBQVcsRUFBRSxLQUFLO3dCQUNsQixnQkFBZ0IsRUFBRSxrQkFBa0I7d0JBQ3BDLFFBQVEsRUFBRSxTQUFTO3FCQUNwQixFQUNELENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUF3QyxFQUFFLEVBQUU7d0JBQzVELGVBQWUsR0FBRyxTQUFTLENBQUM7d0JBQzVCLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN2QyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7d0JBQzlDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDOzRCQUNaLGlCQUFpQjt3QkFDbkIsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLDJCQUEyQixDQUFDLENBQUM7d0JBQ25ELENBQUM7b0JBQ0gsQ0FBQyxDQUNGLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixpQkFBaUI7Z0JBQ2pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO3VHQXZNVSxPQUFPOzJHQUFQLE9BQU8sY0FGTixNQUFNOzsyRkFFUCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNvY2tldCB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHsgUGFydGljaXBhbnQsIEF1dG9BZGp1c3RUeXBlLCBTY3JlZW5TdGF0ZSwgRXZlbnRUeXBlIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyUGFyYW1ldGVycyB7XG4gIHNvY2tldDogU29ja2V0O1xuICByb29tTmFtZTogc3RyaW5nO1xuICBzY3JlZW5TdGF0ZXM6IFNjcmVlblN0YXRlW107XG4gIHBhcnRpY2lwYW50czogUGFydGljaXBhbnRbXTtcbiAgdXBkYXRlRGF0ZVN0YXRlPzogbnVtYmVyIHwgbnVsbDtcbiAgbGFzdFVwZGF0ZTogbnVtYmVyIHwgbnVsbDtcbiAgbkZvclJlYWRqdXN0OiBudW1iZXI7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuICBzaGFyZWQ6IGJvb2xlYW47XG4gIHNoYXJlU2NyZWVuU3RhcnRlZDogYm9vbGVhbjtcbiAgd2hpdGVib2FyZFN0YXJ0ZWQ6IGJvb2xlYW47XG4gIHdoaXRlYm9hcmRFbmRlZDogYm9vbGVhbjtcbiAgdXBkYXRlVXBkYXRlRGF0ZVN0YXRlOiAodGltZXN0YW1wOiBudW1iZXIgfCBudWxsKSA9PiB2b2lkO1xuICB1cGRhdGVMYXN0VXBkYXRlOiAobGFzdFVwZGF0ZTogbnVtYmVyIHwgbnVsbCkgPT4gdm9pZDtcbiAgdXBkYXRlTkZvclJlYWRqdXN0OiAobkZvclJlYWRqdXN0OiBudW1iZXIpID0+IHZvaWQ7XG5cbiAgLy8gbWVkaWFzZnUgZnVuY3Rpb25zXG4gIGF1dG9BZGp1c3Q6IEF1dG9BZGp1c3RUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFRyaWdnZXJQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlck9wdGlvbnMge1xuICByZWZfQWN0aXZlTmFtZXM6IHN0cmluZ1tdO1xuICBwYXJhbWV0ZXJzOiBUcmlnZ2VyUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVHJpZ2dlclR5cGUgPSAob3B0aW9uczogVHJpZ2dlck9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogVHJpZ2dlcnMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB2YXJpb3VzIGNvbmRpdGlvbnMgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNjcmVlbiBwZXJzb24sXG4gKiBhZGp1c3RzIHRoZSBzY3JlZW4gc3RhdGVzLCBhbmQgZW1pdHMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IHZpYSBzb2NrZXQuXG4gKlxuICogQHBhcmFtIHtUcmlnZ2VyT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0cmlnZ2VyaW5nIHRoZSB1cGRhdGUuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBvcHRpb25zLnJlZl9BY3RpdmVOYW1lcyAtIFJlZmVyZW5jZSB0byB0aGUgYWN0aXZlIG5hbWVzLlxuICogQHBhcmFtIHtUcmlnZ2VyUGFyYW1ldGVyc30gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSB0cmlnZ2VyLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHRyaWdnZXIgaXMgY29tcGxldGUuXG4gKlxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSB1cGRhdGVTY3JlZW5DbGllbnQgb3BlcmF0aW9uIGZhaWxzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCB0cmlnZ2VyKHtcbiAqICAgcmVmX0FjdGl2ZU5hbWVzOiBbXCJ1c2VyMVwiLCBcInVzZXIyXCJdLFxuICogICBwYXJhbWV0ZXJzOiB7XG4gKiAgICAgc29ja2V0OiBzb2NrZXRJbnN0YW5jZSxcbiAqICAgICByb29tTmFtZTogXCJyb29tMVwiLFxuICogICAgIHNjcmVlblN0YXRlczogW3sgbWFpblNjcmVlblBlcnNvbjogXCJ1c2VyMVwiLCBtYWluU2NyZWVuRmlsbGVkOiB0cnVlLCBhZG1pbk9uTWFpblNjcmVlbjogZmFsc2UgfV0sXG4gKiAgICAgcGFydGljaXBhbnRzOiBbeyBuYW1lOiBcImFkbWluXCIsIGlzbGV2ZWw6IFwiMlwiIH1dLFxuICogICAgIHVwZGF0ZURhdGVTdGF0ZTogMCxcbiAqICAgICBsYXN0VXBkYXRlOiBudWxsLFxuICogICAgIG5Gb3JSZWFkanVzdDogMCxcbiAqICAgICBldmVudFR5cGU6IFwiY29uZmVyZW5jZVwiLFxuICogICAgIHNoYXJlZDogZmFsc2UsXG4gKiAgICAgc2hhcmVTY3JlZW5TdGFydGVkOiBmYWxzZSxcbiAqICAgICB3aGl0ZWJvYXJkU3RhcnRlZDogZmFsc2UsXG4gKiAgICAgd2hpdGVib2FyZEVuZGVkOiBmYWxzZSxcbiAqICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGU6IChkYXRlKSA9PiB7fSxcbiAqICAgICB1cGRhdGVMYXN0VXBkYXRlOiAoZGF0ZSkgPT4ge30sXG4gKiAgICAgdXBkYXRlTkZvclJlYWRqdXN0OiAobikgPT4ge30sXG4gKiAgICAgYXV0b0FkanVzdDogYXN5bmMgKHsgbiwgcGFyYW1ldGVycyB9KSA9PiBbbiwgMF0sXG4gKiAgIH0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyaWdnZXIge1xuICAvKipcbiAgICogVHJpZ2dlcnMgYW4gdXBkYXRlIHRvIHRoZSBzY3JlZW4gY2xpZW50IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge1RyaWdnZXJPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRyaWdnZXJpbmcgdGhlIHVwZGF0ZS5cbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gb3B0aW9ucy5yZWZfQWN0aXZlTmFtZXMgLSBSZWZlcmVuY2UgdG8gdGhlIGFjdGl2ZSBuYW1lcy5cbiAgICogQHBhcmFtIHtQYXJhbWV0ZXJzfSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSB0cmlnZ2VyIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHVwZGF0ZVNjcmVlbkNsaWVudCBvcGVyYXRpb24gZmFpbHMuXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB2YXJpb3VzIGNvbmRpdGlvbnMgdG8gZGV0ZXJtaW5lIHRoZSBtYWluIHNjcmVlbiBwZXJzb24sXG4gICAqIGFkanVzdHMgdGhlIHNjcmVlbiBzdGF0ZXMsIGFuZCBlbWl0cyBhbiB1cGRhdGUgdG8gdGhlIHNjcmVlbiBjbGllbnQgdmlhIHNvY2tldC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBhd2FpdCB0cmlnZ2VyKHtcbiAgICogICByZWZfQWN0aXZlTmFtZXM6IFtcInVzZXIxXCIsIFwidXNlcjJcIl0sXG4gICAqICAgcGFyYW1ldGVyczoge1xuICAgKiAgICAgc29ja2V0OiBzb2NrZXRJbnN0YW5jZSxcbiAgICogICAgIHJvb21OYW1lOiBcInJvb20xXCIsXG4gICAqICAgICBzY3JlZW5TdGF0ZXM6IFt7IG1haW5TY3JlZW5QZXJzb246IFwidXNlcjFcIiwgbWFpblNjcmVlbkZpbGxlZDogdHJ1ZSwgYWRtaW5Pbk1haW5TY3JlZW46IGZhbHNlIH1dLFxuICAgKiAgICAgcGFydGljaXBhbnRzOiBbeyBuYW1lOiBcImFkbWluXCIsIGlzbGV2ZWw6IFwiMlwiIH1dLFxuICAgKiAgICAgdXBkYXRlRGF0ZVN0YXRlOiAwLFxuICAgKiAgICAgbGFzdFVwZGF0ZTogbnVsbCxcbiAgICogICAgIG5Gb3JSZWFkanVzdDogMCxcbiAgICogICAgIGV2ZW50VHlwZTogXCJjb25mZXJlbmNlXCIsXG4gICAqICAgICBzaGFyZWQ6IGZhbHNlLFxuICAgKiAgICAgc2hhcmVTY3JlZW5TdGFydGVkOiBmYWxzZSxcbiAgICogICAgIHdoaXRlYm9hcmRTdGFydGVkOiBmYWxzZSxcbiAgICogICAgIHdoaXRlYm9hcmRFbmRlZDogZmFsc2UsXG4gICAqICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGU6IChkYXRlKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZUxhc3RVcGRhdGU6IChkYXRlKSA9PiB7fSxcbiAgICogICAgIHVwZGF0ZU5Gb3JSZWFkanVzdDogKG4pID0+IHt9LFxuICAgKiAgICAgYXV0b0FkanVzdDogYXN5bmMgKHsgbiwgcGFyYW1ldGVycyB9KSA9PiBbbiwgMF0sXG4gICAqICAgfSxcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgdHJpZ2dlcih7IHJlZl9BY3RpdmVOYW1lcywgcGFyYW1ldGVycyB9OiBUcmlnZ2VyT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZ1bmN0aW9uIHRvIHRyaWdnZXIgdGhlIHVwZGF0ZVNjcmVlbiBldmVudFxuXG4gICAgdHJ5IHtcbiAgICAgIGxldCB7XG4gICAgICAgIHNvY2tldCxcbiAgICAgICAgcm9vbU5hbWUsXG4gICAgICAgIHNjcmVlblN0YXRlcyxcbiAgICAgICAgcGFydGljaXBhbnRzLFxuICAgICAgICB1cGRhdGVEYXRlU3RhdGUsXG4gICAgICAgIGxhc3RVcGRhdGUsXG4gICAgICAgIG5Gb3JSZWFkanVzdCxcbiAgICAgICAgZXZlbnRUeXBlLFxuICAgICAgICBzaGFyZWQsXG4gICAgICAgIHNoYXJlU2NyZWVuU3RhcnRlZCxcbiAgICAgICAgd2hpdGVib2FyZFN0YXJ0ZWQsXG4gICAgICAgIHdoaXRlYm9hcmRFbmRlZCxcblxuICAgICAgICB1cGRhdGVVcGRhdGVEYXRlU3RhdGUsXG4gICAgICAgIHVwZGF0ZUxhc3RVcGRhdGUsXG4gICAgICAgIHVwZGF0ZU5Gb3JSZWFkanVzdCxcblxuICAgICAgICBhdXRvQWRqdXN0LFxuICAgICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAgIGxldCBwZXJzb25Pbk1haW5TY3JlZW4gPSBzY3JlZW5TdGF0ZXNbMF0ubWFpblNjcmVlblBlcnNvbjtcblxuICAgICAgbGV0IGFkbWluTmFtZSA9ICcnO1xuICAgICAgY29uc3QgYWRtaW4gPSBwYXJ0aWNpcGFudHMuZmlsdGVyKChwYXJ0aWNpcGFudDogUGFydGljaXBhbnQpID0+IHBhcnRpY2lwYW50LmlzbGV2ZWwgPT0gJzInKTtcbiAgICAgIGlmIChhZG1pbi5sZW5ndGggPiAwKSB7XG4gICAgICAgIGFkbWluTmFtZSA9IGFkbWluWzBdLm5hbWUgfHwgJyc7XG4gICAgICB9XG4gICAgICBpZiAocGVyc29uT25NYWluU2NyZWVuID09PSAnV2hpdGVib2FyZEFjdGl2ZScpIHtcbiAgICAgICAgcGVyc29uT25NYWluU2NyZWVuID0gYWRtaW5OYW1lO1xuICAgICAgfVxuXG4gICAgICBsZXQgbWFpbmZpbGxlZCA9IHNjcmVlblN0YXRlc1swXS5tYWluU2NyZWVuRmlsbGVkO1xuICAgICAgbGV0IGFkbWluT25NYWluID0gc2NyZWVuU3RhdGVzWzBdLmFkbWluT25NYWluU2NyZWVuO1xuICAgICAgbGV0IG5Gb3JSZWFkanVzdF87XG4gICAgICBsZXQgdmFsMTtcblxuICAgICAgbGV0IG5vd3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgIC8vIGdldCBub3cgaW4gc2Vjb25kc1xuICAgICAgbGV0IHRpbWVzdGFtcCA9IE1hdGguZmxvb3Iobm93dyAvIDEwMDApO1xuXG4gICAgICBsZXQgZXZlbnRQYXNzID0gZmFsc2U7XG4gICAgICBpZiAoZXZlbnRUeXBlID09PSAnY29uZmVyZW5jZScgJiYgIShzaGFyZWQgfHwgc2hhcmVTY3JlZW5TdGFydGVkKSkge1xuICAgICAgICBldmVudFBhc3MgPSB0cnVlO1xuICAgICAgICBwZXJzb25Pbk1haW5TY3JlZW4gPSBhZG1pbk5hbWU7XG4gICAgICAgIGlmICghcmVmX0FjdGl2ZU5hbWVzLmluY2x1ZGVzKGFkbWluTmFtZSkpIHtcbiAgICAgICAgICByZWZfQWN0aXZlTmFtZXMudW5zaGlmdChhZG1pbk5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICgobWFpbmZpbGxlZCAmJiBwZXJzb25Pbk1haW5TY3JlZW4gIT0gbnVsbCAmJiBhZG1pbk9uTWFpbikgfHwgZXZlbnRQYXNzKSB7XG4gICAgICAgIGlmIChldmVudFR5cGUgPT09ICdjb25mZXJlbmNlJykge1xuICAgICAgICAgIG5Gb3JSZWFkanVzdCA9IG5Gb3JSZWFkanVzdCArIDE7XG4gICAgICAgICAgdXBkYXRlTkZvclJlYWRqdXN0KG5Gb3JSZWFkanVzdCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlZl9BY3RpdmVOYW1lcy5pbmNsdWRlcyhhZG1pbk5hbWUpICYmIHdoaXRlYm9hcmRTdGFydGVkICYmICF3aGl0ZWJvYXJkRW5kZWQpIHtcbiAgICAgICAgICByZWZfQWN0aXZlTmFtZXMudW5zaGlmdChhZG1pbk5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgbkZvclJlYWRqdXN0XyA9IHJlZl9BY3RpdmVOYW1lcy5sZW5ndGg7XG5cbiAgICAgICAgaWYgKG5Gb3JSZWFkanVzdF8gPT09IDAgJiYgZXZlbnRUeXBlID09PSAnd2ViaW5hcicpIHtcbiAgICAgICAgICB2YWwxID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBbdmFsMTFdID0gYXdhaXQgYXV0b0FkanVzdCh7XG4gICAgICAgICAgICBuOiBuRm9yUmVhZGp1c3RfLFxuICAgICAgICAgICAgZXZlbnRUeXBlLFxuICAgICAgICAgICAgc2hhcmVkLFxuICAgICAgICAgICAgc2hhcmVTY3JlZW5TdGFydGVkLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHZhbDEgPSB2YWwxMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBjYWxjMSA9IE1hdGguZmxvb3IoKHZhbDEgLyAxMikgKiAxMDApO1xuICAgICAgICBsZXQgY2FsYzIgPSAxMDAgLSBjYWxjMTtcblxuICAgICAgICAvLyBjaGVjayBpZiBsYXN0VXBkYXRlIGlzIG5vdCBudWxsIGFuZCBhdCBsZWFzdCBzYW1lIHNlY29uZHNcbiAgICAgICAgaWYgKGxhc3RVcGRhdGUgPT0gbnVsbCB8fCB1cGRhdGVEYXRlU3RhdGUgIT0gdGltZXN0YW1wKSB7XG4gICAgICAgICAgbGV0IG5vdyA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgICBzb2NrZXQuZW1pdChcbiAgICAgICAgICAgICd1cGRhdGVTY3JlZW5DbGllbnQnLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByb29tTmFtZSxcbiAgICAgICAgICAgICAgbmFtZXM6IHJlZl9BY3RpdmVOYW1lcyxcbiAgICAgICAgICAgICAgbWFpblBlcmNlbnQ6IGNhbGMyLFxuICAgICAgICAgICAgICBtYWluU2NyZWVuUGVyc29uOiBwZXJzb25Pbk1haW5TY3JlZW4sXG4gICAgICAgICAgICAgIHZpZXdUeXBlOiBldmVudFR5cGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKHsgc3VjY2VzcywgcmVhc29uIH06IHsgc3VjY2VzczogYm9vbGVhbjsgcmVhc29uOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICAgICAgICB1cGRhdGVEYXRlU3RhdGUgPSB0aW1lc3RhbXA7XG4gICAgICAgICAgICAgIHVwZGF0ZVVwZGF0ZURhdGVTdGF0ZSh1cGRhdGVEYXRlU3RhdGUpO1xuICAgICAgICAgICAgICBsYXN0VXBkYXRlID0gTWF0aC5mbG9vcihub3cuZ2V0VGltZSgpIC8gMTAwMCk7XG4gICAgICAgICAgICAgIHVwZGF0ZUxhc3RVcGRhdGUobGFzdFVwZGF0ZSk7XG4gICAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIHN1Y2Nlc3NcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZWFzb24sICd1cGRhdGVTY3JlZW5DbGllbnQgZmFpbGVkJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChtYWluZmlsbGVkICYmIHBlcnNvbk9uTWFpblNjcmVlbiAhPSBudWxsICYmICFhZG1pbk9uTWFpbikge1xuICAgICAgICBuRm9yUmVhZGp1c3RfID0gcmVmX0FjdGl2ZU5hbWVzLmxlbmd0aDtcblxuICAgICAgICBpZiAoIXJlZl9BY3RpdmVOYW1lcy5pbmNsdWRlcyhhZG1pbk5hbWUpKSB7XG4gICAgICAgICAgcmVmX0FjdGl2ZU5hbWVzLnVuc2hpZnQoYWRtaW5OYW1lKTtcbiAgICAgICAgICBuRm9yUmVhZGp1c3RfID0gcmVmX0FjdGl2ZU5hbWVzLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFt2YWwxMV0gPSBhd2FpdCBhdXRvQWRqdXN0KHtcbiAgICAgICAgICBuOiBuRm9yUmVhZGp1c3RfLFxuICAgICAgICAgIGV2ZW50VHlwZSxcbiAgICAgICAgICBzaGFyZWQsXG4gICAgICAgICAgc2hhcmVTY3JlZW5TdGFydGVkLFxuICAgICAgICB9KTtcblxuICAgICAgICB2YWwxID0gdmFsMTE7XG5cbiAgICAgICAgY29uc3QgY2FsYzEgPSBNYXRoLmZsb29yKCh2YWwxIC8gMTIpICogMTAwKTtcbiAgICAgICAgY29uc3QgY2FsYzIgPSAxMDAgLSBjYWxjMTtcblxuICAgICAgICBpZiAobGFzdFVwZGF0ZSA9PSBudWxsIHx8IHVwZGF0ZURhdGVTdGF0ZSAhPSB0aW1lc3RhbXApIHtcbiAgICAgICAgICBsZXQgbm93ID0gbmV3IERhdGUoKTtcblxuICAgICAgICAgIHNvY2tldC5lbWl0KFxuICAgICAgICAgICAgJ3VwZGF0ZVNjcmVlbkNsaWVudCcsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHJvb21OYW1lLFxuICAgICAgICAgICAgICBuYW1lczogcmVmX0FjdGl2ZU5hbWVzLFxuICAgICAgICAgICAgICBtYWluUGVyY2VudDogY2FsYzIsXG4gICAgICAgICAgICAgIG1haW5TY3JlZW5QZXJzb246IHBlcnNvbk9uTWFpblNjcmVlbixcbiAgICAgICAgICAgICAgdmlld1R5cGU6IGV2ZW50VHlwZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoeyBzdWNjZXNzLCByZWFzb24gfTogeyBzdWNjZXNzOiBib29sZWFuOyByZWFzb246IHN0cmluZyB9KSA9PiB7XG4gICAgICAgICAgICAgIHVwZGF0ZURhdGVTdGF0ZSA9IHRpbWVzdGFtcDtcbiAgICAgICAgICAgICAgdXBkYXRlVXBkYXRlRGF0ZVN0YXRlKHVwZGF0ZURhdGVTdGF0ZSk7XG4gICAgICAgICAgICAgIGxhc3RVcGRhdGUgPSBNYXRoLmZsb29yKG5vdy5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICAgICAgICAgICAgdXBkYXRlTGFzdFVwZGF0ZShsYXN0VXBkYXRlKTtcbiAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgc3VjY2Vzc1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlYXNvbiwgJ3VwZGF0ZVNjcmVlbkNsaWVudCBmYWlsZWQnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzdG9wIHJlY29yZGluZ1xuICAgICAgICBjb25zb2xlLmxvZygndHJpZ2dlciBzdG9wUmVjb3JkaW5nJyk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdFcnJvciB0cmlnZ2VyaW5nIHVwZGF0ZVNjcmVlbjonLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,5 +1,59 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Updates the mini cards grid based on the specified rows and columns.
5
+ *
6
+ * This method calculates the dimensions for the mini cards based on the provided
7
+ * rows and columns, as well as the container sizes. It also considers pagination
8
+ * settings and updates the grid sizes accordingly. The method can update either
9
+ * the default grid or an alternative grid based on the `defal` parameter.
10
+ *
11
+ * @param {UpdateMiniCardsGridOptions} options - The options for updating the mini cards grid.
12
+ * @param {number} options.rows - The number of rows in the grid.
13
+ * @param {number} options.cols - The number of columns in the grid.
14
+ * @param {boolean} [options.defal=true] - Flag indicating whether to update the default grid or an alternative grid.
15
+ * @param {number} [options.actualRows=2] - The actual number of rows in the grid.
16
+ * @param {UpdateMiniCardsGridParameters} options.parameters - Additional parameters needed for the function.
17
+ * @param {Function} options.parameters.getUpdatedAllParams - Function to get updated parameters.
18
+ * @param {Function} options.parameters.updateGridRows - Function to update the grid rows.
19
+ * @param {Function} options.parameters.updateGridCols - Function to update the grid columns.
20
+ * @param {Function} options.parameters.updateAltGridRows - Function to update the alternative grid rows.
21
+ * @param {Function} options.parameters.updateAltGridCols - Function to update the alternative grid columns.
22
+ * @param {Function} options.parameters.updateGridSizes - Function to update the grid sizes.
23
+ * @param {GridSizes} options.parameters.gridSizes - Object containing grid width and height.
24
+ * @param {string} options.parameters.paginationDirection - The direction of pagination ('horizontal' or 'vertical').
25
+ * @param {number} options.parameters.paginationHeightWidth - The height or width of pagination.
26
+ * @param {boolean} options.parameters.doPaginate - Flag indicating whether pagination is enabled.
27
+ * @param {ComponentSizes} options.parameters.componentSizes - Object containing container width and height.
28
+ * @param {EventType} options.parameters.eventType - The type of event ('chat', etc.).
29
+ *
30
+ * @returns {Promise<void>} - A Promise that resolves after updating the mini cards grid.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const gridOptions = {
35
+ * rows: 3,
36
+ * cols: 4,
37
+ * parameters: {
38
+ * getUpdatedAllParams: () => updatedParams,
39
+ * updateGridRows: (rows) => console.log(`Grid Rows Updated: ${rows}`),
40
+ * updateGridCols: (cols) => console.log(`Grid Cols Updated: ${cols}`),
41
+ * updateAltGridRows: (rows) => console.log(`Alt Grid Rows Updated: ${rows}`),
42
+ * updateAltGridCols: (cols) => console.log(`Alt Grid Cols Updated: ${cols}`),
43
+ * updateGridSizes: (sizes) => console.log(`Grid Sizes Updated: ${JSON.stringify(sizes)}`),
44
+ * gridSizes: { gridWidth: 100, gridHeight: 100 },
45
+ * paginationDirection: 'horizontal',
46
+ * paginationHeightWidth: 50,
47
+ * doPaginate: true,
48
+ * componentSizes: { otherWidth: 800, otherHeight: 600 },
49
+ * eventType: 'chat',
50
+ * },
51
+ * };
52
+ *
53
+ * const miniCardGridService = new UpdateMiniCardsGrid();
54
+ * miniCardGridService.updateMiniCardsGrid(gridOptions);
55
+ * ```
56
+ */
3
57
  export class UpdateMiniCardsGrid {
4
58
  /**
5
59
  * Updates the mini cards grid based on the specified rows and columns.
@@ -78,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
78
132
  providedIn: 'root',
79
133
  }]
80
134
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1pbmktY2FyZHMtZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy91cGRhdGUtbWluaS1jYXJkcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFpQzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQ3hCLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxHQUFHLElBQUksRUFDWixVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsR0FDaUI7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRW5DLElBQUksRUFDRixjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixjQUFjLEVBQ2QsU0FBUyxHQUNWLEdBQUcsVUFBVSxDQUFDO1FBRWYsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBRWpELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZix1REFBdUQ7WUFDdkQsSUFBSSxtQkFBbUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDeEMsZUFBZSxHQUFHLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztZQUMxRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtRQUNoRCxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QixXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLHNCQUFzQixHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUN0RCxJQUFJLG9CQUFvQixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUMxRCxJQUFJLFNBQVMsQ0FBQztRQUNkLElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDekUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDM0UsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDakYsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO3VHQTNGVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZFNpemVzLCBDb21wb25lbnRTaXplcywgRXZlbnRUeXBlIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnMge1xuICB1cGRhdGVHcmlkUm93czogKHJvd3M6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZENvbHM6IChjb2xzOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZUFsdEdyaWRSb3dzOiAocm93czogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVBbHRHcmlkQ29sczogKGNvbHM6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZFNpemVzOiAoZ3JpZFNpemVzOiBHcmlkU2l6ZXMpID0+IHZvaWQ7XG4gIGdyaWRTaXplczogR3JpZFNpemVzO1xuICBwYWdpbmF0aW9uRGlyZWN0aW9uOiBzdHJpbmc7XG4gIHBhZ2luYXRpb25IZWlnaHRXaWR0aDogbnVtYmVyO1xuICBkb1BhZ2luYXRlOiBib29sZWFuO1xuICBjb21wb25lbnRTaXplczogQ29tcG9uZW50U2l6ZXM7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFVwZGF0ZU1pbmlDYXJkc0dyaWRQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMge1xuICByb3dzOiBudW1iZXI7XG4gIGNvbHM6IG51bWJlcjtcbiAgZGVmYWw/OiBib29sZWFuO1xuICBhY3R1YWxSb3dzPzogbnVtYmVyO1xuICBwYXJhbWV0ZXJzOiBVcGRhdGVNaW5pQ2FyZHNHcmlkUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVXBkYXRlTWluaUNhcmRzR3JpZFR5cGUgPSAob3B0aW9uczogVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVNaW5pQ2FyZHNHcmlkIHtcbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIG1pbmkgY2FyZHMgZ3JpZCBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIHJvd3MgYW5kIGNvbHVtbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIC0gVGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnJvd3MgLSBUaGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmNvbHMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5kZWZhbCAtIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHVwZGF0ZSB0aGUgZGVmYXVsdCBncmlkIG9yIGFuIGFsdGVybmF0aXZlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmFjdHVhbFJvd3MgLSBUaGUgYWN0dWFsIG51bWJlciBvZiByb3dzIGluIHRoZSBncmlkLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5pbmQgLSBUaGUgaW5kZXggcGFyYW1ldGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gQWRkaXRpb25hbCBwYXJhbWV0ZXJzIG5lZWRlZCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVHcmlkUm93cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCByb3dzLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZENvbHMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGdyaWQgY29sdW1ucy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUFsdEdyaWRSb3dzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhbHRlcm5hdGl2ZSBncmlkIHJvd3MuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVBbHRHcmlkQ29scyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWx0ZXJuYXRpdmUgZ3JpZCBjb2x1bW5zLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZFNpemVzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBncmlkIHNpemVzLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdyaWRTaXplcyAtIE9iamVjdCBjb250YWluaW5nIGdyaWQgd2lkdGggYW5kIGhlaWdodC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wYWdpbmF0aW9uRGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBvZiBwYWdpbmF0aW9uICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMucGFnaW5hdGlvbkhlaWdodFdpZHRoIC0gVGhlIGhlaWdodCBvciB3aWR0aCBvZiBwYWdpbmF0aW9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5kb1BhZ2luYXRlIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgcGFnaW5hdGlvbiBpcyBlbmFibGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBvbmVudFNpemVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgY29udGFpbmVyIHdpZHRoIGFuZCBoZWlnaHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKCdjaGF0JywgZXRjLikuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIGFmdGVyIHVwZGF0aW5nIHRoZSBtaW5pIGNhcmRzIGdyaWQuXG4gICAqL1xuICBhc3luYyB1cGRhdGVNaW5pQ2FyZHNHcmlkKHtcbiAgICByb3dzLFxuICAgIGNvbHMsXG4gICAgZGVmYWwgPSB0cnVlLFxuICAgIGFjdHVhbFJvd3MgPSAyLFxuICAgIHBhcmFtZXRlcnMsXG4gIH06IFVwZGF0ZU1pbmlDYXJkc0dyaWRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHsgZ2V0VXBkYXRlZEFsbFBhcmFtcyB9ID0gcGFyYW1ldGVycztcbiAgICBwYXJhbWV0ZXJzID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgbGV0IHtcbiAgICAgIHVwZGF0ZUdyaWRSb3dzLFxuICAgICAgdXBkYXRlR3JpZENvbHMsXG4gICAgICB1cGRhdGVBbHRHcmlkUm93cyxcbiAgICAgIHVwZGF0ZUFsdEdyaWRDb2xzLFxuICAgICAgdXBkYXRlR3JpZFNpemVzLFxuXG4gICAgICBncmlkU2l6ZXMsXG4gICAgICBwYWdpbmF0aW9uRGlyZWN0aW9uLFxuICAgICAgcGFnaW5hdGlvbkhlaWdodFdpZHRoLFxuICAgICAgZG9QYWdpbmF0ZSxcbiAgICAgIGNvbXBvbmVudFNpemVzLFxuICAgICAgZXZlbnRUeXBlLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgbGV0IGNvbnRhaW5lcldpZHRoID0gY29tcG9uZW50U2l6ZXMub3RoZXJXaWR0aDtcbiAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gY29tcG9uZW50U2l6ZXMub3RoZXJIZWlnaHQ7XG5cbiAgICBpZiAoZG9QYWdpbmF0ZSkge1xuICAgICAgLy8gaWYgcGFnaW5hdGlvbiBpcyBlbmFibGVkIGFuZCBkaXJlY3Rpb24gaXMgaG9yaXpvbnRhbFxuICAgICAgaWYgKHBhZ2luYXRpb25EaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgIGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIHBhZ2luYXRpb25IZWlnaHRXaWR0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyV2lkdGggLSBwYWdpbmF0aW9uSGVpZ2h0V2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGNhcmRTcGFjaW5nID0gMzsgLy8gM3B4IG1hcmdpbiBiZXR3ZWVuIGNhcmRzXG4gICAgaWYgKGV2ZW50VHlwZSA9PSAnY2hhdCcpIHtcbiAgICAgIGNhcmRTcGFjaW5nID0gMDtcbiAgICB9XG4gICAgbGV0IHRvdGFsU3BhY2luZ0hvcml6b250YWwgPSAoY29scyAtIDEpICogY2FyZFNwYWNpbmc7XG4gICAgbGV0IHRvdGFsU3BhY2luZ1ZlcnRpY2FsID0gKGFjdHVhbFJvd3MgLSAxKSAqIGNhcmRTcGFjaW5nO1xuICAgIGxldCBjYXJkV2lkdGg7XG4gICAgbGV0IGNhcmRIZWlnaHQ7XG4gICAgaWYgKGNvbHMgPT0gMCB8fCBhY3R1YWxSb3dzID09IDApIHtcbiAgICAgIGNhcmRXaWR0aCA9IDA7XG4gICAgICBjYXJkSGVpZ2h0ID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FyZFdpZHRoID0gTWF0aC5mbG9vcigoY29udGFpbmVyV2lkdGggLSB0b3RhbFNwYWNpbmdIb3Jpem9udGFsKSAvIGNvbHMpO1xuICAgICAgY2FyZEhlaWdodCA9IE1hdGguZmxvb3IoKGNvbnRhaW5lckhlaWdodCAtIHRvdGFsU3BhY2luZ1ZlcnRpY2FsKSAvIGFjdHVhbFJvd3MpO1xuICAgIH1cblxuICAgIGlmIChkZWZhbCkge1xuICAgICAgdXBkYXRlR3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGdyaWRXaWR0aDogY2FyZFdpZHRoLCBncmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlQWx0R3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVBbHRHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGFsdEdyaWRXaWR0aDogY2FyZFdpZHRoLCBhbHRHcmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW1pbmktY2FyZHMtZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzZnUtYW5ndWxhci9zcmMvbGliL2NvbnN1bWVycy91cGRhdGUtbWluaS1jYXJkcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE4QjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFERztBQU1ILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BdUJHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQ3hCLElBQUksRUFDSixJQUFJLEVBQ0osS0FBSyxHQUFHLElBQUksRUFDWixVQUFVLEdBQUcsQ0FBQyxFQUNkLFVBQVUsR0FDaUI7UUFDM0IsSUFBSSxFQUFFLG1CQUFtQixFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBRW5DLElBQUksRUFDRixjQUFjLEVBQ2QsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsZUFBZSxFQUVmLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixjQUFjLEVBQ2QsU0FBUyxHQUNWLEdBQUcsVUFBVSxDQUFDO1FBRWYsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUMvQyxJQUFJLGVBQWUsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDO1FBRWpELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZix1REFBdUQ7WUFDdkQsSUFBSSxtQkFBbUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDeEMsZUFBZSxHQUFHLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztZQUMxRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLDJCQUEyQjtRQUNoRCxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN4QixXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLHNCQUFzQixHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUN0RCxJQUFJLG9CQUFvQixHQUFHLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztRQUMxRCxJQUFJLFNBQVMsQ0FBQztRQUNkLElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2QsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDekUsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxlQUFlLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUNqRixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQixjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDM0UsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04saUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEIsU0FBUyxHQUFHLEVBQUUsR0FBRyxTQUFTLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDakYsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO3VHQTNGVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JpZFNpemVzLCBDb21wb25lbnRTaXplcywgRXZlbnRUeXBlIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnMge1xuICB1cGRhdGVHcmlkUm93czogKHJvd3M6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZENvbHM6IChjb2xzOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZUFsdEdyaWRSb3dzOiAocm93czogbnVtYmVyKSA9PiB2b2lkO1xuICB1cGRhdGVBbHRHcmlkQ29sczogKGNvbHM6IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlR3JpZFNpemVzOiAoZ3JpZFNpemVzOiBHcmlkU2l6ZXMpID0+IHZvaWQ7XG4gIGdyaWRTaXplczogR3JpZFNpemVzO1xuICBwYWdpbmF0aW9uRGlyZWN0aW9uOiBzdHJpbmc7XG4gIHBhZ2luYXRpb25IZWlnaHRXaWR0aDogbnVtYmVyO1xuICBkb1BhZ2luYXRlOiBib29sZWFuO1xuICBjb21wb25lbnRTaXplczogQ29tcG9uZW50U2l6ZXM7XG4gIGV2ZW50VHlwZTogRXZlbnRUeXBlO1xuXG4gIGdldFVwZGF0ZWRBbGxQYXJhbXM6ICgpID0+IFVwZGF0ZU1pbmlDYXJkc0dyaWRQYXJhbWV0ZXJzO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMge1xuICByb3dzOiBudW1iZXI7XG4gIGNvbHM6IG51bWJlcjtcbiAgZGVmYWw/OiBib29sZWFuO1xuICBhY3R1YWxSb3dzPzogbnVtYmVyO1xuICBwYXJhbWV0ZXJzOiBVcGRhdGVNaW5pQ2FyZHNHcmlkUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVXBkYXRlTWluaUNhcmRzR3JpZFR5cGUgPSAob3B0aW9uczogVXBkYXRlTWluaUNhcmRzR3JpZE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgbWluaSBjYXJkcyBncmlkIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgcm93cyBhbmQgY29sdW1ucy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjYWxjdWxhdGVzIHRoZSBkaW1lbnNpb25zIGZvciB0aGUgbWluaSBjYXJkcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWRcbiAqIHJvd3MgYW5kIGNvbHVtbnMsIGFzIHdlbGwgYXMgdGhlIGNvbnRhaW5lciBzaXplcy4gSXQgYWxzbyBjb25zaWRlcnMgcGFnaW5hdGlvblxuICogc2V0dGluZ3MgYW5kIHVwZGF0ZXMgdGhlIGdyaWQgc2l6ZXMgYWNjb3JkaW5nbHkuIFRoZSBtZXRob2QgY2FuIHVwZGF0ZSBlaXRoZXJcbiAqIHRoZSBkZWZhdWx0IGdyaWQgb3IgYW4gYWx0ZXJuYXRpdmUgZ3JpZCBiYXNlZCBvbiB0aGUgYGRlZmFsYCBwYXJhbWV0ZXIuXG4gKlxuICogQHBhcmFtIHtVcGRhdGVNaW5pQ2FyZHNHcmlkT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB1cGRhdGluZyB0aGUgbWluaSBjYXJkcyBncmlkLlxuICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMucm93cyAtIFRoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZ3JpZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmNvbHMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRpb25zLmRlZmFsPXRydWVdIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gdXBkYXRlIHRoZSBkZWZhdWx0IGdyaWQgb3IgYW4gYWx0ZXJuYXRpdmUgZ3JpZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5hY3R1YWxSb3dzPTJdIC0gVGhlIGFjdHVhbCBudW1iZXIgb2Ygcm93cyBpbiB0aGUgZ3JpZC5cbiAqIEBwYXJhbSB7VXBkYXRlTWluaUNhcmRzR3JpZFBhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIEFkZGl0aW9uYWwgcGFyYW1ldGVycyBuZWVkZWQgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zIC0gRnVuY3Rpb24gdG8gZ2V0IHVwZGF0ZWQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVHcmlkUm93cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCByb3dzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUdyaWRDb2xzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBncmlkIGNvbHVtbnMuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQWx0R3JpZFJvd3MgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGFsdGVybmF0aXZlIGdyaWQgcm93cy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVBbHRHcmlkQ29scyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWx0ZXJuYXRpdmUgZ3JpZCBjb2x1bW5zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUdyaWRTaXplcyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCBzaXplcy5cbiAqIEBwYXJhbSB7R3JpZFNpemVzfSBvcHRpb25zLnBhcmFtZXRlcnMuZ3JpZFNpemVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgZ3JpZCB3aWR0aCBhbmQgaGVpZ2h0LlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wYWdpbmF0aW9uRGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBvZiBwYWdpbmF0aW9uICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykuXG4gKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnBhZ2luYXRpb25IZWlnaHRXaWR0aCAtIFRoZSBoZWlnaHQgb3Igd2lkdGggb2YgcGFnaW5hdGlvbi5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmRvUGFnaW5hdGUgLSBGbGFnIGluZGljYXRpbmcgd2hldGhlciBwYWdpbmF0aW9uIGlzIGVuYWJsZWQuXG4gKiBAcGFyYW0ge0NvbXBvbmVudFNpemVzfSBvcHRpb25zLnBhcmFtZXRlcnMuY29tcG9uZW50U2l6ZXMgLSBPYmplY3QgY29udGFpbmluZyBjb250YWluZXIgd2lkdGggYW5kIGhlaWdodC5cbiAqIEBwYXJhbSB7RXZlbnRUeXBlfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKCdjaGF0JywgZXRjLikuXG4gKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgdXBkYXRpbmcgdGhlIG1pbmkgY2FyZHMgZ3JpZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZ3JpZE9wdGlvbnMgPSB7XG4gKiAgIHJvd3M6IDMsXG4gKiAgIGNvbHM6IDQsXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiB1cGRhdGVkUGFyYW1zLFxuICogICAgIHVwZGF0ZUdyaWRSb3dzOiAocm93cykgPT4gY29uc29sZS5sb2coYEdyaWQgUm93cyBVcGRhdGVkOiAke3Jvd3N9YCksXG4gKiAgICAgdXBkYXRlR3JpZENvbHM6IChjb2xzKSA9PiBjb25zb2xlLmxvZyhgR3JpZCBDb2xzIFVwZGF0ZWQ6ICR7Y29sc31gKSxcbiAqICAgICB1cGRhdGVBbHRHcmlkUm93czogKHJvd3MpID0+IGNvbnNvbGUubG9nKGBBbHQgR3JpZCBSb3dzIFVwZGF0ZWQ6ICR7cm93c31gKSxcbiAqICAgICB1cGRhdGVBbHRHcmlkQ29sczogKGNvbHMpID0+IGNvbnNvbGUubG9nKGBBbHQgR3JpZCBDb2xzIFVwZGF0ZWQ6ICR7Y29sc31gKSxcbiAqICAgICB1cGRhdGVHcmlkU2l6ZXM6IChzaXplcykgPT4gY29uc29sZS5sb2coYEdyaWQgU2l6ZXMgVXBkYXRlZDogJHtKU09OLnN0cmluZ2lmeShzaXplcyl9YCksXG4gKiAgICAgZ3JpZFNpemVzOiB7IGdyaWRXaWR0aDogMTAwLCBncmlkSGVpZ2h0OiAxMDAgfSxcbiAqICAgICBwYWdpbmF0aW9uRGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcsXG4gKiAgICAgcGFnaW5hdGlvbkhlaWdodFdpZHRoOiA1MCxcbiAqICAgICBkb1BhZ2luYXRlOiB0cnVlLFxuICogICAgIGNvbXBvbmVudFNpemVzOiB7IG90aGVyV2lkdGg6IDgwMCwgb3RoZXJIZWlnaHQ6IDYwMCB9LFxuICogICAgIGV2ZW50VHlwZTogJ2NoYXQnLFxuICogICB9LFxuICogfTtcbiAqXG4gKiBjb25zdCBtaW5pQ2FyZEdyaWRTZXJ2aWNlID0gbmV3IFVwZGF0ZU1pbmlDYXJkc0dyaWQoKTtcbiAqIG1pbmlDYXJkR3JpZFNlcnZpY2UudXBkYXRlTWluaUNhcmRzR3JpZChncmlkT3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVNaW5pQ2FyZHNHcmlkIHtcbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIG1pbmkgY2FyZHMgZ3JpZCBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIHJvd3MgYW5kIGNvbHVtbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBvcHRpb25zIC0gVGhlIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnJvd3MgLSBUaGUgbnVtYmVyIG9mIHJvd3MgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmNvbHMgLSBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5kZWZhbCAtIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRvIHVwZGF0ZSB0aGUgZGVmYXVsdCBncmlkIG9yIGFuIGFsdGVybmF0aXZlIGdyaWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmFjdHVhbFJvd3MgLSBUaGUgYWN0dWFsIG51bWJlciBvZiByb3dzIGluIHRoZSBncmlkLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5pbmQgLSBUaGUgaW5kZXggcGFyYW1ldGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzIC0gQWRkaXRpb25hbCBwYXJhbWV0ZXJzIG5lZWRlZCBmb3IgdGhlIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMuZ2V0VXBkYXRlZEFsbFBhcmFtcyAtIEZ1bmN0aW9uIHRvIGdldCB1cGRhdGVkIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVHcmlkUm93cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgZ3JpZCByb3dzLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZENvbHMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGdyaWQgY29sdW1ucy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUFsdEdyaWRSb3dzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhbHRlcm5hdGl2ZSBncmlkIHJvd3MuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVBbHRHcmlkQ29scyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYWx0ZXJuYXRpdmUgZ3JpZCBjb2x1bW5zLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlR3JpZFNpemVzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBncmlkIHNpemVzLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmdyaWRTaXplcyAtIE9iamVjdCBjb250YWluaW5nIGdyaWQgd2lkdGggYW5kIGhlaWdodC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wYWdpbmF0aW9uRGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBvZiBwYWdpbmF0aW9uICgnaG9yaXpvbnRhbCcgb3IgJ3ZlcnRpY2FsJykuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMucGFnaW5hdGlvbkhlaWdodFdpZHRoIC0gVGhlIGhlaWdodCBvciB3aWR0aCBvZiBwYWdpbmF0aW9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5kb1BhZ2luYXRlIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgcGFnaW5hdGlvbiBpcyBlbmFibGVkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucy5wYXJhbWV0ZXJzLmNvbXBvbmVudFNpemVzIC0gT2JqZWN0IGNvbnRhaW5pbmcgY29udGFpbmVyIHdpZHRoIGFuZCBoZWlnaHQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuZXZlbnRUeXBlIC0gVGhlIHR5cGUgb2YgZXZlbnQgKCdjaGF0JywgZXRjLikuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIGFmdGVyIHVwZGF0aW5nIHRoZSBtaW5pIGNhcmRzIGdyaWQuXG4gICAqL1xuICBhc3luYyB1cGRhdGVNaW5pQ2FyZHNHcmlkKHtcbiAgICByb3dzLFxuICAgIGNvbHMsXG4gICAgZGVmYWwgPSB0cnVlLFxuICAgIGFjdHVhbFJvd3MgPSAyLFxuICAgIHBhcmFtZXRlcnMsXG4gIH06IFVwZGF0ZU1pbmlDYXJkc0dyaWRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IHsgZ2V0VXBkYXRlZEFsbFBhcmFtcyB9ID0gcGFyYW1ldGVycztcbiAgICBwYXJhbWV0ZXJzID0gZ2V0VXBkYXRlZEFsbFBhcmFtcygpO1xuXG4gICAgbGV0IHtcbiAgICAgIHVwZGF0ZUdyaWRSb3dzLFxuICAgICAgdXBkYXRlR3JpZENvbHMsXG4gICAgICB1cGRhdGVBbHRHcmlkUm93cyxcbiAgICAgIHVwZGF0ZUFsdEdyaWRDb2xzLFxuICAgICAgdXBkYXRlR3JpZFNpemVzLFxuXG4gICAgICBncmlkU2l6ZXMsXG4gICAgICBwYWdpbmF0aW9uRGlyZWN0aW9uLFxuICAgICAgcGFnaW5hdGlvbkhlaWdodFdpZHRoLFxuICAgICAgZG9QYWdpbmF0ZSxcbiAgICAgIGNvbXBvbmVudFNpemVzLFxuICAgICAgZXZlbnRUeXBlLFxuICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgbGV0IGNvbnRhaW5lcldpZHRoID0gY29tcG9uZW50U2l6ZXMub3RoZXJXaWR0aDtcbiAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gY29tcG9uZW50U2l6ZXMub3RoZXJIZWlnaHQ7XG5cbiAgICBpZiAoZG9QYWdpbmF0ZSkge1xuICAgICAgLy8gaWYgcGFnaW5hdGlvbiBpcyBlbmFibGVkIGFuZCBkaXJlY3Rpb24gaXMgaG9yaXpvbnRhbFxuICAgICAgaWYgKHBhZ2luYXRpb25EaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgIGNvbnRhaW5lckhlaWdodCA9IGNvbnRhaW5lckhlaWdodCAtIHBhZ2luYXRpb25IZWlnaHRXaWR0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRhaW5lcldpZHRoID0gY29udGFpbmVyV2lkdGggLSBwYWdpbmF0aW9uSGVpZ2h0V2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGNhcmRTcGFjaW5nID0gMzsgLy8gM3B4IG1hcmdpbiBiZXR3ZWVuIGNhcmRzXG4gICAgaWYgKGV2ZW50VHlwZSA9PSAnY2hhdCcpIHtcbiAgICAgIGNhcmRTcGFjaW5nID0gMDtcbiAgICB9XG4gICAgbGV0IHRvdGFsU3BhY2luZ0hvcml6b250YWwgPSAoY29scyAtIDEpICogY2FyZFNwYWNpbmc7XG4gICAgbGV0IHRvdGFsU3BhY2luZ1ZlcnRpY2FsID0gKGFjdHVhbFJvd3MgLSAxKSAqIGNhcmRTcGFjaW5nO1xuICAgIGxldCBjYXJkV2lkdGg7XG4gICAgbGV0IGNhcmRIZWlnaHQ7XG4gICAgaWYgKGNvbHMgPT0gMCB8fCBhY3R1YWxSb3dzID09IDApIHtcbiAgICAgIGNhcmRXaWR0aCA9IDA7XG4gICAgICBjYXJkSGVpZ2h0ID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgY2FyZFdpZHRoID0gTWF0aC5mbG9vcigoY29udGFpbmVyV2lkdGggLSB0b3RhbFNwYWNpbmdIb3Jpem9udGFsKSAvIGNvbHMpO1xuICAgICAgY2FyZEhlaWdodCA9IE1hdGguZmxvb3IoKGNvbnRhaW5lckhlaWdodCAtIHRvdGFsU3BhY2luZ1ZlcnRpY2FsKSAvIGFjdHVhbFJvd3MpO1xuICAgIH1cblxuICAgIGlmIChkZWZhbCkge1xuICAgICAgdXBkYXRlR3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGdyaWRXaWR0aDogY2FyZFdpZHRoLCBncmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdXBkYXRlQWx0R3JpZFJvd3Mocm93cyk7XG4gICAgICB1cGRhdGVBbHRHcmlkQ29scyhjb2xzKTtcblxuICAgICAgZ3JpZFNpemVzID0geyAuLi5ncmlkU2l6ZXMsIGFsdEdyaWRXaWR0aDogY2FyZFdpZHRoLCBhbHRHcmlkSGVpZ2h0OiBjYXJkSGVpZ2h0IH07XG4gICAgICB1cGRhdGVHcmlkU2l6ZXMoZ3JpZFNpemVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,50 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Updates or adds a participant's audio decibel data in the array.
5
+ *
6
+ * This method checks if a participant's name exists in the audio decibels array.
7
+ * If it does, it updates the participant's `averageLoudness`; otherwise, it adds a new entry.
8
+ * After modification, it calls `updateAudioDecibels` to apply the changes to the array.
9
+ *
10
+ * @param {UpdateParticipantAudioDecibelsOptions} options - The options for updating participant audio decibels.
11
+ * @param {string} options.name - The name of the participant.
12
+ * @param {number} options.averageLoudness - The current average loudness of the participant.
13
+ * @param {AudioDecibels[]} options.audioDecibels - The array of current audio decibel entries.
14
+ * @param {Function} options.updateAudioDecibels - The function to update the audio decibels array.
15
+ *
16
+ * @returns {void} - This function does not return a value.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const audioDecibels = [
21
+ * { name: 'Alice', averageLoudness: -10 },
22
+ * { name: 'Bob', averageLoudness: -12 },
23
+ * ];
24
+ *
25
+ * const updateAudioDecibels = (newDecibels) => {
26
+ * console.log('Updated audio decibels:', newDecibels);
27
+ * };
28
+ *
29
+ * const updateService = new UpdateParticipantAudioDecibels();
30
+ *
31
+ * // Update existing participant
32
+ * updateService.updateParticipantAudioDecibels({
33
+ * name: 'Alice',
34
+ * averageLoudness: -8,
35
+ * audioDecibels,
36
+ * updateAudioDecibels,
37
+ * });
38
+ *
39
+ * // Add a new participant
40
+ * updateService.updateParticipantAudioDecibels({
41
+ * name: 'Charlie',
42
+ * averageLoudness: -15,
43
+ * audioDecibels,
44
+ * updateAudioDecibels,
45
+ * });
46
+ * ```
47
+ */
3
48
  export class UpdateParticipantAudioDecibels {
4
49
  /**
5
50
  * Updates the audio decibels for a participant.
@@ -36,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
36
81
  providedIn: 'root',
37
82
  }]
38
83
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBhcnRpY2lwYW50LWF1ZGlvLWRlY2liZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL3VwZGF0ZS1wYXJ0aWNpcGFudC1hdWRpby1kZWNpYmVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBaUIzQyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDOzs7Ozs7Ozs7O09BVUc7SUFFSCw4QkFBOEIsQ0FBQyxFQUM3QixJQUFJLEVBQ0osZUFBZSxFQUNmLGFBQWEsRUFDYixtQkFBbUIsR0FDbUI7UUFDdEMsNkNBQTZDO1FBQzdDLHFEQUFxRDtRQUNyRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1FBRTlFLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsMkNBQTJDO1lBQzNDLGFBQWEsQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sd0RBQXdEO1lBQ3hELGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7dUdBakNVLDhCQUE4QjsyR0FBOUIsOEJBQThCLGNBRjdCLE1BQU07OzJGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdWRpb0RlY2liZWxzIH0gZnJvbSAnLi4vQHR5cGVzL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzT3B0aW9ucyB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXZlcmFnZUxvdWRuZXNzOiBudW1iZXI7XG4gIGF1ZGlvRGVjaWJlbHM6IEF1ZGlvRGVjaWJlbHNbXTtcbiAgdXBkYXRlQXVkaW9EZWNpYmVsczogKGF1ZGlvRGVjaWJlbHM6IEF1ZGlvRGVjaWJlbHNbXSkgPT4gdm9pZDtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzVHlwZSA9IChcbiAgb3B0aW9uczogVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzT3B0aW9ucyxcbikgPT4gdm9pZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZVBhcnRpY2lwYW50QXVkaW9EZWNpYmVscyB7XG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBhdWRpbyBkZWNpYmVscyBmb3IgYSBwYXJ0aWNpcGFudC5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgcGFydGljaXBhbnQgYXVkaW8gZGVjaWJlbHMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcGFydGljaXBhbnQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLmF2ZXJhZ2VMb3VkbmVzcyAtIFRoZSBhdmVyYWdlIGxvdWRuZXNzIG9mIHRoZSBwYXJ0aWNpcGFudC5cbiAgICogQHBhcmFtIHtBcnJheTx7IG5hbWU6IHN0cmluZywgYXZlcmFnZUxvdWRuZXNzOiBudW1iZXIgfT59IG9wdGlvbnMuYXVkaW9EZWNpYmVscyAtIFRoZSBhcnJheSBvZiBhdWRpbyBkZWNpYmVscyBlbnRyaWVzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUF1ZGlvRGVjaWJlbHMgLSBUaGUgZnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhdWRpbyBkZWNpYmVscyBhcnJheS5cbiAgICpcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuXG4gIHVwZGF0ZVBhcnRpY2lwYW50QXVkaW9EZWNpYmVscyh7XG4gICAgbmFtZSxcbiAgICBhdmVyYWdlTG91ZG5lc3MsXG4gICAgYXVkaW9EZWNpYmVscyxcbiAgICB1cGRhdGVBdWRpb0RlY2liZWxzLFxuICB9OiBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNPcHRpb25zKTogdm9pZCB7XG4gICAgLy8gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBhdWRpb0RlY2liZWxzIGFycmF5XG4gICAgLy8gQ2hlY2sgaWYgdGhlIGVudHJ5IGFscmVhZHkgZXhpc3RzIGluIGF1ZGlvRGVjaWJlbHNcbiAgICBjb25zdCBleGlzdGluZ0VudHJ5ID0gYXVkaW9EZWNpYmVscy5maW5kKChlbnRyeTogYW55KSA9PiBlbnRyeS5uYW1lID09PSBuYW1lKTtcblxuICAgIGlmIChleGlzdGluZ0VudHJ5KSB7XG4gICAgICAvLyBFbnRyeSBleGlzdHMsIHVwZGF0ZSB0aGUgYXZlcmFnZUxvdWRuZXNzXG4gICAgICBleGlzdGluZ0VudHJ5LmF2ZXJhZ2VMb3VkbmVzcyA9IGF2ZXJhZ2VMb3VkbmVzcztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRW50cnkgZG9lc24ndCBleGlzdCwgYWRkIGEgbmV3IGVudHJ5IHRvIGF1ZGlvRGVjaWJlbHNcbiAgICAgIGF1ZGlvRGVjaWJlbHMucHVzaCh7IG5hbWUsIGF2ZXJhZ2VMb3VkbmVzcyB9KTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIGF1ZGlvRGVjaWJlbHMgYXJyYXlcbiAgICB1cGRhdGVBdWRpb0RlY2liZWxzKGF1ZGlvRGVjaWJlbHMpO1xuICB9XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLXBhcnRpY2lwYW50LWF1ZGlvLWRlY2liZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvY29uc3VtZXJzL3VwZGF0ZS1wYXJ0aWNpcGFudC1hdWRpby1kZWNpYmVscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBYzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDRztBQU1ILE1BQU0sT0FBTyw4QkFBOEI7SUFDekM7Ozs7Ozs7Ozs7T0FVRztJQUVILDhCQUE4QixDQUFDLEVBQzdCLElBQUksRUFDSixlQUFlLEVBQ2YsYUFBYSxFQUNiLG1CQUFtQixHQUNtQjtRQUN0Qyw2Q0FBNkM7UUFDN0MscURBQXFEO1FBQ3JELE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFFOUUsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQiwyQ0FBMkM7WUFDM0MsYUFBYSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTix3REFBd0Q7WUFDeEQsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxpQ0FBaUM7UUFDakMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQzt1R0FqQ1UsOEJBQThCOzJHQUE5Qiw4QkFBOEIsY0FGN0IsTUFBTTs7MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1ZGlvRGVjaWJlbHMgfSBmcm9tICcuLi9AdHlwZXMvdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNPcHRpb25zIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhdmVyYWdlTG91ZG5lc3M6IG51bWJlcjtcbiAgYXVkaW9EZWNpYmVsczogQXVkaW9EZWNpYmVsc1tdO1xuICB1cGRhdGVBdWRpb0RlY2liZWxzOiAoYXVkaW9EZWNpYmVsczogQXVkaW9EZWNpYmVsc1tdKSA9PiB2b2lkO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNUeXBlID0gKFxuICBvcHRpb25zOiBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHNPcHRpb25zLFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFVwZGF0ZXMgb3IgYWRkcyBhIHBhcnRpY2lwYW50J3MgYXVkaW8gZGVjaWJlbCBkYXRhIGluIHRoZSBhcnJheS5cbiAqXG4gKiBUaGlzIG1ldGhvZCBjaGVja3MgaWYgYSBwYXJ0aWNpcGFudCdzIG5hbWUgZXhpc3RzIGluIHRoZSBhdWRpbyBkZWNpYmVscyBhcnJheS5cbiAqIElmIGl0IGRvZXMsIGl0IHVwZGF0ZXMgdGhlIHBhcnRpY2lwYW50J3MgYGF2ZXJhZ2VMb3VkbmVzc2A7IG90aGVyd2lzZSwgaXQgYWRkcyBhIG5ldyBlbnRyeS5cbiAqIEFmdGVyIG1vZGlmaWNhdGlvbiwgaXQgY2FsbHMgYHVwZGF0ZUF1ZGlvRGVjaWJlbHNgIHRvIGFwcGx5IHRoZSBjaGFuZ2VzIHRvIHRoZSBhcnJheS5cbiAqXG4gKiBAcGFyYW0ge1VwZGF0ZVBhcnRpY2lwYW50QXVkaW9EZWNpYmVsc09wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdXBkYXRpbmcgcGFydGljaXBhbnQgYXVkaW8gZGVjaWJlbHMuXG4gKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHBhcnRpY2lwYW50LlxuICogQHBhcmFtIHtudW1iZXJ9IG9wdGlvbnMuYXZlcmFnZUxvdWRuZXNzIC0gVGhlIGN1cnJlbnQgYXZlcmFnZSBsb3VkbmVzcyBvZiB0aGUgcGFydGljaXBhbnQuXG4gKiBAcGFyYW0ge0F1ZGlvRGVjaWJlbHNbXX0gb3B0aW9ucy5hdWRpb0RlY2liZWxzIC0gVGhlIGFycmF5IG9mIGN1cnJlbnQgYXVkaW8gZGVjaWJlbCBlbnRyaWVzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVBdWRpb0RlY2liZWxzIC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gZGVjaWJlbHMgYXJyYXkuXG4gKlxuICogQHJldHVybnMge3ZvaWR9IC0gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYSB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYXVkaW9EZWNpYmVscyA9IFtcbiAqICAgeyBuYW1lOiAnQWxpY2UnLCBhdmVyYWdlTG91ZG5lc3M6IC0xMCB9LFxuICogICB7IG5hbWU6ICdCb2InLCBhdmVyYWdlTG91ZG5lc3M6IC0xMiB9LFxuICogXTtcbiAqXG4gKiBjb25zdCB1cGRhdGVBdWRpb0RlY2liZWxzID0gKG5ld0RlY2liZWxzKSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdVcGRhdGVkIGF1ZGlvIGRlY2liZWxzOicsIG5ld0RlY2liZWxzKTtcbiAqIH07XG4gKlxuICogY29uc3QgdXBkYXRlU2VydmljZSA9IG5ldyBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoKTtcbiAqXG4gKiAvLyBVcGRhdGUgZXhpc3RpbmcgcGFydGljaXBhbnRcbiAqIHVwZGF0ZVNlcnZpY2UudXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzKHtcbiAqICAgbmFtZTogJ0FsaWNlJyxcbiAqICAgYXZlcmFnZUxvdWRuZXNzOiAtOCxcbiAqICAgYXVkaW9EZWNpYmVscyxcbiAqICAgdXBkYXRlQXVkaW9EZWNpYmVscyxcbiAqIH0pO1xuICpcbiAqIC8vIEFkZCBhIG5ldyBwYXJ0aWNpcGFudFxuICogdXBkYXRlU2VydmljZS51cGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoe1xuICogICBuYW1lOiAnQ2hhcmxpZScsXG4gKiAgIGF2ZXJhZ2VMb3VkbmVzczogLTE1LFxuICogICBhdWRpb0RlY2liZWxzLFxuICogICB1cGRhdGVBdWRpb0RlY2liZWxzLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBVcGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMge1xuICAvKipcbiAgICogVXBkYXRlcyB0aGUgYXVkaW8gZGVjaWJlbHMgZm9yIGEgcGFydGljaXBhbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHVwZGF0aW5nIHBhcnRpY2lwYW50IGF1ZGlvIGRlY2liZWxzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5uYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHBhcnRpY2lwYW50LlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5hdmVyYWdlTG91ZG5lc3MgLSBUaGUgYXZlcmFnZSBsb3VkbmVzcyBvZiB0aGUgcGFydGljaXBhbnQuXG4gICAqIEBwYXJhbSB7QXJyYXk8eyBuYW1lOiBzdHJpbmcsIGF2ZXJhZ2VMb3VkbmVzczogbnVtYmVyIH0+fSBvcHRpb25zLmF1ZGlvRGVjaWJlbHMgLSBUaGUgYXJyYXkgb2YgYXVkaW8gZGVjaWJlbHMgZW50cmllcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVBdWRpb0RlY2liZWxzIC0gVGhlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW8gZGVjaWJlbHMgYXJyYXkuXG4gICAqXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cblxuICB1cGRhdGVQYXJ0aWNpcGFudEF1ZGlvRGVjaWJlbHMoe1xuICAgIG5hbWUsXG4gICAgYXZlcmFnZUxvdWRuZXNzLFxuICAgIGF1ZGlvRGVjaWJlbHMsXG4gICAgdXBkYXRlQXVkaW9EZWNpYmVscyxcbiAgfTogVXBkYXRlUGFydGljaXBhbnRBdWRpb0RlY2liZWxzT3B0aW9ucyk6IHZvaWQge1xuICAgIC8vIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYXVkaW9EZWNpYmVscyBhcnJheVxuICAgIC8vIENoZWNrIGlmIHRoZSBlbnRyeSBhbHJlYWR5IGV4aXN0cyBpbiBhdWRpb0RlY2liZWxzXG4gICAgY29uc3QgZXhpc3RpbmdFbnRyeSA9IGF1ZGlvRGVjaWJlbHMuZmluZCgoZW50cnk6IGFueSkgPT4gZW50cnkubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoZXhpc3RpbmdFbnRyeSkge1xuICAgICAgLy8gRW50cnkgZXhpc3RzLCB1cGRhdGUgdGhlIGF2ZXJhZ2VMb3VkbmVzc1xuICAgICAgZXhpc3RpbmdFbnRyeS5hdmVyYWdlTG91ZG5lc3MgPSBhdmVyYWdlTG91ZG5lc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEVudHJ5IGRvZXNuJ3QgZXhpc3QsIGFkZCBhIG5ldyBlbnRyeSB0byBhdWRpb0RlY2liZWxzXG4gICAgICBhdWRpb0RlY2liZWxzLnB1c2goeyBuYW1lLCBhdmVyYWdlTG91ZG5lc3MgfSk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBhdWRpb0RlY2liZWxzIGFycmF5XG4gICAgdXBkYXRlQXVkaW9EZWNpYmVscyhhdWRpb0RlY2liZWxzKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,30 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Toggles the visibility of the background modal.
5
+ *
6
+ * This method updates the visibility state of the background modal by calling
7
+ * the provided update function with the negation of the current visibility state.
8
+ *
9
+ * @param {LaunchBackgroundOptions} options - The options object containing necessary variables and functions.
10
+ * @param {Function} options.updateIsBackgroundModalVisible - Function to update the visibility state of the background modal.
11
+ * @param {boolean} options.isBackgroundModalVisible - Current visibility state of the background modal.
12
+ *
13
+ * @returns {void}
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const options = {
18
+ * updateIsBackgroundModalVisible: (isVisible) => {
19
+ * console.log(`Background modal is now ${isVisible ? 'visible' : 'hidden'}.`);
20
+ * },
21
+ * isBackgroundModalVisible: false,
22
+ * };
23
+ *
24
+ * const launchBackgroundService = new LaunchBackground();
25
+ * launchBackgroundService.launchBackground(options);
26
+ * ```
27
+ */
3
28
  export class LaunchBackground {
4
29
  /**
5
30
  * Toggles the visibility of the background modal.
@@ -20,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
20
45
  providedIn: 'root',
21
46
  }]
22
47
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWJhY2tncm91bmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL2JhY2tncm91bmQtbWV0aG9kcy9sYXVuY2gtYmFja2dyb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7Ozs7OztPQU1HO0lBRUgsZ0JBQWdCLENBQUMsRUFDZiw4QkFBOEIsRUFDOUIsd0JBQXdCLEdBQ0E7UUFDeEIsOEJBQThCLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7dUdBZFUsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hCYWNrZ3JvdW5kT3B0aW9ucyB7XG4gIHVwZGF0ZUlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hCYWNrZ3JvdW5kVHlwZSA9IChvcHRpb25zOiBMYXVuY2hCYWNrZ3JvdW5kT3B0aW9ucykgPT4gdm9pZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaEJhY2tncm91bmQge1xuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYmFja2dyb3VuZCBtb2RhbC5cbiAgICogQGZ1bmN0aW9uXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgbmVjZXNzYXJ5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnVwZGF0ZUlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgYmFja2dyb3VuZCBtb2RhbC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLmlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSAtIEN1cnJlbnQgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgYmFja2dyb3VuZCBtb2RhbC5cbiAgICovXG5cbiAgbGF1bmNoQmFja2dyb3VuZCh7XG4gICAgdXBkYXRlSXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlLFxuICAgIGlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSxcbiAgfTogTGF1bmNoQmFja2dyb3VuZE9wdGlvbnMpOiB2b2lkIHtcbiAgICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGUoIWlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSk7XG4gIH1cbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWJhY2tncm91bmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL2JhY2tncm91bmQtbWV0aG9kcy9sYXVuY2gtYmFja2dyb3VuZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCOzs7Ozs7T0FNRztJQUVILGdCQUFnQixDQUFDLEVBQ2YsOEJBQThCLEVBQzlCLHdCQUF3QixHQUNBO1FBQ3hCLDhCQUE4QixDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO3VHQWRVLGdCQUFnQjsyR0FBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCBpbnRlcmZhY2UgTGF1bmNoQmFja2dyb3VuZE9wdGlvbnMge1xuICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZTogYm9vbGVhbjtcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgTGF1bmNoQmFja2dyb3VuZFR5cGUgPSAob3B0aW9uczogTGF1bmNoQmFja2dyb3VuZE9wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYmFja2dyb3VuZCBtb2RhbC5cbiAqXG4gKiBUaGlzIG1ldGhvZCB1cGRhdGVzIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsIGJ5IGNhbGxpbmdcbiAqIHRoZSBwcm92aWRlZCB1cGRhdGUgZnVuY3Rpb24gd2l0aCB0aGUgbmVnYXRpb24gb2YgdGhlIGN1cnJlbnQgdmlzaWJpbGl0eSBzdGF0ZS5cbiAqXG4gKiBAcGFyYW0ge0xhdW5jaEJhY2tncm91bmRPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgb2JqZWN0IGNvbnRhaW5pbmcgbmVjZXNzYXJ5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy51cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGJhY2tncm91bmQgbW9kYWwuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvcHRpb25zID0ge1xuICogICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGU6IChpc1Zpc2libGUpID0+IHtcbiAqICAgICBjb25zb2xlLmxvZyhgQmFja2dyb3VuZCBtb2RhbCBpcyBub3cgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ30uYCk7XG4gKiAgIH0sXG4gKiAgIGlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZTogZmFsc2UsXG4gKiB9O1xuICpcbiAqIGNvbnN0IGxhdW5jaEJhY2tncm91bmRTZXJ2aWNlID0gbmV3IExhdW5jaEJhY2tncm91bmQoKTtcbiAqIGxhdW5jaEJhY2tncm91bmRTZXJ2aWNlLmxhdW5jaEJhY2tncm91bmQob3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGF1bmNoQmFja2dyb3VuZCB7XG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKiBAZnVuY3Rpb25cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyBuZWNlc3NhcnkgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBiYWNrZ3JvdW5kIG1vZGFsLlxuICAgKi9cblxuICBsYXVuY2hCYWNrZ3JvdW5kKHtcbiAgICB1cGRhdGVJc0JhY2tncm91bmRNb2RhbFZpc2libGUsXG4gICAgaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlLFxuICB9OiBMYXVuY2hCYWNrZ3JvdW5kT3B0aW9ucyk6IHZvaWQge1xuICAgIHVwZGF0ZUlzQmFja2dyb3VuZE1vZGFsVmlzaWJsZSghaXNCYWNrZ3JvdW5kTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,76 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Updates the state of breakout rooms based on the provided data and parameters.
5
+ *
6
+ * This method handles changes in breakout rooms, updates the relevant state variables,
7
+ * and triggers necessary UI updates based on the current status of the breakout rooms.
8
+ *
9
+ * @param {BreakoutRoomUpdatedOptions} options - The options object containing the data and parameters.
10
+ * @param {BreakoutRoomUpdatedData} options.data - The data object containing information about the breakout rooms.
11
+ * @param {BreakoutRoomUpdatedParameters} options.parameters - The parameters object containing various state update functions and other parameters.
12
+ * @param {boolean} options.parameters.breakOutRoomStarted - Indicates if the breakout room has started.
13
+ * @param {boolean} options.parameters.breakOutRoomEnded - Indicates if the breakout room has ended.
14
+ * @param {Array<BreakoutParticipant[]>} options.parameters.breakoutRooms - The list of current breakout rooms.
15
+ * @param {number} options.parameters.hostNewRoom - The ID of the new room for the host.
16
+ * @param {string} options.parameters.islevel - The level of the breakout room (e.g., '2' for host).
17
+ * @param {Array<Participant>} options.parameters.participantsAll - The list of all participants.
18
+ * @param {Array<Participant>} options.parameters.participants - The list of participants who are not banned.
19
+ * @param {string} options.parameters.meetingDisplayType - The current display type of the meeting.
20
+ * @param {string} options.parameters.prevMeetingDisplayType - The previous display type of the meeting.
21
+ * @param {Function} options.parameters.updateBreakoutRooms - Function to update the breakout rooms.
22
+ * @param {Function} options.parameters.updateBreakOutRoomStarted - Function to update the breakout room started state.
23
+ * @param {Function} options.parameters.updateBreakOutRoomEnded - Function to update the breakout room ended state.
24
+ * @param {Function} options.parameters.updateHostNewRoom - Function to update the host's new room.
25
+ * @param {Function} options.parameters.updateMeetingDisplayType - Function to update the meeting display type.
26
+ * @param {Function} options.parameters.updateParticipantsAll - Function to update the list of all participants.
27
+ * @param {Function} options.parameters.updateParticipants - Function to update the list of participants who are not banned.
28
+ * @param {Function} options.parameters.onScreenChanges - Function to handle screen changes.
29
+ * @param {Function} options.parameters.rePort - Function to handle reporting.
30
+ *
31
+ * @returns {Promise<void>} A promise that resolves when the breakout room state has been updated.
32
+ *
33
+ * @throws Will throw an error if the update process fails.
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const options = {
38
+ * data: {
39
+ * forHost: true,
40
+ * newRoom: 3,
41
+ * status: 'started',
42
+ * members: [
43
+ * { name: 'user1', isBanned: false, audioID: 'audio1', videoID: 'video1' },
44
+ * { name: 'user2', isBanned: true, audioID: 'audio2', videoID: 'video2' },
45
+ * ],
46
+ * breakoutRooms: [[{ name: 'user1' }, { name: 'user2' }]],
47
+ * },
48
+ * parameters: {
49
+ * socket: socketInstance,
50
+ * roomName: 'mainRoom',
51
+ * screenStates: [{ mainScreenPerson: 'user1', mainScreenFilled: true, adminOnMainScreen: false }],
52
+ * participants: [{ name: 'admin', islevel: '2' }],
53
+ * breakOutRoomStarted: false,
54
+ * breakOutRoomEnded: false,
55
+ * hostNewRoom: 0,
56
+ * islevel: '2',
57
+ * participantsAll: [],
58
+ * updateBreakoutRooms: (rooms) => {},
59
+ * updateBreakOutRoomStarted: (started) => {},
60
+ * updateBreakOutRoomEnded: (ended) => {},
61
+ * updateHostNewRoom: (room) => {},
62
+ * updateMeetingDisplayType: (type) => {},
63
+ * updateParticipantsAll: (participants) => {},
64
+ * updateParticipants: (participants) => {},
65
+ * onScreenChanges: async () => {},
66
+ * rePort: async () => {},
67
+ * },
68
+ * };
69
+ *
70
+ * const breakoutRoomService = new BreakoutRoomUpdated();
71
+ * await breakoutRoomService.breakoutRoomUpdated(options);
72
+ * ```
73
+ */
3
74
  export class BreakoutRoomUpdated {
4
75
  /**
5
76
  * Updates the state of breakout rooms based on the provided data and parameters.
@@ -109,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
109
180
  providedIn: 'root',
110
181
  }]
111
182
  }] });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtvdXQtcm9vbS11cGRhdGVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9icmVha291dC1yb29tLW1ldGhvZHMvYnJlYWtvdXQtcm9vbS11cGRhdGVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnRDNDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0E0Qkc7SUFFSCxtQkFBbUIsR0FBRyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUE4QixFQUFpQixFQUFFO1FBQzlGLElBQUksQ0FBQztZQUNILFVBQVUsR0FBRyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUU5QyxJQUFJLEVBQ0YsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsT0FBTyxFQUNQLGVBQWUsRUFDZixZQUFZLEVBRVosbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQixrQkFBa0I7WUFFbEIsb0JBQW9CO1lBQ3BCLGVBQWUsRUFDZixNQUFNLEdBQ1AsR0FBRyxVQUFVLENBQUM7WUFFZixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsb0VBQW9FO2dCQUNwRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7Z0JBQ2pDLE1BQU0sZUFBZSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksT0FBTyxJQUFJLEdB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Q0FBQyxDQUFDO2dCQUNyRCxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDbkIsTUFBTSxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsK0RBQStEO1FBQ2pFLENBQUM7SUFDSCxDQUFDLENBQUM7dUdBNUhTLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCcmVha291dFBhcnRpY2lwYW50LFxuICBCcmVha291dFJvb21VcGRhdGVkRGF0YSxcbiAgT25TY3JlZW5DaGFuZ2VzUGFyYW1ldGVycyxcbiAgT25TY3JlZW5DaGFuZ2VzVHlwZSxcbiAgUGFydGljaXBhbnQsXG4gIFJlUG9ydFBhcmFtZXRlcnMsXG4gIFJlUG9ydFR5cGUsXG59IGZyb20gJy4uLy4uL0B0eXBlcy90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJlYWtvdXRSb29tVXBkYXRlZFBhcmFtZXRlcnMgZXh0ZW5kcyBPblNjcmVlbkNoYW5nZXNQYXJhbWV0ZXJzLCBSZVBvcnRQYXJhbWV0ZXJzIHtcbiAgYnJlYWtPdXRSb29tU3RhcnRlZDogYm9vbGVhbjtcbiAgYnJlYWtPdXRSb29tRW5kZWQ6IGJvb2xlYW47XG4gIGJyZWFrb3V0Um9vbXM6IEJyZWFrb3V0UGFydGljaXBhbnRbXVtdO1xuICBob3N0TmV3Um9vbTogbnVtYmVyO1xuICBpc2xldmVsOiBzdHJpbmc7XG4gIHBhcnRpY2lwYW50c0FsbDogUGFydGljaXBhbnRbXTtcbiAgcGFydGljaXBhbnRzOiBQYXJ0aWNpcGFudFtdO1xuICBtZWV0aW5nRGlzcGxheVR5cGU6IHN0cmluZztcbiAgcHJldk1lZXRpbmdEaXNwbGF5VHlwZTogc3RyaW5nO1xuICB1cGRhdGVCcmVha291dFJvb21zOiAocm9vbXM6IEJyZWFrb3V0UGFydGljaXBhbnRbXVtdKSA9PiB2b2lkO1xuICB1cGRhdGVCcmVha091dFJvb21TdGFydGVkOiAoc3RhcnRlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlQnJlYWtPdXRSb29tRW5kZWQ6IChlbmRlZDogYm9vbGVhbikgPT4gdm9pZDtcbiAgdXBkYXRlSG9zdE5ld1Jvb206IChyb29tOiBudW1iZXIpID0+IHZvaWQ7XG4gIHVwZGF0ZU1lZXRpbmdEaXNwbGF5VHlwZTogKHR5cGU6IHN0cmluZykgPT4gdm9pZDtcbiAgdXBkYXRlUGFydGljaXBhbnRzQWxsOiAocGFydGljaXBhbnRzOiBQYXJ0aWNpcGFudFtdKSA9PiB2b2lkO1xuICB1cGRhdGVQYXJ0aWNpcGFudHM6IChwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W10pID0+IHZvaWQ7XG5cbiAgLy9tZWRpYXNmdSBmdW5jdGlvbnNcbiAgb25TY3JlZW5DaGFuZ2VzOiBPblNjcmVlbkNoYW5nZXNUeXBlO1xuICByZVBvcnQ6IFJlUG9ydFR5cGU7XG5cbiAgZ2V0VXBkYXRlZEFsbFBhcmFtczogKCkgPT4gQnJlYWtvdXRSb29tVXBkYXRlZFBhcmFtZXRlcnM7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcmVha291dFJvb21VcGRhdGVkT3B0aW9ucyB7XG4gIGRhdGE6IEJyZWFrb3V0Um9vbVVwZGF0ZWREYXRhO1xuICBwYXJhbWV0ZXJzOiBCcmVha291dFJvb21VcGRhdGVkUGFyYW1ldGVycztcbn1cblxuLy8gRXhwb3J0IHRoZSB0eXBlIGRlZmluaXRpb24gZm9yIHRoZSBmdW5jdGlvblxuZXhwb3J0IHR5cGUgQnJlYWtvdXRSb29tVXBkYXRlZFR5cGUgPSAob3B0aW9uczogQnJlYWtvdXRSb29tVXBkYXRlZE9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCcmVha291dFJvb21VcGRhdGVkIHtcbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIGJyZWFrb3V0IHJvb21zIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBkYXRhIGFuZCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMuZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmVha291dCByb29tcy5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIG9iamVjdCBjb250YWluaW5nIHZhcmlvdXMgc3RhdGUgdXBkYXRlIGZ1bmN0aW9ucyBhbmQgb3RoZXIgcGFyYW1ldGVycy5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuYnJlYWtPdXRSb29tU3RhcnRlZCAtIEluZGljYXRlcyBpZiB0aGUgYnJlYWtvdXQgcm9vbSBoYXMgc3RhcnRlZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRpb25zLnBhcmFtZXRlcnMuYnJlYWtPdXRSb29tRW5kZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIGJyZWFrb3V0IHJvb20gaGFzIGVuZGVkLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLnBhcmFtZXRlcnMuYnJlYWtvdXRSb29tcyAtIFRoZSBsaXN0IG9mIGN1cnJlbnQgYnJlYWtvdXQgcm9vbXMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMuaG9zdE5ld1Jvb20gLSBUaGUgSUQgb2YgdGhlIG5ldyByb29tIGZvciB0aGUgaG9zdC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5pc2xldmVsIC0gVGhlIGxldmVsIG9mIHRoZSBicmVha291dCByb29tLlxuICAgKiBAcGFyYW0ge0FycmF5fSBvcHRpb25zLnBhcmFtZXRlcnMucGFydGljaXBhbnRzQWxsIC0gVGhlIGxpc3Qgb2YgYWxsIHBhcnRpY2lwYW50cy5cbiAgICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5wYXJhbWV0ZXJzLnBhcnRpY2lwYW50cyAtIFRoZSBsaXN0IG9mIHBhcnRpY2lwYW50cyB3aG8gYXJlIG5vdCBiYW5uZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMubWVldGluZ0Rpc3BsYXlUeXBlIC0gVGhlIGN1cnJlbnQgZGlzcGxheSB0eXBlIG9mIHRoZSBtZWV0aW5nLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXJhbWV0ZXJzLnByZXZNZWV0aW5nRGlzcGxheVR5cGUgLSBUaGUgcHJldmlvdXMgZGlzcGxheSB0eXBlIG9mIHRoZSBtZWV0aW5nLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQnJlYWtvdXRSb29tcyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYnJlYWtvdXQgcm9vbXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVCcmVha091dFJvb21TdGFydGVkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBicmVha291dCByb29tIHN0YXJ0ZWQgc3RhdGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVCcmVha091dFJvb21FbmRlZCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYnJlYWtvdXQgcm9vbSBlbmRlZCBzdGF0ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUhvc3ROZXdSb29tIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBob3N0J3MgbmV3IHJvb20uXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVNZWV0aW5nRGlzcGxheVR5cGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIG1lZXRpbmcgZGlzcGxheSB0eXBlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUGFydGljaXBhbnRzQWxsIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBsaXN0IG9mIGFsbCBwYXJ0aWNpcGFudHMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVQYXJ0aWNpcGFudHMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGxpc3Qgb2YgcGFydGljaXBhbnRzIHdobyBhcmUgbm90IGJhbm5lZC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLm9uU2NyZWVuQ2hhbmdlcyAtIEZ1bmN0aW9uIHRvIGhhbmRsZSBzY3JlZW4gY2hhbmdlcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnJlUG9ydCAtIEZ1bmN0aW9uIHRvIGhhbmRsZSByZXBvcnRpbmcuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBicmVha291dCByb29tIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuXG4gICAqXG4gICAqIEB0aHJvd3MgV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB0aGUgdXBkYXRlIHByb2Nlc3MgZmFpbHMuXG4gICAqL1xuXG4gIGJyZWFrb3V0Um9vbVVwZGF0ZWQgPSBhc3luYyAoeyBkYXRhLCBwYXJhbWV0ZXJzIH06IEJyZWFrb3V0Um9vbVVwZGF0ZWRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzLmdldFVwZGF0ZWRBbGxQYXJhbXMoKTtcblxuICAgICAgbGV0IHtcbiAgICAgICAgYnJlYWtPdXRSb29tU3RhcnRlZCxcbiAgICAgICAgYnJlYWtPdXRSb29tRW5kZWQsXG4gICAgICAgIGJyZWFrb3V0Um9vbXMsXG4gICAgICAgIGlzbGV2ZWwsXG4gICAgICAgIHBhcnRpY2lwYW50c0FsbCxcbiAgICAgICAgcGFydGljaXBhbnRzLFxuXG4gICAgICAgIHVwZGF0ZUJyZWFrb3V0Um9vbXMsXG4gICAgICAgIHVwZGF0ZUJyZWFrT3V0Um9vbVN0YXJ0ZWQsXG4gICAgICAgIHVwZGF0ZUJyZWFrT3V0Um9vbUVuZGVkLFxuICAgICAgICB1cGRhdGVIb3N0TmV3Um9vbSxcbiAgICAgICAgdXBkYXRlTWVldGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgICBtZWV0aW5nRGlzcGxheVR5cGUsXG4gICAgICAgIHByZXZNZWV0aW5nRGlzcGxheVR5cGUsXG4gICAgICAgIHVwZGF0ZVBhcnRpY2lwYW50c0FsbCxcbiAgICAgICAgdXBkYXRlUGFydGljaXBhbnRzLFxuXG4gICAgICAgIC8vbWVkaWFTZnUgZnVuY3Rpb25zXG4gICAgICAgIG9uU2NyZWVuQ2hhbmdlcyxcbiAgICAgICAgcmVQb3J0LFxuICAgICAgfSA9IHBhcmFtZXRlcnM7XG5cbiAgICAgIGlmIChkYXRhLmZvckhvc3QpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgdXBkYXRlSG9zdE5ld1Jvb20oZGF0YS5uZXdSb29tISk7XG4gICAgICAgIGF3YWl0IG9uU2NyZWVuQ2hhbmdlcyh7IGNoYW5nZWQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzbGV2ZWwgPT0gJzInICYmIGRhdGEubWVtYmVycykge1xuICAgICAgICAvL2ZpbHRlciBvdXQgdGhlIHBhcnRpY2lwYW50IHRoYXQgaXNCYW5uZWQgPT0gdHJ1ZVxuICAgICAgICBwYXJ0aWNpcGFudHNBbGwgPSBkYXRhLm1lbWJlcnM7XG4gICAgICAgIC8vcmVtb3ZlIGV2ZXJ5IGZpZWxkIG90aGVyIHRoYW4gaXNCYW5uZWQgYW5kIG5hbWUgZnJvbSBwYXJ0aWNpcGFudHNBbGxcbiAgICAgICAgcGFydGljaXBhbnRzQWxsID0gZGF0YS5tZW1iZXJzLm1hcCgocGFydGljaXBhbnQpID0+ICh7XG4gICAgICAgICAgaXNCYW5uZWQ6IHBhcnRpY2lwYW50LmlzQmFubmVkLFxuICAgICAgICAgIG5hbWU6IHBhcnRpY2lwYW50Lm5hbWUsXG4gICAgICAgICAgYXVkaW9JRDogcGFydGljaXBhbnQuYXVkaW9JRCxcbiAgICAgICAgICB2aWRlb0lEOiBwYXJ0aWNpcGFudC52aWRlb0lELFxuICAgICAgICB9KSk7XG4gICAgICAgIHVwZGF0ZVBhcnRpY2lwYW50c0FsbChwYXJ0aWNpcGFudHNBbGwpO1xuXG4gICAgICAgIHBhcnRpY2lwYW50cyA9IGRhdGEubWVtYmVycy5maWx0ZXIoXG4gICAgICAgICAgKHBhcnRpY2lwYW50OiBQYXJ0aWNpcGFudCkgPT4gcGFydGljaXBhbnQuaXNCYW5uZWQgPT0gZmFsc2UsXG4gICAgICAgICk7XG4gICAgICAgIHVwZGF0ZVBhcnRpY2lwYW50cyhwYXJ0aWNpcGFudHMpO1xuICAgICAgfVxuXG4gICAgICBicmVha291dFJvb21zID0gZGF0YS5icmVha291dFJvb21zIHx8IFtdO1xuICAgICAgdXBkYXRlQnJlYWtvdXRSb29tcyhicmVha291dFJvb21zKTtcblxuICAgICAgaWYgKGRhdGEuc3RhdHVzID09ICdzdGFydGVkJyAmJiAoYnJlYWtPdXRSb29tU3RhcnRlZCB8fCAhYnJlYWtPdXRSb29tRW5kZWQpKSB7XG4gICAgICAgIGJyZWFrT3V0Um9vbVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICBicmVha091dFJvb21FbmRlZCA9IGZhbHNlO1xuICAgICAgICB1cGRhdGVCcmVha091dFJvb21TdGFydGVkKHRydWUpO1xuICAgICAgICB1cGRhdGVCcmVha091dFJvb21FbmRlZChmYWxzZSk7XG4gICAgICAgIHByZXZNZWV0aW5nRGlzcGxheVR5cGUgPSBtZWV0aW5nRGlzcGxheVR5cGU7XG4gICAgICAgIGlmIChtZWV0aW5nRGlzcGxheVR5cGUgIT0gJ2FsbCcpIHtcbiAgICAgICAgICBtZWV0aW5nRGlzcGxheVR5cGUgPSAnYWxsJztcbiAgICAgICAgICB1cGRhdGVNZWV0aW5nRGlzcGxheVR5cGUoJ2FsbCcpO1xuICAgICAgICB9XG4gICAgICAgIGF3YWl0IG9uU2NyZWVuQ2hhbmdlcyh7IGNoYW5nZWQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIGlmIChpc2xldmVsID09ICcyJykge1xuICAgICAgICAgIGF3YWl0IHJlUG9ydCh7IHJlc3RhcnQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5zdGF0dXMgPT0gJ2VuZGVkJykge1xuICAgICAgICBicmVha091dFJvb21FbmRlZCA9IHRydWU7XG4gICAgICAgIHVwZGF0ZUJyZWFrT3V0Um9vbUVuZGVkKHRydWUpO1xuICAgICAgICBpZiAobWVldGluZ0Rpc3BsYXlUeXBlICE9IHByZXZNZWV0aW5nRGlzcGxheVR5cGUpIHtcbiAgICAgICAgICBtZWV0aW5nRGlzcGxheVR5cGUgPSBwcmV2TWVldGluZ0Rpc3BsYXlUeXBlO1xuICAgICAgICAgIHVwZGF0ZU1lZXRpbmdEaXNwbGF5VHlwZShwcmV2TWVldGluZ0Rpc3BsYXlUeXBlKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBvblNjcmVlbkNoYW5nZXMoeyBjaGFuZ2VkOiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICBpZiAoaXNsZXZlbCA9PSAnMicpIHtcbiAgICAgICAgICBhd2FpdCByZVBvcnQoeyByZXN0YXJ0OiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEuc3RhdHVzID09ICdzdGFydGVkJyAmJiBicmVha091dFJvb21TdGFydGVkKSB7XG4gICAgICAgIGJyZWFrT3V0Um9vbVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICBicmVha091dFJvb21FbmRlZCA9IGZhbHNlO1xuICAgICAgICB1cGRhdGVCcmVha091dFJvb21TdGFydGVkKHRydWUpO1xuICAgICAgICB1cGRhdGVCcmVha091dFJvb21FbmRlZChmYWxzZSk7XG4gICAgICAgIGF3YWl0IG9uU2NyZWVuQ2hhbmdlcyh7IGNoYW5nZWQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIGlmIChpc2xldmVsID09ICcyJykge1xuICAgICAgICAgIGF3YWl0IHJlUG9ydCh7IHJlc3RhcnQ6IHRydWUsIHBhcmFtZXRlcnMgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAvLyBjb25zb2xlLmxvZygnRXJyb3IgdXBkYXRpbmcgYnJlYWtvdXQgcm9vbTonLCBlcnJvci5tZXNzYWdlKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWtvdXQtcm9vbS11cGRhdGVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9icmVha291dC1yb29tLW1ldGhvZHMvYnJlYWtvdXQtcm9vbS11cGRhdGVkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUE2QzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0VHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUVILG1CQUFtQixHQUFHLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQThCLEVBQWlCLEVBQUU7UUFDOUYsSUFBSSxDQUFDO1lBQ0gsVUFBVSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBRTlDLElBQUksRUFDRixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixPQUFPLEVBQ1AsZUFBZSxFQUNmLFlBQVksRUFFWixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLGtCQUFrQjtZQUVsQixvQkFBb0I7WUFDcEIsZUFBZSxFQUNmLE1BQU0sR0FDUCxHQUFHLFVBQVUsQ0FBQztZQUVmLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixvRUFBb0U7Z0JBQ3BFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFDakMsTUFBTSxlQUFlLENBQUMsRUFBRSxPQUFP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dUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxlQUFlLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JELElBQUksT0FBTyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNuQixNQUFNLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDOUMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQiwrREFBK0Q7UUFDakUsQ0FBQztJQUNILENBQUMsQ0FBQzt1R0E1SFMsbUJBQW1COzJHQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEJyZWFrb3V0UGFydGljaXBhbnQsXG4gIEJyZWFrb3V0Um9vbVVwZGF0ZWREYXRhLFxuICBPblNjcmVlbkNoYW5nZXNQYXJhbWV0ZXJzLFxuICBPblNjcmVlbkNoYW5nZXNUeXBlLFxuICBQYXJ0aWNpcGFudCxcbiAgUmVQb3J0UGFyYW1ldGVycyxcbiAgUmVQb3J0VHlwZSxcbn0gZnJvbSAnLi4vLi4vQHR5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVha291dFJvb21VcGRhdGVkUGFyYW1ldGVycyBleHRlbmRzIE9uU2NyZWVuQ2hhbmdlc1BhcmFtZXRlcnMsIFJlUG9ydFBhcmFtZXRlcnMge1xuICBicmVha091dFJvb21TdGFydGVkOiBib29sZWFuO1xuICBicmVha091dFJvb21FbmRlZDogYm9vbGVhbjtcbiAgYnJlYWtvdXRSb29tczogQnJlYWtvdXRQYXJ0aWNpcGFudFtdW107XG4gIGhvc3ROZXdSb29tOiBudW1iZXI7XG4gIGlzbGV2ZWw6IHN0cmluZztcbiAgcGFydGljaXBhbnRzQWxsOiBQYXJ0aWNpcGFudFtdO1xuICBwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W107XG4gIG1lZXRpbmdEaXNwbGF5VHlwZTogc3RyaW5nO1xuICBwcmV2TWVldGluZ0Rpc3BsYXlUeXBlOiBzdHJpbmc7XG4gIHVwZGF0ZUJyZWFrb3V0Um9vbXM6IChyb29tczogQnJlYWtvdXRQYXJ0aWNpcGFudFtdW10pID0+IHZvaWQ7XG4gIHVwZGF0ZUJyZWFrT3V0Um9vbVN0YXJ0ZWQ6IChzdGFydGVkOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVCcmVha091dFJvb21FbmRlZDogKGVuZGVkOiBib29sZWFuKSA9PiB2b2lkO1xuICB1cGRhdGVIb3N0TmV3Um9vbTogKHJvb206IG51bWJlcikgPT4gdm9pZDtcbiAgdXBkYXRlTWVldGluZ0Rpc3BsYXlUeXBlOiAodHlwZTogc3RyaW5nKSA9PiB2b2lkO1xuICB1cGRhdGVQYXJ0aWNpcGFudHNBbGw6IChwYXJ0aWNpcGFudHM6IFBhcnRpY2lwYW50W10pID0+IHZvaWQ7XG4gIHVwZGF0ZVBhcnRpY2lwYW50czogKHBhcnRpY2lwYW50czogUGFydGljaXBhbnRbXSkgPT4gdm9pZDtcblxuICAvL21lZGlhc2Z1IGZ1bmN0aW9uc1xuICBvblNjcmVlbkNoYW5nZXM6IE9uU2NyZWVuQ2hhbmdlc1R5cGU7XG4gIHJlUG9ydDogUmVQb3J0VHlwZTtcblxuICBnZXRVcGRhdGVkQWxsUGFyYW1zOiAoKSA9PiBCcmVha291dFJvb21VcGRhdGVkUGFyYW1ldGVycztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyZWFrb3V0Um9vbVVwZGF0ZWRPcHRpb25zIHtcbiAgZGF0YTogQnJlYWtvdXRSb29tVXBkYXRlZERhdGE7XG4gIHBhcmFtZXRlcnM6IEJyZWFrb3V0Um9vbVVwZGF0ZWRQYXJhbWV0ZXJzO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBCcmVha291dFJvb21VcGRhdGVkVHlwZSA9IChvcHRpb25zOiBCcmVha291dFJvb21VcGRhdGVkT3B0aW9ucykgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBzdGF0ZSBvZiBicmVha291dCByb29tcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZGF0YSBhbmQgcGFyYW1ldGVycy5cbiAqXG4gKiBUaGlzIG1ldGhvZCBoYW5kbGVzIGNoYW5nZXMgaW4gYnJlYWtvdXQgcm9vbXMsIHVwZGF0ZXMgdGhlIHJlbGV2YW50IHN0YXRlIHZhcmlhYmxlcyxcbiAqIGFuZCB0cmlnZ2VycyBuZWNlc3NhcnkgVUkgdXBkYXRlcyBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIGJyZWFrb3V0IHJvb21zLlxuICpcbiAqIEBwYXJhbSB7QnJlYWtvdXRSb29tVXBkYXRlZE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QgY29udGFpbmluZyB0aGUgZGF0YSBhbmQgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7QnJlYWtvdXRSb29tVXBkYXRlZERhdGF9IG9wdGlvbnMuZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBicmVha291dCByb29tcy5cbiAqIEBwYXJhbSB7QnJlYWtvdXRSb29tVXBkYXRlZFBhcmFtZXRlcnN9IG9wdGlvbnMucGFyYW1ldGVycyAtIFRoZSBwYXJhbWV0ZXJzIG9iamVjdCBjb250YWluaW5nIHZhcmlvdXMgc3RhdGUgdXBkYXRlIGZ1bmN0aW9ucyBhbmQgb3RoZXIgcGFyYW1ldGVycy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmJyZWFrT3V0Um9vbVN0YXJ0ZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIGJyZWFrb3V0IHJvb20gaGFzIHN0YXJ0ZWQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMucGFyYW1ldGVycy5icmVha091dFJvb21FbmRlZCAtIEluZGljYXRlcyBpZiB0aGUgYnJlYWtvdXQgcm9vbSBoYXMgZW5kZWQuXG4gKiBAcGFyYW0ge0FycmF5PEJyZWFrb3V0UGFydGljaXBhbnRbXT59IG9wdGlvbnMucGFyYW1ldGVycy5icmVha291dFJvb21zIC0gVGhlIGxpc3Qgb2YgY3VycmVudCBicmVha291dCByb29tcy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBvcHRpb25zLnBhcmFtZXRlcnMuaG9zdE5ld1Jvb20gLSBUaGUgSUQgb2YgdGhlIG5ldyByb29tIGZvciB0aGUgaG9zdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgYnJlYWtvdXQgcm9vbSAoZS5nLiwgJzInIGZvciBob3N0KS5cbiAqIEBwYXJhbSB7QXJyYXk8UGFydGljaXBhbnQ+fSBvcHRpb25zLnBhcmFtZXRlcnMucGFydGljaXBhbnRzQWxsIC0gVGhlIGxpc3Qgb2YgYWxsIHBhcnRpY2lwYW50cy5cbiAqIEBwYXJhbSB7QXJyYXk8UGFydGljaXBhbnQ+fSBvcHRpb25zLnBhcmFtZXRlcnMucGFydGljaXBhbnRzIC0gVGhlIGxpc3Qgb2YgcGFydGljaXBhbnRzIHdobyBhcmUgbm90IGJhbm5lZC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMubWVldGluZ0Rpc3BsYXlUeXBlIC0gVGhlIGN1cnJlbnQgZGlzcGxheSB0eXBlIG9mIHRoZSBtZWV0aW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wcmV2TWVldGluZ0Rpc3BsYXlUeXBlIC0gVGhlIHByZXZpb3VzIGRpc3BsYXkgdHlwZSBvZiB0aGUgbWVldGluZy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVCcmVha291dFJvb21zIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBicmVha291dCByb29tcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVCcmVha091dFJvb21TdGFydGVkIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBicmVha291dCByb29tIHN0YXJ0ZWQgc3RhdGUuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQnJlYWtPdXRSb29tRW5kZWQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGJyZWFrb3V0IHJvb20gZW5kZWQgc3RhdGUuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlSG9zdE5ld1Jvb20gLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGhvc3QncyBuZXcgcm9vbS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVNZWV0aW5nRGlzcGxheVR5cGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIG1lZXRpbmcgZGlzcGxheSB0eXBlLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVBhcnRpY2lwYW50c0FsbCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbGlzdCBvZiBhbGwgcGFydGljaXBhbnRzLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVBhcnRpY2lwYW50cyAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbGlzdCBvZiBwYXJ0aWNpcGFudHMgd2hvIGFyZSBub3QgYmFubmVkLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLm9uU2NyZWVuQ2hhbmdlcyAtIEZ1bmN0aW9uIHRvIGhhbmRsZSBzY3JlZW4gY2hhbmdlcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5yZVBvcnQgLSBGdW5jdGlvbiB0byBoYW5kbGUgcmVwb3J0aW5nLlxuICpcbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBicmVha291dCByb29tIHN0YXRlIGhhcyBiZWVuIHVwZGF0ZWQuXG4gKlxuICogQHRocm93cyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHRoZSB1cGRhdGUgcHJvY2VzcyBmYWlscy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb3B0aW9ucyA9IHtcbiAqICAgZGF0YToge1xuICogICAgIGZvckhvc3Q6IHRydWUsXG4gKiAgICAgbmV3Um9vbTogMyxcbiAqICAgICBzdGF0dXM6ICdzdGFydGVkJyxcbiAqICAgICBtZW1iZXJzOiBbXG4gKiAgICAgICB7IG5hbWU6ICd1c2VyMScsIGlzQmFubmVkOiBmYWxzZSwgYXVkaW9JRDogJ2F1ZGlvMScsIHZpZGVvSUQ6ICd2aWRlbzEnIH0sXG4gKiAgICAgICB7IG5hbWU6ICd1c2VyMicsIGlzQmFubmVkOiB0cnVlLCBhdWRpb0lEOiAnYXVkaW8yJywgdmlkZW9JRDogJ3ZpZGVvMicgfSxcbiAqICAgICBdLFxuICogICAgIGJyZWFrb3V0Um9vbXM6IFtbeyBuYW1lOiAndXNlcjEnIH0sIHsgbmFtZTogJ3VzZXIyJyB9XV0sXG4gKiAgIH0sXG4gKiAgIHBhcmFtZXRlcnM6IHtcbiAqICAgICBzb2NrZXQ6IHNvY2tldEluc3RhbmNlLFxuICogICAgIHJvb21OYW1lOiAnbWFpblJvb20nLFxuICogICAgIHNjcmVlblN0YXRlczogW3sgbWFpblNjcmVlblBlcnNvbjogJ3VzZXIxJywgbWFpblNjcmVlbkZpbGxlZDogdHJ1ZSwgYWRtaW5Pbk1haW5TY3JlZW46IGZhbHNlIH1dLFxuICogICAgIHBhcnRpY2lwYW50czogW3sgbmFtZTogJ2FkbWluJywgaXNsZXZlbDogJzInIH1dLFxuICogICAgIGJyZWFrT3V0Um9vbVN0YXJ0ZWQ6IGZhbHNlLFxuICogICAgIGJyZWFrT3V0Um9vbUVuZGVkOiBmYWxzZSxcbiAqICAgICBob3N0TmV3Um9vbTogMCxcbiAqICAgICBpc2xldmVsOiAnMicsXG4gKiAgICAgcGFydGljaXBhbnRzQWxsOiBbXSxcbiAqICAgICB1cGRhdGVCcmVha291dFJvb21zOiAocm9vbXMpID0+IHt9LFxuICogICAgIHVwZGF0ZUJyZWFrT3V0Um9vbVN0YXJ0ZWQ6IChzdGFydGVkKSA9PiB7fSxcbiAqICAgICB1cGRhdGVCcmVha091dFJvb21FbmRlZDogKGVuZGVkKSA9PiB7fSxcbiAqICAgICB1cGRhdGVIb3N0TmV3Um9vbTogKHJvb20pID0+IHt9LFxuICogICAgIHVwZGF0ZU1lZXRpbmdEaXNwbGF5VHlwZTogKHR5cGUpID0+IHt9LFxuICogICAgIHVwZGF0ZVBhcnRpY2lwYW50c0FsbDogKHBhcnRpY2lwYW50cykgPT4ge30sXG4gKiAgICAgdXBkYXRlUGFydGljaXBhbnRzOiAocGFydGljaXBhbnRzKSA9PiB7fSxcbiAqICAgICBvblNjcmVlbkNoYW5nZXM6IGFzeW5jICgpID0+IHt9LFxuICogICAgIHJlUG9ydDogYXN5bmMgKCkgPT4ge30sXG4gKiAgIH0sXG4gKiB9O1xuICpcbiAqIGNvbnN0IGJyZWFrb3V0Um9vbVNlcnZpY2UgPSBuZXcgQnJlYWtvdXRSb29tVXBkYXRlZCgpO1xuICogYXdhaXQgYnJlYWtvdXRSb29tU2VydmljZS5icmVha291dFJvb21VcGRhdGVkKG9wdGlvbnMpO1xuICogYGBgXG4gKi9cblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWtvdXRSb29tVXBkYXRlZCB7XG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBzdGF0ZSBvZiBicmVha291dCByb29tcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZGF0YSBhbmQgcGFyYW1ldGVycy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLmRhdGEgLSBUaGUgZGF0YSBvYmplY3QgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYnJlYWtvdXQgcm9vbXMuXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLnBhcmFtZXRlcnMgLSBUaGUgcGFyYW1ldGVycyBvYmplY3QgY29udGFpbmluZyB2YXJpb3VzIHN0YXRlIHVwZGF0ZSBmdW5jdGlvbnMgYW5kIG90aGVyIHBhcmFtZXRlcnMuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmJyZWFrT3V0Um9vbVN0YXJ0ZWQgLSBJbmRpY2F0ZXMgaWYgdGhlIGJyZWFrb3V0IHJvb20gaGFzIHN0YXJ0ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmJyZWFrT3V0Um9vbUVuZGVkIC0gSW5kaWNhdGVzIGlmIHRoZSBicmVha291dCByb29tIGhhcyBlbmRlZC5cbiAgICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5wYXJhbWV0ZXJzLmJyZWFrb3V0Um9vbXMgLSBUaGUgbGlzdCBvZiBjdXJyZW50IGJyZWFrb3V0IHJvb21zLlxuICAgKiBAcGFyYW0ge251bWJlcn0gb3B0aW9ucy5wYXJhbWV0ZXJzLmhvc3ROZXdSb29tIC0gVGhlIElEIG9mIHRoZSBuZXcgcm9vbSBmb3IgdGhlIGhvc3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnBhcmFtZXRlcnMuaXNsZXZlbCAtIFRoZSBsZXZlbCBvZiB0aGUgYnJlYWtvdXQgcm9vbS5cbiAgICogQHBhcmFtIHtBcnJheX0gb3B0aW9ucy5wYXJhbWV0ZXJzLnBhcnRpY2lwYW50c0FsbCAtIFRoZSBsaXN0IG9mIGFsbCBwYXJ0aWNpcGFudHMuXG4gICAqIEBwYXJhbSB7QXJyYXl9IG9wdGlvbnMucGFyYW1ldGVycy5wYXJ0aWNpcGFudHMgLSBUaGUgbGlzdCBvZiBwYXJ0aWNpcGFudHMgd2hvIGFyZSBub3QgYmFubmVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5wYXJhbWV0ZXJzLm1lZXRpbmdEaXNwbGF5VHlwZSAtIFRoZSBjdXJyZW50IGRpc3BsYXkgdHlwZSBvZiB0aGUgbWVldGluZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMucGFyYW1ldGVycy5wcmV2TWVldGluZ0Rpc3BsYXlUeXBlIC0gVGhlIHByZXZpb3VzIGRpc3BsYXkgdHlwZSBvZiB0aGUgbWVldGluZy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZUJyZWFrb3V0Um9vbXMgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGJyZWFrb3V0IHJvb21zLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQnJlYWtPdXRSb29tU3RhcnRlZCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYnJlYWtvdXQgcm9vbSBzdGFydGVkIHN0YXRlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlQnJlYWtPdXRSb29tRW5kZWQgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIGJyZWFrb3V0IHJvb20gZW5kZWQgc3RhdGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy51cGRhdGVIb3N0TmV3Um9vbSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgaG9zdCdzIG5ldyByb29tLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlTWVldGluZ0Rpc3BsYXlUeXBlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBtZWV0aW5nIGRpc3BsYXkgdHlwZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3B0aW9ucy5wYXJhbWV0ZXJzLnVwZGF0ZVBhcnRpY2lwYW50c0FsbCAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgbGlzdCBvZiBhbGwgcGFydGljaXBhbnRzLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBvcHRpb25zLnBhcmFtZXRlcnMudXBkYXRlUGFydGljaXBhbnRzIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSBsaXN0IG9mIHBhcnRpY2lwYW50cyB3aG8gYXJlIG5vdCBiYW5uZWQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5vblNjcmVlbkNoYW5nZXMgLSBGdW5jdGlvbiB0byBoYW5kbGUgc2NyZWVuIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMucGFyYW1ldGVycy5yZVBvcnQgLSBGdW5jdGlvbiB0byBoYW5kbGUgcmVwb3J0aW5nLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgYnJlYWtvdXQgcm9vbSBzdGF0ZSBoYXMgYmVlbiB1cGRhdGVkLlxuICAgKlxuICAgKiBAdGhyb3dzIFdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHVwZGF0ZSBwcm9jZXNzIGZhaWxzLlxuICAgKi9cblxuICBicmVha291dFJvb21VcGRhdGVkID0gYXN5bmMgKHsgZGF0YSwgcGFyYW1ldGVycyB9OiBCcmVha291dFJvb21VcGRhdGVkT3B0aW9ucyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRyeSB7XG4gICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVycy5nZXRVcGRhdGVkQWxsUGFyYW1zKCk7XG5cbiAgICAgIGxldCB7XG4gICAgICAgIGJyZWFrT3V0Um9vbVN0YXJ0ZWQsXG4gICAgICAgIGJyZWFrT3V0Um9vbUVuZGVkLFxuICAgICAgICBicmVha291dFJvb21zLFxuICAgICAgICBpc2xldmVsLFxuICAgICAgICBwYXJ0aWNpcGFudHNBbGwsXG4gICAgICAgIHBhcnRpY2lwYW50cyxcblxuICAgICAgICB1cGRhdGVCcmVha291dFJvb21zLFxuICAgICAgICB1cGRhdGVCcmVha091dFJvb21TdGFydGVkLFxuICAgICAgICB1cGRhdGVCcmVha091dFJvb21FbmRlZCxcbiAgICAgICAgdXBkYXRlSG9zdE5ld1Jvb20sXG4gICAgICAgIHVwZGF0ZU1lZXRpbmdEaXNwbGF5VHlwZSxcbiAgICAgICAgbWVldGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgICBwcmV2TWVldGluZ0Rpc3BsYXlUeXBlLFxuICAgICAgICB1cGRhdGVQYXJ0aWNpcGFudHNBbGwsXG4gICAgICAgIHVwZGF0ZVBhcnRpY2lwYW50cyxcblxuICAgICAgICAvL21lZGlhU2Z1IGZ1bmN0aW9uc1xuICAgICAgICBvblNjcmVlbkNoYW5nZXMsXG4gICAgICAgIHJlUG9ydCxcbiAgICAgIH0gPSBwYXJhbWV0ZXJzO1xuXG4gICAgICBpZiAoZGF0YS5mb3JIb3N0KSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIHVwZGF0ZUhvc3ROZXdSb29tKGRhdGEubmV3Um9vbSEpO1xuICAgICAgICBhd2FpdCBvblNjcmVlbkNoYW5nZXMoeyBjaGFuZ2VkOiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpc2xldmVsID09ICcyJyAmJiBkYXRhLm1lbWJlcnMpIHtcbiAgICAgICAgLy9maWx0ZXIgb3V0IHRoZSBwYXJ0aWNpcGFudCB0aGF0IGlzQmFubmVkID09IHRydWVcbiAgICAgICAgcGFydGljaXBhbnRzQWxsID0gZGF0YS5tZW1iZXJzO1xuICAgICAgICAvL3JlbW92ZSBldmVyeSBmaWVsZCBvdGhlciB0aGFuIGlzQmFubmVkIGFuZCBuYW1lIGZyb20gcGFydGljaXBhbnRzQWxsXG4gICAgICAgIHBhcnRpY2lwYW50c0FsbCA9IGRhdGEubWVtYmVycy5tYXAoKHBhcnRpY2lwYW50KSA9PiAoe1xuICAgICAgICAgIGlzQmFubmVkOiBwYXJ0aWNpcGFudC5pc0Jhbm5lZCxcbiAgICAgICAgICBuYW1lOiBwYXJ0aWNpcGFudC5uYW1lLFxuICAgICAgICAgIGF1ZGlvSUQ6IHBhcnRpY2lwYW50LmF1ZGlvSUQsXG4gICAgICAgICAgdmlkZW9JRDogcGFydGljaXBhbnQudmlkZW9JRCxcbiAgICAgICAgfSkpO1xuICAgICAgICB1cGRhdGVQYXJ0aWNpcGFudHNBbGwocGFydGljaXBhbnRzQWxsKTtcblxuICAgICAgICBwYXJ0aWNpcGFudHMgPSBkYXRhLm1lbWJlcnMuZmlsdGVyKFxuICAgICAgICAgIChwYXJ0aWNpcGFudDogUGFydGljaXBhbnQpID0+IHBhcnRpY2lwYW50LmlzQmFubmVkID09IGZhbHNlLFxuICAgICAgICApO1xuICAgICAgICB1cGRhdGVQYXJ0aWNpcGFudHMocGFydGljaXBhbnRzKTtcbiAgICAgIH1cblxuICAgICAgYnJlYWtvdXRSb29tcyA9IGRhdGEuYnJlYWtvdXRSb29tcyB8fCBbXTtcbiAgICAgIHVwZGF0ZUJyZWFrb3V0Um9vbXMoYnJlYWtvdXRSb29tcyk7XG5cbiAgICAgIGlmIChkYXRhLnN0YXR1cyA9PSAnc3RhcnRlZCcgJiYgKGJyZWFrT3V0Um9vbVN0YXJ0ZWQgfHwgIWJyZWFrT3V0Um9vbUVuZGVkKSkge1xuICAgICAgICBicmVha091dFJvb21TdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWtPdXRSb29tRW5kZWQgPSBmYWxzZTtcbiAgICAgICAgdXBkYXRlQnJlYWtPdXRSb29tU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgdXBkYXRlQnJlYWtPdXRSb29tRW5kZWQoZmFsc2UpO1xuICAgICAgICBwcmV2TWVldGluZ0Rpc3BsYXlUeXBlID0gbWVldGluZ0Rpc3BsYXlUeXBlO1xuICAgICAgICBpZiAobWVldGluZ0Rpc3BsYXlUeXBlICE9ICdhbGwnKSB7XG4gICAgICAgICAgbWVldGluZ0Rpc3BsYXlUeXBlID0gJ2FsbCc7XG4gICAgICAgICAgdXBkYXRlTWVldGluZ0Rpc3BsYXlUeXBlKCdhbGwnKTtcbiAgICAgICAgfVxuICAgICAgICBhd2FpdCBvblNjcmVlbkNoYW5nZXMoeyBjaGFuZ2VkOiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICBpZiAoaXNsZXZlbCA9PSAnMicpIHtcbiAgICAgICAgICBhd2FpdCByZVBvcnQoeyByZXN0YXJ0OiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEuc3RhdHVzID09ICdlbmRlZCcpIHtcbiAgICAgICAgYnJlYWtPdXRSb29tRW5kZWQgPSB0cnVlO1xuICAgICAgICB1cGRhdGVCcmVha091dFJvb21FbmRlZCh0cnVlKTtcbiAgICAgICAgaWYgKG1lZXRpbmdEaXNwbGF5VHlwZSAhPSBwcmV2TWVldGluZ0Rpc3BsYXlUeXBlKSB7XG4gICAgICAgICAgbWVldGluZ0Rpc3BsYXlUeXBlID0gcHJldk1lZXRpbmdEaXNwbGF5VHlwZTtcbiAgICAgICAgICB1cGRhdGVNZWV0aW5nRGlzcGxheVR5cGUocHJldk1lZXRpbmdEaXNwbGF5VHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgb25TY3JlZW5DaGFuZ2VzKHsgY2hhbmdlZDogdHJ1ZSwgcGFyYW1ldGVycyB9KTtcbiAgICAgICAgaWYgKGlzbGV2ZWwgPT0gJzInKSB7XG4gICAgICAgICAgYXdhaXQgcmVQb3J0KHsgcmVzdGFydDogdHJ1ZSwgcGFyYW1ldGVycyB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkYXRhLnN0YXR1cyA9PSAnc3RhcnRlZCcgJiYgYnJlYWtPdXRSb29tU3RhcnRlZCkge1xuICAgICAgICBicmVha091dFJvb21TdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgYnJlYWtPdXRSb29tRW5kZWQgPSBmYWxzZTtcbiAgICAgICAgdXBkYXRlQnJlYWtPdXRSb29tU3RhcnRlZCh0cnVlKTtcbiAgICAgICAgdXBkYXRlQnJlYWtPdXRSb29tRW5kZWQoZmFsc2UpO1xuICAgICAgICBhd2FpdCBvblNjcmVlbkNoYW5nZXMoeyBjaGFuZ2VkOiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICBpZiAoaXNsZXZlbCA9PSAnMicpIHtcbiAgICAgICAgICBhd2FpdCByZVBvcnQoeyByZXN0YXJ0OiB0cnVlLCBwYXJhbWV0ZXJzIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ0Vycm9yIHVwZGF0aW5nIGJyZWFrb3V0IHJvb206JywgZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuICB9O1xufVxuIl19
@@ -1,5 +1,29 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Launches the breakout rooms by toggling the visibility of the breakout rooms modal.
5
+ *
6
+ * This method is used to show or hide the breakout rooms modal based on the current visibility state.
7
+ *
8
+ * @param {LaunchBreakoutRoomsOptions} options - The options object containing necessary variables and functions.
9
+ * @param {Function} options.updateIsBreakoutRoomsModalVisible - Function to update the visibility state of the breakout rooms modal.
10
+ * @param {boolean} options.isBreakoutRoomsModalVisible - Current visibility state of the breakout rooms modal.
11
+ *
12
+ * @returns {void}
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const options: LaunchBreakoutRoomsOptions = {
17
+ * updateIsBreakoutRoomsModalVisible: (isVisible) => {
18
+ * console.log('Breakout Rooms Modal is now:', isVisible ? 'Visible' : 'Hidden');
19
+ * },
20
+ * isBreakoutRoomsModalVisible: false,
21
+ * };
22
+ *
23
+ * const launchBreakoutRoomsService = new LaunchBreakoutRooms();
24
+ * launchBreakoutRoomsService.launchBreakoutRooms(options);
25
+ * ```
26
+ */
3
27
  export class LaunchBreakoutRooms {
4
28
  /**
5
29
  * Launches the breakout rooms by toggling the visibility of the breakout rooms modal.
@@ -19,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
19
43
  providedIn: 'root',
20
44
  }]
21
45
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWJyZWFrb3V0LXJvb21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9icmVha291dC1yb29tLW1ldGhvZHMvbGF1bmNoLWJyZWFrb3V0LXJvb21zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZM0MsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7T0FLRztJQUVILG1CQUFtQixDQUFDLEVBQ2xCLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDQTtRQUMzQixpQ0FBaUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDbEUsQ0FBQzt1R0FiVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucyB7XG4gIHVwZGF0ZUlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgaXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hCcmVha291dFJvb21zVHlwZSA9IChvcHRpb25zOiBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucykgPT4gdm9pZDtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhdW5jaEJyZWFrb3V0Um9vbXMge1xuICAvKipcbiAgICogTGF1bmNoZXMgdGhlIGJyZWFrb3V0IHJvb21zIGJ5IHRvZ2dsaW5nIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBicmVha291dCByb29tcyBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIHVwZGF0ZUlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZSAtIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgdmlzaWJpbGl0eSBzdGF0ZSBvZiB0aGUgYnJlYWtvdXQgcm9vbXMgbW9kYWwuXG4gICAqIEBwYXJhbSBpc0JyZWFrb3V0Um9vbXNNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGJyZWFrb3V0IHJvb21zIG1vZGFsLlxuICAgKi9cblxuICBsYXVuY2hCcmVha291dFJvb21zKHtcbiAgICB1cGRhdGVJc0JyZWFrb3V0Um9vbXNNb2RhbFZpc2libGUsXG4gICAgaXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlLFxuICB9OiBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucyk6IHZvaWQge1xuICAgIHVwZGF0ZUlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZSghaXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWJyZWFrb3V0LXJvb21zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXNmdS1hbmd1bGFyL3NyYy9saWIvbWV0aG9kcy9icmVha291dC1yb29tLW1ldGhvZHMvbGF1bmNoLWJyZWFrb3V0LXJvb21zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQUM5Qjs7Ozs7T0FLRztJQUVILG1CQUFtQixDQUFDLEVBQ2xCLGlDQUFpQyxFQUNqQywyQkFBMkIsR0FDQTtRQUMzQixpQ0FBaUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDbEUsQ0FBQzt1R0FiVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucyB7XG4gIHVwZGF0ZUlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZTogKGlzVmlzaWJsZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgaXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hCcmVha291dFJvb21zVHlwZSA9IChvcHRpb25zOiBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucykgPT4gdm9pZDtcblxuXG4vKipcbiAqIExhdW5jaGVzIHRoZSBicmVha291dCByb29tcyBieSB0b2dnbGluZyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYnJlYWtvdXQgcm9vbXMgbW9kYWwuXG4gKlxuICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBzaG93IG9yIGhpZGUgdGhlIGJyZWFrb3V0IHJvb21zIG1vZGFsIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZpc2liaWxpdHkgc3RhdGUuXG4gKlxuICogQHBhcmFtIHtMYXVuY2hCcmVha291dFJvb21zT3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdCBjb250YWluaW5nIG5lY2Vzc2FyeSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBicmVha291dCByb29tcyBtb2RhbC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5pc0JyZWFrb3V0Um9vbXNNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGJyZWFrb3V0IHJvb21zIG1vZGFsLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvcHRpb25zOiBMYXVuY2hCcmVha291dFJvb21zT3B0aW9ucyA9IHtcbiAqICAgdXBkYXRlSXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coJ0JyZWFrb3V0IFJvb21zIE1vZGFsIGlzIG5vdzonLCBpc1Zpc2libGUgPyAnVmlzaWJsZScgOiAnSGlkZGVuJyk7XG4gKiAgIH0sXG4gKiAgIGlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZTogZmFsc2UsXG4gKiB9O1xuICpcbiAqIGNvbnN0IGxhdW5jaEJyZWFrb3V0Um9vbXNTZXJ2aWNlID0gbmV3IExhdW5jaEJyZWFrb3V0Um9vbXMoKTtcbiAqIGxhdW5jaEJyZWFrb3V0Um9vbXNTZXJ2aWNlLmxhdW5jaEJyZWFrb3V0Um9vbXMob3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYXVuY2hCcmVha291dFJvb21zIHtcbiAgLyoqXG4gICAqIExhdW5jaGVzIHRoZSBicmVha291dCByb29tcyBieSB0b2dnbGluZyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYnJlYWtvdXQgcm9vbXMgbW9kYWwuXG4gICAqXG4gICAqIEBwYXJhbSB1cGRhdGVJc0JyZWFrb3V0Um9vbXNNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGJyZWFrb3V0IHJvb21zIG1vZGFsLlxuICAgKiBAcGFyYW0gaXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlIC0gQ3VycmVudCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBicmVha291dCByb29tcyBtb2RhbC5cbiAgICovXG5cbiAgbGF1bmNoQnJlYWtvdXRSb29tcyh7XG4gICAgdXBkYXRlSXNCcmVha291dFJvb21zTW9kYWxWaXNpYmxlLFxuICAgIGlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZSxcbiAgfTogTGF1bmNoQnJlYWtvdXRSb29tc09wdGlvbnMpOiB2b2lkIHtcbiAgICB1cGRhdGVJc0JyZWFrb3V0Um9vbXNNb2RhbFZpc2libGUoIWlzQnJlYWtvdXRSb29tc01vZGFsVmlzaWJsZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,29 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Toggles the visibility of the co-host modal.
5
+ *
6
+ * This method is used to show or hide the co-host modal based on the current visibility state.
7
+ *
8
+ * @param {LaunchCoHostOptions} options - The options object containing necessary variables and functions.
9
+ * @param {Function} options.updateIsCoHostModalVisible - Function to update the visibility state of the co-host modal.
10
+ * @param {boolean} options.isCoHostModalVisible - Current visibility state of the co-host modal.
11
+ *
12
+ * @returns {void}
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const options: LaunchCoHostOptions = {
17
+ * updateIsCoHostModalVisible: (isVisible) => {
18
+ * console.log('Co-Host Modal is now:', isVisible ? 'Visible' : 'Hidden');
19
+ * },
20
+ * isCoHostModalVisible: false,
21
+ * };
22
+ *
23
+ * const launchCoHostService = new launchCoHost();
24
+ * launchCoHostService.launchCoHost(options);
25
+ * ```
26
+ */
3
27
  export class launchCoHost {
4
28
  /**
5
29
  * Toggles the visibility of the co-host modal.
@@ -19,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
19
43
  providedIn: 'root',
20
44
  }]
21
45
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWNvLWhvc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL2NvLWhvc3QtbWV0aG9kcy9sYXVuY2gtY28taG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBWTNDLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCOzs7OztPQUtHO0lBRUgsWUFBWSxDQUFDLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQXVCO1FBQ3BGLDBCQUEwQixDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRCxDQUFDO3VHQVZVLFlBQVk7MkdBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hDb0hvc3RPcHRpb25zIHtcbiAgdXBkYXRlSXNDb0hvc3RNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzQ29Ib3N0TW9kYWxWaXNpYmxlOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hDb0hvc3RUeXBlID0gKG9wdGlvbnM6IExhdW5jaENvSG9zdE9wdGlvbnMpID0+IHZvaWQ7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBsYXVuY2hDb0hvc3Qge1xuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY28taG9zdCBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIHVwZGF0ZUlzQ29Ib3N0TW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBjby1ob3N0IG1vZGFsLlxuICAgKiBAcGFyYW0gaXNDb0hvc3RNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvLWhvc3QgbW9kYWwuXG4gICAqL1xuXG4gIGxhdW5jaENvSG9zdCh7IHVwZGF0ZUlzQ29Ib3N0TW9kYWxWaXNpYmxlLCBpc0NvSG9zdE1vZGFsVmlzaWJsZSB9OiBMYXVuY2hDb0hvc3RPcHRpb25zKTogdm9pZCB7XG4gICAgdXBkYXRlSXNDb0hvc3RNb2RhbFZpc2libGUoIWlzQ29Ib3N0TW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWNvLWhvc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc2Z1LWFuZ3VsYXIvc3JjL2xpYi9tZXRob2RzL2NvLWhvc3QtbWV0aG9kcy9sYXVuY2gtY28taG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUzNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQU1ILE1BQU0sT0FBTyxZQUFZO0lBQ3ZCOzs7OztPQUtHO0lBRUgsWUFBWSxDQUFDLEVBQUUsMEJBQTBCLEVBQUUsb0JBQW9CLEVBQXVCO1FBQ3BGLDBCQUEwQixDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRCxDQUFDO3VHQVZVLFlBQVk7MkdBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hDb0hvc3RPcHRpb25zIHtcbiAgdXBkYXRlSXNDb0hvc3RNb2RhbFZpc2libGU6IChpc1Zpc2libGU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGlzQ29Ib3N0TW9kYWxWaXNpYmxlOiBib29sZWFuO1xufVxuXG4vLyBFeHBvcnQgdGhlIHR5cGUgZGVmaW5pdGlvbiBmb3IgdGhlIGZ1bmN0aW9uXG5leHBvcnQgdHlwZSBMYXVuY2hDb0hvc3RUeXBlID0gKG9wdGlvbnM6IExhdW5jaENvSG9zdE9wdGlvbnMpID0+IHZvaWQ7XG5cbi8qKlxuICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY28taG9zdCBtb2RhbC5cbiAqXG4gKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHNob3cgb3IgaGlkZSB0aGUgY28taG9zdCBtb2RhbCBiYXNlZCBvbiB0aGUgY3VycmVudCB2aXNpYmlsaXR5IHN0YXRlLlxuICpcbiAqIEBwYXJhbSB7TGF1bmNoQ29Ib3N0T3B0aW9uc30gb3B0aW9ucyAtIFRoZSBvcHRpb25zIG9iamVjdCBjb250YWluaW5nIG5lY2Vzc2FyeSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IG9wdGlvbnMudXBkYXRlSXNDb0hvc3RNb2RhbFZpc2libGUgLSBGdW5jdGlvbiB0byB1cGRhdGUgdGhlIHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvLWhvc3QgbW9kYWwuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuaXNDb0hvc3RNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvLWhvc3QgbW9kYWwuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9wdGlvbnM6IExhdW5jaENvSG9zdE9wdGlvbnMgPSB7XG4gKiAgIHVwZGF0ZUlzQ29Ib3N0TW9kYWxWaXNpYmxlOiAoaXNWaXNpYmxlKSA9PiB7XG4gKiAgICAgY29uc29sZS5sb2coJ0NvLUhvc3QgTW9kYWwgaXMgbm93OicsIGlzVmlzaWJsZSA/ICdWaXNpYmxlJyA6ICdIaWRkZW4nKTtcbiAqICAgfSxcbiAqICAgaXNDb0hvc3RNb2RhbFZpc2libGU6IGZhbHNlLFxuICogfTtcbiAqXG4gKiBjb25zdCBsYXVuY2hDb0hvc3RTZXJ2aWNlID0gbmV3IGxhdW5jaENvSG9zdCgpO1xuICogbGF1bmNoQ29Ib3N0U2VydmljZS5sYXVuY2hDb0hvc3Qob3B0aW9ucyk7XG4gKiBgYGBcbiAqL1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBsYXVuY2hDb0hvc3Qge1xuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgY28taG9zdCBtb2RhbC5cbiAgICpcbiAgICogQHBhcmFtIHVwZGF0ZUlzQ29Ib3N0TW9kYWxWaXNpYmxlIC0gRnVuY3Rpb24gdG8gdXBkYXRlIHRoZSB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBjby1ob3N0IG1vZGFsLlxuICAgKiBAcGFyYW0gaXNDb0hvc3RNb2RhbFZpc2libGUgLSBDdXJyZW50IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIGNvLWhvc3QgbW9kYWwuXG4gICAqL1xuXG4gIGxhdW5jaENvSG9zdCh7IHVwZGF0ZUlzQ29Ib3N0TW9kYWxWaXNpYmxlLCBpc0NvSG9zdE1vZGFsVmlzaWJsZSB9OiBMYXVuY2hDb0hvc3RPcHRpb25zKTogdm9pZCB7XG4gICAgdXBkYXRlSXNDb0hvc3RNb2RhbFZpc2libGUoIWlzQ29Ib3N0TW9kYWxWaXNpYmxlKTtcbiAgfVxufVxuIl19