@openc3/vue-common 5.21.0-beta0

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 (399) hide show
  1. package/LICENSE.txt +729 -0
  2. package/README.md +25 -0
  3. package/dist/ArrayWidget-ChaMDaRA.js +105 -0
  4. package/dist/ArrayWidget-ChaMDaRA.js.map +1 -0
  5. package/dist/ArrayWidget-x7le0X73.cjs +3 -0
  6. package/dist/ArrayWidget-x7le0X73.cjs.map +1 -0
  7. package/dist/AstroStatus-CILMWL6F.cjs +2 -0
  8. package/dist/AstroStatus-CILMWL6F.cjs.map +1 -0
  9. package/dist/AstroStatus-CY9VkeTN.js +40 -0
  10. package/dist/AstroStatus-CY9VkeTN.js.map +1 -0
  11. package/dist/BarColumn-CqXfFAQ9.js +106 -0
  12. package/dist/BarColumn-CqXfFAQ9.js.map +1 -0
  13. package/dist/BarColumn-Ct4izXqV.cjs +2 -0
  14. package/dist/BarColumn-Ct4izXqV.cjs.map +1 -0
  15. package/dist/BlockWidget-BPefRY_h.cjs +3 -0
  16. package/dist/BlockWidget-BPefRY_h.cjs.map +1 -0
  17. package/dist/BlockWidget-DjiPs6ID.js +111 -0
  18. package/dist/BlockWidget-DjiPs6ID.js.map +1 -0
  19. package/dist/ButtonWidget-Dd80CjGt.js +165 -0
  20. package/dist/ButtonWidget-Dd80CjGt.js.map +1 -0
  21. package/dist/ButtonWidget-SoiP15gH.cjs +3 -0
  22. package/dist/ButtonWidget-SoiP15gH.cjs.map +1 -0
  23. package/dist/CanvasWidget-ALHiDq5o.js +39 -0
  24. package/dist/CanvasWidget-ALHiDq5o.js.map +1 -0
  25. package/dist/CanvasWidget-JapjwSXd.cjs +2 -0
  26. package/dist/CanvasWidget-JapjwSXd.cjs.map +1 -0
  27. package/dist/CanvasdotWidget-BU42MGW6.cjs +2 -0
  28. package/dist/CanvasdotWidget-BU42MGW6.cjs.map +1 -0
  29. package/dist/CanvasdotWidget-JkDXGoHm.js +19 -0
  30. package/dist/CanvasdotWidget-JkDXGoHm.js.map +1 -0
  31. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs +2 -0
  32. package/dist/CanvasimageWidget-CQ_ZlEFj.cjs.map +1 -0
  33. package/dist/CanvasimageWidget-CTXlEJgA.js +58 -0
  34. package/dist/CanvasimageWidget-CTXlEJgA.js.map +1 -0
  35. package/dist/CanvasimagevalueWidget-CihOXOHH.js +107 -0
  36. package/dist/CanvasimagevalueWidget-CihOXOHH.js.map +1 -0
  37. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs +2 -0
  38. package/dist/CanvasimagevalueWidget-DKejEVKr.cjs.map +1 -0
  39. package/dist/CanvaslabelWidget-2uD1FRT0.js +23 -0
  40. package/dist/CanvaslabelWidget-2uD1FRT0.js.map +1 -0
  41. package/dist/CanvaslabelWidget-zKoAOaaE.cjs +2 -0
  42. package/dist/CanvaslabelWidget-zKoAOaaE.cjs.map +1 -0
  43. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js +42 -0
  44. package/dist/CanvaslabelvalueWidget-BCd0ssW9.js.map +1 -0
  45. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs +2 -0
  46. package/dist/CanvaslabelvalueWidget-ZnyvNaVM.cjs.map +1 -0
  47. package/dist/CanvaslineWidget-BRFrT-9r.cjs +2 -0
  48. package/dist/CanvaslineWidget-BRFrT-9r.cjs.map +1 -0
  49. package/dist/CanvaslineWidget-Cc8vj_vu.js +28 -0
  50. package/dist/CanvaslineWidget-Cc8vj_vu.js.map +1 -0
  51. package/dist/CanvaslinevalueWidget-CJTmkXEr.js +44 -0
  52. package/dist/CanvaslinevalueWidget-CJTmkXEr.js.map +1 -0
  53. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs +2 -0
  54. package/dist/CanvaslinevalueWidget-DgIU-2d6.cjs.map +1 -0
  55. package/dist/CheckbuttonWidget-BrUBiJWn.cjs +2 -0
  56. package/dist/CheckbuttonWidget-BrUBiJWn.cjs.map +1 -0
  57. package/dist/CheckbuttonWidget-lZD4wLcB.js +37 -0
  58. package/dist/CheckbuttonWidget-lZD4wLcB.js.map +1 -0
  59. package/dist/ComboboxWidget-BUMleWlR.cjs +2 -0
  60. package/dist/ComboboxWidget-BUMleWlR.cjs.map +1 -0
  61. package/dist/ComboboxWidget-D-nVY2Zf.js +37 -0
  62. package/dist/ComboboxWidget-D-nVY2Zf.js.map +1 -0
  63. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs +2 -0
  64. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-BHFhmbuH.cjs.map +1 -0
  65. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js +10 -0
  66. package/dist/CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js.map +1 -0
  67. package/dist/CriticalCmdDialog-BvPQYRie.cjs +2 -0
  68. package/dist/CriticalCmdDialog-BvPQYRie.cjs.map +1 -0
  69. package/dist/CriticalCmdDialog-ChYR9_7n.js +270 -0
  70. package/dist/CriticalCmdDialog-ChYR9_7n.js.map +1 -0
  71. package/dist/DateWidget-3e2qqqxw.cjs +2 -0
  72. package/dist/DateWidget-3e2qqqxw.cjs.map +1 -0
  73. package/dist/DateWidget-Bs2NufYI.js +40 -0
  74. package/dist/DateWidget-Bs2NufYI.js.map +1 -0
  75. package/dist/DetailsDialog-8ixZ1oPd.cjs +2 -0
  76. package/dist/DetailsDialog-8ixZ1oPd.cjs.map +1 -0
  77. package/dist/DetailsDialog-ScKx0N2e.js +767 -0
  78. package/dist/DetailsDialog-ScKx0N2e.js.map +1 -0
  79. package/dist/DynamicWidget-3wHr6Ng-.cjs +2 -0
  80. package/dist/DynamicWidget-3wHr6Ng-.cjs.map +1 -0
  81. package/dist/DynamicWidget-m9EliUR2.js +35 -0
  82. package/dist/DynamicWidget-m9EliUR2.js.map +1 -0
  83. package/dist/FormatvalueWidget-DEj59HDj.js +44 -0
  84. package/dist/FormatvalueWidget-DEj59HDj.js.map +1 -0
  85. package/dist/FormatvalueWidget-DK0tTvcs.cjs +2 -0
  86. package/dist/FormatvalueWidget-DK0tTvcs.cjs.map +1 -0
  87. package/dist/Graph-D2frd7mZ.js +1999 -0
  88. package/dist/Graph-D2frd7mZ.js.map +1 -0
  89. package/dist/Graph-DFEMzAGq.cjs +2 -0
  90. package/dist/Graph-DFEMzAGq.cjs.map +1 -0
  91. package/dist/GraphWidget-CbyYREVa.cjs +2 -0
  92. package/dist/GraphWidget-CbyYREVa.cjs.map +1 -0
  93. package/dist/GraphWidget-CvlfqTgn.js +129 -0
  94. package/dist/GraphWidget-CvlfqTgn.js.map +1 -0
  95. package/dist/HorizontalWidget-BEOYwm8D.js +41 -0
  96. package/dist/HorizontalWidget-BEOYwm8D.js.map +1 -0
  97. package/dist/HorizontalWidget-xEd4ZLsc.cjs +2 -0
  98. package/dist/HorizontalWidget-xEd4ZLsc.cjs.map +1 -0
  99. package/dist/HorizontalboxWidget-C2wA9_HA.js +38 -0
  100. package/dist/HorizontalboxWidget-C2wA9_HA.js.map +1 -0
  101. package/dist/HorizontalboxWidget-xwLnkDXf.cjs +2 -0
  102. package/dist/HorizontalboxWidget-xwLnkDXf.cjs.map +1 -0
  103. package/dist/HorizontallineWidget-BCKOQase.cjs +2 -0
  104. package/dist/HorizontallineWidget-BCKOQase.cjs.map +1 -0
  105. package/dist/HorizontallineWidget-BdlNB951.js +11 -0
  106. package/dist/HorizontallineWidget-BdlNB951.js.map +1 -0
  107. package/dist/IframeWidget-C42hZbe_.cjs +2 -0
  108. package/dist/IframeWidget-C42hZbe_.cjs.map +1 -0
  109. package/dist/IframeWidget-qwGlLyoS.js +29 -0
  110. package/dist/IframeWidget-qwGlLyoS.js.map +1 -0
  111. package/dist/ImageLoader-BSTQyLlJ.cjs +2 -0
  112. package/dist/ImageLoader-BSTQyLlJ.cjs.map +1 -0
  113. package/dist/ImageLoader-CQAyutzR.js +36 -0
  114. package/dist/ImageLoader-CQAyutzR.js.map +1 -0
  115. package/dist/ImageviewerWidget-B0HJk4Tf.cjs +2 -0
  116. package/dist/ImageviewerWidget-B0HJk4Tf.cjs.map +1 -0
  117. package/dist/ImageviewerWidget-CDeYB2QG.js +37 -0
  118. package/dist/ImageviewerWidget-CDeYB2QG.js.map +1 -0
  119. package/dist/InterfacesTab-D-VIrHHf.js +92 -0
  120. package/dist/InterfacesTab-D-VIrHHf.js.map +1 -0
  121. package/dist/InterfacesTab-NTrgd1dN.cjs +2 -0
  122. package/dist/InterfacesTab-NTrgd1dN.cjs.map +1 -0
  123. package/dist/LabelWidget-B1-se7_B.cjs +2 -0
  124. package/dist/LabelWidget-B1-se7_B.cjs.map +1 -0
  125. package/dist/LabelWidget-C5_cj8pA.js +48 -0
  126. package/dist/LabelWidget-C5_cj8pA.js.map +1 -0
  127. package/dist/LabelledWidget-3aDkVYzF.cjs +2 -0
  128. package/dist/LabelledWidget-3aDkVYzF.cjs.map +1 -0
  129. package/dist/LabelledWidget-DWOPmkyP.js +42 -0
  130. package/dist/LabelledWidget-DWOPmkyP.js.map +1 -0
  131. package/dist/LabelprogressbarWidget-DFPXYOTH.js +43 -0
  132. package/dist/LabelprogressbarWidget-DFPXYOTH.js.map +1 -0
  133. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs +2 -0
  134. package/dist/LabelprogressbarWidget-Dsiw-uBJ.cjs.map +1 -0
  135. package/dist/LabelsparklineWidget-DG_Q8WOZ.js +44 -0
  136. package/dist/LabelsparklineWidget-DG_Q8WOZ.js.map +1 -0
  137. package/dist/LabelsparklineWidget-w6pdf_eu.cjs +2 -0
  138. package/dist/LabelsparklineWidget-w6pdf_eu.cjs.map +1 -0
  139. package/dist/LabelvalueWidget-CRtYLZfm.cjs +2 -0
  140. package/dist/LabelvalueWidget-CRtYLZfm.cjs.map +1 -0
  141. package/dist/LabelvalueWidget-CxL0zxQr.js +58 -0
  142. package/dist/LabelvalueWidget-CxL0zxQr.js.map +1 -0
  143. package/dist/LabelvaluedescWidget-CF9py8m9.cjs +2 -0
  144. package/dist/LabelvaluedescWidget-CF9py8m9.cjs.map +1 -0
  145. package/dist/LabelvaluedescWidget-ClWPSOeN.js +59 -0
  146. package/dist/LabelvaluedescWidget-ClWPSOeN.js.map +1 -0
  147. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs +2 -0
  148. package/dist/LabelvaluelimitsbarWidget-DFUH0HNe.cjs.map +1 -0
  149. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js +55 -0
  150. package/dist/LabelvaluelimitsbarWidget-DUyZ7KXT.js.map +1 -0
  151. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js +45 -0
  152. package/dist/LabelvaluelimitscolumnWidget-DdCNjIEm.js.map +1 -0
  153. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs +2 -0
  154. package/dist/LabelvaluelimitscolumnWidget-k0hVnMUV.cjs.map +1 -0
  155. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs +2 -0
  156. package/dist/LabelvaluerangebarWidget-CRqMQa_x.cjs.map +1 -0
  157. package/dist/LabelvaluerangebarWidget-DGJv44i4.js +79 -0
  158. package/dist/LabelvaluerangebarWidget-DGJv44i4.js.map +1 -0
  159. package/dist/Layout-C1uMy2Sd.js +14 -0
  160. package/dist/Layout-C1uMy2Sd.js.map +1 -0
  161. package/dist/Layout-C2VWUn33.cjs +2 -0
  162. package/dist/Layout-C2VWUn33.cjs.map +1 -0
  163. package/dist/LedWidget-C8LEesIO.js +69 -0
  164. package/dist/LedWidget-C8LEesIO.js.map +1 -0
  165. package/dist/LedWidget-tnHC12fA.cjs +2 -0
  166. package/dist/LedWidget-tnHC12fA.cjs.map +1 -0
  167. package/dist/LimitsbarWidget-DSJvR91d.cjs +2 -0
  168. package/dist/LimitsbarWidget-DSJvR91d.cjs.map +1 -0
  169. package/dist/LimitsbarWidget-DV94AaXX.js +52 -0
  170. package/dist/LimitsbarWidget-DV94AaXX.js.map +1 -0
  171. package/dist/LimitscolorWidget-BWfffXvj.cjs +2 -0
  172. package/dist/LimitscolorWidget-BWfffXvj.cjs.map +1 -0
  173. package/dist/LimitscolorWidget-DT_WG8Jb.js +59 -0
  174. package/dist/LimitscolorWidget-DT_WG8Jb.js.map +1 -0
  175. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs +2 -0
  176. package/dist/LimitscolumnWidget-Ci2DqqsC.cjs.map +1 -0
  177. package/dist/LimitscolumnWidget-yGBCsGuc.js +49 -0
  178. package/dist/LimitscolumnWidget-yGBCsGuc.js.map +1 -0
  179. package/dist/LinegraphWidget-BG43_kkA.js +38 -0
  180. package/dist/LinegraphWidget-BG43_kkA.js.map +1 -0
  181. package/dist/LinegraphWidget-ByTUdpDj.cjs +2 -0
  182. package/dist/LinegraphWidget-ByTUdpDj.cjs.map +1 -0
  183. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js +56 -0
  184. package/dist/MatrixbycolumnsWidget-Cfp2S5QC.js.map +1 -0
  185. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs +2 -0
  186. package/dist/MatrixbycolumnsWidget-GHZ6cCcr.cjs.map +1 -0
  187. package/dist/MicroservicesTab-BuIftbHc.js +159 -0
  188. package/dist/MicroservicesTab-BuIftbHc.js.map +1 -0
  189. package/dist/MicroservicesTab-CdCozCVI.cjs +2 -0
  190. package/dist/MicroservicesTab-CdCozCVI.cjs.map +1 -0
  191. package/dist/OutputDialog-CjFsDUYh.js +244 -0
  192. package/dist/OutputDialog-CjFsDUYh.js.map +1 -0
  193. package/dist/OutputDialog-Dkn9Fli9.cjs +2 -0
  194. package/dist/OutputDialog-Dkn9Fli9.cjs.map +1 -0
  195. package/dist/PackagesTab-BwTViRcm.js +339 -0
  196. package/dist/PackagesTab-BwTViRcm.js.map +1 -0
  197. package/dist/PackagesTab-DPaJ_JbE.cjs +2 -0
  198. package/dist/PackagesTab-DPaJ_JbE.cjs.map +1 -0
  199. package/dist/PluginsTab-C7GizpA1.cjs +6 -0
  200. package/dist/PluginsTab-C7GizpA1.cjs.map +1 -0
  201. package/dist/PluginsTab-fld_-DT-.js +598 -0
  202. package/dist/PluginsTab-fld_-DT-.js.map +1 -0
  203. package/dist/ProgressbarWidget-BSPuQNU_.js +46 -0
  204. package/dist/ProgressbarWidget-BSPuQNU_.js.map +1 -0
  205. package/dist/ProgressbarWidget-D1wbbnow.cjs +2 -0
  206. package/dist/ProgressbarWidget-D1wbbnow.cjs.map +1 -0
  207. package/dist/RadiobuttonWidget-B4rrjT9j.js +34 -0
  208. package/dist/RadiobuttonWidget-B4rrjT9j.js.map +1 -0
  209. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs +2 -0
  210. package/dist/RadiobuttonWidget-Bhcj3WY5.cjs.map +1 -0
  211. package/dist/RadiogroupWidget-CQrEv3Qs.cjs +2 -0
  212. package/dist/RadiogroupWidget-CQrEv3Qs.cjs.map +1 -0
  213. package/dist/RadiogroupWidget-VncDKxiZ.js +48 -0
  214. package/dist/RadiogroupWidget-VncDKxiZ.js.map +1 -0
  215. package/dist/RangebarWidget-Btu0oj_O.js +67 -0
  216. package/dist/RangebarWidget-Btu0oj_O.js.map +1 -0
  217. package/dist/RangebarWidget-CKmh0GEh.cjs +2 -0
  218. package/dist/RangebarWidget-CKmh0GEh.cjs.map +1 -0
  219. package/dist/RedisTab-BPFEQDx-.js +135 -0
  220. package/dist/RedisTab-BPFEQDx-.js.map +1 -0
  221. package/dist/RedisTab-DpbDcxH5.cjs +2 -0
  222. package/dist/RedisTab-DpbDcxH5.cjs.map +1 -0
  223. package/dist/RollupWidget-Bh-Gpi5l.cjs +2 -0
  224. package/dist/RollupWidget-Bh-Gpi5l.cjs.map +1 -0
  225. package/dist/RollupWidget-CIp8Akqq.js +81 -0
  226. package/dist/RollupWidget-CIp8Akqq.js.map +1 -0
  227. package/dist/RoutersTab-CTpmfcgq.js +94 -0
  228. package/dist/RoutersTab-CTpmfcgq.js.map +1 -0
  229. package/dist/RoutersTab-DLQ-_xsb.cjs +2 -0
  230. package/dist/RoutersTab-DLQ-_xsb.cjs.map +1 -0
  231. package/dist/ScriptChooser-Cku5i9C6.cjs +2 -0
  232. package/dist/ScriptChooser-Cku5i9C6.cjs.map +1 -0
  233. package/dist/ScriptChooser-Cx985GFr.js +199 -0
  234. package/dist/ScriptChooser-Cx985GFr.js.map +1 -0
  235. package/dist/ScrollwindowWidget-BIYEL78X.js +45 -0
  236. package/dist/ScrollwindowWidget-BIYEL78X.js.map +1 -0
  237. package/dist/ScrollwindowWidget-DWBLVHz1.cjs +2 -0
  238. package/dist/ScrollwindowWidget-DWBLVHz1.cjs.map +1 -0
  239. package/dist/SecretsTab-CV5WYD3N.cjs +2 -0
  240. package/dist/SecretsTab-CV5WYD3N.cjs.map +1 -0
  241. package/dist/SecretsTab-DfBaqZw2.js +202 -0
  242. package/dist/SecretsTab-DfBaqZw2.js.map +1 -0
  243. package/dist/SettingsTab-B1DNmvM5.js +1282 -0
  244. package/dist/SettingsTab-B1DNmvM5.js.map +1 -0
  245. package/dist/SettingsTab-BKD5vVwv.cjs +2 -0
  246. package/dist/SettingsTab-BKD5vVwv.cjs.map +1 -0
  247. package/dist/SignalWidget-f_2K-phy.js +61 -0
  248. package/dist/SignalWidget-f_2K-phy.js.map +1 -0
  249. package/dist/SignalWidget-vsx411XW.cjs +2 -0
  250. package/dist/SignalWidget-vsx411XW.cjs.map +1 -0
  251. package/dist/SimpleTextDialog-BLlux8b4.js +108 -0
  252. package/dist/SimpleTextDialog-BLlux8b4.js.map +1 -0
  253. package/dist/SimpleTextDialog-D2R3WQXD.cjs +2 -0
  254. package/dist/SimpleTextDialog-D2R3WQXD.cjs.map +1 -0
  255. package/dist/SpacerWidget-DGo6ZjYn.cjs +2 -0
  256. package/dist/SpacerWidget-DGo6ZjYn.cjs.map +1 -0
  257. package/dist/SpacerWidget-YhsM7srQ.js +19 -0
  258. package/dist/SpacerWidget-YhsM7srQ.js.map +1 -0
  259. package/dist/SparklineWidget-Bkx8nwqY.cjs +2 -0
  260. package/dist/SparklineWidget-Bkx8nwqY.cjs.map +1 -0
  261. package/dist/SparklineWidget-CuGChXzf.js +47 -0
  262. package/dist/SparklineWidget-CuGChXzf.js.map +1 -0
  263. package/dist/TabbookWidget-BlDW3n54.js +66 -0
  264. package/dist/TabbookWidget-BlDW3n54.js.map +1 -0
  265. package/dist/TabbookWidget-CDUj7RHp.cjs +2 -0
  266. package/dist/TabbookWidget-CDUj7RHp.cjs.map +1 -0
  267. package/dist/TargetsTab-B2Jw5Kec.js +128 -0
  268. package/dist/TargetsTab-B2Jw5Kec.js.map +1 -0
  269. package/dist/TargetsTab-fON6-iJc.cjs +2 -0
  270. package/dist/TargetsTab-fON6-iJc.cjs.map +1 -0
  271. package/dist/TextBoxDialog-CZ3h4LP-.js +110 -0
  272. package/dist/TextBoxDialog-CZ3h4LP-.js.map +1 -0
  273. package/dist/TextBoxDialog-DvUf3Cak.cjs +2 -0
  274. package/dist/TextBoxDialog-DvUf3Cak.cjs.map +1 -0
  275. package/dist/TextboxWidget-CWXCNL8K.js +92 -0
  276. package/dist/TextboxWidget-CWXCNL8K.js.map +1 -0
  277. package/dist/TextboxWidget-LhNzbjQI.cjs +2 -0
  278. package/dist/TextboxWidget-LhNzbjQI.cjs.map +1 -0
  279. package/dist/TextfieldWidget-AbalSObh.cjs +2 -0
  280. package/dist/TextfieldWidget-AbalSObh.cjs.map +1 -0
  281. package/dist/TextfieldWidget-CRVUO3wk.js +37 -0
  282. package/dist/TextfieldWidget-CRVUO3wk.js.map +1 -0
  283. package/dist/TimeWidget-BUMtokM-.cjs +2 -0
  284. package/dist/TimeWidget-BUMtokM-.cjs.map +1 -0
  285. package/dist/TimeWidget-CDo0yWlB.js +40 -0
  286. package/dist/TimeWidget-CDo0yWlB.js.map +1 -0
  287. package/dist/TitleWidget-Cvjndegg.js +26 -0
  288. package/dist/TitleWidget-Cvjndegg.js.map +1 -0
  289. package/dist/TitleWidget-DWieiIfq.cjs +2 -0
  290. package/dist/TitleWidget-DWieiIfq.cjs.map +1 -0
  291. package/dist/ToolsTab-Bu4syVrX.js +1519 -0
  292. package/dist/ToolsTab-Bu4syVrX.js.map +1 -0
  293. package/dist/ToolsTab-rS3KG7M5.cjs +7 -0
  294. package/dist/ToolsTab-rS3KG7M5.cjs.map +1 -0
  295. package/dist/TopBar-B1dOQ1W9.js +253 -0
  296. package/dist/TopBar-B1dOQ1W9.js.map +1 -0
  297. package/dist/TopBar-_j4ndwSi.cjs +2 -0
  298. package/dist/TopBar-_j4ndwSi.cjs.map +1 -0
  299. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs +2 -0
  300. package/dist/UpgradeToEnterpriseDialog--cLHsvir.cjs.map +1 -0
  301. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js +95 -0
  302. package/dist/UpgradeToEnterpriseDialog-CY9g4hzD.js.map +1 -0
  303. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js +25215 -0
  304. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js.map +1 -0
  305. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs +1416 -0
  306. package/dist/UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-DdL5xG80.cjs.map +1 -0
  307. package/dist/VWidget-BRkvqAVS.cjs +2 -0
  308. package/dist/VWidget-BRkvqAVS.cjs.map +1 -0
  309. package/dist/VWidget-D9Wk0N9r.js +323 -0
  310. package/dist/VWidget-D9Wk0N9r.js.map +1 -0
  311. package/dist/ValueWidget-D3EJcN4C.js +115 -0
  312. package/dist/ValueWidget-D3EJcN4C.js.map +1 -0
  313. package/dist/ValueWidget-DxY7IZvc.cjs +2 -0
  314. package/dist/ValueWidget-DxY7IZvc.cjs.map +1 -0
  315. package/dist/ValuelimitsbarWidget-C5revcun.js +39 -0
  316. package/dist/ValuelimitsbarWidget-C5revcun.js.map +1 -0
  317. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs +2 -0
  318. package/dist/ValuelimitsbarWidget-Dk6L7fl3.cjs.map +1 -0
  319. package/dist/ValuelimitscolumnWidget-BBEGOlON.js +38 -0
  320. package/dist/ValuelimitscolumnWidget-BBEGOlON.js.map +1 -0
  321. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs +2 -0
  322. package/dist/ValuelimitscolumnWidget-YD_Xd3tD.cjs.map +1 -0
  323. package/dist/ValuerangebarWidget-BtoenJky.cjs +2 -0
  324. package/dist/ValuerangebarWidget-BtoenJky.cjs.map +1 -0
  325. package/dist/ValuerangebarWidget-D70Xk8rM.js +65 -0
  326. package/dist/ValuerangebarWidget-D70Xk8rM.js.map +1 -0
  327. package/dist/VerticalWidget-Dw11Ey1R.cjs +2 -0
  328. package/dist/VerticalWidget-Dw11Ey1R.cjs.map +1 -0
  329. package/dist/VerticalWidget-RIOu-NI3.js +41 -0
  330. package/dist/VerticalWidget-RIOu-NI3.js.map +1 -0
  331. package/dist/VerticalboxWidget-BUjeAxtO.js +37 -0
  332. package/dist/VerticalboxWidget-BUjeAxtO.js.map +1 -0
  333. package/dist/VerticalboxWidget-DT-OCuyc.cjs +2 -0
  334. package/dist/VerticalboxWidget-DT-OCuyc.cjs.map +1 -0
  335. package/dist/Widget-C-EiCtmV.cjs +2 -0
  336. package/dist/Widget-C-EiCtmV.cjs.map +1 -0
  337. package/dist/Widget-C5V53T-a.js +197 -0
  338. package/dist/Widget-C5V53T-a.js.map +1 -0
  339. package/dist/addMonths-Be4oiWXO.js +19 -0
  340. package/dist/addMonths-Be4oiWXO.js.map +1 -0
  341. package/dist/addMonths-foItT0GW.cjs +2 -0
  342. package/dist/addMonths-foItT0GW.cjs.map +1 -0
  343. package/dist/axios-CXDYiOMX.js +1705 -0
  344. package/dist/axios-CXDYiOMX.js.map +1 -0
  345. package/dist/axios-tuVKNgv9.cjs +7 -0
  346. package/dist/axios-tuVKNgv9.cjs.map +1 -0
  347. package/dist/components.cjs +7 -0
  348. package/dist/components.cjs.map +1 -0
  349. package/dist/components.js +2936 -0
  350. package/dist/components.js.map +1 -0
  351. package/dist/fileIcon-BduOQcTc.cjs +2 -0
  352. package/dist/fileIcon-BduOQcTc.cjs.map +1 -0
  353. package/dist/fileIcon-DqRHb1_Z.js +22 -0
  354. package/dist/fileIcon-DqRHb1_Z.js.map +1 -0
  355. package/dist/format-BDZ4AOJt.cjs +2 -0
  356. package/dist/format-BDZ4AOJt.cjs.map +1 -0
  357. package/dist/format-Da42caYw.js +1229 -0
  358. package/dist/format-Da42caYw.js.map +1 -0
  359. package/dist/icons/status-dark.png +0 -0
  360. package/dist/icons/status-dark.xcf +0 -0
  361. package/dist/icons/status-light.png +0 -0
  362. package/dist/icons.cjs +2 -0
  363. package/dist/icons.cjs.map +1 -0
  364. package/dist/icons.js +157 -0
  365. package/dist/icons.js.map +1 -0
  366. package/dist/parse-BO9ihK1v.cjs +2 -0
  367. package/dist/parse-BO9ihK1v.cjs.map +1 -0
  368. package/dist/parse-dDr1Btat.js +1556 -0
  369. package/dist/parse-dDr1Btat.js.map +1 -0
  370. package/dist/plugins.cjs +9 -0
  371. package/dist/plugins.cjs.map +1 -0
  372. package/dist/plugins.js +771 -0
  373. package/dist/plugins.js.map +1 -0
  374. package/dist/style.css +1 -0
  375. package/dist/timeFilters-CN3Tdo2Z.js +607 -0
  376. package/dist/timeFilters-CN3Tdo2Z.js.map +1 -0
  377. package/dist/timeFilters-DwWhNG4a.cjs +2 -0
  378. package/dist/timeFilters-DwWhNG4a.cjs.map +1 -0
  379. package/dist/tools/admin.cjs +13 -0
  380. package/dist/tools/admin.cjs.map +1 -0
  381. package/dist/tools/admin.js +1909 -0
  382. package/dist/tools/admin.js.map +1 -0
  383. package/dist/tools/base.cjs +2 -0
  384. package/dist/tools/base.cjs.map +1 -0
  385. package/dist/tools/base.js +1580 -0
  386. package/dist/tools/base.js.map +1 -0
  387. package/dist/tools/calendar.cjs +2 -0
  388. package/dist/tools/calendar.cjs.map +1 -0
  389. package/dist/tools/calendar.js +1591 -0
  390. package/dist/tools/calendar.js.map +1 -0
  391. package/dist/util.cjs +2 -0
  392. package/dist/util.cjs.map +1 -0
  393. package/dist/util.js +9 -0
  394. package/dist/util.js.map +1 -0
  395. package/dist/widgets.cjs +2 -0
  396. package/dist/widgets.cjs.map +1 -0
  397. package/dist/widgets.js +130 -0
  398. package/dist/widgets.js.map +1 -0
  399. package/package.json +95 -0
