@100mslive/react-native-hms 1.7.0 → 1.7.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 (205) hide show
  1. package/README.md +30 -39
  2. package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
  3. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  4. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
  6. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/6.7.1/gc.properties +0 -0
  8. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  9. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  10. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  11. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  12. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/6.9/gc.properties +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  16. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  17. package/android/.gradle/checksums/checksums.lock +0 -0
  18. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  19. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  20. package/android/.gradle/configuration-cache/gc.properties +0 -0
  21. package/android/.gradle/vcs-1/gc.properties +0 -0
  22. package/android/build.gradle +16 -9
  23. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  24. package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
  25. package/android/gradlew +103 -104
  26. package/android/gradlew.bat +3 -18
  27. package/android/local.properties +0 -7
  28. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +37 -9
  29. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +2 -1
  30. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +7 -0
  31. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +39 -10
  32. package/ios/HMSDecoder.swift +9 -10
  33. package/ios/HMSHelper.swift +6 -2
  34. package/ios/HMSManager.m +4 -0
  35. package/ios/HMSManager.swift +8 -0
  36. package/ios/HMSRNSDK.swift +54 -24
  37. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  38. package/lib/commonjs/classes/HMSBrowserRecordingState.js +2 -0
  39. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  40. package/lib/commonjs/classes/HMSCameraControl.js +3 -5
  41. package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
  42. package/lib/commonjs/classes/HMSEncoder.js +42 -40
  43. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  44. package/lib/commonjs/classes/HMSEventEmitter.js +10 -0
  45. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -0
  46. package/lib/commonjs/classes/HMSHelper.js +1 -1
  47. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalAudioTrack.js +2 -2
  49. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLocalVideoTrack.js +2 -2
  52. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  53. package/lib/commonjs/classes/HMSLogger.js +4 -4
  54. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  55. package/lib/commonjs/classes/HMSManagerModule.js +18 -0
  56. package/lib/commonjs/classes/HMSManagerModule.js.map +1 -0
  57. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  58. package/lib/commonjs/classes/HMSNativeEventEmitter.js +6 -6
  59. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
  60. package/lib/commonjs/classes/HMSNativeEventListener.js +13 -0
  61. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -0
  62. package/lib/commonjs/classes/HMSPeer.js +2 -15
  63. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  64. package/lib/commonjs/classes/HMSPeersCache.js +3 -5
  65. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +2 -2
  67. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  69. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +5 -5
  70. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  71. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  72. package/lib/commonjs/classes/HMSRoomCache.js +10 -5
  73. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  74. package/lib/commonjs/classes/HMSSDK.js +165 -170
  75. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  76. package/lib/commonjs/classes/HMSSessionStore.js +9 -10
  77. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  78. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  79. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  80. package/lib/commonjs/classes/HmsView.js +1 -1
  81. package/lib/commonjs/classes/HmsView.js.map +1 -1
  82. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +8 -8
  83. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  84. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  85. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  86. package/lib/commonjs/hooks/useHMSPeerUpdates.js +77 -0
  87. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -0
  88. package/lib/commonjs/index.js +25 -13
  89. package/lib/commonjs/index.js.map +1 -1
  90. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  91. package/lib/module/classes/HMSBrowserRecordingState.js +2 -0
  92. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  93. package/lib/module/classes/HMSCameraControl.js +1 -4
  94. package/lib/module/classes/HMSCameraControl.js.map +1 -1
  95. package/lib/module/classes/HMSEncoder.js +40 -39
  96. package/lib/module/classes/HMSEncoder.js.map +1 -1
  97. package/lib/module/classes/HMSEventEmitter.js +3 -0
  98. package/lib/module/classes/HMSEventEmitter.js.map +1 -0
  99. package/lib/module/classes/HMSHelper.js +1 -1
  100. package/lib/module/classes/HMSHelper.js.map +1 -1
  101. package/lib/module/classes/HMSLocalAudioTrack.js +2 -2
  102. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  103. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  104. package/lib/module/classes/HMSLocalVideoTrack.js +2 -2
  105. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  106. package/lib/module/classes/HMSLogger.js +4 -4
  107. package/lib/module/classes/HMSLogger.js.map +1 -1
  108. package/lib/module/classes/HMSManagerModule.js +11 -0
  109. package/lib/module/classes/HMSManagerModule.js.map +1 -0
  110. package/lib/module/classes/HMSMessage.js.map +1 -1
  111. package/lib/module/classes/HMSNativeEventEmitter.js +6 -6
  112. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -1
  113. package/lib/module/classes/HMSNativeEventListener.js +5 -0
  114. package/lib/module/classes/HMSNativeEventListener.js.map +1 -0
  115. package/lib/module/classes/HMSPeer.js +2 -15
  116. package/lib/module/classes/HMSPeer.js.map +1 -1
  117. package/lib/module/classes/HMSPeersCache.js +1 -4
  118. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  119. package/lib/module/classes/HMSRemoteAudioTrack.js +2 -2
  120. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  121. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  122. package/lib/module/classes/HMSRemoteVideoTrack.js +5 -5
  123. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  124. package/lib/module/classes/HMSRoom.js.map +1 -1
  125. package/lib/module/classes/HMSRoomCache.js +8 -4
  126. package/lib/module/classes/HMSRoomCache.js.map +1 -1
  127. package/lib/module/classes/HMSSDK.js +113 -118
  128. package/lib/module/classes/HMSSDK.js.map +1 -1
  129. package/lib/module/classes/HMSSessionStore.js +5 -7
  130. package/lib/module/classes/HMSSessionStore.js.map +1 -1
  131. package/lib/module/classes/HMSTrack.js.map +1 -1
  132. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  133. package/lib/module/classes/HmsView.js +1 -1
  134. package/lib/module/classes/HmsView.js.map +1 -1
  135. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +8 -8
  136. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  137. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  138. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  139. package/lib/module/hooks/useHMSPeerUpdates.js +67 -0
  140. package/lib/module/hooks/useHMSPeerUpdates.js.map +1 -0
  141. package/lib/module/index.js +6 -1
  142. package/lib/module/index.js.map +1 -1
  143. package/lib/typescript/classes/HMSAudioTrack.d.ts +2 -1
  144. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -0
  145. package/lib/typescript/classes/HMSEventEmitter.d.ts +2 -0
  146. package/lib/typescript/classes/HMSLocalAudioTrack.d.ts +2 -1
  147. package/lib/typescript/classes/HMSLocalPeer.d.ts +4 -2
  148. package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +2 -1
  149. package/lib/typescript/classes/HMSManagerModule.d.ts +3 -0
  150. package/lib/typescript/classes/HMSMessage.d.ts +2 -3
  151. package/lib/typescript/classes/HMSNativeEventListener.d.ts +4 -0
  152. package/lib/typescript/classes/HMSPeer.d.ts +2 -3
  153. package/lib/typescript/classes/HMSRemoteAudioTrack.d.ts +2 -1
  154. package/lib/typescript/classes/HMSRemotePeer.d.ts +4 -2
  155. package/lib/typescript/classes/HMSRemoteVideoTrack.d.ts +2 -1
  156. package/lib/typescript/classes/HMSRoom.d.ts +1 -1
  157. package/lib/typescript/classes/HMSSDK.d.ts +8 -7
  158. package/lib/typescript/classes/HMSTrack.d.ts +3 -2
  159. package/lib/typescript/classes/HMSVideoTrack.d.ts +2 -1
  160. package/lib/typescript/classes/HmsView.d.ts +1 -1
  161. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +1 -1
  162. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +1 -1
  163. package/lib/typescript/hooks/useHMSPeerUpdates.d.ts +7 -0
  164. package/lib/typescript/index.d.ts +2 -1
  165. package/package.json +2 -2
  166. package/sdk-versions.json +2 -2
  167. package/src/classes/HMSAudioTrack.ts +2 -1
  168. package/src/classes/HMSBrowserRecordingState.ts +3 -0
  169. package/src/classes/HMSCameraControl.ts +1 -2
  170. package/src/classes/HMSEncoder.ts +7 -5
  171. package/src/classes/HMSEventEmitter.ts +3 -0
  172. package/src/classes/HMSLocalAudioTrack.ts +2 -1
  173. package/src/classes/HMSLocalPeer.ts +4 -2
  174. package/src/classes/HMSLocalVideoTrack.ts +2 -1
  175. package/src/classes/HMSManagerModule.ts +18 -0
  176. package/src/classes/HMSMessage.ts +2 -3
  177. package/src/classes/HMSNativeEventEmitter.ts +2 -1
  178. package/src/classes/HMSNativeEventListener.ts +8 -0
  179. package/src/classes/HMSPeer.ts +3 -26
  180. package/src/classes/HMSPeersCache.ts +2 -3
  181. package/src/classes/HMSRemoteAudioTrack.ts +2 -1
  182. package/src/classes/HMSRemotePeer.ts +4 -2
  183. package/src/classes/HMSRemoteVideoTrack.ts +2 -1
  184. package/src/classes/HMSRoom.ts +1 -1
  185. package/src/classes/HMSRoomCache.ts +11 -3
  186. package/src/classes/HMSSDK.tsx +47 -52
  187. package/src/classes/HMSSessionStore.ts +6 -8
  188. package/src/classes/HMSTrack.ts +3 -2
  189. package/src/classes/HMSVideoTrack.ts +2 -1
  190. package/src/classes/HmsView.tsx +4 -2
  191. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +36 -10
  192. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +2 -3
  193. package/src/components/HMSHLSPlayer/hooks.ts +3 -2
  194. package/src/hooks/useHMSPeerUpdates.ts +85 -0
  195. package/src/index.ts +6 -1
  196. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  197. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  198. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  199. package/ios/Hmssdk.xcodeproj/xcuserdata/yogesh.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  200. package/lib/commonjs/classes/HMSMessageType.js +0 -13
  201. package/lib/commonjs/classes/HMSMessageType.js.map +0 -1
  202. package/lib/module/classes/HMSMessageType.js +0 -6
  203. package/lib/module/classes/HMSMessageType.js.map +0 -1
  204. package/lib/typescript/classes/HMSMessageType.d.ts +0 -4
  205. package/src/classes/HMSMessageType.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_HMSRoomCache","require","_HMSConstants","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSRoom","constructor","params","id","sessionId","hmsRoomCache","getHmsRoomCache","getProperty","getHMSRoomPropertyFromNative","HMSConstants","DEFAULT_SDK_ID","name","metaData","peers","browserRecordingState","rtmpHMSRtmpStreamingState","serverRecordingState","hlsStreamingState","hlsRecordingState","peerCount","localPeer","exports"],"sources":["HMSRoom.ts"],"sourcesContent":["import type { HMSPeer } from './HMSPeer';\nimport type { HMSRtmpStreamingState } from './HMSRtmpStreamingState';\nimport type { HMSServerRecordingState } from './HMSServerRecordingState';\nimport type { HMSBrowserRecordingState } from './HMSBrowserRecordingState';\nimport type { HMSHLSStreamingState } from './HMSHLSStreamingState';\nimport type { HMSHLSRecordingState } from './HMSHLSRecordingState';\nimport type { HMSLocalPeer } from './HMSLocalPeer';\nimport { getHmsRoomCache, getHMSRoomPropertyFromNative } from './HMSRoomCache';\nimport { HMSConstants } from './HMSConstants';\n\nexport class HMSRoom {\n id: string;\n // startedAt?: Date;\n\n constructor(params: { id: string }) {\n this.id = params.id;\n // this.startedAt = params.startedAt;\n }\n\n get sessionId(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('sessionId');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'sessionId'\n );\n }\n\n get name(): string {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('name');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'name');\n }\n\n get metaData(): string | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('metaData');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'metaData'\n );\n }\n\n get peers(): HMSPeer[] {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peers');\n }\n\n return getHMSRoomPropertyFromNative(HMSConstants.DEFAULT_SDK_ID, 'peers');\n }\n\n get browserRecordingState(): HMSBrowserRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('browserRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'browserRecordingState'\n );\n }\n\n get rtmpHMSRtmpStreamingState(): HMSRtmpStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('rtmpHMSRtmpStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'rtmpHMSRtmpStreamingState'\n );\n }\n\n get serverRecordingState(): HMSServerRecordingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('serverRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'serverRecordingState'\n );\n }\n\n get hlsStreamingState(): HMSHLSStreamingState {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsStreamingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsStreamingState'\n );\n }\n\n get hlsRecordingState(): HMSHLSRecordingState | undefined {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('hlsRecordingState');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'hlsRecordingState'\n );\n }\n\n get peerCount(): number | null {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('peerCount');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'peerCount'\n );\n }\n\n get localPeer(): HMSLocalPeer {\n const hmsRoomCache = getHmsRoomCache();\n\n if (hmsRoomCache) {\n return hmsRoomCache.getProperty('localPeer');\n }\n\n return getHMSRoomPropertyFromNative(\n HMSConstants.DEFAULT_SDK_ID,\n 'localPeer'\n );\n }\n}\n"],"mappings":"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"}
@@ -6,15 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.clearHmsRoomCache = exports.HMSRoomCache = void 0;
7
7
  exports.getHMSRoomPropertyFromNative = getHMSRoomPropertyFromNative;
8
8
  exports.setHmsRoomCache = exports.hmsRoomCache = exports.getHmsRoomCache = void 0;
9
- var _reactNative = require("react-native");
9
+ var _HMSManagerModule = _interopRequireDefault(require("./HMSManagerModule"));
10
10
  var _HMSEncoder = require("./HMSEncoder");
11
11
  var _HMSRoomUpdate = require("./HMSRoomUpdate");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
14
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
15
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
- const {
16
- HMSManager
17
- } = _reactNative.NativeModules;
18
16
  let hmsRoomCache;
19
17
  exports.hmsRoomCache = hmsRoomCache;
20
18
  const getHmsRoomCache = () => hmsRoomCache;
@@ -77,6 +75,11 @@ class HMSRoomCache {
77
75
  this._data.set('hlsRecordingState', _HMSEncoder.HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState));
78
76
  break;
79
77
  }
