roku-debug 0.20.6 → 0.20.7

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 (211) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/CompileErrorProcessor.d.ts +7 -2
  3. package/dist/CompileErrorProcessor.js +64 -69
  4. package/dist/CompileErrorProcessor.js.map +1 -1
  5. package/dist/DeviceInfo.d.ts +1 -0
  6. package/dist/adapters/DebugProtocolAdapter.d.ts +64 -17
  7. package/dist/adapters/DebugProtocolAdapter.js +264 -157
  8. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  9. package/dist/adapters/TelnetAdapter.d.ts +8 -3
  10. package/dist/adapters/TelnetAdapter.js +14 -6
  11. package/dist/adapters/TelnetAdapter.js.map +1 -1
  12. package/dist/debugProtocol/Constants.d.ts +171 -81
  13. package/dist/debugProtocol/Constants.js +206 -126
  14. package/dist/debugProtocol/Constants.js.map +1 -1
  15. package/dist/debugProtocol/DebugProtocolClientReplaySession.d.ts +46 -0
  16. package/dist/debugProtocol/DebugProtocolClientReplaySession.js +278 -0
  17. package/dist/debugProtocol/DebugProtocolClientReplaySession.js.map +1 -0
  18. package/dist/debugProtocol/PluginInterface.d.ts +38 -0
  19. package/dist/debugProtocol/PluginInterface.js +86 -0
  20. package/dist/debugProtocol/PluginInterface.js.map +1 -0
  21. package/dist/debugProtocol/ProtocolUtil.d.ts +56 -0
  22. package/dist/debugProtocol/ProtocolUtil.js +164 -0
  23. package/dist/debugProtocol/ProtocolUtil.js.map +1 -0
  24. package/dist/debugProtocol/client/DebugProtocolClient.d.ts +310 -0
  25. package/dist/debugProtocol/client/DebugProtocolClient.js +1079 -0
  26. package/dist/debugProtocol/client/DebugProtocolClient.js.map +1 -0
  27. package/dist/debugProtocol/client/DebugProtocolClientPlugin.d.ts +44 -0
  28. package/dist/debugProtocol/client/DebugProtocolClientPlugin.js +3 -0
  29. package/dist/debugProtocol/client/DebugProtocolClientPlugin.js.map +1 -0
  30. package/dist/debugProtocol/events/ProtocolEvent.d.ts +66 -0
  31. package/dist/debugProtocol/events/ProtocolEvent.js +3 -0
  32. package/dist/debugProtocol/events/ProtocolEvent.js.map +1 -0
  33. package/dist/debugProtocol/events/requests/AddBreakpointsRequest.d.ts +30 -0
  34. package/dist/debugProtocol/events/requests/AddBreakpointsRequest.js +63 -0
  35. package/dist/debugProtocol/events/requests/AddBreakpointsRequest.js.map +1 -0
  36. package/dist/debugProtocol/events/requests/AddConditionalBreakpointsRequest.d.ts +48 -0
  37. package/dist/debugProtocol/events/requests/AddConditionalBreakpointsRequest.js +69 -0
  38. package/dist/debugProtocol/events/requests/AddConditionalBreakpointsRequest.js.map +1 -0
  39. package/dist/debugProtocol/events/requests/ContinueRequest.d.ts +20 -0
  40. package/dist/debugProtocol/events/requests/ContinueRequest.js +40 -0
  41. package/dist/debugProtocol/events/requests/ContinueRequest.js.map +1 -0
  42. package/dist/debugProtocol/events/requests/ExecuteRequest.d.ts +26 -0
  43. package/dist/debugProtocol/events/requests/ExecuteRequest.js +49 -0
  44. package/dist/debugProtocol/events/requests/ExecuteRequest.js.map +1 -0
  45. package/dist/debugProtocol/events/requests/ExitChannelRequest.d.ts +20 -0
  46. package/dist/debugProtocol/events/requests/ExitChannelRequest.js +40 -0
  47. package/dist/debugProtocol/events/requests/ExitChannelRequest.js.map +1 -0
  48. package/dist/debugProtocol/events/requests/HandshakeRequest.d.ts +26 -0
  49. package/dist/debugProtocol/events/requests/HandshakeRequest.js +47 -0
  50. package/dist/debugProtocol/events/requests/HandshakeRequest.js.map +1 -0
  51. package/dist/debugProtocol/events/requests/ListBreakpointsRequest.d.ts +20 -0
  52. package/dist/debugProtocol/events/requests/ListBreakpointsRequest.js +40 -0
  53. package/dist/debugProtocol/events/requests/ListBreakpointsRequest.js.map +1 -0
  54. package/dist/debugProtocol/events/requests/RemoveBreakpointsRequest.d.ts +29 -0
  55. package/dist/debugProtocol/events/requests/RemoveBreakpointsRequest.js +60 -0
  56. package/dist/debugProtocol/events/requests/RemoveBreakpointsRequest.js.map +1 -0
  57. package/dist/debugProtocol/events/requests/StackTraceRequest.d.ts +22 -0
  58. package/dist/debugProtocol/events/requests/StackTraceRequest.js +43 -0
  59. package/dist/debugProtocol/events/requests/StackTraceRequest.js.map +1 -0
  60. package/dist/debugProtocol/events/requests/StepRequest.d.ts +25 -0
  61. package/dist/debugProtocol/events/requests/StepRequest.js +46 -0
  62. package/dist/debugProtocol/events/requests/StepRequest.js.map +1 -0
  63. package/dist/debugProtocol/events/requests/StopRequest.d.ts +20 -0
  64. package/dist/debugProtocol/events/requests/StopRequest.js +39 -0
  65. package/dist/debugProtocol/events/requests/StopRequest.js.map +1 -0
  66. package/dist/debugProtocol/events/requests/ThreadsRequest.d.ts +20 -0
  67. package/dist/debugProtocol/events/requests/ThreadsRequest.js +40 -0
  68. package/dist/debugProtocol/events/requests/ThreadsRequest.js.map +1 -0
  69. package/dist/debugProtocol/events/requests/VariablesRequest.d.ts +59 -0
  70. package/dist/debugProtocol/events/requests/VariablesRequest.js +123 -0
  71. package/dist/debugProtocol/events/requests/VariablesRequest.js.map +1 -0
  72. package/dist/debugProtocol/events/responses/AddBreakpointsResponse.js.map +1 -0
  73. package/dist/debugProtocol/events/responses/AddConditionalBreakpointsResponse.d.ts +3 -0
  74. package/dist/debugProtocol/events/responses/AddConditionalBreakpointsResponse.js +9 -0
  75. package/dist/debugProtocol/events/responses/AddConditionalBreakpointsResponse.js.map +1 -0
  76. package/dist/debugProtocol/events/responses/ExecuteV3Response.d.ts +42 -0
  77. package/dist/debugProtocol/events/responses/ExecuteV3Response.js +94 -0
  78. package/dist/debugProtocol/events/responses/ExecuteV3Response.js.map +1 -0
  79. package/dist/debugProtocol/events/responses/GenericResponse.d.ts +17 -0
  80. package/dist/debugProtocol/events/responses/GenericResponse.js +40 -0
  81. package/dist/debugProtocol/events/responses/GenericResponse.js.map +1 -0
  82. package/dist/debugProtocol/events/responses/GenericV3Response.d.ts +15 -0
  83. package/dist/debugProtocol/events/responses/GenericV3Response.js +38 -0
  84. package/dist/debugProtocol/events/responses/GenericV3Response.js.map +1 -0
  85. package/dist/debugProtocol/events/responses/HandshakeResponse.d.ts +28 -0
  86. package/dist/debugProtocol/events/responses/HandshakeResponse.js +69 -0
  87. package/dist/debugProtocol/events/responses/HandshakeResponse.js.map +1 -0
  88. package/dist/debugProtocol/events/responses/HandshakeV3Response.d.ts +42 -0
  89. package/dist/debugProtocol/events/responses/HandshakeV3Response.js +98 -0
  90. package/dist/debugProtocol/events/responses/HandshakeV3Response.js.map +1 -0
  91. package/dist/debugProtocol/events/responses/ListBreakpointsResponse.d.ts +35 -0
  92. package/dist/debugProtocol/events/responses/ListBreakpointsResponse.js +68 -0
  93. package/dist/debugProtocol/events/responses/ListBreakpointsResponse.js.map +1 -0
  94. package/dist/debugProtocol/events/responses/RemoveBreakpointsResponse.js.map +1 -0
  95. package/dist/debugProtocol/events/responses/StackTraceResponse.d.ts +24 -0
  96. package/dist/debugProtocol/events/responses/StackTraceResponse.js +72 -0
  97. package/dist/debugProtocol/events/responses/StackTraceResponse.js.map +1 -0
  98. package/dist/debugProtocol/events/responses/StackTraceV3Response.d.ts +37 -0
  99. package/dist/debugProtocol/events/responses/StackTraceV3Response.js +67 -0
  100. package/dist/debugProtocol/events/responses/StackTraceV3Response.js.map +1 -0
  101. package/dist/debugProtocol/events/responses/ThreadsResponse.d.ts +54 -0
  102. package/dist/debugProtocol/events/responses/ThreadsResponse.js +80 -0
  103. package/dist/debugProtocol/events/responses/ThreadsResponse.js.map +1 -0
  104. package/dist/debugProtocol/events/responses/VariablesResponse.d.ts +117 -0
  105. package/dist/debugProtocol/events/responses/VariablesResponse.js +335 -0
  106. package/dist/debugProtocol/events/responses/VariablesResponse.js.map +1 -0
  107. package/dist/debugProtocol/events/updates/AllThreadsStoppedUpdate.d.ts +35 -0
  108. package/dist/debugProtocol/events/updates/AllThreadsStoppedUpdate.js +58 -0
  109. package/dist/debugProtocol/events/updates/AllThreadsStoppedUpdate.js.map +1 -0
  110. package/dist/debugProtocol/events/updates/BreakpointErrorUpdate.d.ts +42 -0
  111. package/dist/debugProtocol/events/updates/BreakpointErrorUpdate.js +97 -0
  112. package/dist/debugProtocol/events/updates/BreakpointErrorUpdate.js.map +1 -0
  113. package/dist/debugProtocol/events/updates/BreakpointVerifiedUpdate.d.ts +41 -0
  114. package/dist/debugProtocol/events/updates/BreakpointVerifiedUpdate.js +74 -0
  115. package/dist/debugProtocol/events/updates/BreakpointVerifiedUpdate.js.map +1 -0
  116. package/dist/debugProtocol/events/updates/CompileErrorUpdate.d.ts +60 -0
  117. package/dist/debugProtocol/events/updates/CompileErrorUpdate.js +89 -0
  118. package/dist/debugProtocol/events/updates/CompileErrorUpdate.js.map +1 -0
  119. package/dist/debugProtocol/events/updates/IOPortOpenedUpdate.d.ts +23 -0
  120. package/dist/debugProtocol/events/updates/IOPortOpenedUpdate.js +49 -0
  121. package/dist/debugProtocol/events/updates/IOPortOpenedUpdate.js.map +1 -0
  122. package/dist/debugProtocol/events/updates/ThreadAttachedUpdate.d.ts +26 -0
  123. package/dist/debugProtocol/events/updates/ThreadAttachedUpdate.js +50 -0
  124. package/dist/debugProtocol/events/updates/ThreadAttachedUpdate.js.map +1 -0
  125. package/dist/debugProtocol/server/DebugProtocolServer.d.ts +110 -0
  126. package/dist/debugProtocol/server/DebugProtocolServer.js +306 -0
  127. package/dist/debugProtocol/server/DebugProtocolServer.js.map +1 -0
  128. package/dist/debugProtocol/server/DebugProtocolServerPlugin.d.ts +41 -0
  129. package/dist/debugProtocol/server/DebugProtocolServerPlugin.js +3 -0
  130. package/dist/debugProtocol/server/DebugProtocolServerPlugin.js.map +1 -0
  131. package/dist/debugSession/BrightScriptDebugSession.d.ts +9 -1
  132. package/dist/debugSession/BrightScriptDebugSession.js +178 -89
  133. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  134. package/dist/index.d.ts +2 -3
  135. package/dist/index.js +2 -3
  136. package/dist/index.js.map +1 -1
  137. package/dist/logging.d.ts +1 -0
  138. package/dist/logging.js +4 -2
  139. package/dist/logging.js.map +1 -1
  140. package/dist/managers/ActionQueue.d.ts +7 -1
  141. package/dist/managers/ActionQueue.js +27 -5
  142. package/dist/managers/ActionQueue.js.map +1 -1
  143. package/dist/managers/BreakpointManager.d.ts +82 -27
  144. package/dist/managers/BreakpointManager.js +168 -63
  145. package/dist/managers/BreakpointManager.js.map +1 -1
  146. package/dist/managers/ProjectManager.d.ts +3 -0
  147. package/dist/managers/ProjectManager.js +42 -36
  148. package/dist/managers/ProjectManager.js.map +1 -1
  149. package/dist/util.d.ts +8 -6
  150. package/dist/util.js +36 -19
  151. package/dist/util.js.map +1 -1
  152. package/package.json +14 -5
  153. package/roku-debug-0.20.7.tgz +0 -0
  154. package/dist/debugProtocol/Debugger.d.ts +0 -161
  155. package/dist/debugProtocol/Debugger.js +0 -635
  156. package/dist/debugProtocol/Debugger.js.map +0 -1
  157. package/dist/debugProtocol/responses/AddBreakpointsResponse.js.map +0 -1
  158. package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.d.ts +0 -32
  159. package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.js +0 -67
  160. package/dist/debugProtocol/responses/BreakpointErrorUpdateResponse.js.map +0 -1
  161. package/dist/debugProtocol/responses/BreakpointVerifiedUpdateResponse.d.ts +0 -32
  162. package/dist/debugProtocol/responses/BreakpointVerifiedUpdateResponse.js +0 -56
  163. package/dist/debugProtocol/responses/BreakpointVerifiedUpdateResponse.js.map +0 -1
  164. package/dist/debugProtocol/responses/ConnectIOPortResponse.d.ts +0 -10
  165. package/dist/debugProtocol/responses/ConnectIOPortResponse.js +0 -39
  166. package/dist/debugProtocol/responses/ConnectIOPortResponse.js.map +0 -1
  167. package/dist/debugProtocol/responses/ExecuteResponseV3.d.ts +0 -23
  168. package/dist/debugProtocol/responses/ExecuteResponseV3.js +0 -54
  169. package/dist/debugProtocol/responses/ExecuteResponseV3.js.map +0 -1
  170. package/dist/debugProtocol/responses/HandshakeResponse.d.ts +0 -12
  171. package/dist/debugProtocol/responses/HandshakeResponse.js +0 -39
  172. package/dist/debugProtocol/responses/HandshakeResponse.js.map +0 -1
  173. package/dist/debugProtocol/responses/HandshakeResponseV3.d.ts +0 -14
  174. package/dist/debugProtocol/responses/HandshakeResponseV3.js +0 -47
  175. package/dist/debugProtocol/responses/HandshakeResponseV3.js.map +0 -1
  176. package/dist/debugProtocol/responses/ListBreakpointsResponse.d.ts +0 -25
  177. package/dist/debugProtocol/responses/ListBreakpointsResponse.js +0 -65
  178. package/dist/debugProtocol/responses/ListBreakpointsResponse.js.map +0 -1
  179. package/dist/debugProtocol/responses/ProtocolEvent.d.ts +0 -11
  180. package/dist/debugProtocol/responses/ProtocolEvent.js +0 -38
  181. package/dist/debugProtocol/responses/ProtocolEvent.js.map +0 -1
  182. package/dist/debugProtocol/responses/ProtocolEventV3.d.ts +0 -11
  183. package/dist/debugProtocol/responses/ProtocolEventV3.js +0 -42
  184. package/dist/debugProtocol/responses/ProtocolEventV3.js.map +0 -1
  185. package/dist/debugProtocol/responses/RemoveBreakpointsResponse.js.map +0 -1
  186. package/dist/debugProtocol/responses/StackTraceResponse.d.ts +0 -18
  187. package/dist/debugProtocol/responses/StackTraceResponse.js +0 -58
  188. package/dist/debugProtocol/responses/StackTraceResponse.js.map +0 -1
  189. package/dist/debugProtocol/responses/StackTraceResponseV3.d.ts +0 -18
  190. package/dist/debugProtocol/responses/StackTraceResponseV3.js +0 -58
  191. package/dist/debugProtocol/responses/StackTraceResponseV3.js.map +0 -1
  192. package/dist/debugProtocol/responses/ThreadsResponse.d.ts +0 -22
  193. package/dist/debugProtocol/responses/ThreadsResponse.js +0 -63
  194. package/dist/debugProtocol/responses/ThreadsResponse.js.map +0 -1
  195. package/dist/debugProtocol/responses/UndefinedResponse.d.ts +0 -10
  196. package/dist/debugProtocol/responses/UndefinedResponse.js +0 -39
  197. package/dist/debugProtocol/responses/UndefinedResponse.js.map +0 -1
  198. package/dist/debugProtocol/responses/UpdateThreadsResponse.d.ts +0 -25
  199. package/dist/debugProtocol/responses/UpdateThreadsResponse.js +0 -91
  200. package/dist/debugProtocol/responses/UpdateThreadsResponse.js.map +0 -1
  201. package/dist/debugProtocol/responses/VariableResponse.d.ts +0 -27
  202. package/dist/debugProtocol/responses/VariableResponse.js +0 -141
  203. package/dist/debugProtocol/responses/VariableResponse.js.map +0 -1
  204. package/dist/debugProtocol/responses/index.d.ts +0 -11
  205. package/dist/debugProtocol/responses/index.js +0 -24
  206. package/dist/debugProtocol/responses/index.js.map +0 -1
  207. package/roku-debug-0.20.6.tgz +0 -0
  208. /package/dist/debugProtocol/{responses → events/responses}/AddBreakpointsResponse.d.ts +0 -0
  209. /package/dist/debugProtocol/{responses → events/responses}/AddBreakpointsResponse.js +0 -0
  210. /package/dist/debugProtocol/{responses → events/responses}/RemoveBreakpointsResponse.d.ts +0 -0
  211. /package/dist/debugProtocol/{responses → events/responses}/RemoveBreakpointsResponse.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BrightScriptDebugSession.js","sourceRoot":"","sources":["../../src/debugSession/BrightScriptDebugSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrightScriptDebugSession.js","sourceRoot":"","sources":["../../src/debugSession/BrightScriptDebugSession.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,qDAA0C;AAC1C,6BAA6B;AAC7B,6CAAuD;AAEvD,6DAc6B;AAE7B,0FAAuF;AAEvF,kCAAsC;AACtC,4CAA+D;AAC/D,sEAAmE;AACnE,+DAA8F;AAE9F,2EAAgG;AAChG,6DAA0D;AAE1D,4DAAyD;AACzD,qCAUkB;AAElB,yDAAsD;AACtD,mEAAgE;AAChE,iEAA8D;AAE9D,qEAAkE;AAElE,wCAA8G;AAE9G,iCAAiC;AACjC,2FAAmF;AACnF,mDAAoD;AAEpD,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAEtC,MAAa,wBAAyB,SAAQ,kCAAgB;IAC1D;QACI,KAAK,EAAE,CAAC;QAmCL,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAEjD;;WAEG;QACK,cAAS,GAAG,CAAC,CAAC;QActB,0EAA0E;QACnE,eAAU,GAAG,wBAAmC,CAAC;QAEhD,2BAAsB,GAAG,IAAI,+CAAsB,EAAE,CAAC;QAEtD,wBAAmB,GAAG,IAAA,YAAK,GAAwC,CAAC;QAC5E;;WAEG;QACK,qBAAgB,GAAG,IAAA,YAAK,GAAQ,CAAC;QAEjC,wBAAmB,GAA2B,EAAE,CAAC;QACjD,yBAAoB,GAAG,CAAC,CAAC;QAEzB,cAAS,GAAsC,EAAE,CAAC;QAElD,oBAAe,GAAG,IAAI,6BAAO,EAAU,CAAC;QAMzC,kBAAa,GAAG,eAAe,CAAC;QAOvC;;WAEG;QACK,4BAAuB,GAAG,IAAK,CAAC;QAg6BhC,2BAAsB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,8BAAyB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAmK9D;;WAEG;QACK,8BAAyB,GAAG,KAAK,CAAC;QA6MlC,oBAAe,GAA8B,SAAS,CAAC;QAx2C3D,iDAAiD;QACjD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAEtC,qFAAqF;QACrF,WAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,mCAAgB,EAAE,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5F,2CAA2C;QAC3C,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9G,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAkB,EAAE,CAAC;IACvD,CAAC;IAEO,0BAA0B,CAAC,SAA4B,EAAE,IAAkD;QAC/G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,IAAI,CAAC,CAAC;QACxE,6CAA6C;QAC7C,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACvC,MAAM,KAAK,GAA6B;gBACpC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,MAAM,EAAE;oBACJ,IAAI,EAAE,UAAU,CAAC,OAAO;iBAC3B;aACJ,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,IAAI,qCAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SACzD;IACL,CAAC;IAuDD,IAAY,mBAAmB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;IACxD,CAAC;IAEO,cAAc;QAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;IAC5C,CAAC;IAKD;;;OAGG;IACI,iBAAiB,CAAC,QAA0C,EAAE,IAA8C;QAC/G,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrC,+FAA+F;QAC/F,2EAA2E;QAC3E,2FAA2F;QAC3F,IAAI,CAAC,SAAS,CAAC,IAAI,sCAAgB,EAAE,CAAC,CAAC;QAEvC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QAEpC,8DAA8D;QAC9D,QAAQ,CAAC,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;QAEtD,uLAAuL;QACvL,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAE5C,2DAA2D;QAC3D,QAAQ,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAE/C,4CAA4C;QAC5C,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAEvC,sDAAsD;QACtD,QAAQ,CAAC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAEpD,gGAAgG;QAChG,QAAQ,CAAC,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;QAEvD,4GAA4G;QAC5G,QAAQ,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAEvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,gDAAgD;QAChD,4CAAkC,CAAC,SAAS,CAAC,CAAC,OAAmB,EAAE,EAAE;YACjE,IAAI,CAAC,SAAS,CACV,IAAI,kCAAyB,CACzB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAC/C,CACJ,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAEO,gBAAgB,CAAC,OAAe,EAAE,QAAmC;QACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,IAAI,0BAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD;;QAEI;IACJ,IAAY,GAAG;;QACX,OAAO,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAE,GAAG,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,UAAkB;QAEzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,UAAU,oBAAoB,CAAC;QAC7D,IAAI;YACA,sDAAsD;YACtD,MAAM,SAAS,GAAG,MAAM,WAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;YAE3B,qCAAqC;YACrC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAErE,sDAAsD;YACtD,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE;oBACxB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE;oBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;iBACvB;aACJ;YAED,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YAExD,sDAAsD;YACtD,MAAM,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAW,CAAC,CAAC;YACxE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YAClD,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAW,CAAC,CAAC;YAClE,MAAM,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,6BAA6B,CAAW,CAAC,CAAC;YAClG,MAAM,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAW,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,GAAG,CAAC,CAAC;SAChE;IACL,CAAC;IAIM,KAAK,CAAC,aAAa,CAAC,QAAsC,EAAE,MAA2B;;QAE1F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzC,+EAA+E;QAC/E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QAElC,gDAAgD;QAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;YACnC,gBAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;SACvD;QAED,oEAAoE;QACpE,IAAI;YACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,MAAM,WAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SACvF;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC,0CAA0C,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC;SACpG;QAED,iEAAiE;QACjE,IAAI;YACA,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;SACpH;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,IAAI,CAAC,QAAQ,CAAC,iCAAiC,IAAI,CAAC,mBAAmB,CAAC,IAAI,uHAAuH,CAAC,CAAC;SAC/M;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,2CAA2C,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,CAAC;SACtG;QAED,yDAAyD;QACzD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAA,IAAI,CAAC,mBAAmB,0CAAE,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAElF,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACnE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAEtE,IAAI,CAAC,SAAS,CAAC,IAAI,yBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAY,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACnE,IAAI;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,qEAAqE;YACrE,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;aACtI,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAErF,WAAI,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;YAElJ,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9E,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC3B,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;oBAC7B,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBACnC;aACJ;iBAAM;gBACH,MAAO,IAAI,CAAC,WAAoC,CAAC,kBAAkB,EAAE,CAAC;aACzE;YAED,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;YAE3F,0DAA0D;YAC1D,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAE1G,0FAA0F;YAC1F,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAE1E,+BAA+B;YAC/B,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,KAAK,MAAM,EAAE;gBACnD,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;oBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;aACN;YAED,wCAAwC;YACxC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,IAAI,sBAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,0DAA0D;YAC1D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE;gBACzC,IAAI,MAAM,KAAK,eAAe,EAAE;oBAC5B,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;iBACtC;qBAAM;oBACH,KAAK,GAAG,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;iBACxF;YACL,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,WAAgC,EAAE,EAAE;gBACpE,KAAK,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,sDAAsD;YACtD,kEAAkE;YAClE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;gBACvC,IAAI,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;oBAC1F,IAAI,OAAO,GAAG,0BAA0B,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBAChJ,OAAO,IAAI,gCAAgC,CAAC;oBAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBACxC,IAAI,CAAC,SAAS,CAAC,IAAI,uBAAc,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC5C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACzB;qBAAM;oBACH,MAAM,OAAO,GAAG,qHAAqH,CAAC;oBACtI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;oBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,uBAAc,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC/C;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,IAAI,CAAC,SAAS,CAAC,IAAI,8BAAqB,CACpC,IAAI,CAAC,mBAAmB,CAC3B,CAAC,CAAC;YAEH,8DAA8D;YAC9D,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;oBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;oBACjG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;iBACxE;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;oBAC5G,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;wBACxC,IAAI,MAAM,EAAE;4BACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC;yBACxE;oBACL,CAAC,CAAC,CAAC;iBACN;aACJ;iBAAM;gBACH,MAAM,KAAK,CAAC;aACf;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,oFAAoF;YACpF,IAAI,CAAC,CAAC,CAAC,YAAY,0BAAY,CAAC,EAAE;gBAC9B,WAAI,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBAC5D,WAAI,CAAC,GAAG,CAAC,MAAC,CAAW,0CAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAC,CAAW,0CAAE,KAAK,CAAC,CAAC;gBAE1D,uCAAuC;gBACvC,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,EAAE,CAAA,CAAC;aACxC;SACJ;QAED,6FAA6F;QAC7F,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;YACtC,oDAAoD;YACpD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACpC,qCAAqC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClC,0BAA0B;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;YAC1G,qCAAqC;YACrC,MAAM,WAAW,GAAG,MAAM,WAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAChF,iCAAiC;YACjC,MAAM,WAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SACpC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,OAAO,CAAC,IAAI,CAAC;YACf,WAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACxC,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,aAAa,KAAK,KAAK,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,uCAAuC,OAAO,iEAAiE,EAAE,MAAM,CAAC,CAAC;SAClJ;IACL,CAAC;IAEO,KAAK,CAAC,uBAAuB;QACjC,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhE,iHAAiH;QACjH,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,EAAE,YAAoB,EAAE,UAAkB,EAAE,EAAE;YAC5F,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,wBAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,6FAA6F;QAC7F,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAEtC,iEAAiE;QACjE,IAAI,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,KAAK,KAAK,EAAE;YACvD,8CAA8C;YAC9C,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;SAC3C;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,WAAgC;QAC5D,0FAA0F;QAC1F,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;YAChC,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACrC,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACnH,IAAI,cAAc,EAAE;gBAChB,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;gBAC1C,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,gDAAgD;gBAC7G,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,gDAAgD;aAC9G;iBAAM;gBACH,uGAAuG;gBACvG,UAAU,CAAC,IAAI,GAAG,qBAAS,CAAC,kBAAkB,CAAC,WAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1F;SACJ;QAED,oFAAoF;QACpF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,mCAAkB,CAAC,KAAK,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,kCAAY,CAC3B,2BAAkB,CAAC,SAAS,EAC5B,IAAI,CAAC,uBAAuB,EAC5B,iBAAiB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAC/C,CAAC,CAAC;SACN;QAED,IAAI,CAAC,SAAS,CAAC,IAAI,yBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,cAA4B,CAAC;QACjC,uCAAuC;QACvC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/E;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,kEAAkE;QAClE,IAAI,IAAI,CAAC,mBAAmB,CAAC,6BAA6B,KAAK,IAAI,EAAE;YACjE,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC;gBACzC,GAAG,IAAI,CAAC,mBAAmB;aACF,CAAC,CAAC;SAClC;QAED,wCAAwC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC3C,GAAG,IAAI,CAAC,mBAAmB;YAC3B,YAAY;YACZ,QAAQ,EAAE,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChD,oCAAoC;YACpC,WAAW,EAAE,IAAI,CAAC,mBAAmB;YACrC,oFAAoF;YACpF,uBAAuB,EAAE,KAAK;YAC9B,wGAAwG;YACxG,kBAAkB,EAAE,IAAI;SAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACT,kBAAkB,GAAG,IAAI,CAAC;QAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,cAAc,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;QAE9D,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,OAAO,CAAC,IAAI,CAAC;YACf,cAAc;YACd,WAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC5C,oFAAoF;QACpF,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;YACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,4EAA4E,CAAC,CAAC;SACtG;IACL,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,SAAiB;QACnC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACpB,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,IAAI,iCAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,SAAS,CAAC,IAAI,uBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5C;IACL,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAAC,QAAkB;QAC3D,IAAI,QAAQ,EAAE;YACV,IAAI,UAAU,GAAG,IAAI,mEAAgC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAErF,IAAI;gBACA,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC3B,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,EAAE;oBACjE,IAAI,QAAmC,CAAC;oBACxC,QAAQ,OAAO,EAAE;wBACb,KAAK,UAAU;4BACX,WAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;4BACvC,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;4BACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACjB,WAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;6BACzC;4BACD,MAAM;wBAEV,KAAK,YAAY;4BACb,WAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;4BACjC,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;4BAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACjB,WAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAc,CAAC,CAAC;6BAC5C;4BACD,MAAM;wBAEV,KAAK,eAAe;4BAChB,WAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;4BACzC,QAAQ,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;4BAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACjB,WAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;6BACzC;4BACD,MAAM;wBAEV;4BACI,WAAI,CAAC,GAAG,CAAC,yDAAyD,OAAO,IAAI,CAAC,CAAC;4BAC/E,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gCACjB,WAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;6BACzC;4BACD,MAAM;qBACb;iBACJ;gBACD,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC;aAC1B;YAAC,OAAO,KAAK,EAAE;gBACZ,WAAI,CAAC,GAAG,CAAC,kCAAkC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;aAC/D;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,kBAAkB;QAC3B,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,wBAAO,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO;YACzC,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK;YACrC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,MAAM;YACvC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU;YAC/C,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO;YACzC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,qBAAqB;YACrE,2BAA2B,EAAE,IAAI,CAAC,mBAAmB,CAAC,2BAA2B;YACjF,0BAA0B,EAAE,IAAI,CAAC,mBAAmB,CAAC,0BAA0B;YAC/E,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,gBAAgB;YAC3D,iBAAiB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB;SAChE,CAAC,CAAC;QAEH,WAAI,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAE9C,iDAAiD;QACjD,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,uDAAuD;QACvD,WAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAE1D,yGAAyG;QACzG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAE3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SAC5F;QAED,wCAAwC;QACxC,WAAI,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,OAAe;QACnC,IAAI,OAAO,KAAK,yBAAyB,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;SAC7C;QAED,IAAI,OAAO,KAAK,uBAAuB,EAAE;YACrC,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;SAC3C;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gCAAgC,CAAC,kBAAmD,EAAE,IAAY;QAC9G,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrD,IAAI,wBAAwB,GAAG,IAAA,2BAAC,EAAA,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,sBAAsB,CAAC;YACzF,6CAA6C;YAC7C,MAAM,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YAClD,MAAM,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAEjD,6DAA6D;YAC7D,KAAK,IAAI,YAAY,GAAG,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;gBACjF,IAAI,gBAAgB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBAExD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAC7C,IAAI,wCAAuB,CAAC;oBACxB,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,KAAK,EAAE,gBAAgB,CAAC,KAAK;oBAC7B,MAAM,EAAE,wBAAwB;oBAChC,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,UAAU,EAAE,gBAAgB,CAAC,UAAU;oBACvC,OAAO,EAAE,gBAAgB,CAAC,OAAO;oBACjC,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;oBAC7D,2BAA2B,EAAE,gBAAgB,CAAC,2BAA2B;oBACzE,YAAY,EAAE,YAAY;iBAC7B,CAAC,CACL,CAAC;aACL;YAED,0CAA0C;YAC1C,IAAI,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gBAE5F,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;gBAE7B,kEAAkE;gBAClE,WAAI,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;gBAEjF,yGAAyG;gBACzG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;iBAC3E;gBAED,MAAM,cAAc,CAAC,YAAY,EAAE,CAAC;gBAEpC,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,IAAI,cAA4B,CAAC;YACjC,IAAI,eAAe,EAAE;gBACjB,8BAA8B;gBAC9B,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,wBAAwB,EAAE,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;oBACpH,WAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC,CAAC,CAAC;aACN;YAED,sFAAsF;YACtF,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,GAAG,eAAe;gBAClB,cAAc;aACjB,CAAC,CAAC;SACN;IACL,CAAC;IAES,aAAa,CAAC,QAAsC,EAAE,IAAmC;QAC/F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,SAAS,YAAY,CAAC,GAAG,IAAI;YAC7C,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAC5B,CAAC,CAAC;QACF,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAES,wBAAwB,CAAC,QAAiD,EAAE,IAA8C;QAChI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,qBAAqB,CAAC,QAA8C,EAAE,IAA2C;;QAC1H,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzC,IAAI,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACzG,sBAAsB;QACtB,IAAI,4BAA4B,GAAG,IAAA,yBAAO,EAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/F,QAAQ,CAAC,IAAI,GAAG;YACZ,WAAW,EAAE,4BAA4B;SAC5C,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,EAAE,CAAA,CAAC;IAC9C,CAAC;IAES,oBAAoB,CAAC,QAA6C,EAAE,IAA0C;QACpH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,QAAuC;QAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAClC,mCAAmC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,8IAA8I;QAC9I,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,4BAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC,CAAC;SAC3E;aAAM;YACH,gEAAgE;YAChE,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;gBACrC,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAEtD,KAAK,IAAI,MAAM,IAAI,WAAW,EAAE;oBAC5B,OAAO,CAAC,IAAI,CACR,IAAI,4BAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAC3D,CAAC;iBACL;aACJ;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC;aAC3G;SAEJ;QAED,QAAQ,CAAC,IAAI,GAAG;YACZ,OAAO,EAAE,OAAO;SACnB,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,QAA0C,EAAE,IAAuC;;QACjH,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACrC,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,oIAAoI;YACpI,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,gCAAU,CACtB,CAAC,EACD,eAAe,EACf,IAAI,4BAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;gBACzE,iDAAiD;gBACjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EACtC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAC9C,CAAC,CAAC;aACN;iBAAM;gBACH,IAAI,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;oBACrC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAErE,KAAK,IAAI,UAAU,IAAI,UAAU,EAAE;wBAC/B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;wBAE7G,2FAA2F;wBAC3F,sFAAsF;wBACtF,IAAI;4BACA,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,0BAA0B,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;4BACxH,IAAI,YAAY,EAAE;gCAEd,qEAAqE;gCACrE,uGAAuG;gCACvG,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oCAC9B,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,yBAAyB,CACrD,cAAc,CAAC,QAAQ,EACvB,cAAc,CAAC,UAAU,GAAG,CAAC,EAC7B,YAAY,CACf,CAAC;iCACL;gCACD,UAAU,CAAC,kBAAkB,GAAG,YAAY,CAAC;6BAChD;yBACJ;wBAAC,OAAO,KAAK,EAAE;4BACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC;yBACzG;wBACD,MAAM,QAAQ,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,mCAAI,UAAU,CAAC,QAAQ,CAAC;wBAEjE,MAAM,KAAK,GAA6B,IAAI,gCAAU,CAClD,UAAU,CAAC,OAAO,EAClB,GAAG,UAAU,CAAC,kBAAkB,EAAE,EAClC,IAAI,4BAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAC7C,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,mCAAI,UAAU,CAAC,UAAU,EACnD,CAAC,CACJ,CAAC;wBACF,IAAI,CAAC,cAAc,EAAE;4BACjB,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC;yBACrC;wBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBACtB;iBACJ;qBAAM;oBACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;iBACjH;aACJ;YACD,QAAQ,CAAC,IAAI,GAAG;gBACZ,WAAW,EAAE,MAAM;gBACnB,WAAW,EAAE,MAAM,CAAC,MAAM;aAC7B,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAClE;IACL,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,QAAsC,EAAE,IAAmC;QACrG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,IAAI;YACA,MAAM,MAAM,GAAG,IAAI,KAAK,EAAS,CAAC;YAElC,IAAI,IAAA,6CAAsB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,CAAoB,CAAC;gBACzB,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACvB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;iBAC7B;qBAAM;oBACH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpE,IAAI,CAAC,MAAM,EAAE;wBACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;qBAC3C;oBACD,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACrD,wCAAwC;oBACxC,qCAAqC;oBACrC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;oBACrC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC5B;gBAED,IAAI,KAAK,GAAG,IAAI,2BAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACtB;iBAAM;gBACH,8BAA8B;gBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,2BAAK,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;aAChF;YAED,QAAQ,CAAC,IAAI,GAAG;gBACZ,MAAM,EAAE,MAAM;aACjB,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACzD;IACL,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,QAAwC,EAAE,IAAqC;QAC3G,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,QAAqC,EAAE,IAAkC;QAClG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAEhC,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,sBAAsB,CAAC,QAA+C,EAAE,IAA4C;QAC1H,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,WAAW,CAAC,QAAoC,EAAE,IAAiC;QAC/F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEvC,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACV;QAED,IAAI;YACA,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SACzC;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,QAAsC,EAAE,IAAmC;QACrG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEnC,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,QAAuC,EAAE,IAAoC;QACxG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAE1C,iDAAiD;QACjD,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO;SACV;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IAES,eAAe,CAAC,QAAwC,EAAE,IAAqC;QACrG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,QAAyC,EAAE,IAAsC;;QAC3G,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAC9D,IAAI;YACA,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAE9B,IAAI,cAAc,GAAwB,EAAE,CAAC;YAC7C,0GAA0G;YAC1G,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;gBACtC,MAAM,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;gBACpG,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;gBACzB,QAAQ,CAAC,OAAO,GAAG,6BAA6B,CAAC;gBACjD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aACtC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpE,IAAI,SAAS,EAAE;gBACX,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACnC,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,EAAE;oBAC/C,MAAM,IAAI,GAAG,MAAO,IAAI,CAAC,WAA6B,CAAC,iBAAiB,EAAE,CAAC;oBAE3E,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;wBACxB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC7D,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;wBACrD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAChC;iBACJ;qBAAM;oBACH,cAAc,CAAC,IAAI,CAAC,IAAI,8BAAQ,CAAC,2CAA2C,EAAE,6BAA6B,CAAC,CAAC,CAAC;iBACjH;aACJ;iBAAM;gBACH,uCAAuC;gBACvC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAChD,IAAI,CAAC,CAAC,EAAE;oBACJ,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;oBACzB,QAAQ,CAAC,OAAO,GAAG,gCAAgC,CAAC;oBACpD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBACD,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC1B,iDAAiD;gBACjD,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC3E,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC5D,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;iBAC7C;gBACD,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;aACrC;YAED,4DAA4D;YAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC5D,wDAAwD;gBACxD,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;aAC9E;YAED,IAAI,sBAAsB,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CACtG,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAE/F,QAAQ,CAAC,IAAI,GAAG;gBACZ,SAAS,EAAE,sBAAsB;aACpC,CAAC;SACL;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/D,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,QAAQ,CAAC,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,+BAA+B,CAAC;SACxE;gBAAS;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAKO,eAAe,CAAC,OAAe;QACnC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC9C,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,QAAwC,EAAE,IAAqC;;QACxG,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAQ,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAChG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sEAAsE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACvG,IAAI,CAAC,WAA6B,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,MAAM,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC;SAC3B;QAED,IAAI;YACA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE;gBAChE,OAAO,QAAQ,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,iEAAiE;YACjE,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC1B,IAAI,CAAC,UAAU,GAAG,WAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;gBACtC,IAAI,OAAO,GAAG,qFAAqF,CAAC;gBACpG,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE;oBACzB,IAAI,CAAC,SAAS,CAAC,IAAI,iCAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnD,QAAQ,CAAC,IAAI,GAAG;wBACZ,MAAM,EAAE,SAAS;wBACjB,kBAAkB,EAAE,CAAC;qBACxB,CAAC;iBACL;qBAAM;oBACH,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC5B;gBAED,uBAAuB;aAC1B;iBAAM;gBACH,IAAI,YAAY,GAAG,WAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACzD,IAAI,CAAC,YAAY,IAAI,WAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBAC/D,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClD,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;oBAC/C,IAAI,QAAQ,KAAK,CAAC,EAAE;wBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,YAAY,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBACvF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBACzB;oBACD,IAAI,SAAS,GAAG,GAAG,YAAY,IAAI,QAAQ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpE,IAAI,CAAC,UAAU,GAAG,GAAG,YAAY,IAAI,QAAQ,GAAG,CAAC;oBACjD,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC9E,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;wBACjC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;qBAC3C;oBACD,YAAY,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACtD;gBAED,4IAA4I;gBAC5I,IAAI,YAAY,EAAE;oBACd,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjE,IAAI,CAAoB,CAAC;oBACzB,8CAA8C;oBAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACvB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAC7B;yBAAM;wBACH,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC/E,IAAI,CAAC,MAAM,EAAE;4BACT,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;yBAC3D;wBAED,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;wBACrD,wCAAwC;wBACxC,qCAAqC;wBACrC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;wBACrC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;qBAC5B;oBACD,QAAQ,CAAC,IAAI,GAAG;wBACZ,MAAM,EAAE,CAAC,CAAC,KAAK;wBACf,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;wBACxC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC;wBACrC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC;qBAC5C,CAAC;oBAEF,wBAAwB;iBAC3B;qBAAM;oBACH,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEpF,cAAc,CAAC,OAAO,GAAG,WAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBACtE,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;wBAC1B,gEAAgE;wBAChE,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;qBACjD;oBACD,6FAA6F;oBAC7F,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE;wBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,iCAAW,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBACjH;oBAED,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE;wBAC1E,QAAQ,CAAC,IAAI,GAAG;4BACZ,MAAM,EAAE,SAAS;4BACjB,kBAAkB,EAAE,CAAC;yBACxB,CAAC;qBACL;yBAAM;wBACH,QAAQ,CAAC,IAAI,GAAG;4BACZ,MAAM,EAAE,cAAc,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO;4BAC9E,kBAAkB,EAAE,CAAC;yBACxB,CAAC;qBACL;iBACJ;aACJ;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAC3D,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,QAAQ,CAAC,OAAO,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,KAAK,CAAC;SAC9C;QACD,IAAI;YACA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAAC,WAAM,GAAG;QACX,QAAQ,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,iBAAiB,CAAC,QAA0C,EAAE,IAAuC,EAAE,OAA+B;QAClJ,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CAAC,IAAY,EAAE,iBAAoC;QACxE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,WAAW,GAAG,IAAI,2CAAoB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;SAC1J;aAAM;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;SACrF;IACL,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,QAAuC,EAAE,IAAoC,EAAE,OAA+B;QACzI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC3B,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;aACzC;YACD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,IAAA,YAAK,GAAE,CAAC;SACtC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAgC,CAAC,CAAC;IAC9E,CAAC;IAOD;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC5B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE;gBACpC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;aACnC;QACL,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,kEAAkE;QAClE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,kEAAkE;QAClE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;;YACrD,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,IAAI,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,CAAC;YAC7C,IAAI,QAAQ,GAAG,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,kCAAY,CAAC,2BAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,gGAAgG;QAChG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACxC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,SAAS;;QACnB,oDAAoD;QACpD,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAErD,8EAA8E;QAC9E,sEAAsE;QACtE,MAAM,OAAO,CAAC,GAAG,CACb,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;;YACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,oBAAoB,GAAG,MAAA,UAAU,CAAC,CAAC,CAAC,0CAAE,UAAU,CAAC;YACvD,IAAI,oBAAoB,KAAK,MAAM,CAAC,UAAU,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,QAAQ,6BAA6B,MAAM,CAAC,UAAU,2CAA2C,oBAAoB,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAChL,MAAM,CAAC,UAAU,GAAG,oBAAoB,CAAC;aAC5C;QACL,CAAC,CAAC,CACL,CAAC;QAEF,KAAK,EAAE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;YAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC1B,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrG,2EAA2E;gBAC3E,wHAAwH;gBACxH,IAAI,CAAC,EAAE,CAAC,OAAO,KAAK,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,CAAC,EAAE;oBACrF,IAAI,CAAC,gBAAgB,CAAC,+FAA+F,EAAE,MAAM,CAAC,CAAC;oBAC/H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8FAA8F,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;oBAC7I,MAAM,KAAK,CAAC;iBACf;aACJ;SACJ;QAED,kBAAkB;QAClB,MAAM,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,eAAe,EAAE,CAAA,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAE1D,wGAAwG;QACxG,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAC1E,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,mLAAmL;YACnL,IAAI,YAAY,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;gBAC3J,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;gBAC9F,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aACtC;SACJ;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,KAAK,GAAiB,IAAI,kCAAY,CACxC,2BAAkB,CAAC,UAAU;QAC7B,oHAAoH;QACpH,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,mCAAI,CAAC,EAC3B,EAAE,CAAC,gBAAgB;SACtB,CAAC;QACF,qFAAqF;QACpF,KAAK,CAAC,IAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAE1B,CAAC;IAEO,qBAAqB,CAAC,MAAyB,EAAE,OAAe;;QACpE,IAAI,CAAoB,CAAC;QAEzB,IAAI,MAAM,EAAE;YACR,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAChE,IAAI,MAAM,CAAC,OAAO,EAAE;oBAChB,kDAAkD;oBAClD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;wBAC9B,YAAY;wBACZ,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;wBAC1E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;qBAC7B;yBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;wBACpC,kBAAkB;wBAClB,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;qBAC7E;iBACJ;qBAAM;oBACH,IAAI,KAAa,CAAC;oBAClB,IAAI,MAAM,CAAC,IAAI,KAAK,gCAAY,CAAC,OAAO,EAAE;wBACtC,KAAK,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,SAAS,CAAC;qBACrC;yBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,gCAAY,CAAC,aAAa,EAAE;wBACnD,KAAK,GAAG,eAAe,CAAC;qBAC3B;yBAAM;wBACH,KAAK,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;qBAC7B;oBACD,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACxC;gBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC7B;iBAAM;gBACH,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW,IAAI,MAAM,CAAC,aAAa,KAAK,eAAe,EAAE;oBAClF,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;iBACpD;qBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE;oBACzC,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAChE,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,MAAM,mCAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7B;qBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE;oBAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAChE,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,MAAM,mCAAI,CAAC,CAAC,CAAC;oBACnF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC7B;qBAAM,IAAI,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE;oBAC5C,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC/C;qBAAM;oBACH,uDAAuD;oBACvD,CAAC,GAAG,IAAI,8BAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC/C;aACJ;YAED,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACrC,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC;YACpB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAE7F,IAAI,MAAM,CAAC,QAAQ,EAAE;gBACjB,IAAI,cAAc,GAAG,EAAE,CAAC;gBACxB,KAAK,IAAI,cAAc,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;oBACnE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACjC;gBACD,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC;aACrC;YACD,8EAA8E;YAC9E,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,gCAAY,CAAC,KAAK,EAAE;gBAC3D,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,YAAY,GAAU,CAAC;aACxD;SACJ;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAGO,gBAAgB,CAAC,UAAkB,EAAE,OAAe;QACxD,IAAI,aAAa,GAAG,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;YAC1C,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;SACzE;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnD,CAAC;IAEO,UAAU;QACd,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,QAAiB,EAAE,YAAqB;QACjE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE;YAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,sCAAgB,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;SAC/E;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,qBAAqB;QAC9B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC9E,MAAM,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;aACxG;SACJ;IACL,CAAC;IAID;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,YAAqB;QACvC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,EAAE,YAAY,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;SACvD;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;SAC/F;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,YAAqB;;QACzC,IAAI;YACA,MAAA,IAAI,CAAC,sBAAsB,0CAAE,IAAI,EAAE,CAAC;YAEpC,MAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,OAAO,kDAAI,CAAC;YAEpC,6CAA6C;YAC7C,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,EAAE;gBAC/C,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,qBAAqB,EAAE,mCAAI,EAAE,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;gBAC7D,KAAK,IAAI,iBAAiB,IAAI,cAAc,EAAE;oBAC1C,IAAI;wBACA,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;qBACzC;oBAAC,OAAO,CAAC,EAAE;wBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACrB,WAAI,CAAC,GAAG,CAAC,qCAAqC,iBAAiB,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBAC7F;iBACJ;aACJ;YAED,uDAAuD;YACvD,IAAI,YAAY,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;aAChD;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACvC,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,OAAO,kDAAI,CAAA,CAAC;YACpC,oDAAoD;YACpD,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACrC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;aAC7G;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACxB;YAGD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,IAAI,qCAAe,EAAE,CAAC,CAAC;YAEtC,uBAAuB;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SACxC;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACxB;IACL,CAAC;CACJ;AA56CD,4DA46CC"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  export * from './managers/BreakpointManager';