@@ -0,0 +1,1909 @@
1
+ import { a as bt } from "../axios-CXDYiOMX.js";
2
+ import { resolveComponent as _, openBlock as D, createBlock as N, withCtx as u, createVNode as g, createElementVNode as A, createTextVNode as T, createElementBlock as F, Fragment as B, renderList as G, toDisplayString as H, mergeProps as vt, createCommentVNode as j, withModifiers as Y, normalizeProps as wt, guardReactiveProps as yt, withDirectives as xt, vShow as Ct, toRaw as St } from "vue";
3
+ import { _ as q } from "../CosmosRuxIcon.vue_vue_type_style_index_0_scoped_9af48e85_lang-CHgC5LLL.js";
4
+ import { a as P, n as Et } from "../UpgradeToEnterpriseDialog.vue_vue_type_style_index_0_scoped_6fa47877_lang-BrapmXxi.js";
5
+ import { T as Dt } from "../TopBar-B1dOQ1W9.js";
6
+ const Lt = {
7
+ props: {
8
+ modelValue: Boolean
9
+ },
10
+ data() {
11
+ return {
12
+ url: "",
13
+ type: null,
14
+ response: null,
15
+ activeDownload: !1,
16
+ disableSearch: !1,
17
+ expanded: []
18
+ };
19
+ },
20
+ computed: {
21
+ show: {
22
+ get() {
23
+ return this.modelValue;
24
+ },
25
+ set(t) {
26
+ this.$emit("update:modelValue", t);
27
+ }
28
+ },
29
+ listData: function() {
30
+ return this.response ? this.type === "github" ? this.parseGithub() : this.parseRuby() : [];
31
+ }
32
+ },
33
+ methods: {
34
+ parseGithub: function() {
35
+ const t = /\w+.gem/;
36
+ return this.response.tree.filter((e) => t.exec(e.path)).map((e) => ({
37
+ name: e.path,
38
+ url: `https://raw.github.com/OpenC3/openc3-tools/main/${e.path}`
39
+ }));
40
+ },
41
+ getResponse: function() {
42
+ this.disableSearch = !0, bt.get(this.url).then((t) => {
43
+ this.response = t.data;
44
+ }), setTimeout(() => {
45
+ this.disableSearch = !1;
46
+ }, 1e4);
47
+ },
48
+ searchGithub: function() {
49
+ this.type = "github", this.url = "https://api.github.com/repos/OpenC3/openc3-tools/git/trees/main?recursive=1", this.getResponse();
50
+ },
51
+ downloadGem: function(t) {
52
+ const e = document.createElement("a");
53
+ e.href = t.url, e.setAttribute("download", t.name), e.click(), e.remove();
54
+ }
55
+ }
56
+ }, Tt = { class: "pa-3" }, kt = { class: "px-2" }, Mt = {
57
+ key: 0,
58
+ class: "mt-4"
59
+ }, It = {
60
+ key: 1,
61
+ class: "mt-4"
62
+ }, Rt = { key: 0 }, Vt = { key: 1 };
63
+ function At(t, e, n, o, r, i) {
64
+ const s = _("v-spacer"), l = _("v-toolbar"), a = _("v-row"), f = _("v-icon"), h = _("v-btn"), c = _("v-col"), p = _("v-list-item-title"), m = _("v-progress-circular"), v = _("v-tooltip"), w = _("v-list-item"), S = _("v-divider"), b = _("v-card-text"), C = _("v-card"), E = _("v-dialog");
65
+ return D(), N(E, {
66
+ modelValue: i.show,
67
+ "onUpdate:modelValue": e[0] || (e[0] = (x) => i.show = x),
68
+ width: "600"
69
+ }, {
70
+ default: u(() => [
71
+ g(C, null, {
72
+ default: u(() => [
73
+ g(l, { height: "24" }, {
74
+ default: u(() => [
75
+ g(s),
76
+ e[1] || (e[1] = A("span", null, " Download Gems ", -1)),
77
+ g(s)
78
+ ]),
79
+ _: 1
80
+ }),
81
+ g(b, null, {
82
+ default: u(() => [
83
+ A("div", Tt, [
84
+ g(a, { class: "my-2" }, {
85
+ default: u(() => e[2] || (e[2] = [
86
+ T(" Select a download option ")
87
+ ])),
88
+ _: 1
89
+ }),
90
+ g(a, null, {
91
+ default: u(() => [
92
+ g(c, null, {
93
+ default: u(() => [
94
+ A("div", kt, [
95
+ g(h, {
96
+ onClick: i.searchGithub,
97
+ block: "",
98
+ "data-test": "searchGithub",
99
+ color: "primary",
100
+ disabled: r.disableSearch
101
+ }, {
102
+ default: u(() => [
103
+ e[4] || (e[4] = T(" Github ")),
104
+ g(f, {
105
+ end: "",
106
+ theme: "dark"
107
+ }, {
108
+ default: u(() => e[3] || (e[3] = [
109
+ T(" mdi-github ")
110
+ ])),
111
+ _: 1
112
+ })
113
+ ]),
114
+ _: 1
115
+ }, 8, ["onClick", "disabled"])
116
+ ])
117
+ ]),
118
+ _: 1
119
+ })
120
+ ]),
121
+ _: 1
122
+ }),
123
+ g(a, { class: "mt-5" }, {
124
+ default: u(() => e[5] || (e[5] = [
125
+ T(" Community Gems ")
126
+ ])),
127
+ _: 1
128
+ }),
129
+ i.listData.length < 1 ? (D(), F("div", Mt, [
130
+ g(a, { class: "mx-2" }, {
131
+ default: u(() => e[6] || (e[6] = [
132
+ A("span", null, " I’m sorry, Dave. No gems available.... ", -1)
133
+ ])),
134
+ _: 1
135
+ })
136
+ ])) : (D(), F("div", It, [
137
+ (D(!0), F(B, null, G(i.listData, (x, L) => (D(), F("div", { key: L }, [
138
+ g(w, null, {
139
+ default: u(() => [
140
+ g(p, null, {
141
+ default: u(() => [
142
+ T(H(x.name), 1)
143
+ ]),
144
+ _: 2
145
+ }, 1024),
146
+ g(w, { icon: "" }, {
147
+ default: u(() => [
148
+ r.activeDownload ? (D(), F("div", Rt, [
149
+ g(m, {
150
+ indeterminate: "",
151
+ color: "primary"
152
+ })
153
+ ])) : (D(), F("div", Vt, [
154
+ g(v, { location: "bottom" }, {
155
+ activator: u(({ props: k }) => [
156
+ g(f, vt({ ref_for: !0 }, k, {
157
+ onClick: (V) => i.downloadGem(x),
158
+ disabled: r.activeDownload
159
+ }), {
160
+ default: u(() => e[7] || (e[7] = [
161
+ T(" mdi-cloud-download ")
162
+ ])),
163
+ _: 2
164
+ }, 1040, ["onClick", "disabled"])
165
+ ]),
166
+ default: u(() => [
167
+ e[8] || (e[8] = A("span", null, "Download Gem", -1))
168
+ ]),
169
+ _: 2
170
+ }, 1024)
171
+ ]))
172
+ ]),
173
+ _: 2
174
+ }, 1024)
175
+ ]),
176
+ _: 2
177
+ }, 1024),
178
+ L < i.listData.length - 1 ? (D(), N(S, { key: L })) : j("", !0)
179
+ ]))), 128))
180
+ ]))
181
+ ])
182
+ ]),
183
+ _: 1
184
+ })
185
+ ]),
186
+ _: 1
187
+ })
188
+ ]),
189
+ _: 1
190
+ }, 8, ["modelValue"]);
191
+ }
192
+ const _e = /* @__PURE__ */ q(Lt, [["render", At]]), Nt = {
193
+ props: {
194
+ content: {
195
+ type: String,
196
+ required: !0
197
+ },
198
+ type: String,
199
+ name: String,
200
+ modelValue: Boolean,
201
+ readonly: Boolean
202
+ },
203
+ data() {
204
+ return {
205
+ editor: null
206
+ };
207
+ },
208
+ mounted() {
209
+ const t = this.buildPluginMode();
210
+ this.editor = P.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight"), this.editor.session.setMode(new t()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.content), this.editor.clearSelection(), this.editor.focus(), this.readonly && this.editor.setReadOnly(!0);
211
+ },
212
+ beforeUnmount() {
213
+ this.editor && this.editor.destroy();
214
+ },
215
+ computed: {
216
+ show: {
217
+ get() {
218
+ return this.modelValue;
219
+ },
220
+ set(t) {
221
+ this.$emit("update:modelValue", t);
222
+ }
223
+ },
224
+ title: function() {
225
+ return `${this.type}: ${this.name}`;
226
+ },
227
+ error: function() {
228
+ return this.editor && this.editor.getValue() === "" && !this.file ? "Input can not be blank." : null;
229
+ }
230
+ },
231
+ methods: {
232
+ submit: function() {
233
+ this.$emit("submit", this.editor.getValue()), this.show = !this.show;
234
+ },
235
+ close: function() {
236
+ this.show = !this.show;
237
+ },
238
+ download: function() {
239
+ const t = new Blob([this.editor.getValue()], {
240
+ type: "text/plain"
241
+ }), e = document.createElement("a");
242
+ e.href = URL.createObjectURL(t), e.setAttribute(
243
+ "download",
244
+ `${this.type.toLowerCase()}_${this.name.toLowerCase()}.json`
245
+ ), e.click();
246
+ },
247
+ buildPluginMode() {
248
+ let t = P.require("ace/lib/oop"), e = P.require(
249
+ "ace/mode/json_highlight_rules"
250
+ ).JsonHighlightRules, n = P.require(
251
+ "ace/mode/matching_brace_outdent"
252
+ ).MatchingBraceOutdent, o = P.require(
253
+ "ace/mode/behaviour/cstyle"
254
+ ).CstyleBehaviour, r = P.require("ace/mode/folding/ruby").FoldMode, i = function() {
255
+ this.HighlightRules = e, this.$outdent = new n(), this.$behaviour = new o(), this.foldingRules = new r(), this.indentKeywords = this.foldingRules.indentKeywords;
256
+ }, s = P.require("ace/mode/ruby").Mode;
257
+ return t.inherits(i, s), (function() {
258
+ this.$id = "ace/mode/openc3";
259
+ }).call(i.prototype), i;
260
+ }
261
+ }
262
+ }, Ot = ["textContent"], Pt = { class: "mx-2" }, Ft = { class: "pa-3" }, Ht = { key: 0 }, Ut = {
263
+ class: "editor",
264
+ ref: "editor"
265
+ }, $t = ["textContent"];
266
+ function Bt(t, e, n, o, r, i) {
267
+ const s = _("v-spacer"), l = _("v-icon"), a = _("v-tooltip"), f = _("v-toolbar"), h = _("v-row"), c = _("v-btn"), p = _("v-col"), m = _("v-file-input"), v = _("v-card-text"), w = _("v-card"), S = _("v-dialog");
268
+ return D(), N(S, {
269
+ persistent: !n.readonly,
270
+ modelValue: i.show,
271
+ "onUpdate:modelValue": e[2] || (e[2] = (b) => i.show = b),
272
+ width: "80vw"
273
+ }, {
274
+ default: u(() => [
275
+ g(w, null, {
276
+ default: u(() => [
277
+ A("form", {
278
+ onSubmit: e[1] || (e[1] = Y((...b) => i.submit && i.submit(...b), ["prevent"]))
279
+ }, [
280
+ g(f, { height: "24" }, {
281
+ default: u(() => [
282
+ g(s),
283
+ A("span", {
284
+ textContent: H(i.title)
285
+ }, null, 8, Ot),
286
+ g(s),
287
+ A("div", Pt, [
288
+ g(a, { location: "top" }, {
289
+ activator: u(({ props: b }) => [
290
+ A("div", wt(yt(b)), [
291
+ g(l, {
292
+ "data-test": "downloadIcon",
293
+ onClick: i.download
294
+ }, {
295
+ default: u(() => e[3] || (e[3] = [
296
+ T(" mdi-download ")
297
+ ])),
298
+ _: 1
299
+ }, 8, ["onClick"])
300
+ ], 16)
301
+ ]),
302
+ default: u(() => [
303
+ e[4] || (e[4] = A("span", null, " Download ", -1))
304
+ ]),
305
+ _: 1
306
+ })
307
+ ])
308
+ ]),
309
+ _: 1
310
+ }),
311
+ g(v, null, {
312
+ default: u(() => [
313
+ A("div", Ft, [
314
+ n.readonly ? j("", !0) : (D(), F("div", Ht, [
315
+ g(h, { class: "mt-3" }, {
316
+ default: u(() => e[5] || (e[5] = [
317
+ T(" Upload a file. ")
318
+ ])),
319
+ _: 1
320
+ }),
321
+ g(h, {
322
+ "no-gutters": "",
323
+ align: "center"
324
+ }, {
325
+ default: u(() => [
326
+ g(p, { cols: "3" }, {
327
+ default: u(() => [
328
+ g(c, {
329
+ block: "",
330
+ color: "success",
331
+ onClick: t.loadFile,
332
+ disabled: !t.file || t.loadingFile || n.readonly,
333
+ loading: t.loadingFile,
334
+ "data-test": "editScreenLoadBtn"
335
+ }, {
336
+ loader: u(() => e[6] || (e[6] = [
337
+ A("span", null, "Loading...", -1)
338
+ ])),
339
+ default: u(() => [
340
+ e[7] || (e[7] = T(" Load "))
341
+ ]),
342
+ _: 1
343
+ }, 8, ["onClick", "disabled", "loading"])
344
+ ]),
345
+ _: 1
346
+ }),
347
+ g(p, { cols: "9" }, {
348
+ default: u(() => [
349
+ g(m, {
350
+ modelValue: t.file,
351
+ "onUpdate:modelValue": e[0] || (e[0] = (b) => t.file = b),
352
+ accept: ".json",
353
+ label: "Click to select .json file.",
354
+ disabled: n.readonly
355
+ }, null, 8, ["modelValue", "disabled"])
356
+ ]),
357
+ _: 1
358
+ })
359
+ ]),
360
+ _: 1
361
+ })
362
+ ])),
363
+ g(h, { "no-gutters": "" }, {
364
+ default: u(() => [
365
+ A("pre", Ut, null, 512)
366
+ ]),
367
+ _: 1
368
+ }),
369
+ g(h, { class: "my-3" }, {
370
+ default: u(() => [
371
+ xt(A("span", {
372
+ class: "text-red",
373
+ textContent: H(i.error)
374
+ }, null, 8, $t), [
375
+ [Ct, i.error]
376
+ ])
377
+ ]),
378
+ _: 1
379
+ }),
380
+ g(h, null, {
381
+ default: u(() => [
382
+ g(s),
383
+ g(c, {
384
+ onClick: Y(i.close, ["prevent"]),
385
+ variant: "outlined",
386
+ class: "mx-2",
387
+ "data-test": "editCancelBtn"
388
+ }, {
389
+ default: u(() => e[8] || (e[8] = [
390
+ T(" Cancel ")
391
+ ])),
392
+ _: 1
393
+ }, 8, ["onClick"]),
394
+ n.readonly ? j("", !0) : (D(), N(c, {
395
+ key: 0,
396
+ class: "mx-2",
397
+ color: "primary",
398
+ type: "submit",
399
+ "data-test": "editSubmitBtn",
400
+ disabled: !!i.error || n.readonly
401
+ }, {
402
+ default: u(() => e[9] || (e[9] = [
403
+ T(" Save ")
404
+ ])),
405
+ _: 1
406
+ }, 8, ["disabled"]))
407
+ ]),
408
+ _: 1
409
+ })
410
+ ])
411
+ ]),
412
+ _: 1
413
+ })
414
+ ], 32)
415
+ ]),
416
+ _: 1
417
+ })
418
+ ]),
419
+ _: 1
420
+ }, 8, ["persistent", "modelValue"]);
421
+ }
422
+ const be = /* @__PURE__ */ q(Nt, [["render", Bt], ["__scopeId", "data-v-74f3ff47"]]), Gt = {
423
+ props: {
424
+ modelValue: Boolean,
425
+ plugin: String,
426
+ targets: Array,
427
+ pluginDelete: Boolean
428
+ },
429
+ data() {
430
+ return {
431
+ modifiedTargets: [],
432
+ deleteModified: !1
433
+ };
434
+ },
435
+ computed: {
436
+ show: {
437
+ get() {
438
+ return this.modelValue;
439
+ },
440
+ set(t) {
441
+ this.$emit("update:modelValue", t);
442
+ }
443
+ }
444
+ },
445
+ created() {
446
+ for (const t of this.targets)
447
+ Et.get(`/openc3-api/targets/${t.name}/modified_files`).then(
448
+ (e) => {
449
+ e.data.length !== 0 && this.modifiedTargets.push({
450
+ name: t.name,
451
+ files: e.data
452
+ });
453
+ }
454
+ );
455
+ }
456
+ };
457
+ function jt(t, e, n, o, r, i) {
458
+ const s = _("v-spacer"), l = _("v-toolbar"), a = _("v-list-item-title"), f = _("v-list-item-subtitle"), h = _("v-list-item"), c = _("v-checkbox"), p = _("v-card-text"), m = _("v-btn"), v = _("v-card-actions"), w = _("v-card"), S = _("v-dialog");
459
+ return D(), N(S, {
460
+ modelValue: i.show,
461
+ "onUpdate:modelValue": e[3] || (e[3] = (b) => i.show = b),
462
+ width: "600"
463
+ }, {
464
+ default: u(() => [
465
+ g(w, null, {
466
+ default: u(() => [
467
+ g(l, { height: "24" }, {
468
+ default: u(() => [
469
+ g(s),
470
+ e[4] || (e[4] = A("span", null, " Modified Plugin ", -1)),
471
+ g(s)
472
+ ]),
473
+ _: 1
474
+ }),
475
+ g(p, { class: "pa-3" }, {
476
+ default: u(() => [
477
+ A("div", null, " Plugin " + H(n.plugin) + " was modified. Would you like to delete the existing modified files? ", 1),
478
+ (D(!0), F(B, null, G(r.modifiedTargets, (b, C) => (D(), N(h, {
479
+ lines: "two",
480
+ key: C
481
+ }, {
482
+ default: u(() => [
483
+ g(a, null, {
484
+ default: u(() => [
485
+ T(H(b.name), 1)
486
+ ]),
487
+ _: 2
488
+ }, 1024),
489
+ (D(!0), F(B, null, G(b.files, (E, x) => (D(), N(f, { key: x }, {
490
+ default: u(() => [
491
+ T(H(E), 1)
492
+ ]),
493
+ _: 2
494
+ }, 1024))), 128))
495
+ ]),
496
+ _: 2
497
+ }, 1024))), 128)),
498
+ g(c, {
499
+ modelValue: r.deleteModified,
500
+ "onUpdate:modelValue": e[0] || (e[0] = (b) => r.deleteModified = b),
501
+ label: "DELETE MODIFIED! THIS CAN NOT BE UNDONE!!!",
502
+ color: "error",
503
+ "data-test": "modified-plugin-delete-checkbox"
504
+ }, null, 8, ["modelValue"])
505
+ ]),
506
+ _: 1
507
+ }),
508
+ g(v, { class: "px-2" }, {
509
+ default: u(() => [
510
+ g(s),
511
+ g(m, {
512
+ variant: "outlined",
513
+ "data-test": "modified-plugin-cancel",
514
+ onClick: e[1] || (e[1] = () => {
515
+ i.show = !1, t.$emit("cancel");
516
+ })
517
+ }, {
518
+ default: u(() => e[5] || (e[5] = [
519
+ T(" Cancel ")
520
+ ])),
521
+ _: 1
522
+ }),
523
+ g(m, {
524
+ variant: "flat",
525
+ "data-test": "modified-plugin-submit",
526
+ onClick: e[2] || (e[2] = () => {
527
+ i.show = !1, t.$emit("submit", r.deleteModified);
528
+ })
529
+ }, {
530
+ default: u(() => e[6] || (e[6] = [
531
+ T(" Confirm ")
532
+ ])),
533
+ _: 1
534
+ })
535
+ ]),
536
+ _: 1
537
+ })
538
+ ]),
539
+ _: 1
540
+ })
541
+ ]),
542
+ _: 1
543
+ }, 8, ["modelValue"]);
544
+ }
545
+ const ve = /* @__PURE__ */ q(Gt, [["render", jt]]), qt = [
546
+ {
547
+ displayName: "Plugins",
548
+ name: "PluginsTab",
549
+ path: "plugins",
550
+ component: () => import("../PluginsTab-fld_-DT-.js")
551
+ },
552
+ {
553
+ displayName: "Targets",
554
+ name: "TargetsTab",
555
+ path: "targets",
556
+ component: () => import("../TargetsTab-B2Jw5Kec.js")
557
+ },
558
+ {
559
+ displayName: "Interfaces",
560
+ name: "InterfacesTab",
561
+ path: "interfaces",
562
+ component: () => import("../InterfacesTab-D-VIrHHf.js")
563
+ },
564
+ {
565
+ displayName: "Routers",
566
+ name: "RoutersTab",
567
+ path: "routers",
568
+ component: () => import("../RoutersTab-CTpmfcgq.js")
569
+ },
570
+ {
571
+ displayName: "Microservices",
572
+ name: "MicroservicesTab",
573
+ path: "microservices",
574
+ component: () => import("../MicroservicesTab-BuIftbHc.js")
575
+ },
576
+ {
577
+ displayName: "Packages",
578
+ name: "PackagesTab",
579
+ path: "packages",
580
+ component: () => import("../PackagesTab-BwTViRcm.js")
581
+ },
582
+ {
583
+ displayName: "Tools",
584
+ name: "ToolsTab",
585
+ path: "tools",
586
+ component: () => import("../ToolsTab-Bu4syVrX.js")
587
+ },
588
+ {
589
+ displayName: "Redis",
590
+ name: "RedisTab",
591
+ path: "redis",
592
+ component: () => import("../RedisTab-BPFEQDx-.js")
593
+ },
594
+ {
595
+ displayName: "Secrets",
596
+ name: "SecretsTab",
597
+ path: "secrets",
598
+ component: () => import("../SecretsTab-DfBaqZw2.js")
599
+ },
600
+ {
601
+ displayName: "Settings",
602
+ name: "SettingsTab",
603
+ path: "settings",
604
+ component: () => import("../SettingsTab-B1DNmvM5.js")
605
+ }
606
+ ], zt = {
607
+ components: {
608
+ TopBar: Dt
609
+ },
610
+ data() {
611
+ return {
612
+ title: "Administrator Console",
613
+ curTab: null
614
+ };
615
+ },
616
+ computed: {
617
+ tabs: function() {
618
+ return qt.map((t) => ({
619
+ displayName: t.displayName,
620
+ path: { name: t.name }
621
+ }));
622
+ }
623
+ }
624
+ };
625
+ function Yt(t, e, n, o, r, i) {
626
+ const s = _("top-bar"), l = _("v-tab"), a = _("v-tabs"), f = _("router-view"), h = _("v-card");
627
+ return D(), F("div", null, [
628
+ g(s, { title: r.title }, null, 8, ["title"]),
629
+ g(h, null, {
630
+ default: u(() => [
631
+ g(a, {
632
+ modelValue: r.curTab,
633
+ "onUpdate:modelValue": e[0] || (e[0] = (c) => r.curTab = c),
634
+ "fixed-tabs": ""
635
+ }, {
636
+ default: u(() => [
637
+ (D(!0), F(B, null, G(i.tabs, (c, p) => (D(), N(l, {
638
+ key: p,
639
+ to: c.path
640
+ }, {
641
+ default: u(() => [
642
+ T(H(c.displayName), 1)
643
+ ]),
644
+ _: 2
645
+ }, 1032, ["to"]))), 128))
646
+ ]),
647
+ _: 1
648
+ }, 8, ["modelValue"]),
649
+ g(f)
650
+ ]),
651
+ _: 1
652
+ })
653
+ ]);
654
+ }
655
+ const we = /* @__PURE__ */ q(zt, [["render", Yt]]);
656
+ var d = function() {
657
+ this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = 0.5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = 0.5, this.Patch_Margin = 4, this.Match_MaxBits = 32;
658
+ }, I = -1, R = 1, y = 0;
659
+ d.Diff = function(t, e) {
660
+ this[0] = t, this[1] = e;
661
+ };
662
+ d.Diff.prototype.length = 2;
663
+ d.Diff.prototype.toString = function() {
664
+ return this[0] + "," + this[1];
665
+ };
666
+ d.prototype.diff_main = function(t, e, n, o) {
667
+ typeof o > "u" && (this.Diff_Timeout <= 0 ? o = Number.MAX_VALUE : o = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3);
668
+ var r = o;
669
+ if (t == null || e == null) throw new Error("Null input. (diff_main)");
670
+ if (t == e) return t ? [new d.Diff(y, t)] : [];
671
+ typeof n > "u" && (n = !0);
672
+ var i = n, s = this.diff_commonPrefix(t, e), l = t.substring(0, s);
673
+ t = t.substring(s), e = e.substring(s), s = this.diff_commonSuffix(t, e);
674
+ var a = t.substring(t.length - s);
675
+ t = t.substring(0, t.length - s), e = e.substring(0, e.length - s);
676
+ var f = this.diff_compute_(t, e, i, r);
677
+ return l && f.unshift(new d.Diff(y, l)), a && f.push(new d.Diff(y, a)), this.diff_cleanupMerge(f), f;
678
+ };
679
+ d.prototype.diff_compute_ = function(t, e, n, o) {
680
+ var r;
681
+ if (!t) return [new d.Diff(R, e)];
682
+ if (!e) return [new d.Diff(I, t)];
683
+ var i = t.length > e.length ? t : e, s = t.length > e.length ? e : t, l = i.indexOf(s);
684
+ return l != -1 ? (r = [new d.Diff(R, i.substring(0, l)), new d.Diff(y, s), new d.Diff(R, i.substring(l + s.length))], t.length > e.length && (r[0][0] = r[2][0] = I), r) : s.length == 1 ? [new d.Diff(I, t), new d.Diff(R, e)] : n && t.length > 100 && e.length > 100 ? this.diff_lineMode_(t, e, o) : this.diff_bisect_(t, e, o);
685
+ };
686
+ d.prototype.diff_lineMode_ = function(t, e, n) {
687
+ var o = this.diff_linesToChars_(t, e);
688
+ t = o.chars1, e = o.chars2;
689
+ var r = o.lineArray, i = this.diff_main(t, e, !1, n);
690
+ this.diff_charsToLines_(i, r), this.diff_cleanupSemantic(i), i.push(new d.Diff(y, ""));
691
+ for (var s = 0, l = 0, a = 0, f = "", h = ""; s < i.length; ) {
692
+ switch (i[s][0]) {
693
+ case R:
694
+ a++, h += i[s][1];
695
+ break;
696
+ case I:
697
+ l++, f += i[s][1];
698
+ break;
699
+ case y:
700
+ if (l >= 1 && a >= 1) {
701
+ i.splice(s - l - a, l + a), s = s - l - a;
702
+ for (var c = this.diff_main(f, h, !1, n), p = c.length - 1; p >= 0; p--) i.splice(s, 0, c[p]);
703
+ s = s + c.length;
704
+ }
705
+ a = 0, l = 0, f = "", h = "";
706
+ break;
707
+ }
708
+ s++;
709
+ }
710
+ return i.pop(), i;
711
+ };
712
+ d.prototype.diff_bisect_ = function(t, e, n) {
713
+ for (var o = t.length, r = e.length, i = Math.ceil((o + r) / 2), s = i, l = 2 * i, a = new Array(l), f = new Array(l), h = 0; h < l; h++) a[h] = -1, f[h] = -1;
714
+ a[s + 1] = 0, f[s + 1] = 0;
715
+ for (var c = o - r, p = c % 2 != 0, m = 0, v = 0, w = 0, S = 0, b = 0; b < i && !((/* @__PURE__ */ new Date()).getTime() > n); b++) {
716
+ for (var C = -b + m; C <= b - v; C += 2) {
717
+ var E = s + C, x;
718
+ C == -b || C != b && a[E - 1] < a[E + 1] ? x = a[E + 1] : x = a[E - 1] + 1;
719
+ for (var L = x - C; x < o && L < r && t.charAt(x) == e.charAt(L); ) x++, L++;
720
+ if (a[E] = x, x > o) v += 2;
721
+ else if (L > r) m += 2;
722
+ else if (p) {
723
+ var k = s + c - C;
724
+ if (k >= 0 && k < l && f[k] != -1) {
725
+ var V = o - f[k];
726
+ if (x >= V) return this.diff_bisectSplit_(t, e, x, L, n);
727
+ }
728
+ }
729
+ }
730
+ for (var O = -b + w; O <= b - S; O += 2) {
731
+ var k = s + O, V;
732
+ O == -b || O != b && f[k - 1] < f[k + 1] ? V = f[k + 1] : V = f[k - 1] + 1;
733
+ for (var U = V - O; V < o && U < r && t.charAt(o - V - 1) == e.charAt(r - U - 1); ) V++, U++;
734
+ if (f[k] = V, V > o) S += 2;
735
+ else if (U > r) w += 2;
736
+ else if (!p) {
737
+ var E = s + c - O;
738
+ if (E >= 0 && E < l && a[E] != -1) {
739
+ var x = a[E], L = s + x - E;
740
+ if (V = o - V, x >= V) return this.diff_bisectSplit_(t, e, x, L, n);
741
+ }
742
+ }
743
+ }
744
+ }
745
+ return [new d.Diff(I, t), new d.Diff(R, e)];
746
+ };
747
+ d.prototype.diff_bisectSplit_ = function(t, e, n, o, r) {
748
+ var i = t.substring(0, n), s = e.substring(0, o), l = t.substring(n), a = e.substring(o), f = this.diff_main(i, s, !1, r), h = this.diff_main(l, a, !1, r);
749
+ return f.concat(h);
750
+ };
751
+ d.prototype.diff_linesToChars_ = function(t, e) {
752
+ var n = [], o = {};
753
+ n[0] = "";
754
+ function r(a) {
755
+ for (var f = "", h = 0, c = -1, p = n.length; c < a.length - 1; ) {
756
+ c = a.indexOf(`
757
+ `, h), c == -1 && (c = a.length - 1);
758
+ var m = a.substring(h, c + 1);
759
+ (o.hasOwnProperty ? o.hasOwnProperty(m) : o[m] !== void 0) ? f += String.fromCharCode(o[m]) : (p == i && (m = a.substring(h), c = a.length), f += String.fromCharCode(p), o[m] = p, n[p++] = m), h = c + 1;
760
+ }
761
+ return f;
762
+ }
763
+ var i = 4e4, s = r(t);
764
+ i = 65535;
765
+ var l = r(e);
766
+ return { chars1: s, chars2: l, lineArray: n };
767
+ };
768
+ d.prototype.diff_charsToLines_ = function(t, e) {
769
+ for (var n = 0; n < t.length; n++) {
770
+ for (var o = t[n][1], r = [], i = 0; i < o.length; i++) r[i] = e[o.charCodeAt(i)];
771
+ t[n][1] = r.join("");
772
+ }
773
+ };
774
+ d.prototype.diff_commonPrefix = function(t, e) {
775
+ if (!t || !e || t.charAt(0) != e.charAt(0)) return 0;
776
+ for (var n = 0, o = Math.min(t.length, e.length), r = o, i = 0; n < r; ) t.substring(i, r) == e.substring(i, r) ? (n = r, i = n) : o = r, r = Math.floor((o - n) / 2 + n);
777
+ return r;
778
+ };
779
+ d.prototype.diff_commonSuffix = function(t, e) {
780
+ if (!t || !e || t.charAt(t.length - 1) != e.charAt(e.length - 1)) return 0;
781
+ for (var n = 0, o = Math.min(t.length, e.length), r = o, i = 0; n < r; ) t.substring(t.length - r, t.length - i) == e.substring(e.length - r, e.length - i) ? (n = r, i = n) : o = r, r = Math.floor((o - n) / 2 + n);
782
+ return r;
783
+ };
784
+ d.prototype.diff_commonOverlap_ = function(t, e) {
785
+ var n = t.length, o = e.length;
786
+ if (n == 0 || o == 0) return 0;
787
+ n > o ? t = t.substring(n - o) : n < o && (e = e.substring(0, n));
788
+ var r = Math.min(n, o);
789
+ if (t == e) return r;
790
+ for (var i = 0, s = 1; ; ) {
791
+ var l = t.substring(r - s), a = e.indexOf(l);
792
+ if (a == -1) return i;
793
+ s += a, (a == 0 || t.substring(r - s) == e.substring(0, s)) && (i = s, s++);
794
+ }
795
+ };
796
+ d.prototype.diff_halfMatch_ = function(t, e) {
797
+ if (this.Diff_Timeout <= 0) return null;
798
+ var n = t.length > e.length ? t : e, o = t.length > e.length ? e : t;
799
+ if (n.length < 4 || o.length * 2 < n.length) return null;
800
+ var r = this;
801
+ function i(v, w, S) {
802
+ for (var b = v.substring(S, S + Math.floor(v.length / 4)), C = -1, E = "", x, L, k, V; (C = w.indexOf(b, C + 1)) != -1; ) {
803
+ var O = r.diff_commonPrefix(v.substring(S), w.substring(C)), U = r.diff_commonSuffix(v.substring(0, S), w.substring(0, C));
804
+ E.length < U + O && (E = w.substring(C - U, C) + w.substring(C, C + O), x = v.substring(0, S - U), L = v.substring(S + O), k = w.substring(0, C - U), V = w.substring(C + O));
805
+ }
806
+ return E.length * 2 >= v.length ? [x, L, k, V, E] : null;
807
+ }
808
+ var s = i(n, o, Math.ceil(n.length / 4)), l = i(n, o, Math.ceil(n.length / 2)), a;
809
+ if (!s && !l) return null;
810
+ l ? s ? a = s[4].length > l[4].length ? s : l : a = l : a = s;
811
+ var f, h, c, p;
812
+ t.length > e.length ? (f = a[0], h = a[1], c = a[2], p = a[3]) : (c = a[0], p = a[1], f = a[2], h = a[3]);
813
+ var m = a[4];
814
+ return [f, h, c, p, m];
815
+ };
816
+ d.prototype.diff_cleanupSemantic = function(t) {
817
+ for (var e = !1, n = [], o = 0, r = null, i = 0, s = 0, l = 0, a = 0, f = 0; i < t.length; ) t[i][0] == y ? (n[o++] = i, s = a, l = f, a = 0, f = 0, r = t[i][1]) : (t[i][0] == R ? a += t[i][1].length : f += t[i][1].length, r && r.length <= Math.max(s, l) && r.length <= Math.max(a, f) && (t.splice(n[o - 1], 0, new d.Diff(I, r)), t[n[o - 1] + 1][0] = R, o--, o--, i = o > 0 ? n[o - 1] : -1, s = 0, l = 0, a = 0, f = 0, r = null, e = !0)), i++;
818
+ for (e && this.diff_cleanupMerge(t), this.diff_cleanupSemanticLossless(t), i = 1; i < t.length; ) {
819
+ if (t[i - 1][0] == I && t[i][0] == R) {
820
+ var h = t[i - 1][1], c = t[i][1], p = this.diff_commonOverlap_(h, c), m = this.diff_commonOverlap_(c, h);
821
+ p >= m ? (p >= h.length / 2 || p >= c.length / 2) && (t.splice(i, 0, new d.Diff(y, c.substring(0, p))), t[i - 1][1] = h.substring(0, h.length - p), t[i + 1][1] = c.substring(p), i++) : (m >= h.length / 2 || m >= c.length / 2) && (t.splice(i, 0, new d.Diff(y, h.substring(0, m))), t[i - 1][0] = R, t[i - 1][1] = c.substring(0, c.length - m), t[i + 1][0] = I, t[i + 1][1] = h.substring(m), i++), i++;
822
+ }
823
+ i++;
824
+ }
825
+ };
826
+ d.prototype.diff_cleanupSemanticLossless = function(t) {
827
+ function e(m, v) {
828
+ if (!m || !v) return 6;
829
+ var w = m.charAt(m.length - 1), S = v.charAt(0), b = w.match(d.nonAlphaNumericRegex_), C = S.match(d.nonAlphaNumericRegex_), E = b && w.match(d.whitespaceRegex_), x = C && S.match(d.whitespaceRegex_), L = E && w.match(d.linebreakRegex_), k = x && S.match(d.linebreakRegex_), V = L && m.match(d.blanklineEndRegex_), O = k && v.match(d.blanklineStartRegex_);
830
+ return V || O ? 5 : L || k ? 4 : b && !E && x ? 3 : E || x ? 2 : b || C ? 1 : 0;
831
+ }
832
+ for (var n = 1; n < t.length - 1; ) {
833
+ if (t[n - 1][0] == y && t[n + 1][0] == y) {
834
+ var o = t[n - 1][1], r = t[n][1], i = t[n + 1][1], s = this.diff_commonSuffix(o, r);
835
+ if (s) {
836
+ o[o.length - s] === `
837
+ ` && (s -= 1);
838
+ var l = r.substring(r.length - s);
839
+ o = o.substring(0, o.length - s), r = l + r.substring(0, r.length - s), i = l + i;
840
+ }
841
+ for (var a = o, f = r, h = i, c = e(o, r) + e(r, i); r.charAt(0) === i.charAt(0); ) {
842
+ o += r.charAt(0), r = r.substring(1) + i.charAt(0), i = i.substring(1);
843
+ var p = e(o, r) + e(r, i);
844
+ p >= c && (c = p, a = o, f = r, h = i);
845
+ }
846
+ t[n - 1][1] != a && (a ? t[n - 1][1] = a : (t.splice(n - 1, 1), n--), t[n][1] = f, h ? t[n + 1][1] = h : (t.splice(n + 1, 1), n--));
847
+ }
848
+ n++;
849
+ }
850
+ };
851
+ d.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;
852
+ d.whitespaceRegex_ = /\s/;
853
+ d.linebreakRegex_ = /[\r\n]/;
854
+ d.blanklineEndRegex_ = /\n\r?\n$/;
855
+ d.blanklineStartRegex_ = /^\r?\n\r?\n/;
856
+ d.prototype.diff_cleanupEfficiency = function(t) {
857
+ for (var e = !1, n = [], o = 0, r = null, i = 0, s = !1, l = !1, a = !1, f = !1; i < t.length; ) t[i][0] == y ? (t[i][1].length < this.Diff_EditCost && (a || f) ? (n[o++] = i, s = a, l = f, r = t[i][1]) : (o = 0, r = null), a = f = !1) : (t[i][0] == I ? f = !0 : a = !0, r && (s && l && a && f || r.length < this.Diff_EditCost / 2 && s + l + a + f == 3) && (t.splice(n[o - 1], 0, new d.Diff(I, r)), t[n[o - 1] + 1][0] = R, o--, r = null, s && l ? (a = f = !0, o = 0) : (o--, i = o > 0 ? n[o - 1] : -1, a = f = !1), e = !0)), i++;
858
+ e && this.diff_cleanupMerge(t);
859
+ };
860
+ d.prototype.diff_cleanupMerge = function(t) {
861
+ t.push(new d.Diff(y, ""));
862
+ for (var e = 0, n = 0, o = 0, r = "", i = "", s; e < t.length; ) switch (t[e][0]) {
863
+ case R:
864
+ o++, i += t[e][1], e++;
865
+ break;
866
+ case I:
867
+ n++, r += t[e][1], e++;
868
+ break;
869
+ case y:
870
+ n + o > 1 ? (n !== 0 && o !== 0 && (s = this.diff_commonPrefix(i, r), s !== 0 && (e - n - o > 0 && t[e - n - o - 1][0] == y ? t[e - n - o - 1][1] += i.substring(0, s) : (t.splice(0, 0, new d.Diff(y, i.substring(0, s))), e++), i = i.substring(s), r = r.substring(s)), s = this.diff_commonSuffix(i, r), s !== 0 && (t[e][1] = i.substring(i.length - s) + t[e][1], i = i.substring(0, i.length - s), r = r.substring(0, r.length - s))), e -= n + o, t.splice(e, n + o), r.length && (t.splice(e, 0, new d.Diff(I, r)), e++), i.length && (t.splice(e, 0, new d.Diff(R, i)), e++), e++) : e !== 0 && t[e - 1][0] == y ? (t[e - 1][1] += t[e][1], t.splice(e, 1)) : e++, o = 0, n = 0, r = "", i = "";
871
+ break;
872
+ }
873
+ t[t.length - 1][1] === "" && t.pop();
874
+ var l = !1;
875
+ for (e = 1; e < t.length - 1; ) t[e - 1][0] == y && t[e + 1][0] == y && (t[e][1].substring(t[e][1].length - t[e - 1][1].length) == t[e - 1][1] ? (t[e][1] = t[e - 1][1] + t[e][1].substring(0, t[e][1].length - t[e - 1][1].length), t[e + 1][1] = t[e - 1][1] + t[e + 1][1], t.splice(e - 1, 1), l = !0) : t[e][1].substring(0, t[e + 1][1].length) == t[e + 1][1] && (t[e - 1][1] += t[e + 1][1], t[e][1] = t[e][1].substring(t[e + 1][1].length) + t[e + 1][1], t.splice(e + 1, 1), l = !0)), e++;
876
+ l && this.diff_cleanupMerge(t);
877
+ };
878
+ d.prototype.diff_cleanupSplitSurrogates = function(t) {
879
+ for (var e, n = 0; n < t.length; n++) {
880
+ var o = t[n], r = o[1][0], i = o[1][o[1].length - 1];
881
+ if (o[1].length === 0) {
882
+ t.splice(n--, 1);
883
+ continue;
884
+ }
885
+ if (i && this.isHighSurrogate(i) && (e = i, o[1] = o[1].slice(0, -1)), e && r && this.isHighSurrogate(e) && this.isLowSurrogate(r) && (o[1] = e + o[1]), o[1].length === 0) {
886
+ t.splice(n--, 1);
887
+ continue;
888
+ }
889
+ }
890
+ return t;
891
+ };
892
+ d.prototype.isHighSurrogate = function(t) {
893
+ var e = t.charCodeAt(0);
894
+ return e >= 55296 && e <= 56319;
895
+ };
896
+ d.prototype.isLowSurrogate = function(t) {
897
+ var e = t.charCodeAt(0);
898
+ return e >= 56320 && e <= 57343;
899
+ };
900
+ d.prototype.digit16 = function(t) {
901
+ switch (t) {
902
+ case "0":
903
+ return 0;
904
+ case "1":
905
+ return 1;
906
+ case "2":
907
+ return 2;
908
+ case "3":
909
+ return 3;
910
+ case "4":
911
+ return 4;
912
+ case "5":
913
+ return 5;
914
+ case "6":
915
+ return 6;
916
+ case "7":
917
+ return 7;
918
+ case "8":
919
+ return 8;
920
+ case "9":
921
+ return 9;
922
+ case "A":
923
+ case "a":
924
+ return 10;
925
+ case "B":
926
+ case "b":
927
+ return 11;
928
+ case "C":
929
+ case "c":
930
+ return 12;
931
+ case "D":
932
+ case "d":
933
+ return 13;
934
+ case "E":
935
+ case "e":
936
+ return 14;
937
+ case "F":
938
+ case "f":
939
+ return 15;
940
+ default:
941
+ throw new Error("Invalid hex-code");
942
+ }
943
+ };
944
+ d.prototype.decodeURI = function(t) {
945
+ try {
946
+ return decodeURI(t);
947
+ } catch {
948
+ for (var e = 0, n = ""; e < t.length; ) {
949
+ if (t[e] !== "%") {
950
+ n += t[e++];
951
+ continue;
952
+ }
953
+ var o = (this.digit16(t[e + 1]) << 4) + this.digit16(t[e + 2]);
954
+ if (!(o & 128)) {
955
+ n += String.fromCharCode(o), e += 3;
956
+ continue;
957
+ }
958
+ if (t[e + 3] !== "%") throw new URIError("URI malformed");
959
+ var r = (this.digit16(t[e + 4]) << 4) + this.digit16(t[e + 5]);
960
+ if ((r & 192) !== 128) throw new URIError("URI malformed");
961
+ if (r = r & 63, (o & 224) === 192) {
962
+ n += String.fromCharCode((o & 31) << 6 | r), e += 6;
963
+ continue;
964
+ }
965
+ if (t[e + 6] !== "%") throw new URIError("URI malformed");
966
+ var i = (this.digit16(t[e + 7]) << 4) + this.digit16(t[e + 8]);
967
+ if ((i & 192) !== 128) throw new URIError("URI malformed");
968
+ if (i = i & 63, (o & 240) === 224) {
969
+ n += String.fromCharCode((o & 15) << 12 | r << 6 | i), e += 9;
970
+ continue;
971
+ }
972
+ if (t[e + 9] !== "%") throw new URIError("URI malformed");
973
+ var s = (this.digit16(t[e + 10]) << 4) + this.digit16(t[e + 11]);
974
+ if ((s & 192) !== 128) throw new URIError("URI malformed");
975
+ if (s = s & 63, (o & 248) === 240) {
976
+ var l = (o & 7) << 18 | r << 12 | i << 6 | s;
977
+ if (l >= 65536 && l <= 1114111) {
978
+ n += String.fromCharCode((l & 65535) >>> 10 & 1023 | 55296), n += String.fromCharCode(56320 | l & 65535 & 1023), e += 12;
979
+ continue;
980
+ }
981
+ }
982
+ throw new URIError("URI malformed");
983
+ }
984
+ return n;
985
+ }
986
+ };
987
+ d.prototype.diff_xIndex = function(t, e) {
988
+ var n = 0, o = 0, r = 0, i = 0, s;
989
+ for (s = 0; s < t.length && (t[s][0] !== R && (n += t[s][1].length), t[s][0] !== I && (o += t[s][1].length), !(n > e)); s++) r = n, i = o;
990
+ return t.length != s && t[s][0] === I ? i : i + (e - r);
991
+ };
992
+ d.prototype.diff_prettyHtml = function(t) {
993
+ t = this.diff_cleanupSplitSurrogates(t);
994
+ for (var e = [], n = /&/g, o = /</g, r = />/g, i = /\n/g, s = 0; s < t.length; s++) {
995
+ var l = t[s][0], a = t[s][1], f = a.replace(n, "&amp;").replace(o, "&lt;").replace(r, "&gt;").replace(i, "&para;<br>");
996
+ switch (l) {
997
+ case R:
998
+ e[s] = '<ins style="background:#e6ffe6;">' + f + "</ins>";
999
+ break;
1000
+ case I:
1001
+ e[s] = '<del style="background:#ffe6e6;">' + f + "</del>";
1002
+ break;
1003
+ case y:
1004
+ e[s] = "<span>" + f + "</span>";
1005
+ break;
1006
+ }
1007
+ }
1008
+ return e.join("");
1009
+ };
1010
+ d.prototype.diff_text1 = function(t) {
1011
+ for (var e = [], n = 0; n < t.length; n++) t[n][0] !== R && (e[n] = t[n][1]);
1012
+ return e.join("");
1013
+ };
1014
+ d.prototype.diff_text2 = function(t) {
1015
+ for (var e = [], n = 0; n < t.length; n++) t[n][0] !== I && (e[n] = t[n][1]);
1016
+ return e.join("");
1017
+ };
1018
+ d.prototype.diff_levenshtein = function(t) {
1019
+ for (var e = 0, n = 0, o = 0, r = 0; r < t.length; r++) {
1020
+ var i = t[r][0], s = t[r][1];
1021
+ switch (i) {
1022
+ case R:
1023
+ n += s.length;
1024
+ break;
1025
+ case I:
1026
+ o += s.length;
1027
+ break;
1028
+ case y:
1029
+ e += Math.max(n, o), n = 0, o = 0;
1030
+ break;
1031
+ }
1032
+ }
1033
+ return e += Math.max(n, o), e;
1034
+ };
1035
+ d.prototype.diff_toDelta = function(t) {
1036
+ t = this.diff_cleanupSplitSurrogates(t);
1037
+ for (var e = [], n = 0; n < t.length; n++) switch (t[n][0]) {
1038
+ case R:
1039
+ e[n] = "+" + encodeURI(t[n][1]);
1040
+ break;
1041
+ case I:
1042
+ e[n] = "-" + t[n][1].length;
1043
+ break;
1044
+ case y:
1045
+ e[n] = "=" + t[n][1].length;
1046
+ break;
1047
+ }
1048
+ return e.join(" ").replace(/%20/g, " ");
1049
+ };
1050
+ d.prototype.diff_fromDelta = function(t, e) {
1051
+ for (var n = [], o = 0, r = 0, i = e.split(/\t/g), s = 0; s < i.length; s++) {
1052
+ var l = i[s].substring(1);
1053
+ switch (i[s].charAt(0)) {
1054
+ case "+":
1055
+ try {
1056
+ n[o++] = new d.Diff(R, this.decodeURI(l));
1057
+ } catch {
1058
+ throw new Error("Illegal escape in diff_fromDelta: " + l);
1059
+ }
1060
+ break;
1061
+ case "-":
1062
+ case "=":
1063
+ var a = parseInt(l, 10);
1064
+ if (isNaN(a) || a < 0) throw new Error("Invalid number in diff_fromDelta: " + l);
1065
+ var f = t.substring(r, r += a);
1066
+ i[s].charAt(0) == "=" ? n[o++] = new d.Diff(y, f) : n[o++] = new d.Diff(I, f);
1067
+ break;
1068
+ default:
1069
+ if (i[s]) throw new Error("Invalid diff operation in diff_fromDelta: " + i[s]);
1070
+ }
1071
+ }
1072
+ if (r != t.length) throw new Error("Delta length (" + r + ") does not equal source text length (" + t.length + ").");
1073
+ return n;
1074
+ };
1075
+ d.prototype.match_main = function(t, e, n) {
1076
+ if (t == null || e == null || n == null) throw new Error("Null input. (match_main)");
1077
+ return n = Math.max(0, Math.min(n, t.length)), t == e ? 0 : t.length ? t.substring(n, n + e.length) == e ? n : this.match_bitap_(t, e, n) : -1;
1078
+ };
1079
+ d.prototype.match_bitap_ = function(t, e, n) {
1080
+ if (e.length > this.Match_MaxBits) throw new Error("Pattern too long for this browser.");
1081
+ var o = this.match_alphabet_(e), r = this;
1082
+ function i(x, L) {
1083
+ var k = x / e.length, V = Math.abs(n - L);
1084
+ return r.Match_Distance ? k + V / r.Match_Distance : V ? 1 : k;
1085
+ }
1086
+ var s = this.Match_Threshold, l = t.indexOf(e, n);
1087
+ l != -1 && (s = Math.min(i(0, l), s), l = t.lastIndexOf(e, n + e.length), l != -1 && (s = Math.min(i(0, l), s)));
1088
+ var a = 1 << e.length - 1;
1089
+ l = -1;
1090
+ for (var f, h, c = e.length + t.length, p, m = 0; m < e.length; m++) {
1091
+ for (f = 0, h = c; f < h; ) i(m, n + h) <= s ? f = h : c = h, h = Math.floor((c - f) / 2 + f);
1092
+ c = h;
1093
+ var v = Math.max(1, n - h + 1), w = Math.min(n + h, t.length) + e.length, S = Array(w + 2);
1094
+ S[w + 1] = (1 << m) - 1;
1095
+ for (var b = w; b >= v; b--) {
1096
+ var C = o[t.charAt(b - 1)];
1097
+ if (m === 0 ? S[b] = (S[b + 1] << 1 | 1) & C : S[b] = (S[b + 1] << 1 | 1) & C | ((p[b + 1] | p[b]) << 1 | 1) | p[b + 1], S[b] & a) {
1098
+ var E = i(m, b - 1);
1099
+ if (E <= s) if (s = E, l = b - 1, l > n) v = Math.max(1, 2 * n - l);
1100
+ else break;
1101
+ }
1102
+ }
1103
+ if (i(m + 1, n) > s) break;
1104
+ p = S;
1105
+ }
1106
+ return l;
1107
+ };
1108
+ d.prototype.match_alphabet_ = function(t) {
1109
+ for (var e = {}, n = 0; n < t.length; n++) e[t.charAt(n)] = 0;
1110
+ for (var n = 0; n < t.length; n++) e[t.charAt(n)] |= 1 << t.length - n - 1;
1111
+ return e;
1112
+ };
1113
+ d.prototype.patch_addContext_ = function(t, e) {
1114
+ if (e.length != 0) {
1115
+ if (t.start2 === null) throw Error("patch not initialized");
1116
+ for (var n = e.substring(t.start2, t.start2 + t.length1), o = 0; e.indexOf(n) != e.lastIndexOf(n) && n.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; ) o += this.Patch_Margin, n = e.substring(t.start2 - o, t.start2 + t.length1 + o);
1117
+ o += this.Patch_Margin, t.start2 - o > 0 && d.prototype.isLowSurrogate(e[t.start2 - o]) && o++;
1118
+ var r = e.substring(t.start2 - o, t.start2);
1119
+ r && t.diffs.unshift(new d.Diff(y, r)), t.start2 + t.length1 + o < e.length && d.prototype.isHighSurrogate(e[t.start2 + t.length1 + o]) && o++;
1120
+ var i = e.substring(t.start2 + t.length1, t.start2 + t.length1 + o);
1121
+ i && t.diffs.push(new d.Diff(y, i)), t.start1 -= r.length, t.start2 -= r.length, t.length1 += r.length + i.length, t.length2 += r.length + i.length;
1122
+ }
1123
+ };
1124
+ d.prototype.patch_make = function(t, e, n) {
1125
+ var o, r;
1126
+ if (typeof t == "string" && typeof e == "string" && typeof n > "u") o = t, r = this.diff_main(o, e, !0), r.length > 2 && (this.diff_cleanupSemantic(r), this.diff_cleanupEfficiency(r));
1127
+ else if (t && typeof t == "object" && typeof e > "u" && typeof n > "u") r = t, o = this.diff_text1(r);
1128
+ else if (typeof t == "string" && e && typeof e == "object" && typeof n > "u") o = t, r = e;
1129
+ else if (typeof t == "string" && typeof e == "string" && n && typeof n == "object") o = t, r = n;
1130
+ else throw new Error("Unknown call format to patch_make.");
1131
+ if (r.length === 0) return [];
1132
+ r = this.diff_cleanupSplitSurrogates(r);
1133
+ for (var i = [], s = new d.patch_obj(), l = 0, a = 0, f = 0, h = o, c = o, p = 0; p < r.length; p++) {
1134
+ var m = r[p][0], v = r[p][1];
1135
+ switch (!l && m !== y && (s.start1 = a, s.start2 = f), m) {
1136
+ case R:
1137
+ s.diffs[l++] = r[p], s.length2 += v.length, c = c.substring(0, f) + v + c.substring(f);
1138
+ break;
1139
+ case I:
1140
+ s.length1 += v.length, s.diffs[l++] = r[p], c = c.substring(0, f) + c.substring(f + v.length);
1141
+ break;
1142
+ case y:
1143
+ v.length <= 2 * this.Patch_Margin && l && r.length != p + 1 ? (s.diffs[l++] = r[p], s.length1 += v.length, s.length2 += v.length) : v.length >= 2 * this.Patch_Margin && l && (this.patch_addContext_(s, h), i.push(s), s = new d.patch_obj(), l = 0, h = c, a = f);
1144
+ break;
1145
+ }
1146
+ m !== R && (a += v.length), m !== I && (f += v.length);
1147
+ }
1148
+ return l && (this.patch_addContext_(s, h), i.push(s)), i;
1149
+ };
1150
+ d.prototype.patch_deepCopy = function(t) {
1151
+ for (var e = [], n = 0; n < t.length; n++) {
1152
+ var o = t[n], r = new d.patch_obj();
1153
+ r.diffs = [];
1154
+ for (var i = 0; i < o.diffs.length; i++) r.diffs[i] = new d.Diff(o.diffs[i][0], o.diffs[i][1]);
1155
+ r.start1 = o.start1, r.start2 = o.start2, r.length1 = o.length1, r.length2 = o.length2, e[n] = r;
1156
+ }
1157
+ return e;
1158
+ };
1159
+ d.prototype.patch_apply = function(t, e) {
1160
+ if (t.length == 0) return [e, []];
1161
+ t = this.patch_deepCopy(t);
1162
+ var n = this.patch_addPadding(t);
1163
+ e = n + e + n, this.patch_splitMax(t);
1164
+ for (var o = 0, r = [], i = 0; i < t.length; i++) {
1165
+ var s = t[i].start2 + o, l = this.diff_text1(t[i].diffs), a, f = -1;
1166
+ if (l.length > this.Match_MaxBits ? (a = this.match_main(e, l.substring(0, this.Match_MaxBits), s), a != -1 && (f = this.match_main(e, l.substring(l.length - this.Match_MaxBits), s + l.length - this.Match_MaxBits), (f == -1 || a >= f) && (a = -1))) : a = this.match_main(e, l, s), a == -1) r[i] = !1, o -= t[i].length2 - t[i].length1;
1167
+ else {
1168
+ r[i] = !0, o = a - s;
1169
+ var h;
1170
+ if (f == -1 ? h = e.substring(a, a + l.length) : h = e.substring(a, f + this.Match_MaxBits), l == h) e = e.substring(0, a) + this.diff_text2(t[i].diffs) + e.substring(a + l.length);
1171
+ else {
1172
+ var c = this.diff_main(l, h, !1);
1173
+ if (l.length > this.Match_MaxBits && this.diff_levenshtein(c) / l.length > this.Patch_DeleteThreshold) r[i] = !1;
1174
+ else {
1175
+ this.diff_cleanupSemanticLossless(c);
1176
+ for (var p = 0, m, v = 0; v < t[i].diffs.length; v++) {
1177
+ var w = t[i].diffs[v];
1178
+ w[0] !== y && (m = this.diff_xIndex(c, p)), w[0] === R ? e = e.substring(0, a + m) + w[1] + e.substring(a + m) : w[0] === I && (e = e.substring(0, a + m) + e.substring(a + this.diff_xIndex(c, p + w[1].length))), w[0] !== I && (p += w[1].length);
1179
+ }
1180
+ }
1181
+ }
1182
+ }
1183
+ }
1184
+ return e = e.substring(n.length, e.length - n.length), [e, r];
1185
+ };
1186
+ d.prototype.patch_addPadding = function(t) {
1187
+ for (var e = this.Patch_Margin, n = "", o = 1; o <= e; o++) n += String.fromCharCode(o);
1188
+ for (var o = 0; o < t.length; o++) t[o].start1 += e, t[o].start2 += e;
1189
+ var r = t[0], i = r.diffs;
1190
+ if (i.length == 0 || i[0][0] != y) i.unshift(new d.Diff(y, n)), r.start1 -= e, r.start2 -= e, r.length1 += e, r.length2 += e;
1191
+ else if (e > i[0][1].length) {
1192
+ var s = e - i[0][1].length;
1193
+ i[0][1] = n.substring(i[0][1].length) + i[0][1], r.start1 -= s, r.start2 -= s, r.length1 += s, r.length2 += s;
1194
+ }
1195
+ if (r = t[t.length - 1], i = r.diffs, i.length == 0 || i[i.length - 1][0] != y) i.push(new d.Diff(y, n)), r.length1 += e, r.length2 += e;
1196
+ else if (e > i[i.length - 1][1].length) {
1197
+ var s = e - i[i.length - 1][1].length;
1198
+ i[i.length - 1][1] += n.substring(0, s), r.length1 += s, r.length2 += s;
1199
+ }
1200
+ return n;
1201
+ };
1202
+ d.prototype.patch_splitMax = function(t) {
1203
+ for (var e = this.Match_MaxBits, n = 0; n < t.length; n++) if (!(t[n].length1 <= e)) {
1204
+ var o = t[n];
1205
+ t.splice(n--, 1);
1206
+ for (var r = o.start1, i = o.start2, s = ""; o.diffs.length !== 0; ) {
1207
+ var l = new d.patch_obj(), a = !0;
1208
+ for (l.start1 = r - s.length, l.start2 = i - s.length, s !== "" && (l.length1 = l.length2 = s.length, l.diffs.push(new d.Diff(y, s))); o.diffs.length !== 0 && l.length1 < e - this.Patch_Margin; ) {
1209
+ var f = o.diffs[0][0], h = o.diffs[0][1];
1210
+ f === R ? (l.length2 += h.length, i += h.length, l.diffs.push(o.diffs.shift()), a = !1) : f === I && l.diffs.length == 1 && l.diffs[0][0] == y && h.length > 2 * e ? (l.length1 += h.length, r += h.length, a = !1, l.diffs.push(new d.Diff(f, h)), o.diffs.shift()) : (h = h.substring(0, e - l.length1 - this.Patch_Margin), l.length1 += h.length, r += h.length, f === y ? (l.length2 += h.length, i += h.length) : a = !1, l.diffs.push(new d.Diff(f, h)), h == o.diffs[0][1] ? o.diffs.shift() : o.diffs[0][1] = o.diffs[0][1].substring(h.length));
1211
+ }
1212
+ s = this.diff_text2(l.diffs), s = s.substring(s.length - this.Patch_Margin);
1213
+ var c = this.diff_text1(o.diffs).substring(0, this.Patch_Margin);
1214
+ c !== "" && (l.length1 += c.length, l.length2 += c.length, l.diffs.length !== 0 && l.diffs[l.diffs.length - 1][0] === y ? l.diffs[l.diffs.length - 1][1] += c : l.diffs.push(new d.Diff(y, c))), a || t.splice(++n, 0, l);
1215
+ }
1216
+ }
1217
+ };
1218
+ d.prototype.patch_toText = function(t) {
1219
+ for (var e = [], n = 0; n < t.length; n++) e[n] = t[n];
1220
+ return e.join("");
1221
+ };
1222
+ d.prototype.patch_fromText = function(t) {
1223
+ var e = [];
1224
+ if (!t) return e;
1225
+ for (var n = t.split(`
1226
+ `), o = 0, r = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; o < n.length; ) {
1227
+ var i = n[o].match(r);
1228
+ if (!i) throw new Error("Invalid patch string: " + n[o]);
1229
+ var s = new d.patch_obj();
1230
+ for (e.push(s), s.start1 = parseInt(i[1], 10), i[2] === "" ? (s.start1--, s.length1 = 1) : i[2] == "0" ? s.length1 = 0 : (s.start1--, s.length1 = parseInt(i[2], 10)), s.start2 = parseInt(i[3], 10), i[4] === "" ? (s.start2--, s.length2 = 1) : i[4] == "0" ? s.length2 = 0 : (s.start2--, s.length2 = parseInt(i[4], 10)), o++; o < n.length; ) {
1231
+ var l = n[o].charAt(0);
1232
+ try {
1233
+ var a = decodeURI(n[o].substring(1));
1234
+ } catch {
1235
+ throw new Error("Illegal escape in patch_fromText: " + a);
1236
+ }
1237
+ if (l == "-") s.diffs.push(new d.Diff(I, a));
1238
+ else if (l == "+") s.diffs.push(new d.Diff(R, a));
1239
+ else if (l == " ") s.diffs.push(new d.Diff(y, a));
1240
+ else {
1241
+ if (l == "@") break;
1242
+ if (l !== "") throw new Error('Invalid patch mode "' + l + '" in: ' + a);
1243
+ }
1244
+ o++;
1245
+ }
1246
+ }
1247
+ return e;
1248
+ };
1249
+ d.patch_obj = function() {
1250
+ this.diffs = [], this.start1 = null, this.start2 = null, this.length1 = 0, this.length2 = 0;
1251
+ };
1252
+ d.patch_obj.prototype.toString = function() {
1253
+ var t, e;
1254
+ this.length1 === 0 ? t = this.start1 + ",0" : this.length1 == 1 ? t = this.start1 + 1 : t = this.start1 + 1 + "," + this.length1, this.length2 === 0 ? e = this.start2 + ",0" : this.length2 == 1 ? e = this.start2 + 1 : e = this.start2 + 1 + "," + this.length2;
1255
+ var n = ["@@ -" + t + " +" + e + ` @@
1256
+ `], o;
1257
+ d.prototype.diff_cleanupSplitSurrogates(this.diffs);
1258
+ for (var r = 0; r < this.diffs.length; r++) {
1259
+ switch (this.diffs[r][0]) {
1260
+ case R:
1261
+ o = "+";
1262
+ break;
1263
+ case I:
1264
+ o = "-";
1265
+ break;
1266
+ case y:
1267
+ o = " ";
1268
+ break;
1269
+ }
1270
+ n[r + 1] = o + encodeURI(this.diffs[r][1]) + `
1271
+ `;
1272
+ }
1273
+ return n.join("").replace(/%20/g, " ");
1274
+ };
1275
+ function z(t) {
1276
+ return t && typeof t == "object" && !Array.isArray(t) && t !== null;
1277
+ }
1278
+ function Q(t, e) {
1279
+ return z(t) && z(e) && Object.keys(e).forEach((n) => {
1280
+ z(e[n]) ? ((!t[n] || !z(t[n])) && (t[n] = e[n]), Q(t[n], e[n])) : Object.assign(t, { [n]: e[n] });
1281
+ }), t;
1282
+ }
1283
+ function X(t, e, n = !1) {
1284
+ let o = null, r = !0;
1285
+ return (...i) => {
1286
+ const s = n && r, l = () => {
1287
+ t.apply(this, i), o = null;
1288
+ };
1289
+ s && (r = !1, l()), o || (o = setTimeout(l, e));
1290
+ };
1291
+ }
1292
+ function Wt(t, e) {
1293
+ let n;
1294
+ return (...o) => {
1295
+ const r = this;
1296
+ clearTimeout(n), n = setTimeout(() => t.apply(r, o), e);
1297
+ };
1298
+ }
1299
+ function Z(t = "") {
1300
+ return t.replace(/\r\n/g, `
1301
+ `);
1302
+ }
1303
+ function tt(t, e, n, o) {
1304
+ const r = n - t, i = t + r / 2;
1305
+ return `M ${t} ${e} C ${i},${e} ${i},${o} ${n},${o}`;
1306
+ }
1307
+ const M = { DIFF_EQUAL: 0, DIFF_DELETE: -1, DIFF_INSERT: 1, EDITOR_RIGHT: "right", EDITOR_LEFT: "left", RTL: "rtl", LTR: "ltr", SVG_NS: "http://www.w3.org/2000/svg", DIFF_GRANULARITY_SPECIFIC: "specific", DIFF_GRANULARITY_BROAD: "broad" };
1308
+ function et(t, e) {
1309
+ let { mode: n } = t.options;
1310
+ return e === M.EDITOR_LEFT && t.options.left.mode !== null && (n = t.options.left.mode), e === M.EDITOR_RIGHT && t.options.right.mode !== null && (n = t.options.right.mode), n;
1311
+ }
1312
+ function nt(t, e) {
1313
+ let { theme: n } = t.options;
1314
+ return e === M.EDITOR_LEFT && t.options.left.theme !== null && (n = t.options.left.theme), e === M.EDITOR_RIGHT && t.options.right.theme !== null && (n = t.options.right.theme), n;
1315
+ }
1316
+ function ut(t, e) {
1317
+ return t.ace.getSession().doc.getLine(e);
1318
+ }
1319
+ function Jt(t) {
1320
+ return document.getElementById(t.options.left.id).offsetHeight;
1321
+ }
1322
+ function it(t) {
1323
+ const e = document.createElement("div"), n = { class: t.className, style: `top:${t.topOffset}px`, title: t.tooltip, "data-diff-index": t.diffIndex };
1324
+ for (const o in n) e.setAttribute(o, n[o]);
1325
+ return e.innerHTML = t.arrowContent, e;
1326
+ }
1327
+ function K(t, e) {
1328
+ const n = Math.random().toString(36).substr(2, 5), o = `js-${e}-${n}`, r = t.querySelector(`.${e}`);
1329
+ if (r) return r.id = r.id || o, r.id;
1330
+ const i = document.createElement("div");
1331
+ return t.appendChild(i), i.className = e, i.id = o, i.id;
1332
+ }
1333
+ function ot(t, e, n, o) {
1334
+ const r = t === "document" ? document : document.querySelector(t);
1335
+ r.addEventListener(e, (i) => {
1336
+ const s = r.querySelectorAll(n), { target: l } = i;
1337
+ for (let a = 0, f = s.length; a < f; a += 1) {
1338
+ let h = l;
1339
+ const c = s[a];
1340
+ for (; h && h !== r; ) h === c && o.call(c, i), h = h.parentNode;
1341
+ }
1342
+ });
1343
+ }
1344
+ let W;
1345
+ function Kt(t) {
1346
+ if (t.Range) return t.Range;
1347
+ const e = t.acequire || t.require;
1348
+ return e ? e("ace/range") : !1;
1349
+ }
1350
+ function J(t = {}) {
1351
+ if (!(this instanceof J)) return new J(t);
1352
+ const e = this, n = () => window ? window.ace : void 0;
1353
+ e.options = Q({ ace: n(), mode: null, theme: null, element: null, diffGranularity: M.DIFF_GRANULARITY_BROAD, lockScrolling: !1, showDiffs: !0, showConnectors: !0, maxDiffs: 5e3, left: { id: null, content: null, mode: null, theme: null, editable: !0, copyLinkEnabled: !0 }, right: { id: null, content: null, mode: null, theme: null, editable: !0, copyLinkEnabled: !0 }, classes: { gutterID: "acediff__gutter", diff: "acediff__diffLine", connector: "acediff__connector", newCodeConnectorLink: "acediff__newCodeConnector", newCodeConnectorLinkContent: "&#8594;", deletedCodeConnectorLink: "acediff__deletedCodeConnector", deletedCodeConnectorLinkContent: "&#8592;", copyRightContainer: "acediff__copy--right", copyLeftContainer: "acediff__copy--left" }, connectorYOffset: 0 }, t);
1354
+ const { ace: o } = e.options;
1355
+ if (!o) {
1356
+ const r = "No ace editor found nor supplied - `options.ace` or `window.ace` is missing";
1357
+ return console.error(r), new Error(r);
1358
+ }
1359
+ if (W = Kt(o), !W) {
1360
+ const r = "Could not require Range module for Ace. Depends on your bundling strategy, but it usually comes with Ace itself. See https://ace.c9.io/api/range.html, open an issue on GitHub ace-diff/ace-diff";
1361
+ return console.error(r), new Error(r);
1362
+ }
1363
+ if (e.options.element === null) {
1364
+ const r = "You need to specify an element for Ace-diff - `options.element` is missing";
1365
+ return console.error(r), new Error(r);
1366
+ }
1367
+ if (e.options.element instanceof HTMLElement ? e.el = e.options.element : e.el = document.body.querySelector(e.options.element), !e.el) {
1368
+ const r = `Can't find the specified element ${e.options.element}`;
1369
+ return console.error(r), new Error(r);
1370
+ }
1371
+ e.options.left.id = K(e.el, "acediff__left"), e.options.classes.gutterID = K(e.el, "acediff__gutter"), e.options.right.id = K(e.el, "acediff__right"), e.el.innerHTML = `<div class="acediff__wrap">${e.el.innerHTML}</div>`, e.editors = { left: { ace: o.edit(e.options.left.id), markers: [], lineLengths: [] }, right: { ace: o.edit(e.options.right.id), markers: [], lineLengths: [] }, editorHeight: null }, e.editors.left.ace.getSession().setMode(et(e, M.EDITOR_LEFT)), e.editors.right.ace.getSession().setMode(et(e, M.EDITOR_RIGHT)), e.editors.left.ace.setReadOnly(!e.options.left.editable), e.editors.right.ace.setReadOnly(!e.options.right.editable), e.editors.left.ace.setTheme(nt(e, M.EDITOR_LEFT)), e.editors.right.ace.setTheme(nt(e, M.EDITOR_RIGHT)), e.editors.left.ace.setValue(Z(e.options.left.content), -1), e.editors.right.ace.setValue(Z(e.options.right.content), -1), e.editors.editorHeight = Jt(e), setTimeout(() => {
1372
+ e.lineHeight = e.editors.left.ace.renderer.lineHeight, Qt(e), ee(e), mt(e), e.diff();
1373
+ }, 1);
1374
+ }
1375
+ J.prototype = { setOptions(t) {
1376
+ Q(this.options, t), this.diff();
1377
+ }, getNumDiffs() {
1378
+ return this.diffs.length;
1379
+ }, getEditors() {
1380
+ return { left: this.editors.left.ace, right: this.editors.right.ace };
1381
+ }, diff() {
1382
+ const t = new d(), e = this.editors.left.ace.getSession().getValue(), n = this.editors.right.ace.getSession().getValue(), o = t.diff_main(n, e);
1383
+ t.diff_cleanupSemantic(o), this.editors.left.lineLengths = st(this.editors.left), this.editors.right.lineLengths = st(this.editors.right);
1384
+ const r = [], i = { left: 0, right: 0 };
1385
+ o.forEach((s) => {
1386
+ const l = s[0];
1387
+ let a = s[1];
1388
+ a.length !== 0 && (l === M.DIFF_EQUAL ? (i.left += a.length, i.right += a.length) : l === M.DIFF_DELETE ? (r.push(ft(this, M.DIFF_DELETE, i.left, i.right, a)), i.right += a.length) : l === M.DIFF_INSERT && (r.push(ft(this, M.DIFF_INSERT, i.left, i.right, a)), i.left += a.length));
1389
+ }, this), this.diffs = oe(this, r), !(this.diffs.length > this.options.maxDiffs) && (pt(this), _t(this));
1390
+ }, destroy() {
1391
+ const t = this.editors.left.ace.getValue();
1392
+ this.editors.left.ace.destroy();
1393
+ let e = this.editors.left.ace.container, n = e.cloneNode(!1);
1394
+ n.textContent = t, e.parentNode.replaceChild(n, e);
1395
+ const o = this.editors.right.ace.getValue();
1396
+ this.editors.right.ace.destroy(), e = this.editors.right.ace.container, n = e.cloneNode(!1), n.textContent = o, e.parentNode.replaceChild(n, e), document.getElementById(this.options.classes.gutterID).innerHTML = "", gt();
1397
+ } };
1398
+ let gt = () => {
1399
+ };
1400
+ function Qt(t) {
1401
+ t.editors.left.ace.getSession().on("changeScrollTop", X(() => {
1402
+ at(t);
1403
+ }, 16)), t.editors.right.ace.getSession().on("changeScrollTop", X(() => {
1404
+ at(t);
1405
+ }, 16));
1406
+ const e = t.diff.bind(t);
1407
+ t.editors.left.ace.on("change", e), t.editors.right.ace.on("change", e), t.options.left.copyLinkEnabled && ot(`#${t.options.classes.gutterID}`, "click", `.${t.options.classes.newCodeConnectorLink}`, (o) => {
1408
+ rt(t, o, M.LTR);
1409
+ }), t.options.right.copyLinkEnabled && ot(`#${t.options.classes.gutterID}`, "click", `.${t.options.classes.deletedCodeConnectorLink}`, (o) => {
1410
+ rt(t, o, M.RTL);
1411
+ });
1412
+ const n = Wt(() => {
1413
+ t.editors.availableHeight = document.getElementById(t.options.left.id).offsetHeight, t.diff();
1414
+ }, 250);
1415
+ window.addEventListener("resize", n), gt = () => {
1416
+ window.removeEventListener("resize", n);
1417
+ };
1418
+ }
1419
+ function rt(t, e, n) {
1420
+ const o = parseInt(e.target.getAttribute("data-diff-index"), 10), r = t.diffs[o];
1421
+ let i, s, l, a, f, h;
1422
+ n === M.LTR ? (i = t.editors.left, s = t.editors.right, l = r.leftStartLine, a = r.leftEndLine, f = r.rightStartLine, h = r.rightEndLine) : (i = t.editors.right, s = t.editors.left, l = r.rightStartLine, a = r.rightEndLine, f = r.leftStartLine, h = r.leftEndLine);
1423
+ let c = "";
1424
+ for (let m = l; m < a; m += 1) c += ut(i, m), m === l && c === "" && f != 0 && (c += `
1425
+ `), m < i.ace.getSession().getLength() - 1 && (c += `
1426
+ `);
1427
+ const p = s.ace.getSession().getScrollTop();
1428
+ s.ace.getSession().replace(new W(f, 0, h, 0), c), s.ace.getSession().setScrollTop(parseInt(p, 10)), t.diff();
1429
+ }
1430
+ function st(t) {
1431
+ const e = t.ace.getSession().doc.getAllLines(), n = [];
1432
+ return e.forEach((o) => {
1433
+ n.push(o.length + 1);
1434
+ }), n;
1435
+ }
1436
+ function lt(t, e, n, o, r) {
1437
+ const i = t.editors[e];
1438
+ o < n && (o = n);
1439
+ const s = `${r} ${o > n ? "lines" : "targetOnly"}`;
1440
+ o > n && (o -= 1), i.markers.push(i.ace.session.addMarker(new W(n, 0, o, 1), s, "fullLine"));
1441
+ }
1442
+ function at(t) {
1443
+ pt(t), _t(t), te(t);
1444
+ }
1445
+ function pt(t) {
1446
+ t.editors.left.markers.forEach((e) => {
1447
+ t.editors.left.ace.getSession().removeMarker(e);
1448
+ }, t), t.editors.right.markers.forEach((e) => {
1449
+ t.editors.right.ace.getSession().removeMarker(e);
1450
+ }, t);
1451
+ }
1452
+ function Xt(t, e, n, o, r) {
1453
+ const i = t.editors.left.ace.getSession().getScrollTop(), s = t.editors.right.ace.getSession().getScrollTop();
1454
+ t.connectorYOffset = 1;
1455
+ const l = -1, a = e * t.lineHeight - i + 0.5, f = t.gutterWidth + 1, h = o * t.lineHeight - s + 0.5, c = -1, p = n * t.lineHeight - i + t.connectorYOffset + 0.5, m = t.gutterWidth + 1, v = r * t.lineHeight - s + t.connectorYOffset + 0.5, w = tt(l, a, f, h), S = tt(m, v, c, p), b = `L${f},${h} ${m},${v}`, C = `L${c},${p} ${l},${a}`, E = `${w} ${b} ${S} ${C}`, x = document.createElementNS(M.SVG_NS, "path");
1456
+ x.setAttribute("d", E), x.setAttribute("class", t.options.classes.connector), t.gutterSVG.appendChild(x);
1457
+ }
1458
+ function Zt(t, e, n) {
1459
+ if (e.leftEndLine > e.leftStartLine && t.options.left.copyLinkEnabled) {
1460
+ const o = it({ className: t.options.classes.newCodeConnectorLink, topOffset: e.leftStartLine * t.lineHeight, tooltip: "Copy to right", diffIndex: n, arrowContent: t.options.classes.newCodeConnectorLinkContent });
1461
+ t.copyRightContainer.appendChild(o);
1462
+ }
1463
+ if (e.rightEndLine > e.rightStartLine && t.options.right.copyLinkEnabled) {
1464
+ const o = it({ className: t.options.classes.deletedCodeConnectorLink, topOffset: e.rightStartLine * t.lineHeight, tooltip: "Copy to left", diffIndex: n, arrowContent: t.options.classes.deletedCodeConnectorLinkContent });
1465
+ t.copyLeftContainer.appendChild(o);
1466
+ }
1467
+ }
1468
+ function te(t) {
1469
+ const e = t.editors.left.ace.getSession().getScrollTop(), n = t.editors.right.ace.getSession().getScrollTop();
1470
+ t.copyRightContainer.style.cssText = `top: ${-e}px`, t.copyLeftContainer.style.cssText = `top: ${-n}px`;
1471
+ }
1472
+ function ft(t, e, n, o, r) {
1473
+ let i = {};
1474
+ if (e === M.DIFF_INSERT) {
1475
+ let s = ht(t.editors.left, n, r), l = dt(t.editors.right, o), a = $(t.editors.right, l);
1476
+ const f = $(t.editors.left, s.startLine);
1477
+ let h = l, c = s.startLine === s.endLine, p = 0;
1478
+ (s.startChar > 0 || c && r.length < f) && a > 0 && s.startChar < f && p++, i = { leftStartLine: s.startLine, leftEndLine: s.endLine + 1, rightStartLine: h, rightEndLine: h + p };
1479
+ } else {
1480
+ let s = ht(t.editors.right, o, r), l = dt(t.editors.left, n), a = $(t.editors.left, l);
1481
+ const f = $(t.editors.right, s.startLine);
1482
+ let h = l, c = s.startLine === s.endLine, p = 0;
1483
+ (s.startChar > 0 || c && r.length < f) && a > 0 && s.startChar < f && p++, i = { leftStartLine: h, leftEndLine: h + p, rightStartLine: s.startLine, rightEndLine: s.endLine + 1 };
1484
+ }
1485
+ return i;
1486
+ }
1487
+ function ht(t, e, n) {
1488
+ const o = { startLine: 0, startChar: 0, endLine: 0, endChar: 0 }, r = e + n.length;
1489
+ let i = 0, s = !1, l = !1;
1490
+ t.lineLengths.forEach((f, h) => {
1491
+ i += f, !s && e < i && (o.startLine = h, o.startChar = e - i + f, s = !0), !l && r <= i && (o.endLine = h, o.endChar = r - i + f, l = !0);
1492
+ }), o.startChar > 0 && $(t, o.startLine) === o.startChar && (o.startLine++, o.startChar = 0), o.endChar === 0 && o.endLine--;
1493
+ const a = /\n$/.test(n);
1494
+ return o.startChar > 0 && a && o.endLine++, o;
1495
+ }
1496
+ function $(t, e) {
1497
+ return ut(t, e).length;
1498
+ }
1499
+ function dt(t, e) {
1500
+ const n = t.ace.getSession().doc.getAllLines();
1501
+ let o = 0, r = 0;
1502
+ for (let i = 0; i < n.length; i += 1) if (r += n[i].length + 1, e < r) {
1503
+ o = i;
1504
+ break;
1505
+ }
1506
+ return r > t.ace.getSession().getValue().length && (o += 1), o;
1507
+ }
1508
+ function mt(t) {
1509
+ t.gutterHeight = document.getElementById(t.options.classes.gutterID).clientHeight, t.gutterWidth = document.getElementById(t.options.classes.gutterID).clientWidth;
1510
+ const e = ct(t, M.EDITOR_LEFT), n = ct(t, M.EDITOR_RIGHT), o = Math.max(e, n, t.gutterHeight);
1511
+ t.gutterSVG = document.createElementNS(M.SVG_NS, "svg"), t.gutterSVG.setAttribute("width", t.gutterWidth), t.gutterSVG.setAttribute("height", o), document.getElementById(t.options.classes.gutterID).appendChild(t.gutterSVG);
1512
+ }
1513
+ function ct(t, e) {
1514
+ return (e === M.EDITOR_LEFT ? t.editors.left : t.editors.right).ace.getSession().getLength() * t.lineHeight;
1515
+ }
1516
+ function ee(t) {
1517
+ t.copyRightContainer = document.createElement("div"), t.copyRightContainer.setAttribute("class", t.options.classes.copyRightContainer), t.copyLeftContainer = document.createElement("div"), t.copyLeftContainer.setAttribute("class", t.options.classes.copyLeftContainer), document.getElementById(t.options.classes.gutterID).appendChild(t.copyRightContainer), document.getElementById(t.options.classes.gutterID).appendChild(t.copyLeftContainer);
1518
+ }
1519
+ function ne(t) {
1520
+ document.getElementById(t.options.classes.gutterID).removeChild(t.gutterSVG), mt(t);
1521
+ }
1522
+ function ie(t) {
1523
+ t.copyLeftContainer.innerHTML = "", t.copyRightContainer.innerHTML = "";
1524
+ }
1525
+ function oe(t, e) {
1526
+ const n = [];
1527
+ function o(i) {
1528
+ return t.options.diffGranularity === M.DIFF_GRANULARITY_SPECIFIC ? i < 1 : i <= 1;
1529
+ }
1530
+ e.forEach((i, s) => {
1531
+ if (s === 0) {
1532
+ n.push(i);
1533
+ return;
1534
+ }
1535
+ let l = !1;
1536
+ for (let a = 0; a < n.length; a += 1) if (o(Math.abs(i.leftStartLine - n[a].leftEndLine)) && o(Math.abs(i.rightStartLine - n[a].rightEndLine))) {
1537
+ n[a].leftStartLine = Math.min(i.leftStartLine, n[a].leftStartLine), n[a].rightStartLine = Math.min(i.rightStartLine, n[a].rightStartLine), n[a].leftEndLine = Math.max(i.leftEndLine, n[a].leftEndLine), n[a].rightEndLine = Math.max(i.rightEndLine, n[a].rightEndLine), l = !0;
1538
+ break;
1539
+ }
1540
+ l || n.push(i);
1541
+ });
1542
+ const r = [];
1543
+ return n.forEach((i) => {
1544
+ i.leftStartLine === i.leftEndLine && i.rightStartLine === i.rightEndLine || r.push(i);
1545
+ }), r;
1546
+ }
1547
+ function _t(t) {
1548
+ ne(t), ie(t), t.diffs.forEach((e, n) => {
1549
+ t.options.showDiffs && (lt(t, M.EDITOR_LEFT, e.leftStartLine, e.leftEndLine, t.options.classes.diff), lt(t, M.EDITOR_RIGHT, e.rightStartLine, e.rightEndLine, t.options.classes.diff), t.options.showConnectors && Xt(t, e.leftStartLine, e.leftEndLine, e.rightStartLine, e.rightEndLine), Zt(t, e, n));
1550
+ }, t);
1551
+ }
1552
+ const re = {
1553
+ props: {
1554
+ pluginName: {
1555
+ type: String,
1556
+ required: !0
1557
+ },
1558
+ variables: {
1559
+ type: Object,
1560
+ required: !0
1561
+ },
1562
+ pluginTxt: {
1563
+ type: String,
1564
+ required: !0
1565
+ },
1566
+ existingPluginTxt: {
1567
+ type: String,
1568
+ required: !1
1569
+ },
1570
+ modelValue: Boolean
1571
+ // modelValue is the default prop when using v-model
1572
+ },
1573
+ data() {
1574
+ return {
1575
+ tab: 0,
1576
+ localVariables: [],
1577
+ localPluginTxt: "",
1578
+ localExistingPluginTxt: null,
1579
+ editor: null,
1580
+ differ: null
1581
+ };
1582
+ },
1583
+ mounted() {
1584
+ const t = this.buildPluginMode();
1585
+ this.existingPluginTxt === null ? (this.editor = P.edit(this.$refs.editor), this.editor.setTheme("ace/theme/twilight"), this.editor.session.setMode(new t()), this.editor.session.setTabSize(2), this.editor.session.setUseWrapMode(!0), this.editor.$blockScrolling = 1 / 0, this.editor.setHighlightActiveLine(!1), this.editor.setValue(this.localPluginTxt), this.editor.clearSelection(), this.editor.focus()) : (this.tab = 1, this.differ = new J({
1586
+ element: this.$refs.editor,
1587
+ mode: new t(),
1588
+ theme: "ace/theme/twilight",
1589
+ left: {
1590
+ content: this.localExistingPluginTxt,
1591
+ copyLinkEnabled: !1
1592
+ },
1593
+ right: {
1594
+ content: this.localPluginTxt,
1595
+ editable: !1
1596
+ }
1597
+ }), this.differ.getEditors().left.setFontSize(16), this.differ.getEditors().right.setFontSize(16), this.curDiff = -1);
1598
+ },
1599
+ beforeUnmount() {
1600
+ this.editor && this.editor.destroy(), this.differ && this.differ.destroy();
1601
+ },
1602
+ computed: {
1603
+ show: {
1604
+ get() {
1605
+ return this.modelValue;
1606
+ },
1607
+ set(t) {
1608
+ this.$emit("update:modelValue", t);
1609
+ }
1610
+ }
1611
+ },
1612
+ watch: {
1613
+ value: {
1614
+ immediate: !0,
1615
+ handler: function() {
1616
+ this.localVariables = JSON.parse(JSON.stringify(this.variables)), this.localPluginTxt = this.pluginTxt.slice(), this.existingPluginTxt !== null && (this.localExistingPluginTxt = this.existingPluginTxt.slice());
1617
+ }
1618
+ }
1619
+ },
1620
+ methods: {
1621
+ previousDiff() {
1622
+ this.curDiff--, this.curDiff < 0 && (this.curDiff = this.differ.diffs.length - 1), this.scrollToCurDiff();
1623
+ },
1624
+ nextDiff() {
1625
+ this.curDiff++, this.curDiff >= this.differ.diffs.length && (this.curDiff = 0), this.scrollToCurDiff();
1626
+ },
1627
+ scrollToCurDiff() {
1628
+ if (this.differ.diffs.length === 0) return;
1629
+ let t = this.differ.diffs[this.curDiff].leftStartLine, e = this.differ.diffs[this.curDiff].rightStartLine;
1630
+ t > 5 && (t -= 5), e > 5 && (e -= 5), this.differ.getEditors().left.scrollToLine(t), this.differ.getEditors().right.scrollToLine(e);
1631
+ },
1632
+ buildPluginMode() {
1633
+ let t = P.require("ace/lib/oop"), e = P.require(
1634
+ "ace/mode/ruby_highlight_rules"
1635
+ ).RubyHighlightRules, n = ["VARIABLE"], o = new RegExp(`(\\b${n.join("\\b|\\b")}\\b)`), r = function() {
1636
+ e.call(this);
1637
+ for (let h in this.$rules)
1638
+ this.$rules[h].unshift({
1639
+ regex: o,
1640
+ token: "support.function"
1641
+ });
1642
+ };
1643
+ t.inherits(r, e);
1644
+ let i = P.require(
1645
+ "ace/mode/matching_brace_outdent"
1646
+ ).MatchingBraceOutdent, s = P.require(
1647
+ "ace/mode/behaviour/cstyle"
1648
+ ).CstyleBehaviour, l = P.require("ace/mode/folding/ruby").FoldMode, a = function() {
1649
+ this.HighlightRules = r, this.$outdent = new i(), this.$behaviour = new s(), this.foldingRules = new l(), this.indentKeywords = this.foldingRules.indentKeywords;
1650
+ }, f = P.require("ace/mode/ruby").Mode;
1651
+ return t.inherits(a, f), (function() {
1652
+ this.$id = "ace/mode/openc3";
1653
+ }).call(a.prototype), a;
1654
+ },
1655
+ submit: function() {
1656
+ this.existingPluginTxt === null ? this.emitSubmit(this.editor.getValue().split(`
1657
+ `)) : this.differ.diffs.length === 0 ? this.emitSubmit(this.differ.getEditors().left.getValue().split(`
1658
+ `)) : this.$dialog.confirm(
1659
+ "Diffs still detected! Install using 'Existing plugin.txt' (left) and ignore additional changes in the new plugin.txt (right)?",
1660
+ {
1661
+ okText: "Install",
1662
+ cancelText: "Cancel"
1663
+ }
1664
+ ).then((t) => {
1665
+ this.emitSubmit(
1666
+ this.differ.getEditors().left.getValue().split(`
1667
+ `)
1668
+ );
1669
+ }).catch((t) => {
1670
+ });
1671
+ },
1672
+ emitSubmit(t) {
1673
+ let e = {
1674
+ name: this.pluginName,
1675
+ variables: St(this.localVariables),
1676
+ plugin_txt_lines: t
1677
+ };
1678
+ this.$emit("callback", e);
1679
+ },
1680
+ close: function() {
1681
+ this.show = !this.show;
1682
+ }
1683
+ }
1684
+ }, se = { style: { flex: "1" } }, le = { class: "pa-3" }, ae = {
1685
+ ref: "editor",
1686
+ class: "editor"
1687
+ }, fe = {
1688
+ ref: "editor",
1689
+ class: "editor"
1690
+ }, he = { key: 0 };
1691
+ function de(t, e, n, o, r, i) {
1692
+ const s = _("v-card-title"), l = _("v-icon"), a = _("v-row"), f = _("v-tab"), h = _("v-tabs"), c = _("v-text-field"), p = _("v-col"), m = _("v-window-item"), v = _("v-window"), w = _("v-btn"), S = _("v-spacer"), b = _("v-card-actions"), C = _("v-card-text"), E = _("v-card"), x = _("v-dialog");
1693
+ return D(), N(x, {
1694
+ persistent: "",
1695
+ modelValue: i.show,
1696
+ "onUpdate:modelValue": e[3] || (e[3] = (L) => i.show = L),
1697
+ width: "80vw"
1698
+ }, {
1699
+ default: u(() => [
1700
+ g(E, null, {
1701
+ default: u(() => [
1702
+ g(C, null, {
1703
+ default: u(() => [
1704
+ g(s, null, {
1705
+ default: u(() => [
1706
+ T(H(n.pluginName), 1)
1707
+ ]),
1708
+ _: 1
1709
+ }),
1710
+ n.existingPluginTxt !== null ? (D(), N(a, {
1711
+ key: 0,
1712
+ class: "notice d-flex flex-row"
1713
+ }, {
1714
+ default: u(() => [
1715
+ g(l, {
1716
+ size: "x-large",
1717
+ start: "",
1718
+ color: "yellow"
1719
+ }, {
1720
+ default: u(() => e[4] || (e[4] = [
1721
+ T(" mdi-alert-box ")
1722
+ ])),
1723
+ _: 1
1724
+ }),
1725
+ A("div", se, " The existing plugin.txt is different from the " + H(n.pluginName) + "'s plugin.txt. Navigate the diffs making whatever edits you want before installing. You may want to update " + H(n.pluginName) + "'s plugin.txt going forward. ", 1)
1726
+ ]),
1727
+ _: 1
1728
+ })) : j("", !0),
1729
+ g(a, { class: "pb-3 pr-3" }, {
1730
+ default: u(() => [
1731
+ g(h, {
1732
+ modelValue: r.tab,
1733
+ "onUpdate:modelValue": e[0] || (e[0] = (L) => r.tab = L),
1734
+ class: "ml-3"
1735
+ }, {
1736
+ default: u(() => [
1737
+ (D(), N(f, { key: 0 }, {
1738
+ default: u(() => e[5] || (e[5] = [
1739
+ T(" Variables ")
1740
+ ])),
1741
+ _: 1
1742
+ })),
1743
+ (D(), N(f, { key: 1 }, {
1744
+ default: u(() => e[6] || (e[6] = [
1745
+ T(" plugin.txt ")
1746
+ ])),
1747
+ _: 1
1748
+ }))
1749
+ ]),
1750
+ _: 1
1751
+ }, 8, ["modelValue"])
1752
+ ]),
1753
+ _: 1
1754
+ }),
1755
+ A("form", {
1756
+ onSubmit: e[2] || (e[2] = Y((...L) => t.onSubmit && t.onSubmit(...L), ["prevent"]))
1757
+ }, [
1758
+ g(v, {
1759
+ modelValue: r.tab,
1760
+ "onUpdate:modelValue": e[1] || (e[1] = (L) => r.tab = L)
1761
+ }, {
1762
+ default: u(() => [
1763
+ (D(), N(m, {
1764
+ key: 0,
1765
+ eager: "true",
1766
+ class: "tab"
1767
+ }, {
1768
+ default: u(() => [
1769
+ A("div", le, [
1770
+ g(a, { class: "mt-3" }, {
1771
+ default: u(() => [
1772
+ (D(!0), F(B, null, G(r.localVariables, (L, k) => (D(), F("div", { key: k }, [
1773
+ g(p, { style: { width: "220px" } }, {
1774
+ default: u(() => [
1775
+ g(c, {
1776
+ clearable: "",
1777
+ type: "text",
1778
+ label: k,
1779
+ modelValue: r.localVariables[k],
1780
+ "onUpdate:modelValue": (V) => r.localVariables[k] = V
1781
+ }, null, 8, ["label", "modelValue", "onUpdate:modelValue"])
1782
+ ]),
1783
+ _: 2
1784
+ }, 1024)
1785
+ ]))), 128))
1786
+ ]),
1787
+ _: 1
1788
+ })
1789
+ ])
1790
+ ]),
1791
+ _: 1
1792
+ })),
1793
+ n.existingPluginTxt === null ? (D(), N(m, {
1794
+ key: "1-new",
1795
+ eager: "true",
1796
+ class: "tab"
1797
+ }, {
1798
+ default: u(() => [
1799
+ g(a, { class: "pa-3" }, {
1800
+ default: u(() => [
1801
+ g(p, null, {
1802
+ default: u(() => e[7] || (e[7] = [
1803
+ T(" This can be edited before installation. ")
1804
+ ])),
1805
+ _: 1
1806
+ })
1807
+ ]),
1808
+ _: 1
1809
+ }),
1810
+ A("pre", ae, null, 512)
1811
+ ]),
1812
+ _: 1
1813
+ })) : (D(), N(m, {
1814
+ key: "1-existing",
1815
+ eager: "true",
1816
+ class: "tab"
1817
+ }, {
1818
+ default: u(() => [
1819
+ g(a, { class: "pa-3" }, {
1820
+ default: u(() => [
1821
+ g(p, null, {
1822
+ default: u(() => e[8] || (e[8] = [
1823
+ T(" Existing plugin.txt. This can be edited before installation. ")
1824
+ ])),
1825
+ _: 1
1826
+ }),
1827
+ g(p, { class: "ml-6" }, {
1828
+ default: u(() => e[9] || (e[9] = [
1829
+ T(" Uneditable plugin.txt from the new plugin. ")
1830
+ ])),
1831
+ _: 1
1832
+ })
1833
+ ]),
1834
+ _: 1
1835
+ }),
1836
+ A("pre", fe, null, 512)
1837
+ ]),
1838
+ _: 1
1839
+ }))
1840
+ ]),
1841
+ _: 1
1842
+ }, 8, ["modelValue"]),
1843
+ g(b, { class: "px-2 mt-2" }, {
1844
+ default: u(() => [
1845
+ n.existingPluginTxt !== null ? (D(), F("div", he, [
1846
+ g(w, {
1847
+ variant: "text",
1848
+ onClick: i.nextDiff
1849
+ }, {
1850
+ default: u(() => e[10] || (e[10] = [
1851
+ T(" Next Diff ")
1852
+ ])),
1853
+ _: 1
1854
+ }, 8, ["onClick"]),
1855
+ g(w, {
1856
+ variant: "text",
1857
+ onClick: i.previousDiff
1858
+ }, {
1859
+ default: u(() => e[11] || (e[11] = [
1860
+ T(" Previous Diff ")
1861
+ ])),
1862
+ _: 1
1863
+ }, 8, ["onClick"])
1864
+ ])) : j("", !0),
1865
+ g(S),
1866
+ g(w, {
1867
+ variant: "outlined",
1868
+ onClick: Y(i.close, ["prevent"]),
1869
+ "data-test": "edit-cancel"
1870
+ }, {
1871
+ default: u(() => e[12] || (e[12] = [
1872
+ T(" Cancel ")
1873
+ ])),
1874
+ _: 1
1875
+ }, 8, ["onClick"]),
1876
+ g(w, {
1877
+ variant: "flat",
1878
+ onClick: i.submit,
1879
+ "data-test": "edit-submit"
1880
+ }, {
1881
+ default: u(() => e[13] || (e[13] = [
1882
+ T(" Install ")
1883
+ ])),
1884
+ _: 1
1885
+ }, 8, ["onClick"])
1886
+ ]),
1887
+ _: 1
1888
+ })
1889
+ ], 32)
1890
+ ]),
1891
+ _: 1
1892
+ })
1893
+ ]),
1894
+ _: 1
1895
+ })
1896
+ ]),
1897
+ _: 1
1898
+ }, 8, ["modelValue"]);
1899
+ }
1900
+ const ye = /* @__PURE__ */ q(re, [["render", de], ["__scopeId", "data-v-4a504453"]]);
1901
+ export {
1902
+ _e as DownloadDialog,
1903
+ be as EditDialog,
1904
+ ve as ModifiedPluginDialog,
1905
+ we as OpenC3Admin,
1906
+ ye as PluginDialog,
1907
+ qt as TabsList
1908
+ };
1909
+ //# sourceMappingURL=admin.js.map