78
+ case _HMSRoomUpdate.HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED:
79
+ {
80
+ this._data.set('peerCount', encodeHMSRoomProperty(this.id, 'peerCount', data));
81
+ break;
82
+ }
80
83
  default:
81
84
  {
82
85
  for (const key in data) {
@@ -96,7 +99,7 @@ class HMSRoomCache {
96
99
  }
97
100
  exports.HMSRoomCache = HMSRoomCache;
98
101
  function getHMSRoomPropertyFromNative(id, property) {
99
- const data = HMSManager.getRoomProperty({
102
+ const data = _HMSManagerModule.default.getRoomProperty({
100
103
  id,
101
104
  property
102
105
  });
@@ -120,6 +123,8 @@ function encodeHMSRoomProperty(id, property, data) {
120
123
  value = _HMSEncoder.HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState);
121
124
  } else if (property === 'localPeer') {
122
125
  value = _HMSEncoder.HMSEncoder.encodeHmsLocalPeer(data.localPeer, id);
126
+ } else if (property === 'peerCount') {
127
+ value = typeof data[property] === 'number' ? data[property] : null;
123
128
  } else {
124
129
  value = data[property];
125
130
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_HMSEncoder","_HMSRoomUpdate","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","HMSManager","NativeModules","hmsRoomCache","exports","getHmsRoomCache","setHmsRoomCache","_hmsRoomCache","clearHmsRoomCache","cleanup","HMSRoomCache","constructor","id","Map","getProperty","property","_data","get","encodedValue","getHMSRoomPropertyFromNative","set","updateRoomCache","data","updateType","HMSRoomUpdate","ROOM_MUTED","ROOM_UNMUTED","SERVER_RECORDING_STATE_UPDATED","HMSEncoder","encodeServerRecordingState","serverRecordingState","RTMP_STREAMING_STATE_UPDATED","encodeRTMPStreamingState","rtmpHMSRtmpStreamingState","BROWSER_RECORDING_STATE_UPDATED","encodeBrowserRecordingState","browserRecordingState","HLS_STREAMING_STATE_UPDATED","encodeHLSStreamingState","hlsStreamingState","HLS_RECORDING_STATE_UPDATED","encodeHLSRecordingState","hlsRecordingState","prototype","hasOwnProperty","encodeHMSRoomProperty","clear","getRoomProperty","encodeHmsPeers","peers","encodeHmsLocalPeer","localPeer"],"sources":["HMSRoomCache.ts"],"sourcesContent":["import { NativeModules } from 'react-native';\nimport type { HMSRoom } from './HMSRoom';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSRoomUpdate } from './HMSRoomUpdate';\n\nconst { HMSManager } = NativeModules;\n\nexport let hmsRoomCache: HMSRoomCache | undefined;\n\nexport const getHmsRoomCache = () => hmsRoomCache;\n\nexport const setHmsRoomCache = (_hmsRoomCache: HMSRoomCache) => {\n hmsRoomCache = _hmsRoomCache;\n};\n\nexport const clearHmsRoomCache = () => {\n if (hmsRoomCache) {\n hmsRoomCache.cleanup();\n }\n hmsRoomCache = undefined;\n};\n\nexport type HMSRoomCacheProps = Partial<Omit<HMSRoom, 'id'>>;\n\nexport class HMSRoomCache {\n private _data = new Map<\n keyof HMSRoomCacheProps,\n HMSRoomCacheProps[keyof HMSRoomCacheProps]\n >();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof Required<HMSRoomCacheProps>>(\n property: T\n ): Required<HMSRoomCacheProps>[T] {\n const value: any = this._data.get(property);\n\n if (value) {\n return value;\n }\n\n const encodedValue = getHMSRoomPropertyFromNative(this.id, property);\n\n this._data.set(property, encodedValue);\n\n return encodedValue;\n }\n\n updateRoomCache(\n data: Record<keyof HMSRoomCacheProps, any>,\n updateType?: HMSRoomUpdate\n ) {\n switch (updateType) {\n case HMSRoomUpdate.ROOM_MUTED:\n case HMSRoomUpdate.ROOM_UNMUTED: {\n break;\n }\n case HMSRoomUpdate.SERVER_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'serverRecordingState',\n HMSEncoder.encodeServerRecordingState(data.serverRecordingState)\n );\n break;\n }\n case HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED: {\n this._data.set(\n 'rtmpHMSRtmpStreamingState',\n HMSEncoder.encodeRTMPStreamingState(data.rtmpHMSRtmpStreamingState)\n );\n break;\n }\n case HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'browserRecordingState',\n HMSEncoder.encodeBrowserRecordingState(data.browserRecordingState)\n );\n break;\n }\n case HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED: {\n this._data.set(\n 'hlsStreamingState',\n HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState)\n );\n break;\n }\n case HMSRoomUpdate.HLS_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'hlsRecordingState',\n HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState)\n );\n break;\n }\n default: {\n for (const key in data) {\n const property = key as keyof HMSRoomCacheProps;\n\n if (Object.prototype.hasOwnProperty.call(data, property)) {\n const value = encodeHMSRoomProperty(this.id, property, data);\n this._data.set(property, value);\n }\n }\n break;\n }\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getHMSRoomPropertyFromNative<T extends keyof HMSRoomCacheProps>(\n id: string,\n property: T\n): Required<HMSRoomCacheProps>[T] {\n const data: any = HMSManager.getRoomProperty({\n id,\n property,\n });\n\n if (!data) return data;\n\n const value = encodeHMSRoomProperty(id, property, data);\n\n return value;\n}\n\nfunction encodeHMSRoomProperty<T extends keyof HMSRoomCacheProps>(\n id: string,\n property: T,\n data: Record<string, any>\n): Required<HMSRoomCacheProps>[T] {\n let value;\n\n if (property === 'peers') {\n value = HMSEncoder.encodeHmsPeers(data.peers);\n } else if (property === 'browserRecordingState') {\n value = HMSEncoder.encodeBrowserRecordingState(data.browserRecordingState);\n } else if (property === 'rtmpHMSRtmpStreamingState') {\n value = HMSEncoder.encodeRTMPStreamingState(data.rtmpHMSRtmpStreamingState);\n } else if (property === 'serverRecordingState') {\n value = HMSEncoder.encodeServerRecordingState(data.serverRecordingState);\n } else if (property === 'hlsStreamingState') {\n value = HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState);\n } else if (property === 'hlsRecordingState') {\n value = HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState);\n } else if (property === 'localPeer') {\n value = HMSEncoder.encodeHmsLocalPeer(data.localPeer, id);\n } else {\n value = data[property];\n }\n\n return value;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_HMSManagerModule","_interopRequireDefault","require","_HMSEncoder","_HMSRoomUpdate","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","hmsRoomCache","exports","getHmsRoomCache","setHmsRoomCache","_hmsRoomCache","clearHmsRoomCache","cleanup","HMSRoomCache","constructor","id","Map","getProperty","property","_data","get","encodedValue","getHMSRoomPropertyFromNative","set","updateRoomCache","data","updateType","HMSRoomUpdate","ROOM_MUTED","ROOM_UNMUTED","SERVER_RECORDING_STATE_UPDATED","HMSEncoder","encodeServerRecordingState","serverRecordingState","RTMP_STREAMING_STATE_UPDATED","encodeRTMPStreamingState","rtmpHMSRtmpStreamingState","BROWSER_RECORDING_STATE_UPDATED","encodeBrowserRecordingState","browserRecordingState","HLS_STREAMING_STATE_UPDATED","encodeHLSStreamingState","hlsStreamingState","HLS_RECORDING_STATE_UPDATED","encodeHLSRecordingState","hlsRecordingState","ROOM_PEER_COUNT_UPDATED","encodeHMSRoomProperty","prototype","hasOwnProperty","clear","HMSManager","getRoomProperty","encodeHmsPeers","peers","encodeHmsLocalPeer","localPeer"],"sources":["HMSRoomCache.ts"],"sourcesContent":["import HMSManager from './HMSManagerModule';\n\nimport type { HMSRoom } from './HMSRoom';\nimport { HMSEncoder } from './HMSEncoder';\nimport { HMSRoomUpdate } from './HMSRoomUpdate';\n\nexport let hmsRoomCache: HMSRoomCache | undefined;\n\nexport const getHmsRoomCache = () => hmsRoomCache;\n\nexport const setHmsRoomCache = (_hmsRoomCache: HMSRoomCache) => {\n hmsRoomCache = _hmsRoomCache;\n};\n\nexport const clearHmsRoomCache = () => {\n if (hmsRoomCache) {\n hmsRoomCache.cleanup();\n }\n hmsRoomCache = undefined;\n};\n\nexport type HMSRoomCacheProps = Partial<Omit<HMSRoom, 'id'>>;\n\nexport class HMSRoomCache {\n private _data = new Map<\n keyof HMSRoomCacheProps,\n HMSRoomCacheProps[keyof HMSRoomCacheProps]\n >();\n private id: string;\n\n constructor(id: string) {\n this.id = id;\n }\n\n getProperty<T extends keyof Required<HMSRoomCacheProps>>(\n property: T\n ): Required<HMSRoomCacheProps>[T] {\n const value: any = this._data.get(property);\n\n if (value) {\n return value;\n }\n\n const encodedValue = getHMSRoomPropertyFromNative(this.id, property);\n\n this._data.set(property, encodedValue);\n\n return encodedValue;\n }\n\n updateRoomCache(\n data: Record<keyof HMSRoomCacheProps, any>,\n updateType?: HMSRoomUpdate\n ) {\n switch (updateType) {\n case HMSRoomUpdate.ROOM_MUTED:\n case HMSRoomUpdate.ROOM_UNMUTED: {\n break;\n }\n case HMSRoomUpdate.SERVER_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'serverRecordingState',\n HMSEncoder.encodeServerRecordingState(data.serverRecordingState)\n );\n break;\n }\n case HMSRoomUpdate.RTMP_STREAMING_STATE_UPDATED: {\n this._data.set(\n 'rtmpHMSRtmpStreamingState',\n HMSEncoder.encodeRTMPStreamingState(data.rtmpHMSRtmpStreamingState)\n );\n break;\n }\n case HMSRoomUpdate.BROWSER_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'browserRecordingState',\n HMSEncoder.encodeBrowserRecordingState(data.browserRecordingState)\n );\n break;\n }\n case HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED: {\n this._data.set(\n 'hlsStreamingState',\n HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState)\n );\n break;\n }\n case HMSRoomUpdate.HLS_RECORDING_STATE_UPDATED: {\n this._data.set(\n 'hlsRecordingState',\n HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState)\n );\n break;\n }\n case HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED: {\n this._data.set(\n 'peerCount',\n encodeHMSRoomProperty(this.id, 'peerCount', data)\n );\n break;\n }\n default: {\n for (const key in data) {\n const property = key as keyof HMSRoomCacheProps;\n\n if (Object.prototype.hasOwnProperty.call(data, property)) {\n const value = encodeHMSRoomProperty(this.id, property, data);\n this._data.set(property, value);\n }\n }\n break;\n }\n }\n }\n\n cleanup() {\n this._data.clear();\n }\n}\n\nexport function getHMSRoomPropertyFromNative<T extends keyof HMSRoomCacheProps>(\n id: string,\n property: T\n): Required<HMSRoomCacheProps>[T] {\n const data: any = HMSManager.getRoomProperty({\n id,\n property,\n });\n\n if (!data) return data;\n\n const value = encodeHMSRoomProperty(id, property, data);\n\n return value;\n}\n\nfunction encodeHMSRoomProperty<T extends keyof HMSRoomCacheProps>(\n id: string,\n property: T,\n data: Record<string, any>\n): Required<HMSRoomCacheProps>[T] {\n let value;\n\n if (property === 'peers') {\n value = HMSEncoder.encodeHmsPeers(data.peers);\n } else if (property === 'browserRecordingState') {\n value = HMSEncoder.encodeBrowserRecordingState(data.browserRecordingState);\n } else if (property === 'rtmpHMSRtmpStreamingState') {\n value = HMSEncoder.encodeRTMPStreamingState(data.rtmpHMSRtmpStreamingState);\n } else if (property === 'serverRecordingState') {\n value = HMSEncoder.encodeServerRecordingState(data.serverRecordingState);\n } else if (property === 'hlsStreamingState') {\n value = HMSEncoder.encodeHLSStreamingState(data.hlsStreamingState);\n } else if (property === 'hlsRecordingState') {\n value = HMSEncoder.encodeHLSRecordingState(data.hlsRecordingState);\n } else if (property === 'localPeer') {\n value = HMSEncoder.encodeHmsLocalPeer(data.localPeer, id);\n } else if (property === 'peerCount') {\n value = typeof data[property] === 'number' ? data[property] : null;\n } else {\n value = data[property];\n }\n\n return value;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAAgD,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAEzC,IAAIU,YAAsC;AAACC,OAAA,CAAAD,YAAA,GAAAA,YAAA;AAE3C,MAAME,eAAe,GAAGA,CAAA,KAAMF,YAAY;AAACC,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAE3C,MAAMC,eAAe,GAAIC,aAA2B,IAAK;EAC9DH,OAAA,CAAAD,YAAA,GAAAA,YAAY,GAAGI,aAAa;AAC9B,CAAC;AAACH,OAAA,CAAAE,eAAA,GAAAA,eAAA;AAEK,MAAME,iBAAiB,GAAGA,CAAA,KAAM;EACrC,IAAIL,YAAY,EAAE;IAChBA,YAAY,CAACM,OAAO,CAAC,CAAC;EACxB;EACAL,OAAA,CAAAD,YAAA,GAAAA,YAAY,GAAGL,SAAS;AAC1B,CAAC;AAACM,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAIK,MAAME,YAAY,CAAC;EAOxBC,WAAWA,CAACC,EAAU,EAAE;IAAA/B,eAAA,gBANR,IAAIgC,GAAG,CAGrB,CAAC;IAAAhC,eAAA;IAID,IAAI,CAAC+B,EAAE,GAAGA,EAAE;EACd;EAEAE,WAAWA,CACTC,QAAW,EACqB;IAChC,MAAMhC,KAAU,GAAG,IAAI,CAACiC,KAAK,CAACC,GAAG,CAACF,QAAQ,CAAC;IAE3C,IAAIhC,KAAK,EAAE;MACT,OAAOA,KAAK;IACd;IAEA,MAAMmC,YAAY,GAAGC,4BAA4B,CAAC,IAAI,CAACP,EAAE,EAAEG,QAAQ,CAAC;IAEpE,IAAI,CAACC,KAAK,CAACI,GAAG,CAACL,QAAQ,EAAEG,YAAY,CAAC;IAEtC,OAAOA,YAAY;EACrB;EAEAG,eAAeA,CACbC,IAA0C,EAC1CC,UAA0B,EAC1B;IACA,QAAQA,UAAU;MAChB,KAAKC,4BAAa,CAACC,UAAU;MAC7B,KAAKD,4BAAa,CAACE,YAAY;QAAE;UAC/B;QACF;MACA,KAAKF,4BAAa,CAACG,8BAA8B;QAAE;UACjD,IAAI,CAACX,KAAK,CAACI,GAAG,CACZ,sBAAsB,EACtBQ,sBAAU,CAACC,0BAA0B,CAACP,IAAI,CAACQ,oBAAoB,CACjE,CAAC;UACD;QACF;MACA,KAAKN,4BAAa,CAACO,4BAA4B;QAAE;UAC/C,IAAI,CAACf,KAAK,CAACI,GAAG,CACZ,2BAA2B,EAC3BQ,sBAAU,CAACI,wBAAwB,CAACV,IAAI,CAACW,yBAAyB,CACpE,CAAC;UACD;QACF;MACA,KAAKT,4BAAa,CAACU,+BAA+B;QAAE;UAClD,IAAI,CAAClB,KAAK,CAACI,GAAG,CACZ,uBAAuB,EACvBQ,sBAAU,CAACO,2BAA2B,CAACb,IAAI,CAACc,qBAAqB,CACnE,CAAC;UACD;QACF;MACA,KAAKZ,4BAAa,CAACa,2BAA2B;QAAE;UAC9C,IAAI,CAACrB,KAAK,CAACI,GAAG,CACZ,mBAAmB,EACnBQ,sBAAU,CAACU,uBAAuB,CAAChB,IAAI,CAACiB,iBAAiB,CAC3D,CAAC;UACD;QACF;MACA,KAAKf,4BAAa,CAACgB,2BAA2B;QAAE;UAC9C,IAAI,CAACxB,KAAK,CAACI,GAAG,CACZ,mBAAmB,EACnBQ,sBAAU,CAACa,uBAAuB,CAACnB,IAAI,CAACoB,iBAAiB,CAC3D,CAAC;UACD;QACF;MACA,KAAKlB,4BAAa,CAACmB,uBAAuB;QAAE;UAC1C,IAAI,CAAC3B,KAAK,CAACI,GAAG,CACZ,WAAW,EACXwB,qBAAqB,CAAC,IAAI,CAAChC,EAAE,EAAE,WAAW,EAAEU,IAAI,CAClD,CAAC;UACD;QACF;MACA;QAAS;UACP,KAAK,MAAMxC,GAAG,IAAIwC,IAAI,EAAE;YACtB,MAAMP,QAAQ,GAAGjC,GAA8B;YAE/C,IAAIG,MAAM,CAAC4D,SAAS,CAACC,cAAc,CAAC9C,IAAI,CAACsB,IAAI,EAAEP,QAAQ,CAAC,EAAE;cACxD,MAAMhC,KAAK,GAAG6D,qBAAqB,CAAC,IAAI,CAAChC,EAAE,EAAEG,QAAQ,EAAEO,IAAI,CAAC;cAC5D,IAAI,CAACN,KAAK,CAACI,GAAG,CAACL,QAAQ,EAAEhC,KAAK,CAAC;YACjC;UACF;UACA;QACF;IACF;EACF;EAEA0B,OAAOA,CAAA,EAAG;IACR,IAAI,CAACO,KAAK,CAAC+B,KAAK,CAAC,CAAC;EACpB;AACF;AAAC3C,OAAA,CAAAM,YAAA,GAAAA,YAAA;AAEM,SAASS,4BAA4BA,CAC1CP,EAAU,EACVG,QAAW,EACqB;EAChC,MAAMO,IAAS,GAAG0B,yBAAU,CAACC,eAAe,CAAC;IAC3CrC,EAAE;IACFG;EACF,CAAC,CAAC;EAEF,IAAI,CAACO,IAAI,EAAE,OAAOA,IAAI;EAEtB,MAAMvC,KAAK,GAAG6D,qBAAqB,CAAChC,EAAE,EAAEG,QAAQ,EAAEO,IAAI,CAAC;EAEvD,OAAOvC,KAAK;AACd;AAEA,SAAS6D,qBAAqBA,CAC5BhC,EAAU,EACVG,QAAW,EACXO,IAAyB,EACO;EAChC,IAAIvC,KAAK;EAET,IAAIgC,QAAQ,KAAK,OAAO,EAAE;IACxBhC,KAAK,GAAG6C,sBAAU,CAACsB,cAAc,CAAC5B,IAAI,CAAC6B,KAAK,CAAC;EAC/C,CAAC,MAAM,IAAIpC,QAAQ,KAAK,uBAAuB,EAAE;IAC/ChC,KAAK,GAAG6C,sBAAU,CAACO,2BAA2B,CAACb,IAAI,CAACc,qBAAqB,CAAC;EAC5E,CAAC,MAAM,IAAIrB,QAAQ,KAAK,2BAA2B,EAAE;IACnDhC,KAAK,GAAG6C,sBAAU,CAACI,wBAAwB,CAACV,IAAI,CAACW,yBAAyB,CAAC;EAC7E,CAAC,MAAM,IAAIlB,QAAQ,KAAK,sBAAsB,EAAE;IAC9ChC,KAAK,GAAG6C,sBAAU,CAACC,0BAA0B,CAACP,IAAI,CAACQ,oBAAoB,CAAC;EAC1E,CAAC,MAAM,IAAIf,QAAQ,KAAK,mBAAmB,EAAE;IAC3ChC,KAAK,GAAG6C,sBAAU,CAACU,uBAAuB,CAAChB,IAAI,CAACiB,iBAAiB,CAAC;EACpE,CAAC,MAAM,IAAIxB,QAAQ,KAAK,mBAAmB,EAAE;IAC3ChC,KAAK,GAAG6C,sBAAU,CAACa,uBAAuB,CAACnB,IAAI,CAACoB,iBAAiB,CAAC;EACpE,CAAC,MAAM,IAAI3B,QAAQ,KAAK,WAAW,EAAE;IACnChC,KAAK,GAAG6C,sBAAU,CAACwB,kBAAkB,CAAC9B,IAAI,CAAC+B,SAAS,EAAEzC,EAAE,CAAC;EAC3D,CAAC,MAAM,IAAIG,QAAQ,KAAK,WAAW,EAAE;IACnChC,KAAK,GAAG,OAAOuC,IAAI,CAACP,QAAQ,CAAC,KAAK,QAAQ,GAAGO,IAAI,CAACP,QAAQ,CAAC,GAAG,IAAI;EACpE,CAAC,MAAM;IACLhC,KAAK,GAAGuC,IAAI,CAACP,QAAQ,CAAC;EACxB;EAEA,OAAOhC,KAAK;AACd"}