2
2
  export * from './LaunchConfiguration';
3
- export * from './debugProtocol/Debugger';
3
+ export * from './debugProtocol/client/DebugProtocolClient';
4
4
  export * from './debugSession/BrightScriptDebugSession';
5
5
  export * from './debugSession/Events';
6
6
  export * from './ComponentLibraryServer';
7
7
  export * from './CompileErrorProcessor';
8
8
  export * from './debugProtocol/Constants';
9
- export * from './debugProtocol/Debugger';
10
- export * from './debugProtocol/responses';
9
+ export * from './debugProtocol/client/DebugProtocolClient';
11
10
  export * from './FileUtils';
12
11
  export * from './managers/ProjectManager';
13
12
  export * from './RendezvousTracker';
package/dist/index.js CHANGED
@@ -12,14 +12,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./managers/BreakpointManager"), exports);
14
14
  __exportStar(require("./LaunchConfiguration"), exports);
15
- __exportStar(require("./debugProtocol/Debugger"), exports);
15
+ __exportStar(require("./debugProtocol/client/DebugProtocolClient"), exports);
16
16
  __exportStar(require("./debugSession/BrightScriptDebugSession"), exports);
17
17
  __exportStar(require("./debugSession/Events"), exports);
18
18
  __exportStar(require("./ComponentLibraryServer"), exports);
19
19
  __exportStar(require("./CompileErrorProcessor"), exports);
20
20
  __exportStar(require("./debugProtocol/Constants"), exports);
21
- __exportStar(require("./debugProtocol/Debugger"), exports);
22
- __exportStar(require("./debugProtocol/responses"), exports);
21
+ __exportStar(require("./debugProtocol/client/DebugProtocolClient"), exports);
23
22
  __exportStar(require("./FileUtils"), exports);
24
23
  __exportStar(require("./managers/ProjectManager"), exports);
25
24
  __exportStar(require("./RendezvousTracker"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6C;AAC7C,wDAAsC;AACtC,2DAAyC;AACzC,0EAAwD;AACxD,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,4DAA0C;AAC1C,2DAAyC;AACzC,4DAA0C;AAC1C,8CAA4B;AAC5B,4DAA0C;AAC1C,sDAAoC;AACpC,oDAAkC;AAClC,qEAAmD;AACnD,2DAAyC;AACzC,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6C;AAC7C,wDAAsC;AACtC,6EAA2D;AAC3D,0EAAwD;AACxD,wDAAsC;AACtC,2DAAyC;AACzC,0DAAwC;AACxC,4DAA0C;AAC1C,6EAA2D;AAC3D,8CAA4B;AAC5B,4DAA0C;AAC1C,sDAAoC;AACpC,oDAAkC;AAClC,qEAAmD;AACnD,2DAAyC;AACzC,6DAA2C"}
package/dist/logging.d.ts CHANGED
@@ -15,6 +15,7 @@ declare const createLogger: {
15
15
  };
16
16
  export { logger, createLogger };
17
17
  export type { Logger, LogMessage, LogLevel } from '@rokucommunity/logger';
18
+ export { LogLevelPriority } from '@rokucommunity/logger';
18
19
  export declare class FileLoggingManager {
19
20
  private fileLogging;
20
21
  /**
package/dist/logging.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileLoggingManager = exports.createLogger = exports.logger = exports.fileTransport = exports.debugServerLogOutputEventTransport = void 0;
3
+ exports.FileLoggingManager = exports.LogLevelPriority = exports.createLogger = exports.logger = exports.fileTransport = exports.debugServerLogOutputEventTransport = void 0;
4
4
  const logger_1 = require("@rokucommunity/logger");
5
5
  const QueuedTransport_1 = require("@rokucommunity/logger/dist/transports/QueuedTransport");
6
6
  const FileTransport_1 = require("@rokucommunity/logger/dist/transports/FileTransport");
@@ -9,7 +9,7 @@ const util_1 = require("./util");
9
9
  const fsExtra = require("fs-extra");
10
10
  const dateformat = require("dateformat");
11
11
  const FileUtils_1 = require("./FileUtils");
12
- const logger = logger_1.default.createLogger('[roku-debug]');
12
+ const logger = logger_1.default.createLogger('[dap]');
13
13
  exports.logger = logger;
14
14
  //disable colors
15
15
  logger.enableColor = false;
@@ -26,6 +26,8 @@ logger.addTransport(exports.fileTransport);
26
26
  logger.logLevel = 'log';
27
27
  const createLogger = logger.createLogger.bind(logger);
28
28
  exports.createLogger = createLogger;
29
+ var logger_2 = require("@rokucommunity/logger");
30
+ Object.defineProperty(exports, "LogLevelPriority", { enumerable: true, get: function () { return logger_2.LogLevelPriority; } });
29
31
  class FileLoggingManager {
30
32
  constructor() {
31
33
  this.fileLogging = {
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@
4
4
  */
5
5
  export declare class ActionQueue {
6
6
  private queueItems;
7
- run(action: () => Promise<boolean>): Promise<void>;
7
+ /**
8
+ * Run an action in the queue.
9
+ * @param action return true or Promise<true> to mark the action as finished
10
+ */
11
+ run(action: () => boolean | Promise<boolean>, maxTries?: number): Promise<unknown>;
12
+ private isRunning;
8
13
  private _runActions;
14
+ destroy(): void;
9
15
  }
@@ -9,29 +9,51 @@ const util_1 = require("../util");
9
9
  class ActionQueue {
10
10
  constructor() {
11
11
  this.queueItems = [];
12
+ this.isRunning = false;
12
13
  }
13
- async run(action) {
14
- this.queueItems.push({
14
+ /**
15
+ * Run an action in the queue.
16
+ * @param action return true or Promise<true> to mark the action as finished
17
+ */
18
+ async run(action, maxTries = undefined) {
19
+ const queueItem = {
15
20
  action: action,
16
- deferred: (0, util_1.defer)()
17
- });
21
+ deferred: (0, util_1.defer)(),
22
+ maxTries: maxTries,
23
+ tryCount: 0
24
+ };
25
+ this.queueItems.push(queueItem);
18
26
  await this._runActions();
27
+ return queueItem.deferred.promise;
19
28
  }
20
29
  async _runActions() {
30
+ if (this.isRunning) {
31
+ return;
32
+ }
33
+ this.isRunning = true;
21
34
  while (this.queueItems.length > 0) {
22
35
  const queueItem = this.queueItems[0];
23
36
  try {
24
- const isFinished = await queueItem.action();
37
+ queueItem.tryCount++;
38
+ const isFinished = await Promise.resolve(queueItem.action());
25
39
  if (isFinished) {
26
40
  this.queueItems.shift();
27
41
  queueItem.deferred.resolve();
28
42
  }
43
+ else if (typeof queueItem.maxTries === 'number' && queueItem.tryCount >= queueItem.maxTries) {
44
+ throw new Error(`Exceeded the ${queueItem.maxTries} maximum tries for this ActionQueue action`);
45
+ }
29
46
  }
30
47
  catch (error) {
31
48
  this.queueItems.shift();
32
49
  queueItem.deferred.reject(error);
33
50
  }
34
51
  }
52
+ this.isRunning = false;
53
+ }
54
+ destroy() {
55
+ this.isRunning = false;
56
+ this.queueItems = [];
35
57
  }
36
58
  }
37
59
  exports.ActionQueue = ActionQueue;
@@ -1 +1 @@
1
- {"version":3,"file":"ActionQueue.js","sourceRoot":"","sources":["../../src/managers/ActionQueue.ts"],"names":[],"mappings":";;;AACA,kCAAgC;AAEhC;;;GAGG;AACH,MAAa,WAAW;IAAxB;QAEY,eAAU,GAGb,EAAE,CAAC;IAyBZ,CAAC;IAvBU,KAAK,CAAC,GAAG,CAAC,MAA8B;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACjB,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAA,YAAK,GAAE;SACpB,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,WAAW;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI;gBACA,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACxB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAChC;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpC;SACJ;IACL,CAAC;CACJ;AA9BD,kCA8BC"}
1
+ {"version":3,"file":"ActionQueue.js","sourceRoot":"","sources":["../../src/managers/ActionQueue.ts"],"names":[],"mappings":";;;AACA,kCAAgC;AAEhC;;;GAGG;AACH,MAAa,WAAW;IAAxB;QAEY,eAAU,GAKb,EAAE,CAAC;QAkBA,cAAS,GAAG,KAAK,CAAC;IAiC9B,CAAC;IAjDG;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,MAAwC,EAAE,WAAmB,SAAS;QACnF,MAAM,SAAS,GAAG;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAA,YAAK,GAAE;YACjB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,CAAC;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;IACtC,CAAC;IAIO,KAAK,CAAC,WAAW;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,OAAO;SACV;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI;gBACA,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CACpC,SAAS,CAAC,MAAM,EAAE,CACrB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACxB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAChC;qBAAM,IAAI,OAAO,SAAS,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE;oBAC3F,MAAM,IAAI,KAAK,CAAC,gBAAgB,SAAS,CAAC,QAAQ,4CAA4C,CAAC,CAAC;iBACnG;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACpC;SACJ;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACzB,CAAC;CACJ;AA1DD,kCA0DC"}
@@ -20,6 +20,12 @@ export declare class BreakpointManager {
20
20
  on(eventName: 'breakpoints-verified', handler: (data: {
21
21
  breakpoints: AugmentedSourceBreakpoint[];
22
22
  }) => any): any;
23
+ /**
24
+ * Get a promise that resolves the next time the specified event occurs
25
+ */
26
+ once(eventName: 'breakpoints-verified'): Promise<{
27
+ breakpoints: AugmentedSourceBreakpoint[];
28
+ }>;
23
29
  /**
24
30
  * A map of breakpoints by what file they were set in.
25
31
  * This does not handle any source-to-dest mapping...these breakpoints are stored in the file they were set in.
@@ -27,6 +33,10 @@ export declare class BreakpointManager {
27
33
  * (this concept may need to be modified once we get live breakpoint support)
28
34
  */
29
35
  private breakpointsByFilePath;
36
+ /**
37
+ * A list of breakpoints that failed to delete and will be deleted as soon as possible
38
+ */
39
+ failedDeletions: BreakpointWorkItem[];
30
40
  /**
31
41
  * A sequence used to generate unique client breakpoint IDs
32
42
  */
@@ -36,46 +46,61 @@ export declare class BreakpointManager {
36
46
  */
37
47
  setBreakpoint(srcPath: string, breakpoint: AugmentedSourceBreakpoint | DebugProtocol.SourceBreakpoint): AugmentedSourceBreakpoint;
38
48
  /**
39
- * Find a breakpoint by its hash
40
- * @returns the breakpoint, or undefined if not found
49
+ * Delete a breakpoint
50
+ */
51
+ deleteBreakpoint(hash: string): any;
52
+ deleteBreakpoint(breakpoint: AugmentedSourceBreakpoint): any;
53
+ deleteBreakpoint(srcPath: string, breakpoint: Breakpoint): any;
54
+ /**
55
+ * Delete a set of breakpoints
41
56
  */
42
- private getBreakpointByHash;
57
+ deleteBreakpoints(args: BreakpointRef[]): void;
43
58
  /**
44
- * Find a list of breakpoints by their hashes
45
- * @returns the breakpoint, or undefined if not found
59
+ * Get a breakpoint by providing the data you have available
46
60
  */
47
- private getBreakpointsByHashes;
61
+ getBreakpoint(hash: BreakpointRef): AugmentedSourceBreakpoint;
62
+ getBreakpoint(srcPath: string, breakpoint: Breakpoint): AugmentedSourceBreakpoint;
63
+ /**
64
+ * Given a breakpoint ref, turn it into a hash
65
+ */
66
+ private refToHash;
67
+ /**
68
+ * Get breakpoints by providing a list of breakpoint refs
69
+ * @param refs a list of breakpoint refs for breakpoints to get
70
+ * @param includeHistoric if true, will also look through historic breakpoints for a match.
71
+ */
72
+ getBreakpoints(refs: BreakpointRef[]): AugmentedSourceBreakpoint[];
73
+ private deviceIdByDestHash;
48
74
  /**
49
75
  * Find a breakpoint by its deviceId
50
76
  * @returns the breakpoint, or undefined if not found
51
77
  */
52
78
  private getBreakpointByDeviceId;
53
- /**
54
- * Find a list of breakpoints by their deviceIds
55
- * @returns the breakpoints, or undefined if not found
56
- */
57
- private getBreakpointsByDeviceIds;
58
79
  /**
59
80
  * Set the deviceId of a breakpoint
60
81
  */
61
- setBreakpointDeviceId(hash: string, deviceId: number): void;
82
+ setBreakpointDeviceId(srcHash: string, destHast: string, deviceId: number): void;
62
83
  /**
63
84
  * Mark this breakpoint as verified
64
85
  */
65
- verifyBreakpoint(deviceId: number, isVerified?: boolean): void;
86
+ verifyBreakpoint(deviceId: number, isVerified?: boolean): boolean;
87
+ private queueEventStates;
66
88
  /**
67
- * Whenever breakpoints get verified, they need to be synced back to vscode.
68
- * This queues up a future function that will emit a batch of all verified breakpoints.
89
+ * Queue future events to be fired when data settles. Typically this is data that needs synced back to vscode.
90
+ * This queues up a future function that will emit a batch of all the specified breakpoints.
69
91
  * @param hash the breakpoint hash that identifies this specific breakpoint based on its features
70
92
  */
71
- private queueVerifyEvent;
72
- private verifiedBreakpointKeys;
73
- private isVerifyEventQueued;
93
+ private queueEvent;
94
+ /**
95
+ * Generate a hash based on the features of the breakpoint. Every breakpoint that exists at the same location
96
+ * and has the same features should have the same hash.
97
+ */
98
+ private getBreakpointSrcHash;
74
99
  /**
75
- * Generate a key based on the features of the breakpoint. Every breakpoint that exists at the same location
76
- * and has the same features should have the same key.
100
+ * Generate a hash based on the features of the breakpoint. Every breakpoint that exists at the same location
101
+ * and has the same features should have the same hash.
77
102
  */
78
- getBreakpointKey(filePath: string, breakpoint: DebugProtocol.SourceBreakpoint | AugmentedSourceBreakpoint): string;
103
+ private getBreakpointDestHash;
79
104
  /**
80
105
  * Set/replace/delete the list of breakpoints for this file.
81
106
  * @param srcPath
@@ -140,6 +165,23 @@ export declare class BreakpointManager {
140
165
  * All projects should be passed in every time.
141
166
  */
142
167
  getDiff(projects: Project[]): Promise<Diff>;
168
+ /**
169
+ * Set the pending status of the given list of breakpoints.
170
+ *
171
+ * Whenever the breakpoint is currently being handled by an adapter (i.e. add/update/delete), it should
172
+ * be marked "pending". Then, when the response comes back (success or fail), "pending" should be set to false.
173
+ * In this way, we can ensure that all breakpoints can be synchronized with the device
174
+ */
175
+ setPending(srcPath: string, breakpoints: Breakpoint[], isPending: boolean): void;
176
+ /**
177
+ * Determine whether the current breakpoint is pending or not
178
+ */
179
+ isPending(srcPath: string, breakpoint: Breakpoint): any;
180
+ isPending(hash: string): any;
181
+ /**
182
+ * A map of breakpoint hashes, and whether that breakpoint is currently pending or not.
183
+ */
184
+ private breakpointPendingStatus;
143
185
  /**
144
186
  * Flag indicating whether a `getDiff` function is currently running
145
187
  */
@@ -159,11 +201,7 @@ export interface AugmentedSourceBreakpoint extends DebugProtocol.SourceBreakpoin
159
201
  /**
160
202
  * A unique hash generated for the breakpoint at this exact file/line/column/feature. Every breakpoint with these same features should get the same hash
161
203
  */
162
- hash: string;
163
- /**
164
- * The device-provided breakpoint id. A missing ID means this breakpoint has not yet been verified by the device.
165
- */
166
- deviceId?: number;
204
+ srcHash: string;
167
205
  /**
168
206
  * A unique ID the debug adapter generates to help send updates to the client about this breakpoint
169
207
  */
@@ -205,7 +243,11 @@ export interface BreakpointWorkItem {
205
243
  /**
206
244
  * A unique hash generated for the breakpoint at this exact file/line/column/feature. Every breakpoint with these same features should get the same hash
207
245
  */
208
- hash: string;
246
+ srcHash: string;
247
+ /**
248
+ *
249
+ */
250
+ destHash: string;
209
251
  /**
210
252
  * The 0-based column index
211
253
  */
@@ -233,3 +275,16 @@ export interface BreakpointWorkItem {
233
275
  */
234
276
  type: 'fileMap' | 'sourceDirs' | 'sourceMap';
235
277
  }
278
+ export declare type Breakpoint = DebugProtocol.SourceBreakpoint | AugmentedSourceBreakpoint;
279
+ /**
280
+ * A way to reference a breakpoint.
281
+ * - `string` - a hash
282
+ * - `AugmentedSourceBreakpoint` an actual breakpoint
283
+ * - `{hash: string}` - an object containing a breakpoint hash
284
+ * - `Breakpoint & {srcPath: string}` - an object with all the properties of a breakpoint _and_ an explicitly defined `srcPath`
285
+ */
286
+ export declare type BreakpointRef = string | AugmentedSourceBreakpoint | {
287
+ srcHash: string;
288
+ } | (Breakpoint & {
289
+ srcPath: string;
290
+ });