@lcap/nasl 3.8.2-beta.7 → 3.8.2-beta.9

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 (810) hide show
  1. package/.nyc_output/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +1 -0
  2. package/.nyc_output/processinfo/943352aa-23df-44e0-863b-3dcd3e8bf57a.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/cobertura-coverage.xml +66121 -10220
  5. package/coverage/index.html +50 -395
  6. package/coverage/src/automate/engine/index.html +19 -19
  7. package/coverage/src/automate/engine/utils.js.html +101 -101
  8. package/coverage/src/bak/index.html +19 -19
  9. package/coverage/src/bak/translator.js.html +96 -141
  10. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +13 -13
  11. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +13 -13
  12. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +29 -29
  13. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +10 -10
  14. package/coverage/src/breakpoint/generator/index.html +47 -47
  15. package/coverage/src/breakpoint/generator/index.ts.html +20 -20
  16. package/coverage/src/breakpoint/index.html +7 -7
  17. package/coverage/src/breakpoint/index.ts.html +6 -6
  18. package/coverage/src/breakpoint/shared/constants.ts.html +7 -7
  19. package/coverage/src/breakpoint/shared/index.html +45 -45
  20. package/coverage/src/breakpoint/shared/index.ts.html +5 -5
  21. package/coverage/src/breakpoint/shared/operations.ts.html +15 -15
  22. package/coverage/src/breakpoint/shared/socket.ts.html +85 -85
  23. package/coverage/src/breakpoint/shared/utils.ts.html +49 -49
  24. package/coverage/src/breakpoint/store/core.ts.html +100 -100
  25. package/coverage/src/breakpoint/store/dock.ts.html +46 -46
  26. package/coverage/src/breakpoint/store/index.html +33 -33
  27. package/coverage/src/breakpoint/store/index.ts.html +7 -7
  28. package/coverage/src/common/BaseNode.ts.html +350 -1187
  29. package/coverage/src/common/Command.ts.html +20 -20
  30. package/coverage/src/common/EventEmitter.ts.html +31 -49
  31. package/coverage/src/common/Messager.ts.html +28 -28
  32. package/coverage/src/common/asyncFuncMap.ts.html +7 -7
  33. package/coverage/src/common/index.html +55 -70
  34. package/coverage/src/common/index.ts.html +8 -11
  35. package/coverage/src/concepts/Abort__.ts.html +20 -56
  36. package/coverage/src/concepts/Anchor__.ts.html +51 -117
  37. package/coverage/src/concepts/AnonymousFunction__.ts.html +232 -343
  38. package/coverage/src/concepts/App__.ts.html +1283 -2681
  39. package/coverage/src/concepts/Argument__.ts.html +135 -135
  40. package/coverage/src/concepts/Assignee__.ts.html +91 -250
  41. package/coverage/src/concepts/AssignmentLine__.ts.html +28 -88
  42. package/coverage/src/concepts/Assignment__.ts.html +110 -206
  43. package/coverage/src/concepts/Attribute__.ts.html +50 -239
  44. package/coverage/src/concepts/AuthInterface__.ts.html +32 -26
  45. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +188 -203
  46. package/coverage/src/concepts/AuthLogic__.ts.html +28 -43
  47. package/coverage/src/concepts/BackendVariable__.ts.html +132 -438
  48. package/coverage/src/concepts/Backend__.ts.html +57 -156
  49. package/coverage/src/concepts/BatchAssignment__.ts.html +270 -420
  50. package/coverage/src/concepts/BinaryExpression__.ts.html +158 -266
  51. package/coverage/src/concepts/BindAttribute__.ts.html +204 -399
  52. package/coverage/src/concepts/BindDirective__.ts.html +73 -217
  53. package/coverage/src/concepts/BindEvent__.ts.html +161 -293
  54. package/coverage/src/concepts/BindStyle__.ts.html +58 -139
  55. package/coverage/src/concepts/BooleanLiteral__.ts.html +33 -63
  56. package/coverage/src/concepts/CallAuthInterface__.ts.html +95 -236
  57. package/coverage/src/concepts/CallConnector__.ts.html +69 -108
  58. package/coverage/src/concepts/CallFunction__.ts.html +234 -399
  59. package/coverage/src/concepts/CallInterface__.ts.html +145 -241
  60. package/coverage/src/concepts/CallLogic__.ts.html +525 -633
  61. package/coverage/src/concepts/CallQueryComponent__.ts.html +232 -385
  62. package/coverage/src/concepts/Comment__.ts.html +27 -63
  63. package/coverage/src/concepts/CompletionProperty__.ts.html +51 -72
  64. package/coverage/src/concepts/ConfigGroup__.ts.html +51 -99
  65. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +34 -40
  66. package/coverage/src/concepts/ConfigProperty__.ts.html +78 -150
  67. package/coverage/src/concepts/Configuration__.ts.html +48 -99
  68. package/coverage/src/concepts/Connection__.ts.html +64 -154
  69. package/coverage/src/concepts/ConnectorTrigger__.ts.html +32 -35
  70. package/coverage/src/concepts/Connector__.ts.html +228 -3117
  71. package/coverage/src/concepts/Constant__.ts.html +74 -374
  72. package/coverage/src/concepts/DataSource__.ts.html +104 -173
  73. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +21 -27
  74. package/coverage/src/concepts/Destination__.ts.html +121 -190
  75. package/coverage/src/concepts/End__.ts.html +40 -76
  76. package/coverage/src/concepts/EntityIndex__.ts.html +44 -80
  77. package/coverage/src/concepts/EntityProperty__.ts.html +158 -440
  78. package/coverage/src/concepts/Entity__.ts.html +161 -326
  79. package/coverage/src/concepts/EnumItem__.ts.html +33 -66
  80. package/coverage/src/concepts/Enum__.ts.html +64 -139
  81. package/coverage/src/concepts/Event__.ts.html +51 -87
  82. package/coverage/src/concepts/ExternalDestination__.ts.html +60 -126
  83. package/coverage/src/concepts/ForEachStatement__.ts.html +152 -239
  84. package/coverage/src/concepts/FrontendLibrary__.ts.html +69 -153
  85. package/coverage/src/concepts/FrontendVariable__.ts.html +19 -76
  86. package/coverage/src/concepts/Frontend__.ts.html +161 -884
  87. package/coverage/src/concepts/Function__.ts.html +171 -396
  88. package/coverage/src/concepts/Identifier__.ts.html +100 -130
  89. package/coverage/src/concepts/IfStatement__.ts.html +110 -209
  90. package/coverage/src/concepts/Integration__.ts.html +57 -132
  91. package/coverage/src/concepts/InterfaceParam__.ts.html +76 -310
  92. package/coverage/src/concepts/Interface__.ts.html +183 -324
  93. package/coverage/src/concepts/JSBlock__.ts.html +26 -59
  94. package/coverage/src/concepts/JavaLogic__.ts.html +28 -58
  95. package/coverage/src/concepts/LogicItem__.ts.html +73 -151
  96. package/coverage/src/concepts/Logic__.ts.html +509 -965
  97. package/coverage/src/concepts/MatchCase__.ts.html +158 -281
  98. package/coverage/src/concepts/Match__.ts.html +121 -280
  99. package/coverage/src/concepts/MemberExpression__.ts.html +172 -256
  100. package/coverage/src/concepts/MicroApp__.ts.html +34 -25
  101. package/coverage/src/concepts/Module__.ts.html +1270 -1375
  102. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +46 -94
  103. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +48 -93
  104. package/coverage/src/concepts/Namespace__.ts.html +630 -1251
  105. package/coverage/src/concepts/NewComposite__.ts.html +341 -557
  106. package/coverage/src/concepts/NewList__.ts.html +111 -291
  107. package/coverage/src/concepts/NewMap__.ts.html +128 -332
  108. package/coverage/src/concepts/New__.ts.html +21 -57
  109. package/coverage/src/concepts/NullLiteral__.ts.html +23 -56
  110. package/coverage/src/concepts/NumericLiteral__.ts.html +51 -114
  111. package/coverage/src/concepts/OqlQueryComponent__.ts.html +76 -211
  112. package/coverage/src/concepts/OverriddenLogic__.ts.html +394 -643
  113. package/coverage/src/concepts/Param__.ts.html +174 -315
  114. package/coverage/src/concepts/Point__.ts.html +21 -27
  115. package/coverage/src/concepts/ProcessComponent__.ts.html +67 -145
  116. package/coverage/src/concepts/ProcessElement__.ts.html +281 -854
  117. package/coverage/src/concepts/ProcessOutcome__.ts.html +25 -100
  118. package/coverage/src/concepts/ProcessOutcomes__.ts.html +26 -113
  119. package/coverage/src/concepts/Process__.ts.html +201 -552
  120. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +35 -89
  121. package/coverage/src/concepts/QueryFieldExpression__.ts.html +35 -62
  122. package/coverage/src/concepts/QueryFromExpression__.ts.html +47 -119
  123. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +37 -97
  124. package/coverage/src/concepts/QueryJoinExpression__.ts.html +69 -153
  125. package/coverage/src/concepts/QueryLimitExpression__.ts.html +36 -105
  126. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +36 -108
  127. package/coverage/src/concepts/QuerySelectExpression__.ts.html +50 -101
  128. package/coverage/src/concepts/Rect__.ts.html +25 -25
  129. package/coverage/src/concepts/Return__.ts.html +131 -368
  130. package/coverage/src/concepts/Role__.ts.html +37 -67
  131. package/coverage/src/concepts/SelectMembers__.ts.html +57 -141
  132. package/coverage/src/concepts/Slot__.ts.html +40 -64
  133. package/coverage/src/concepts/SqlQueryComponent__.ts.html +62 -122
  134. package/coverage/src/concepts/Start__.ts.html +25 -58
  135. package/coverage/src/concepts/StringInterpolation__.ts.html +77 -185
  136. package/coverage/src/concepts/StringLiteral__.ts.html +47 -158
  137. package/coverage/src/concepts/StructureProperty__.ts.html +78 -306
  138. package/coverage/src/concepts/Structure__.ts.html +90 -285
  139. package/coverage/src/concepts/SwitchCase__.ts.html +66 -141
  140. package/coverage/src/concepts/SwitchStatement__.ts.html +58 -136
  141. package/coverage/src/concepts/Theme__.ts.html +24 -36
  142. package/coverage/src/concepts/Transactional__.ts.html +33 -36
  143. package/coverage/src/concepts/TriggerEvent__.ts.html +480 -63
  144. package/coverage/src/concepts/TriggerLauncher__.ts.html +43 -73
  145. package/coverage/src/concepts/TypeAnnotation__.ts.html +231 -564
  146. package/coverage/src/concepts/TypeParam__.ts.html +23 -59
  147. package/coverage/src/concepts/UnaryExpression__.ts.html +47 -131
  148. package/coverage/src/concepts/Unparsed__.ts.html +29 -59
  149. package/coverage/src/concepts/UseComponent__.ts.html +21 -27
  150. package/coverage/src/concepts/ValidationRule__.ts.html +96 -234
  151. package/coverage/src/concepts/Variable__.ts.html +132 -456
  152. package/coverage/src/concepts/ViewBlock__.ts.html +23 -26
  153. package/coverage/src/concepts/ViewComponent__.ts.html +157 -394
  154. package/coverage/src/concepts/ViewElement__.ts.html +514 -910
  155. package/coverage/src/concepts/View__.ts.html +425 -1271
  156. package/coverage/src/concepts/WhileStatement__.ts.html +79 -175
  157. package/coverage/src/concepts/basics/stdlib/index.html +85 -85
  158. package/coverage/src/concepts/basics/stdlib/index.ts.html +29 -167
  159. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +152 -206
  160. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +139 -172
  161. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +47 -92
  162. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +31 -130
  163. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +43 -61
  164. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +23 -53
  165. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +167 -203
  166. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +45 -78
  167. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +51 -81
  168. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +66 -69
  169. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +606 -654
  170. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +993 -1050
  171. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +2131 -2236
  172. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +563 -596
  173. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +40 -28
  174. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +9 -9
  175. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +7 -7
  176. package/coverage/src/concepts/basics/types/index.html +16 -16
  177. package/coverage/src/concepts/basics/types/index.ts.html +18 -18
  178. package/coverage/src/concepts/index.html +1215 -1365
  179. package/coverage/src/concepts/index.ts.html +7 -31
  180. package/coverage/src/concepts/index__.ts.html +8 -38
  181. package/coverage/src/config.ts.html +20 -2
  182. package/coverage/src/decorators/index.html +32 -32
  183. package/coverage/src/decorators/index.ts.html +93 -108
  184. package/coverage/src/decorators/promise.ts.html +26 -26
  185. package/coverage/src/eventBus.ts.html +7 -7
  186. package/coverage/src/generator/compileComponent.ts.html +10 -10
  187. package/coverage/src/generator/genBundleFiles.ts.html +45 -273
  188. package/coverage/src/generator/genHash.ts.html +8 -8
  189. package/coverage/src/generator/genMetaData.ts.html +49 -280
  190. package/coverage/src/generator/genReleaseBody.ts.html +98 -113
  191. package/coverage/src/generator/icestark.ts.html +8 -14
  192. package/coverage/src/generator/index.html +87 -87
  193. package/coverage/src/generator/index.ts.html +6 -6
  194. package/coverage/src/generator/microApp.ts.html +10 -10
  195. package/coverage/src/generator/permission.ts.html +80 -152
  196. package/coverage/src/generator/qiankun.ts.html +7 -13
  197. package/coverage/src/generator/styleReplacer.ts.html +17 -17
  198. package/coverage/src/index.html +10 -40
  199. package/coverage/src/index.ts.html +12 -15
  200. package/coverage/src/manager/diagnostic.ts.html +31 -28
  201. package/coverage/src/manager/index.html +27 -27
  202. package/coverage/src/manager/stepRecorder.ts.html +17 -17
  203. package/coverage/src/natural/genNaturalTS.ts.html +30 -30
  204. package/coverage/src/natural/index.html +41 -41
  205. package/coverage/src/natural/index.ts.html +6 -6
  206. package/coverage/src/natural/naslStdlibMap.ts.html +10 -10
  207. package/coverage/src/natural/transformTSCode.ts.html +137 -197
  208. package/coverage/src/sentry/index.html +19 -19
  209. package/coverage/src/sentry/index.ts.html +43 -49
  210. package/coverage/src/server/createUiTs.ts.html +37 -46
  211. package/coverage/src/server/entity2LogicNamespace.ts.html +21 -21
  212. package/coverage/src/server/event.js.html +7 -7
  213. package/coverage/src/server/extendBaseNode.ts.html +90 -132
  214. package/coverage/src/server/formatTsUtils.ts.html +105 -108
  215. package/coverage/src/server/getConnector.ts.html +24 -96
  216. package/coverage/src/server/getExtensionModules.ts.html +14 -14
  217. package/coverage/src/server/getFunctions.ts.html +15 -15
  218. package/coverage/src/server/getInterfaces.ts.html +18 -18
  219. package/coverage/src/server/getLogging.ts.html +11 -11
  220. package/coverage/src/server/getLogics.ts.html +74 -122
  221. package/coverage/src/server/getMemberIdentifier.ts.html +163 -358
  222. package/coverage/src/server/getProcessComponents.ts.html +13 -13
  223. package/coverage/src/server/getProcesses.ts.html +86 -236
  224. package/coverage/src/server/getValidates.ts.html +14 -17
  225. package/coverage/src/server/index.html +181 -181
  226. package/coverage/src/server/index.ts.html +8 -11
  227. package/coverage/src/server/naslServer.ts.html +1270 -1933
  228. package/coverage/src/server/naslStdlibMap.ts.html +10 -10
  229. package/coverage/src/server/process2LogicNamespace.ts.html +20 -20
  230. package/coverage/src/server/translator.ts.html +89 -134
  231. package/coverage/src/service/creator/add.configs.js.html +17 -35
  232. package/coverage/src/service/creator/errHandles.js.html +45 -36
  233. package/coverage/src/service/creator/index.html +35 -35
  234. package/coverage/src/service/creator/index.js.html +14 -14
  235. package/coverage/src/service/datasource/api.js.html +7 -7
  236. package/coverage/src/service/datasource/index.html +12 -12
  237. package/coverage/src/service/datasource/index.js.html +5 -5
  238. package/coverage/src/service/logic/api.js.html +7 -7
  239. package/coverage/src/service/logic/index.html +12 -12
  240. package/coverage/src/service/logic/index.js.html +5 -5
  241. package/coverage/src/service/storage/api.js.html +7 -7
  242. package/coverage/src/service/storage/index.html +56 -56
  243. package/coverage/src/service/storage/index.ts.html +5 -5
  244. package/coverage/src/service/storage/init.ts.html +624 -1758
  245. package/coverage/src/service/storage/jsoner.ts.html +23 -86
  246. package/coverage/src/service/storage/map.ts.html +21 -21
  247. package/coverage/src/service/storage/service.ts.html +14 -14
  248. package/coverage/src/service/storage/storagePoint.ts.html +9 -9
  249. package/coverage/src/templator/genCallComponentLogic.ts.html +12 -12
  250. package/coverage/src/templator/genCreateBlock.ts.html +94 -154
  251. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +90 -90
  252. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +150 -132
  253. package/coverage/src/templator/genEditTableBlock.ts.html +41 -104
  254. package/coverage/src/templator/genEnumSelectBlock.ts.html +12 -93
  255. package/coverage/src/templator/genGetBlock.ts.html +18 -18
  256. package/coverage/src/templator/genGridViewBlock.ts.html +35 -35
  257. package/coverage/src/templator/genListViewBlock.ts.html +15 -15
  258. package/coverage/src/templator/genQueryComponent.ts.html +35 -35
  259. package/coverage/src/templator/genSelectBlock.ts.html +20 -101
  260. package/coverage/src/templator/genTableBlock.ts.html +33 -96
  261. package/coverage/src/templator/genUpdateBlock.ts.html +78 -162
  262. package/coverage/src/templator/index.html +147 -147
  263. package/coverage/src/templator/index.ts.html +12 -12
  264. package/coverage/src/templator/utils.ts.html +32 -95
  265. package/coverage/src/translator/constant.ts.html +7 -7
  266. package/coverage/src/translator/index.html +28 -43
  267. package/coverage/src/translator/index.ts.html +6 -6
  268. package/coverage/src/translator/utils.ts.html +71 -452
  269. package/coverage/src/utils/cookie.ts.html +19 -19
  270. package/coverage/src/utils/env.ts.html +2 -2
  271. package/coverage/src/utils/index.html +37 -82
  272. package/coverage/src/utils/index.ts.html +798 -66
  273. package/coverage/src/utils/logger.ts.html +1 -1
  274. package/coverage/src/utils/sortTsString.ts.html +18 -33
  275. package/coverage/src/utils/string.ts.html +50 -8
  276. package/coverage/src/utils/time-slicing/controller.ts.html +8 -8
  277. package/coverage/src/utils/time-slicing/index.html +64 -79
  278. package/coverage/src/utils/time-slicing/index.ts.html +8 -8
  279. package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
  280. package/coverage/src/utils/time-slicing/performance.ts.html +4 -4
  281. package/coverage/src/utils/time-slicing/runner.ts.html +51 -51
  282. package/coverage/src/utils/time-slicing/tool.ts.html +29 -29
  283. package/coverage/src/utils/time-slicing/utils.ts.html +16 -16
  284. package/coverage/src/utils/time-slicing/wrapper.ts.html +50 -50
  285. package/coverage/src/utils/time-slicing.ts.html +1 -1
  286. package/coverage/src/utils/traverse.ts.html +27 -27
  287. package/coverage/src/utils/types.ts.html +1 -1
  288. package/coverage/src/utils/window.ts.html +1 -1
  289. package/out/common/BaseNode.js +5 -3
  290. package/out/common/BaseNode.js.map +1 -1
  291. package/out/common/ComponentAPI.d.ts +9 -0
  292. package/out/concepts/AuthLogicForCallInterface__.js +21 -6
  293. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  294. package/out/concepts/BusinessComponent__.js +25 -9
  295. package/out/concepts/BusinessComponent__.js.map +1 -1
  296. package/out/concepts/BusinessLogic__.js +21 -6
  297. package/out/concepts/BusinessLogic__.js.map +1 -1
  298. package/out/concepts/CallInterface__.js +14 -4
  299. package/out/concepts/CallInterface__.js.map +1 -1
  300. package/out/concepts/CallLogic__.d.ts +1 -0
  301. package/out/concepts/CallLogic__.js +25 -10
  302. package/out/concepts/CallLogic__.js.map +1 -1
  303. package/out/concepts/EnumItem__.js +2 -2
  304. package/out/concepts/EnumItem__.js.map +1 -1
  305. package/out/concepts/Logic__.js +22 -7
  306. package/out/concepts/Logic__.js.map +1 -1
  307. package/out/concepts/MemberExpression__.js +19 -13
  308. package/out/concepts/MemberExpression__.js.map +1 -1
  309. package/out/concepts/OverriddenLogic__.js +21 -6
  310. package/out/concepts/OverriddenLogic__.js.map +1 -1
  311. package/out/concepts/ViewElement__.js +35 -20
  312. package/out/concepts/ViewElement__.js.map +1 -1
  313. package/out/concepts/View__.js +32 -14
  314. package/out/concepts/View__.js.map +1 -1
  315. package/out/concepts/basics/stdlib/nasl.processV2.js +78 -0
  316. package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
  317. package/out/concepts/basics/stdlib/nasl.ui.js +40 -40
  318. package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
  319. package/out/generator/genBundleFiles.js +1 -1
  320. package/out/generator/genBundleFiles.js.map +1 -1
  321. package/out/generator/release-body/utils.js +1 -1
  322. package/out/natural/getContext/index.js +7 -4
  323. package/out/natural/getContext/index.js.map +1 -1
  324. package/out/natural/tools.js +9 -3
  325. package/out/natural/tools.js.map +1 -1
  326. package/out/natural/transformTS2UI.js +20 -14
  327. package/out/natural/transformTS2UI.js.map +1 -1
  328. package/out/server/getMemberIdentifier.js +11 -17
  329. package/out/server/getMemberIdentifier.js.map +1 -1
  330. package/out/server/naslServer.js +8 -2
  331. package/out/server/naslServer.js.map +1 -1
  332. package/package.json +1 -1
  333. package/sandbox/stdlib/nasl.processV2.ts +19 -0
  334. package/sandbox/stdlib/nasl.ui.ts +8 -8
  335. package/src/common/BaseNode.ts +5 -3
  336. package/src/common/ComponentAPI.ts +7 -0
  337. package/src/concepts/AuthLogicForCallInterface__.ts +23 -6
  338. package/src/concepts/BusinessComponent__.ts +27 -9
  339. package/src/concepts/BusinessLogic__.ts +23 -6
  340. package/src/concepts/CallInterface__.ts +12 -5
  341. package/src/concepts/CallLogic__.ts +31 -10
  342. package/src/concepts/EnumItem__.ts +2 -2
  343. package/src/concepts/Logic__.ts +27 -10
  344. package/src/concepts/MemberExpression__.ts +20 -13
  345. package/src/concepts/OverriddenLogic__.ts +23 -6
  346. package/src/concepts/ViewElement__.ts +41 -21
  347. package/src/concepts/View__.ts +35 -14
  348. package/src/concepts/basics/stdlib/nasl.processV2.ts +79 -0
  349. package/src/concepts/basics/stdlib/nasl.ui.ts +40 -40
  350. package/src/generator/genBundleFiles.ts +1 -1
  351. package/src/generator/release-body/utils.ts +1 -1
  352. package/src/natural/getContext/index.ts +8 -5
  353. package/src/natural/tools.ts +9 -3
  354. package/src/natural/transformTS2UI.ts +19 -14
  355. package/src/server/getMemberIdentifier.ts +14 -14
  356. package/src/server/naslServer.ts +8 -2
  357. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +1 -1
  358. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +1 -1
  359. package/.nyc_output/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +0 -1
  360. package/.nyc_output/processinfo/fe4ca6db-1eb6-4898-8aa5-ba8f8d4128f2.json +0 -1
  361. package/coverage/src/common/utils.ts.html +0 -136
  362. package/coverage/src/concepts/AbstractInterface__.ts.html +0 -277
  363. package/coverage/src/concepts/Block__.ts.html +0 -907
  364. package/coverage/src/concepts/CountersignPolicy__.ts.html +0 -319
  365. package/coverage/src/concepts/DefaultValue__.ts.html +0 -1024
  366. package/coverage/src/concepts/I18nInfo__.ts.html +0 -424
  367. package/coverage/src/concepts/ImportedInterface__.ts.html +0 -262
  368. package/coverage/src/concepts/MetadataType__.ts.html +0 -2035
  369. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +0 -301
  370. package/coverage/src/concepts/SequentialPolicy__.ts.html +0 -265
  371. package/coverage/src/concepts/StaticString__.ts.html +0 -397
  372. package/coverage/src/concepts/basics/constants.ts.html +0 -88
  373. package/coverage/src/concepts/basics/index.html +0 -116
  374. package/coverage/src/concepts/utils/asserts.ts.html +0 -28675
  375. package/coverage/src/concepts/utils/index.html +0 -131
  376. package/coverage/src/concepts/utils/types.ts.html +0 -2092
  377. package/coverage/src/translator/types.ts.html +0 -256
  378. package/coverage/src/utils/i18nInfo.ts.html +0 -166
  379. package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
  380. package/dist/README.md +0 -97
  381. package/dist/index.d.ts +0 -26
  382. package/dist/index.js +0 -397
  383. package/dist/index.js.map +0 -1
  384. package/dist/package.json +0 -91
  385. package/dist/src/automate/engine/index.d.ts +0 -4
  386. package/dist/src/automate/engine/operators.d.ts +0 -26
  387. package/dist/src/automate/engine/uniqueName.d.ts +0 -12
  388. package/dist/src/automate/engine/utils.d.ts +0 -25
  389. package/dist/src/automate/engine/viewCache.d.ts +0 -19
  390. package/dist/src/automate/template/myProcess.d.ts +0 -10
  391. package/dist/src/automate/upgrader/2.12.d.ts +0 -7
  392. package/dist/src/automate/upgrader/2.14-components.d.ts +0 -1115
  393. package/dist/src/automate/upgrader/2.14.d.ts +0 -10
  394. package/dist/src/automate/upgrader/2.14.old.d.ts +0 -1
  395. package/dist/src/automate/upgrader/2.16.d.ts +0 -10
  396. package/dist/src/automate/upgrader/2.17.d.ts +0 -21
  397. package/dist/src/automate/upgrader/2.18.d.ts +0 -10
  398. package/dist/src/automate/upgrader/2.20.d.ts +0 -17
  399. package/dist/src/bak/translator.d.ts +0 -1
  400. package/dist/src/breakpoint/generator/AfterStartNode.d.ts +0 -7
  401. package/dist/src/breakpoint/generator/BeforeEndNode.d.ts +0 -7
  402. package/dist/src/breakpoint/generator/BreakpointNode.d.ts +0 -20
  403. package/dist/src/breakpoint/generator/CallbackNode.d.ts +0 -4
  404. package/dist/src/breakpoint/generator/FragmentNode.d.ts +0 -4
  405. package/dist/src/breakpoint/generator/index.d.ts +0 -4
  406. package/dist/src/breakpoint/index.d.ts +0 -3
  407. package/dist/src/breakpoint/shared/constants.d.ts +0 -37
  408. package/dist/src/breakpoint/shared/index.d.ts +0 -3
  409. package/dist/src/breakpoint/shared/operations.d.ts +0 -10
  410. package/dist/src/breakpoint/shared/socket.d.ts +0 -48
  411. package/dist/src/breakpoint/shared/utils.d.ts +0 -27
  412. package/dist/src/breakpoint/store/core.d.ts +0 -80
  413. package/dist/src/breakpoint/store/dock.d.ts +0 -1
  414. package/dist/src/breakpoint/store/index.d.ts +0 -2
  415. package/dist/src/common/BaseNode.d.ts +0 -384
  416. package/dist/src/common/Command.d.ts +0 -21
  417. package/dist/src/common/ComponentAPI.d.ts +0 -112
  418. package/dist/src/common/EventEmitter.d.ts +0 -61
  419. package/dist/src/common/Messager.d.ts +0 -91
  420. package/dist/src/common/asyncFuncMap.d.ts +0 -2
  421. package/dist/src/common/index.d.ts +0 -4
  422. package/dist/src/common/utils.d.ts +0 -2
  423. package/dist/src/concepts/Abort__.d.ts +0 -31
  424. package/dist/src/concepts/AbstractInterface__.d.ts +0 -25
  425. package/dist/src/concepts/Anchor__.d.ts +0 -42
  426. package/dist/src/concepts/AnonymousFunction__.d.ts +0 -144
  427. package/dist/src/concepts/App__.d.ts +0 -1711
  428. package/dist/src/concepts/Argument__.d.ts +0 -64
  429. package/dist/src/concepts/Assignee__.d.ts +0 -294
  430. package/dist/src/concepts/AssignmentLine__.d.ts +0 -43
  431. package/dist/src/concepts/Assignment__.d.ts +0 -57
  432. package/dist/src/concepts/Attribute__.d.ts +0 -75
  433. package/dist/src/concepts/AuthInterface__.d.ts +0 -38
  434. package/dist/src/concepts/AuthLogicForCallInterface__.d.ts +0 -145
  435. package/dist/src/concepts/AuthLogic__.d.ts +0 -69
  436. package/dist/src/concepts/BackendVariable__.d.ts +0 -118
  437. package/dist/src/concepts/Backend__.d.ts +0 -127
  438. package/dist/src/concepts/BaseSetter__.d.ts +0 -25
  439. package/dist/src/concepts/BatchAssignment__.d.ts +0 -244
  440. package/dist/src/concepts/BinaryExpression__.d.ts +0 -61
  441. package/dist/src/concepts/BindAttribute__.d.ts +0 -284
  442. package/dist/src/concepts/BindDirective__.d.ts +0 -156
  443. package/dist/src/concepts/BindEvent__.d.ts +0 -246
  444. package/dist/src/concepts/BindStyle__.d.ts +0 -127
  445. package/dist/src/concepts/Block__.d.ts +0 -88
  446. package/dist/src/concepts/BooleanLiteral__.d.ts +0 -44
  447. package/dist/src/concepts/BusinessComponent__.d.ts +0 -640
  448. package/dist/src/concepts/BusinessLogic__.d.ts +0 -44
  449. package/dist/src/concepts/CallAuthInterface__.d.ts +0 -132
  450. package/dist/src/concepts/CallConnector__.d.ts +0 -55
  451. package/dist/src/concepts/CallEvent__.d.ts +0 -100
  452. package/dist/src/concepts/CallFunction__.d.ts +0 -171
  453. package/dist/src/concepts/CallInterface__.d.ts +0 -143
  454. package/dist/src/concepts/CallLogic__.d.ts +0 -224
  455. package/dist/src/concepts/CallQueryComponent__.d.ts +0 -383
  456. package/dist/src/concepts/CapsulesSetter__.d.ts +0 -109
  457. package/dist/src/concepts/Comment__.d.ts +0 -41
  458. package/dist/src/concepts/CompletionProperty__.d.ts +0 -87
  459. package/dist/src/concepts/ConfigGroup__.d.ts +0 -121
  460. package/dist/src/concepts/ConfigPropertyValue__.d.ts +0 -42
  461. package/dist/src/concepts/ConfigProperty__.d.ts +0 -147
  462. package/dist/src/concepts/Configuration__.d.ts +0 -120
  463. package/dist/src/concepts/Connection__.d.ts +0 -159
  464. package/dist/src/concepts/ConnectorLogic__.d.ts +0 -33
  465. package/dist/src/concepts/ConnectorTriggerLauncher__.d.ts +0 -44
  466. package/dist/src/concepts/ConnectorTrigger__.d.ts +0 -76
  467. package/dist/src/concepts/Connector__.d.ts +0 -532
  468. package/dist/src/concepts/Constant__.d.ts +0 -94
  469. package/dist/src/concepts/CountersignPolicy__.d.ts +0 -29
  470. package/dist/src/concepts/DataSource__.d.ts +0 -163
  471. package/dist/src/concepts/DatabaseTypeAnnotation__.d.ts +0 -35
  472. package/dist/src/concepts/DefaultValue__.d.ts +0 -94
  473. package/dist/src/concepts/Destination__.d.ts +0 -150
  474. package/dist/src/concepts/End__.d.ts +0 -30
  475. package/dist/src/concepts/EntityIndex__.d.ts +0 -93
  476. package/dist/src/concepts/EntityProperty__.d.ts +0 -255
  477. package/dist/src/concepts/Entity__.d.ts +0 -332
  478. package/dist/src/concepts/EnumItem__.d.ts +0 -83
  479. package/dist/src/concepts/EnumSelectSetter__.d.ts +0 -109
  480. package/dist/src/concepts/Enum__.d.ts +0 -133
  481. package/dist/src/concepts/EventDeclaration__.d.ts +0 -41
  482. package/dist/src/concepts/Event__.d.ts +0 -149
  483. package/dist/src/concepts/ExternalDestination__.d.ts +0 -63
  484. package/dist/src/concepts/ForEachStatement__.d.ts +0 -126
  485. package/dist/src/concepts/FrontendLibrary__.d.ts +0 -208
  486. package/dist/src/concepts/FrontendType__.d.ts +0 -304
  487. package/dist/src/concepts/FrontendVariable__.d.ts +0 -41
  488. package/dist/src/concepts/Frontend__.d.ts +0 -389
  489. package/dist/src/concepts/Function__.d.ts +0 -399
  490. package/dist/src/concepts/I18nInfo__.d.ts +0 -47
  491. package/dist/src/concepts/IconSetter__.d.ts +0 -29
  492. package/dist/src/concepts/Identifier__.d.ts +0 -66
  493. package/dist/src/concepts/IfStatement__.d.ts +0 -155
  494. package/dist/src/concepts/ImageSetter__.d.ts +0 -25
  495. package/dist/src/concepts/ImportedInterface__.d.ts +0 -29
  496. package/dist/src/concepts/InputSetter__.d.ts +0 -29
  497. package/dist/src/concepts/Integration__.d.ts +0 -127
  498. package/dist/src/concepts/InterfaceParam__.d.ts +0 -119
  499. package/dist/src/concepts/InterfaceTriggerEvent__.d.ts +0 -34
  500. package/dist/src/concepts/Interface__.d.ts +0 -323
  501. package/dist/src/concepts/JSBlock__.d.ts +0 -38
  502. package/dist/src/concepts/JavaLogic__.d.ts +0 -50
  503. package/dist/src/concepts/LogicDeclaration__.d.ts +0 -289
  504. package/dist/src/concepts/LogicItem__.d.ts +0 -171
  505. package/dist/src/concepts/Logic__.d.ts +0 -632
  506. package/dist/src/concepts/MatchCase__.d.ts +0 -264
  507. package/dist/src/concepts/Match__.d.ts +0 -122
  508. package/dist/src/concepts/MemberExpression__.d.ts +0 -64
  509. package/dist/src/concepts/MetadataType__.d.ts +0 -220
  510. package/dist/src/concepts/MicroApp__.d.ts +0 -53
  511. package/dist/src/concepts/Module__.d.ts +0 -1142
  512. package/dist/src/concepts/MsgTriggerEvent__.d.ts +0 -138
  513. package/dist/src/concepts/MsgTriggerLauncher__.d.ts +0 -119
  514. package/dist/src/concepts/MultiApprovalPolicy__.d.ts +0 -25
  515. package/dist/src/concepts/Namespace__.d.ts +0 -1060
  516. package/dist/src/concepts/NewComposite__.d.ts +0 -346
  517. package/dist/src/concepts/NewList__.d.ts +0 -135
  518. package/dist/src/concepts/NewMap__.d.ts +0 -226
  519. package/dist/src/concepts/New__.d.ts +0 -30
  520. package/dist/src/concepts/NullLiteral__.d.ts +0 -36
  521. package/dist/src/concepts/NumberInputSetter__.d.ts +0 -45
  522. package/dist/src/concepts/NumericLiteral__.d.ts +0 -53
  523. package/dist/src/concepts/OqlQueryComponent__.d.ts +0 -67
  524. package/dist/src/concepts/OverriddenLogic__.d.ts +0 -615
  525. package/dist/src/concepts/Paginate__.d.ts +0 -59
  526. package/dist/src/concepts/ParamWithGroup__.d.ts +0 -44
  527. package/dist/src/concepts/Param__.d.ts +0 -140
  528. package/dist/src/concepts/Point__.d.ts +0 -33
  529. package/dist/src/concepts/ProcessComponent__.d.ts +0 -214
  530. package/dist/src/concepts/ProcessElement__.d.ts +0 -620
  531. package/dist/src/concepts/ProcessOutcome__.d.ts +0 -35
  532. package/dist/src/concepts/ProcessOutcomes__.d.ts +0 -35
  533. package/dist/src/concepts/Process__.d.ts +0 -605
  534. package/dist/src/concepts/PropDeclaration__.d.ts +0 -99
  535. package/dist/src/concepts/PropertySelectSetter__.d.ts +0 -25
  536. package/dist/src/concepts/QueryAggregateExpression__.d.ts +0 -50
  537. package/dist/src/concepts/QueryFieldExpression__.d.ts +0 -66
  538. package/dist/src/concepts/QueryFromExpression__.d.ts +0 -107
  539. package/dist/src/concepts/QueryGroupByExpression__.d.ts +0 -46
  540. package/dist/src/concepts/QueryJoinExpression__.d.ts +0 -194
  541. package/dist/src/concepts/QueryLimitExpression__.d.ts +0 -46
  542. package/dist/src/concepts/QueryOrderByExpression__.d.ts +0 -57
  543. package/dist/src/concepts/QuerySelectExpression__.d.ts +0 -213
  544. package/dist/src/concepts/Rect__.d.ts +0 -41
  545. package/dist/src/concepts/Return__.d.ts +0 -120
  546. package/dist/src/concepts/Role__.d.ts +0 -58
  547. package/dist/src/concepts/SelectMembers__.d.ts +0 -134
  548. package/dist/src/concepts/SequentialPolicy__.d.ts +0 -25
  549. package/dist/src/concepts/SetterOption__.d.ts +0 -49
  550. package/dist/src/concepts/SlotDeclaration__.d.ts +0 -213
  551. package/dist/src/concepts/Slot__.d.ts +0 -53
  552. package/dist/src/concepts/SqlQueryComponent__.d.ts +0 -63
  553. package/dist/src/concepts/Start__.d.ts +0 -30
  554. package/dist/src/concepts/StaticString__.d.ts +0 -49
  555. package/dist/src/concepts/StringInterpolation__.d.ts +0 -122
  556. package/dist/src/concepts/StringLiteral__.d.ts +0 -51
  557. package/dist/src/concepts/StructureProperty__.d.ts +0 -119
  558. package/dist/src/concepts/Structure__.d.ts +0 -243
  559. package/dist/src/concepts/SwitchCase__.d.ts +0 -91
  560. package/dist/src/concepts/SwitchSetter__.d.ts +0 -25
  561. package/dist/src/concepts/SwitchStatement__.d.ts +0 -90
  562. package/dist/src/concepts/ThemeVariable__.d.ts +0 -29
  563. package/dist/src/concepts/Theme__.d.ts +0 -39
  564. package/dist/src/concepts/Transactional__.d.ts +0 -85
  565. package/dist/src/concepts/TriggerEvent__.d.ts +0 -42
  566. package/dist/src/concepts/TriggerLauncher__.d.ts +0 -76
  567. package/dist/src/concepts/TypeAnnotation__.d.ts +0 -303
  568. package/dist/src/concepts/TypeParam__.d.ts +0 -34
  569. package/dist/src/concepts/UnaryExpression__.d.ts +0 -45
  570. package/dist/src/concepts/Unparsed__.d.ts +0 -41
  571. package/dist/src/concepts/UseComponent__.d.ts +0 -33
  572. package/dist/src/concepts/ValidationRule__.d.ts +0 -133
  573. package/dist/src/concepts/Variable__.d.ts +0 -137
  574. package/dist/src/concepts/ViewBlockWithImage__.d.ts +0 -33
  575. package/dist/src/concepts/ViewBlock__.d.ts +0 -37
  576. package/dist/src/concepts/ViewComponentDeclaration__.d.ts +0 -721
  577. package/dist/src/concepts/ViewElement__.d.ts +0 -652
  578. package/dist/src/concepts/View__.d.ts +0 -728
  579. package/dist/src/concepts/WhileStatement__.d.ts +0 -94
  580. package/dist/src/concepts/basics/constants.d.ts +0 -1
  581. package/dist/src/concepts/basics/stdlib/index.d.ts +0 -16
  582. package/dist/src/concepts/basics/stdlib/nasl.auth.d.ts +0 -9
  583. package/dist/src/concepts/basics/stdlib/nasl.browser.d.ts +0 -5
  584. package/dist/src/concepts/basics/stdlib/nasl.collection.d.ts +0 -9
  585. package/dist/src/concepts/basics/stdlib/nasl.configuration.d.ts +0 -9
  586. package/dist/src/concepts/basics/stdlib/nasl.core.d.ts +0 -7
  587. package/dist/src/concepts/basics/stdlib/nasl.event.d.ts +0 -5
  588. package/dist/src/concepts/basics/stdlib/nasl.http.d.ts +0 -9
  589. package/dist/src/concepts/basics/stdlib/nasl.interface.d.ts +0 -9
  590. package/dist/src/concepts/basics/stdlib/nasl.io.d.ts +0 -5
  591. package/dist/src/concepts/basics/stdlib/nasl.logging.d.ts +0 -5
  592. package/dist/src/concepts/basics/stdlib/nasl.process.d.ts +0 -9
  593. package/dist/src/concepts/basics/stdlib/nasl.ui.d.ts +0 -9
  594. package/dist/src/concepts/basics/stdlib/nasl.util.d.ts +0 -6
  595. package/dist/src/concepts/basics/stdlib/nasl.validation.d.ts +0 -5
  596. package/dist/src/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +0 -4
  597. package/dist/src/concepts/basics/stdlib/timeZone.d.ts +0 -5
  598. package/dist/src/concepts/basics/types/coreTypeList.d.ts +0 -2
  599. package/dist/src/concepts/basics/types/index.d.ts +0 -17
  600. package/dist/src/concepts/index.d.ts +0 -7
  601. package/dist/src/concepts/index__.d.ts +0 -156
  602. package/dist/src/concepts/utils/asserts.d.ts +0 -7825
  603. package/dist/src/concepts/utils/quick-info.d.ts +0 -13
  604. package/dist/src/concepts/utils/types.d.ts +0 -510
  605. package/dist/src/config.d.ts +0 -52
  606. package/dist/src/decorators/index.d.ts +0 -67
  607. package/dist/src/decorators/promise.d.ts +0 -7
  608. package/dist/src/enums/KEYWORDS.d.ts +0 -6
  609. package/dist/src/enums/LEVEL_NAME_MAP.d.ts +0 -26
  610. package/dist/src/eventBus.d.ts +0 -3
  611. package/dist/src/generator/compileComponent.d.ts +0 -11
  612. package/dist/src/generator/genBundleFiles.d.ts +0 -37
  613. package/dist/src/generator/genHash.d.ts +0 -7
  614. package/dist/src/generator/genMetaData.d.ts +0 -31
  615. package/dist/src/generator/icestark.d.ts +0 -2
  616. package/dist/src/generator/index.d.ts +0 -7
  617. package/dist/src/generator/microApp.d.ts +0 -2
  618. package/dist/src/generator/permission.d.ts +0 -14
  619. package/dist/src/generator/qiankun.d.ts +0 -2
  620. package/dist/src/generator/release-body/body.d.ts +0 -42
  621. package/dist/src/generator/release-body/data.d.ts +0 -45
  622. package/dist/src/generator/release-body/index.d.ts +0 -2
  623. package/dist/src/generator/release-body/internal.d.ts +0 -622
  624. package/dist/src/generator/release-body/types.d.ts +0 -57
  625. package/dist/src/generator/release-body/utils.d.ts +0 -418
  626. package/dist/src/generator/release-body/validation.d.ts +0 -3
  627. package/dist/src/generator/styleReplacer.d.ts +0 -3
  628. package/dist/src/index.d.ts +0 -14
  629. package/dist/src/manager/diagnostic.d.ts +0 -39
  630. package/dist/src/manager/stepRecorder.d.ts +0 -20
  631. package/dist/src/natural/componentData.d.ts +0 -31
  632. package/dist/src/natural/genNaturalTS.d.ts +0 -241
  633. package/dist/src/natural/index.d.ts +0 -6
  634. package/dist/src/natural/naslStdlibMap.d.ts +0 -1
  635. package/dist/src/natural/prompt/analyzeClaims.d.ts +0 -1
  636. package/dist/src/natural/prompt/analyzeFormatOutput.d.ts +0 -1
  637. package/dist/src/natural/prompt/analyzeTasks.d.ts +0 -1
  638. package/dist/src/natural/prompt/executeClaims.d.ts +0 -1
  639. package/dist/src/natural/transformTSCode.d.ts +0 -7
  640. package/dist/src/sentry/index.d.ts +0 -34
  641. package/dist/src/server/createUiTs.d.ts +0 -17
  642. package/dist/src/server/entity2LogicNamespace.d.ts +0 -10
  643. package/dist/src/server/event.d.ts +0 -30
  644. package/dist/src/server/extendBaseNode.d.ts +0 -1
  645. package/dist/src/server/formatTsUtils.d.ts +0 -36
  646. package/dist/src/server/getConnector.d.ts +0 -15
  647. package/dist/src/server/getExtensionModules.d.ts +0 -3
  648. package/dist/src/server/getFunctions.d.ts +0 -3
  649. package/dist/src/server/getInterfaces.d.ts +0 -2
  650. package/dist/src/server/getLogging.d.ts +0 -1
  651. package/dist/src/server/getLogics.d.ts +0 -5
  652. package/dist/src/server/getMemberIdentifier.d.ts +0 -17
  653. package/dist/src/server/getProcessComponents.d.ts +0 -2
  654. package/dist/src/server/getProcesses.d.ts +0 -33
  655. package/dist/src/server/getScope.d.ts +0 -13
  656. package/dist/src/server/getValidates.d.ts +0 -3
  657. package/dist/src/server/index.d.ts +0 -5
  658. package/dist/src/server/naslServer.d.ts +0 -391
  659. package/dist/src/server/naslStdlibMap.d.ts +0 -2
  660. package/dist/src/server/process2LogicNamespace.d.ts +0 -26
  661. package/dist/src/server/translator.d.ts +0 -26
  662. package/dist/src/service/creator/add.configs.d.ts +0 -1
  663. package/dist/src/service/creator/errHandles.d.ts +0 -18
  664. package/dist/src/service/creator/index.d.ts +0 -1
  665. package/dist/src/service/datasource/api.d.ts +0 -12
  666. package/dist/src/service/datasource/index.d.ts +0 -2
  667. package/dist/src/service/logic/api.d.ts +0 -9
  668. package/dist/src/service/logic/checktypeSocket.d.ts +0 -5
  669. package/dist/src/service/logic/index.d.ts +0 -2
  670. package/dist/src/service/storage/api.d.ts +0 -54
  671. package/dist/src/service/storage/index.d.ts +0 -2
  672. package/dist/src/service/storage/init.d.ts +0 -105
  673. package/dist/src/service/storage/jsoner.d.ts +0 -36
  674. package/dist/src/service/storage/map.d.ts +0 -4
  675. package/dist/src/service/storage/service.d.ts +0 -25
  676. package/dist/src/service/storage/storagePoint.d.ts +0 -17
  677. package/dist/src/service/video/BaseService.d.ts +0 -7
  678. package/dist/src/service/video/MainCallbackService.d.ts +0 -12
  679. package/dist/src/service/video/VideoTranscribe.d.ts +0 -15
  680. package/dist/src/service/video/publishService.d.ts +0 -1
  681. package/dist/src/templator/genCallComponentLogic.d.ts +0 -17
  682. package/dist/src/templator/genCreateBlock.d.ts +0 -10
  683. package/dist/src/templator/genCurdEditMultipleKeyBlock.d.ts +0 -8
  684. package/dist/src/templator/genCurdMultipleKeyBlock.d.ts +0 -61
  685. package/dist/src/templator/genEditTableBlock.d.ts +0 -51
  686. package/dist/src/templator/genEnumSelectBlock.d.ts +0 -10
  687. package/dist/src/templator/genGetBlock.d.ts +0 -6
  688. package/dist/src/templator/genGridViewBlock.d.ts +0 -55
  689. package/dist/src/templator/genListViewBlock.d.ts +0 -19
  690. package/dist/src/templator/genQueryComponent.d.ts +0 -34
  691. package/dist/src/templator/genSelectBlock.d.ts +0 -45
  692. package/dist/src/templator/genTableBlock.d.ts +0 -55
  693. package/dist/src/templator/genUpdateBlock.d.ts +0 -6
  694. package/dist/src/templator/index.d.ts +0 -19
  695. package/dist/src/templator/utils.d.ts +0 -683
  696. package/dist/src/translator/constant.d.ts +0 -6
  697. package/dist/src/translator/index.d.ts +0 -3
  698. package/dist/src/translator/types.d.ts +0 -85
  699. package/dist/src/translator/utils.d.ts +0 -47
  700. package/dist/src/utils/cookie.d.ts +0 -9
  701. package/dist/src/utils/create.d.ts +0 -2
  702. package/dist/src/utils/env.d.ts +0 -2
  703. package/dist/src/utils/file.d.ts +0 -33
  704. package/dist/src/utils/i18nInfo.d.ts +0 -5
  705. package/dist/src/utils/index.d.ts +0 -72
  706. package/dist/src/utils/logger.d.ts +0 -8
  707. package/dist/src/utils/sortTsString.d.ts +0 -1
  708. package/dist/src/utils/string.d.ts +0 -64
  709. package/dist/src/utils/time-slicing/constant.d.ts +0 -35
  710. package/dist/src/utils/time-slicing/controller.d.ts +0 -53
  711. package/dist/src/utils/time-slicing/index.d.ts +0 -5
  712. package/dist/src/utils/time-slicing/page-state.d.ts +0 -2
  713. package/dist/src/utils/time-slicing/performance.d.ts +0 -11
  714. package/dist/src/utils/time-slicing/runner.d.ts +0 -12
  715. package/dist/src/utils/time-slicing/tool.d.ts +0 -24
  716. package/dist/src/utils/time-slicing/utils.d.ts +0 -62
  717. package/dist/src/utils/time-slicing/wrapper.d.ts +0 -18
  718. package/dist/src/utils/traverse.d.ts +0 -36
  719. package/dist/src/utils/types.d.ts +0 -13
  720. package/dist/src/utils/window.d.ts +0 -7
  721. package/dist/test/concepts/anonymous-function/constant.d.ts +0 -2
  722. package/dist/test/concepts/anonymous-function/toEmbeddedTS.spec.d.ts +0 -1
  723. package/dist/test/concepts/anonymous-function/toJS.spec.d.ts +0 -1
  724. package/dist/test/concepts/anonymous-function/toVue.spec.d.ts +0 -1
  725. package/dist/test/concepts/assignment/constant.d.ts +0 -2
  726. package/dist/test/concepts/assignment/toEmbeddedTS.spec.d.ts +0 -1
  727. package/dist/test/concepts/assignment/toJS.spec.d.ts +0 -1
  728. package/dist/test/concepts/assignment/toVue.spec.d.ts +0 -1
  729. package/dist/test/concepts/batch-assignment/constant.d.ts +0 -2
  730. package/dist/test/concepts/batch-assignment/toEmbeddedTS.spec.d.ts +0 -1
  731. package/dist/test/concepts/batch-assignment/toJS.spec.d.ts +0 -1
  732. package/dist/test/concepts/batch-assignment/toVue.spec.d.ts +0 -1
  733. package/dist/test/concepts/binary-expression/constant.d.ts +0 -2
  734. package/dist/test/concepts/binary-expression/getQuickInfoOffset.spec.d.ts +0 -1
  735. package/dist/test/concepts/binary-expression/toEmbeddedTS.spec.d.ts +0 -1
  736. package/dist/test/concepts/binary-expression/toJS.spec.d.ts +0 -1
  737. package/dist/test/concepts/binary-expression/toVue.spec.d.ts +0 -1
  738. package/dist/test/concepts/boolean-literal/constant.d.ts +0 -2
  739. package/dist/test/concepts/boolean-literal/toEmbeddedTS.spec.d.ts +0 -1
  740. package/dist/test/concepts/boolean-literal/toJS.spec.d.ts +0 -1
  741. package/dist/test/concepts/boolean-literal/toVue.spec.d.ts +0 -1
  742. package/dist/test/concepts/call-function/constant.d.ts +0 -2
  743. package/dist/test/concepts/call-function/getQuickInfoOffset.spec.d.ts +0 -1
  744. package/dist/test/concepts/call-function/toEmbeddedTS.spec.d.ts +0 -1
  745. package/dist/test/concepts/call-function/toJS.spec.d.ts +0 -1
  746. package/dist/test/concepts/call-interface/constant.d.ts +0 -2
  747. package/dist/test/concepts/call-interface/getQuickInfoOffset.spec.d.ts +0 -1
  748. package/dist/test/concepts/call-interface/toEmbeddedTS.spec.d.ts +0 -1
  749. package/dist/test/concepts/call-interface/toJS.spec.d.ts +0 -1
  750. package/dist/test/concepts/call-logic/constant.d.ts +0 -2
  751. package/dist/test/concepts/call-logic/getQuickInfoOffset.spec.d.ts +0 -1
  752. package/dist/test/concepts/call-logic/toEmbeddedTS.spec.d.ts +0 -1
  753. package/dist/test/concepts/call-logic/toJS.spec.d.ts +0 -1
  754. package/dist/test/concepts/call-logic/toUI.spec.d.ts +0 -1
  755. package/dist/test/concepts/call-logic/toVue.spec.d.ts +0 -1
  756. package/dist/test/concepts/call-logic/toVueDesigner.spec.d.ts +0 -1
  757. package/dist/test/concepts/data-source/constant.d.ts +0 -2
  758. package/dist/test/concepts/data-source/toEmbeddedTS.spec.d.ts +0 -1
  759. package/dist/test/concepts/data-source/toEmbeddedTSFile.spec.d.ts +0 -1
  760. package/dist/test/concepts/entity/constant.d.ts +0 -2
  761. package/dist/test/concepts/entity/toEmbeddedTS.spec.d.ts +0 -1
  762. package/dist/test/concepts/entity/toEmbeddedTSFile.spec.d.ts +0 -1
  763. package/dist/test/concepts/identifier/constant.d.ts +0 -2
  764. package/dist/test/concepts/identifier/toEmbeddedTS.spec.d.ts +0 -1
  765. package/dist/test/concepts/identifier/toJS.spec.d.ts +0 -1
  766. package/dist/test/concepts/identifier/toVue.spec.d.ts +0 -1
  767. package/dist/test/concepts/match/constant.d.ts +0 -2
  768. package/dist/test/concepts/match/toEmbeddedTS.spec.d.ts +0 -1
  769. package/dist/test/concepts/match/toJS.spec.d.ts +0 -1
  770. package/dist/test/concepts/member-expression/constant.d.ts +0 -2
  771. package/dist/test/concepts/member-expression/toEmbeddedTS.spec.d.ts +0 -1
  772. package/dist/test/concepts/member-expression/toJS.spec.d.ts +0 -1
  773. package/dist/test/concepts/member-expression/toVue.spec.d.ts +0 -1
  774. package/dist/test/concepts/new-composite/constant.d.ts +0 -2
  775. package/dist/test/concepts/new-composite/getQuickInfoOffset.spec.d.ts +0 -1
  776. package/dist/test/concepts/new-composite/toEmbeddedTS.spec.d.ts +0 -1
  777. package/dist/test/concepts/new-composite/toJS.spec.d.ts +0 -1
  778. package/dist/test/concepts/new-list/constant.d.ts +0 -2
  779. package/dist/test/concepts/new-list/getQuickInfoOffset.spec.d.ts +0 -1
  780. package/dist/test/concepts/new-list/toEmbeddedTS.spec.d.ts +0 -1
  781. package/dist/test/concepts/new-list/toJS.spec.d.ts +0 -1
  782. package/dist/test/concepts/new-map/constant.d.ts +0 -2
  783. package/dist/test/concepts/new-map/getQuickInfoOffset.spec.d.ts +0 -1
  784. package/dist/test/concepts/new-map/toEmbeddedTS.spec.d.ts +0 -1
  785. package/dist/test/concepts/new-map/toJS.spec.d.ts +0 -1
  786. package/dist/test/concepts/null-literal/constant.d.ts +0 -2
  787. package/dist/test/concepts/null-literal/toEmbeddedTS.spec.d.ts +0 -1
  788. package/dist/test/concepts/null-literal/toJS.spec.d.ts +0 -1
  789. package/dist/test/concepts/null-literal/toVue.spec.d.ts +0 -1
  790. package/dist/test/concepts/numeric-literal/constant.d.ts +0 -2
  791. package/dist/test/concepts/numeric-literal/toEmbeddedTS.spec.d.ts +0 -1
  792. package/dist/test/concepts/numeric-literal/toJS.spec.d.ts +0 -1
  793. package/dist/test/concepts/numeric-literal/toVue.spec.d.ts +0 -1
  794. package/dist/test/concepts/string-literal/constant.d.ts +0 -2
  795. package/dist/test/concepts/string-literal/toEmbeddedTS.spec.d.ts +0 -1
  796. package/dist/test/concepts/string-literal/toJS.spec.d.ts +0 -1
  797. package/dist/test/concepts/string-literal/toVue.spec.d.ts +0 -1
  798. package/dist/test/concepts/utils.d.ts +0 -13
  799. package/dist/test/concepts/validation-rule/constant.d.ts +0 -2
  800. package/dist/test/concepts/validation-rule/toEmbeddedTS.spec.d.ts +0 -1
  801. package/dist/test/concepts/validation-rule/toJS.spec.d.ts +0 -1
  802. package/dist/test/concepts/validation-rule/validation-rule.spec.d.ts +0 -1
  803. package/dist/test/concepts/view-element/constant.d.ts +0 -2
  804. package/dist/test/concepts/view-element/toEmbeddedTS.spec.d.ts +0 -1
  805. package/dist/test/concepts/view-element/toVue.spec.d.ts +0 -1
  806. package/dist/test/setup.d.ts +0 -1
  807. package/dist/test/time-slicing/runner.spec.d.ts +0 -1
  808. package/dist/test/time-slicing/time-slicing-nodejs.spec.d.ts +0 -1
  809. package/dist/test/time-slicing/utils.d.ts +0 -1
  810. package/dist/test/time-slicing/wrapper.spec.d.ts +0 -1
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">40.67% </span>
26
+ <span class="strong">37.54% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>253/622</span>
28
+ <span class='fraction'>193/514</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">35.89% </span>
33
+ <span class="strong">29.27% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>168/468</span>
35
+ <span class='fraction'>113/386</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">40.36% </span>
40
+ <span class="strong">30.76% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>44/109</span>
42
+ <span class='fraction'>28/91</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">40.2% </span>
47
+ <span class="strong">37.7% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>236/587</span>
49
+ <span class='fraction'>181/480</span>
50
50
  </div>
51
51
 
52
52
 
@@ -1326,286 +1326,7 @@
1326
1326
  <a name='L1261'></a><a href='#L1261'>1261</a>
1327
1327
  <a name='L1262'></a><a href='#L1262'>1262</a>
1328
1328
  <a name='L1263'></a><a href='#L1263'>1263</a>
1329
- <a name='L1264'></a><a href='#L1264'>1264</a>
1330
- <a name='L1265'></a><a href='#L1265'>1265</a>
1331
- <a name='L1266'></a><a href='#L1266'>1266</a>
1332
- <a name='L1267'></a><a href='#L1267'>1267</a>
1333
- <a name='L1268'></a><a href='#L1268'>1268</a>
1334
- <a name='L1269'></a><a href='#L1269'>1269</a>
1335
- <a name='L1270'></a><a href='#L1270'>1270</a>
1336
- <a name='L1271'></a><a href='#L1271'>1271</a>
1337
- <a name='L1272'></a><a href='#L1272'>1272</a>
1338
- <a name='L1273'></a><a href='#L1273'>1273</a>
1339
- <a name='L1274'></a><a href='#L1274'>1274</a>
1340
- <a name='L1275'></a><a href='#L1275'>1275</a>
1341
- <a name='L1276'></a><a href='#L1276'>1276</a>
1342
- <a name='L1277'></a><a href='#L1277'>1277</a>
1343
- <a name='L1278'></a><a href='#L1278'>1278</a>
1344
- <a name='L1279'></a><a href='#L1279'>1279</a>
1345
- <a name='L1280'></a><a href='#L1280'>1280</a>
1346
- <a name='L1281'></a><a href='#L1281'>1281</a>
1347
- <a name='L1282'></a><a href='#L1282'>1282</a>
1348
- <a name='L1283'></a><a href='#L1283'>1283</a>
1349
- <a name='L1284'></a><a href='#L1284'>1284</a>
1350
- <a name='L1285'></a><a href='#L1285'>1285</a>
1351
- <a name='L1286'></a><a href='#L1286'>1286</a>
1352
- <a name='L1287'></a><a href='#L1287'>1287</a>
1353
- <a name='L1288'></a><a href='#L1288'>1288</a>
1354
- <a name='L1289'></a><a href='#L1289'>1289</a>
1355
- <a name='L1290'></a><a href='#L1290'>1290</a>
1356
- <a name='L1291'></a><a href='#L1291'>1291</a>
1357
- <a name='L1292'></a><a href='#L1292'>1292</a>
1358
- <a name='L1293'></a><a href='#L1293'>1293</a>
1359
- <a name='L1294'></a><a href='#L1294'>1294</a>
1360
- <a name='L1295'></a><a href='#L1295'>1295</a>
1361
- <a name='L1296'></a><a href='#L1296'>1296</a>
1362
- <a name='L1297'></a><a href='#L1297'>1297</a>
1363
- <a name='L1298'></a><a href='#L1298'>1298</a>
1364
- <a name='L1299'></a><a href='#L1299'>1299</a>
1365
- <a name='L1300'></a><a href='#L1300'>1300</a>
1366
- <a name='L1301'></a><a href='#L1301'>1301</a>
1367
- <a name='L1302'></a><a href='#L1302'>1302</a>
1368
- <a name='L1303'></a><a href='#L1303'>1303</a>
1369
- <a name='L1304'></a><a href='#L1304'>1304</a>
1370
- <a name='L1305'></a><a href='#L1305'>1305</a>
1371
- <a name='L1306'></a><a href='#L1306'>1306</a>
1372
- <a name='L1307'></a><a href='#L1307'>1307</a>
1373
- <a name='L1308'></a><a href='#L1308'>1308</a>
1374
- <a name='L1309'></a><a href='#L1309'>1309</a>
1375
- <a name='L1310'></a><a href='#L1310'>1310</a>
1376
- <a name='L1311'></a><a href='#L1311'>1311</a>
1377
- <a name='L1312'></a><a href='#L1312'>1312</a>
1378
- <a name='L1313'></a><a href='#L1313'>1313</a>
1379
- <a name='L1314'></a><a href='#L1314'>1314</a>
1380
- <a name='L1315'></a><a href='#L1315'>1315</a>
1381
- <a name='L1316'></a><a href='#L1316'>1316</a>
1382
- <a name='L1317'></a><a href='#L1317'>1317</a>
1383
- <a name='L1318'></a><a href='#L1318'>1318</a>
1384
- <a name='L1319'></a><a href='#L1319'>1319</a>
1385
- <a name='L1320'></a><a href='#L1320'>1320</a>
1386
- <a name='L1321'></a><a href='#L1321'>1321</a>
1387
- <a name='L1322'></a><a href='#L1322'>1322</a>
1388
- <a name='L1323'></a><a href='#L1323'>1323</a>
1389
- <a name='L1324'></a><a href='#L1324'>1324</a>
1390
- <a name='L1325'></a><a href='#L1325'>1325</a>
1391
- <a name='L1326'></a><a href='#L1326'>1326</a>
1392
- <a name='L1327'></a><a href='#L1327'>1327</a>
1393
- <a name='L1328'></a><a href='#L1328'>1328</a>
1394
- <a name='L1329'></a><a href='#L1329'>1329</a>
1395
- <a name='L1330'></a><a href='#L1330'>1330</a>
1396
- <a name='L1331'></a><a href='#L1331'>1331</a>
1397
- <a name='L1332'></a><a href='#L1332'>1332</a>
1398
- <a name='L1333'></a><a href='#L1333'>1333</a>
1399
- <a name='L1334'></a><a href='#L1334'>1334</a>
1400
- <a name='L1335'></a><a href='#L1335'>1335</a>
1401
- <a name='L1336'></a><a href='#L1336'>1336</a>
1402
- <a name='L1337'></a><a href='#L1337'>1337</a>
1403
- <a name='L1338'></a><a href='#L1338'>1338</a>
1404
- <a name='L1339'></a><a href='#L1339'>1339</a>
1405
- <a name='L1340'></a><a href='#L1340'>1340</a>
1406
- <a name='L1341'></a><a href='#L1341'>1341</a>
1407
- <a name='L1342'></a><a href='#L1342'>1342</a>
1408
- <a name='L1343'></a><a href='#L1343'>1343</a>
1409
- <a name='L1344'></a><a href='#L1344'>1344</a>
1410
- <a name='L1345'></a><a href='#L1345'>1345</a>
1411
- <a name='L1346'></a><a href='#L1346'>1346</a>
1412
- <a name='L1347'></a><a href='#L1347'>1347</a>
1413
- <a name='L1348'></a><a href='#L1348'>1348</a>
1414
- <a name='L1349'></a><a href='#L1349'>1349</a>
1415
- <a name='L1350'></a><a href='#L1350'>1350</a>
1416
- <a name='L1351'></a><a href='#L1351'>1351</a>
1417
- <a name='L1352'></a><a href='#L1352'>1352</a>
1418
- <a name='L1353'></a><a href='#L1353'>1353</a>
1419
- <a name='L1354'></a><a href='#L1354'>1354</a>
1420
- <a name='L1355'></a><a href='#L1355'>1355</a>
1421
- <a name='L1356'></a><a href='#L1356'>1356</a>
1422
- <a name='L1357'></a><a href='#L1357'>1357</a>
1423
- <a name='L1358'></a><a href='#L1358'>1358</a>
1424
- <a name='L1359'></a><a href='#L1359'>1359</a>
1425
- <a name='L1360'></a><a href='#L1360'>1360</a>
1426
- <a name='L1361'></a><a href='#L1361'>1361</a>
1427
- <a name='L1362'></a><a href='#L1362'>1362</a>
1428
- <a name='L1363'></a><a href='#L1363'>1363</a>
1429
- <a name='L1364'></a><a href='#L1364'>1364</a>
1430
- <a name='L1365'></a><a href='#L1365'>1365</a>
1431
- <a name='L1366'></a><a href='#L1366'>1366</a>
1432
- <a name='L1367'></a><a href='#L1367'>1367</a>
1433
- <a name='L1368'></a><a href='#L1368'>1368</a>
1434
- <a name='L1369'></a><a href='#L1369'>1369</a>
1435
- <a name='L1370'></a><a href='#L1370'>1370</a>
1436
- <a name='L1371'></a><a href='#L1371'>1371</a>
1437
- <a name='L1372'></a><a href='#L1372'>1372</a>
1438
- <a name='L1373'></a><a href='#L1373'>1373</a>
1439
- <a name='L1374'></a><a href='#L1374'>1374</a>
1440
- <a name='L1375'></a><a href='#L1375'>1375</a>
1441
- <a name='L1376'></a><a href='#L1376'>1376</a>
1442
- <a name='L1377'></a><a href='#L1377'>1377</a>
1443
- <a name='L1378'></a><a href='#L1378'>1378</a>
1444
- <a name='L1379'></a><a href='#L1379'>1379</a>
1445
- <a name='L1380'></a><a href='#L1380'>1380</a>
1446
- <a name='L1381'></a><a href='#L1381'>1381</a>
1447
- <a name='L1382'></a><a href='#L1382'>1382</a>
1448
- <a name='L1383'></a><a href='#L1383'>1383</a>
1449
- <a name='L1384'></a><a href='#L1384'>1384</a>
1450
- <a name='L1385'></a><a href='#L1385'>1385</a>
1451
- <a name='L1386'></a><a href='#L1386'>1386</a>
1452
- <a name='L1387'></a><a href='#L1387'>1387</a>
1453
- <a name='L1388'></a><a href='#L1388'>1388</a>
1454
- <a name='L1389'></a><a href='#L1389'>1389</a>
1455
- <a name='L1390'></a><a href='#L1390'>1390</a>
1456
- <a name='L1391'></a><a href='#L1391'>1391</a>
1457
- <a name='L1392'></a><a href='#L1392'>1392</a>
1458
- <a name='L1393'></a><a href='#L1393'>1393</a>
1459
- <a name='L1394'></a><a href='#L1394'>1394</a>
1460
- <a name='L1395'></a><a href='#L1395'>1395</a>
1461
- <a name='L1396'></a><a href='#L1396'>1396</a>
1462
- <a name='L1397'></a><a href='#L1397'>1397</a>
1463
- <a name='L1398'></a><a href='#L1398'>1398</a>
1464
- <a name='L1399'></a><a href='#L1399'>1399</a>
1465
- <a name='L1400'></a><a href='#L1400'>1400</a>
1466
- <a name='L1401'></a><a href='#L1401'>1401</a>
1467
- <a name='L1402'></a><a href='#L1402'>1402</a>
1468
- <a name='L1403'></a><a href='#L1403'>1403</a>
1469
- <a name='L1404'></a><a href='#L1404'>1404</a>
1470
- <a name='L1405'></a><a href='#L1405'>1405</a>
1471
- <a name='L1406'></a><a href='#L1406'>1406</a>
1472
- <a name='L1407'></a><a href='#L1407'>1407</a>
1473
- <a name='L1408'></a><a href='#L1408'>1408</a>
1474
- <a name='L1409'></a><a href='#L1409'>1409</a>
1475
- <a name='L1410'></a><a href='#L1410'>1410</a>
1476
- <a name='L1411'></a><a href='#L1411'>1411</a>
1477
- <a name='L1412'></a><a href='#L1412'>1412</a>
1478
- <a name='L1413'></a><a href='#L1413'>1413</a>
1479
- <a name='L1414'></a><a href='#L1414'>1414</a>
1480
- <a name='L1415'></a><a href='#L1415'>1415</a>
1481
- <a name='L1416'></a><a href='#L1416'>1416</a>
1482
- <a name='L1417'></a><a href='#L1417'>1417</a>
1483
- <a name='L1418'></a><a href='#L1418'>1418</a>
1484
- <a name='L1419'></a><a href='#L1419'>1419</a>
1485
- <a name='L1420'></a><a href='#L1420'>1420</a>
1486
- <a name='L1421'></a><a href='#L1421'>1421</a>
1487
- <a name='L1422'></a><a href='#L1422'>1422</a>
1488
- <a name='L1423'></a><a href='#L1423'>1423</a>
1489
- <a name='L1424'></a><a href='#L1424'>1424</a>
1490
- <a name='L1425'></a><a href='#L1425'>1425</a>
1491
- <a name='L1426'></a><a href='#L1426'>1426</a>
1492
- <a name='L1427'></a><a href='#L1427'>1427</a>
1493
- <a name='L1428'></a><a href='#L1428'>1428</a>
1494
- <a name='L1429'></a><a href='#L1429'>1429</a>
1495
- <a name='L1430'></a><a href='#L1430'>1430</a>
1496
- <a name='L1431'></a><a href='#L1431'>1431</a>
1497
- <a name='L1432'></a><a href='#L1432'>1432</a>
1498
- <a name='L1433'></a><a href='#L1433'>1433</a>
1499
- <a name='L1434'></a><a href='#L1434'>1434</a>
1500
- <a name='L1435'></a><a href='#L1435'>1435</a>
1501
- <a name='L1436'></a><a href='#L1436'>1436</a>
1502
- <a name='L1437'></a><a href='#L1437'>1437</a>
1503
- <a name='L1438'></a><a href='#L1438'>1438</a>
1504
- <a name='L1439'></a><a href='#L1439'>1439</a>
1505
- <a name='L1440'></a><a href='#L1440'>1440</a>
1506
- <a name='L1441'></a><a href='#L1441'>1441</a>
1507
- <a name='L1442'></a><a href='#L1442'>1442</a>
1508
- <a name='L1443'></a><a href='#L1443'>1443</a>
1509
- <a name='L1444'></a><a href='#L1444'>1444</a>
1510
- <a name='L1445'></a><a href='#L1445'>1445</a>
1511
- <a name='L1446'></a><a href='#L1446'>1446</a>
1512
- <a name='L1447'></a><a href='#L1447'>1447</a>
1513
- <a name='L1448'></a><a href='#L1448'>1448</a>
1514
- <a name='L1449'></a><a href='#L1449'>1449</a>
1515
- <a name='L1450'></a><a href='#L1450'>1450</a>
1516
- <a name='L1451'></a><a href='#L1451'>1451</a>
1517
- <a name='L1452'></a><a href='#L1452'>1452</a>
1518
- <a name='L1453'></a><a href='#L1453'>1453</a>
1519
- <a name='L1454'></a><a href='#L1454'>1454</a>
1520
- <a name='L1455'></a><a href='#L1455'>1455</a>
1521
- <a name='L1456'></a><a href='#L1456'>1456</a>
1522
- <a name='L1457'></a><a href='#L1457'>1457</a>
1523
- <a name='L1458'></a><a href='#L1458'>1458</a>
1524
- <a name='L1459'></a><a href='#L1459'>1459</a>
1525
- <a name='L1460'></a><a href='#L1460'>1460</a>
1526
- <a name='L1461'></a><a href='#L1461'>1461</a>
1527
- <a name='L1462'></a><a href='#L1462'>1462</a>
1528
- <a name='L1463'></a><a href='#L1463'>1463</a>
1529
- <a name='L1464'></a><a href='#L1464'>1464</a>
1530
- <a name='L1465'></a><a href='#L1465'>1465</a>
1531
- <a name='L1466'></a><a href='#L1466'>1466</a>
1532
- <a name='L1467'></a><a href='#L1467'>1467</a>
1533
- <a name='L1468'></a><a href='#L1468'>1468</a>
1534
- <a name='L1469'></a><a href='#L1469'>1469</a>
1535
- <a name='L1470'></a><a href='#L1470'>1470</a>
1536
- <a name='L1471'></a><a href='#L1471'>1471</a>
1537
- <a name='L1472'></a><a href='#L1472'>1472</a>
1538
- <a name='L1473'></a><a href='#L1473'>1473</a>
1539
- <a name='L1474'></a><a href='#L1474'>1474</a>
1540
- <a name='L1475'></a><a href='#L1475'>1475</a>
1541
- <a name='L1476'></a><a href='#L1476'>1476</a>
1542
- <a name='L1477'></a><a href='#L1477'>1477</a>
1543
- <a name='L1478'></a><a href='#L1478'>1478</a>
1544
- <a name='L1479'></a><a href='#L1479'>1479</a>
1545
- <a name='L1480'></a><a href='#L1480'>1480</a>
1546
- <a name='L1481'></a><a href='#L1481'>1481</a>
1547
- <a name='L1482'></a><a href='#L1482'>1482</a>
1548
- <a name='L1483'></a><a href='#L1483'>1483</a>
1549
- <a name='L1484'></a><a href='#L1484'>1484</a>
1550
- <a name='L1485'></a><a href='#L1485'>1485</a>
1551
- <a name='L1486'></a><a href='#L1486'>1486</a>
1552
- <a name='L1487'></a><a href='#L1487'>1487</a>
1553
- <a name='L1488'></a><a href='#L1488'>1488</a>
1554
- <a name='L1489'></a><a href='#L1489'>1489</a>
1555
- <a name='L1490'></a><a href='#L1490'>1490</a>
1556
- <a name='L1491'></a><a href='#L1491'>1491</a>
1557
- <a name='L1492'></a><a href='#L1492'>1492</a>
1558
- <a name='L1493'></a><a href='#L1493'>1493</a>
1559
- <a name='L1494'></a><a href='#L1494'>1494</a>
1560
- <a name='L1495'></a><a href='#L1495'>1495</a>
1561
- <a name='L1496'></a><a href='#L1496'>1496</a>
1562
- <a name='L1497'></a><a href='#L1497'>1497</a>
1563
- <a name='L1498'></a><a href='#L1498'>1498</a>
1564
- <a name='L1499'></a><a href='#L1499'>1499</a>
1565
- <a name='L1500'></a><a href='#L1500'>1500</a>
1566
- <a name='L1501'></a><a href='#L1501'>1501</a>
1567
- <a name='L1502'></a><a href='#L1502'>1502</a>
1568
- <a name='L1503'></a><a href='#L1503'>1503</a>
1569
- <a name='L1504'></a><a href='#L1504'>1504</a>
1570
- <a name='L1505'></a><a href='#L1505'>1505</a>
1571
- <a name='L1506'></a><a href='#L1506'>1506</a>
1572
- <a name='L1507'></a><a href='#L1507'>1507</a>
1573
- <a name='L1508'></a><a href='#L1508'>1508</a>
1574
- <a name='L1509'></a><a href='#L1509'>1509</a>
1575
- <a name='L1510'></a><a href='#L1510'>1510</a>
1576
- <a name='L1511'></a><a href='#L1511'>1511</a>
1577
- <a name='L1512'></a><a href='#L1512'>1512</a>
1578
- <a name='L1513'></a><a href='#L1513'>1513</a>
1579
- <a name='L1514'></a><a href='#L1514'>1514</a>
1580
- <a name='L1515'></a><a href='#L1515'>1515</a>
1581
- <a name='L1516'></a><a href='#L1516'>1516</a>
1582
- <a name='L1517'></a><a href='#L1517'>1517</a>
1583
- <a name='L1518'></a><a href='#L1518'>1518</a>
1584
- <a name='L1519'></a><a href='#L1519'>1519</a>
1585
- <a name='L1520'></a><a href='#L1520'>1520</a>
1586
- <a name='L1521'></a><a href='#L1521'>1521</a>
1587
- <a name='L1522'></a><a href='#L1522'>1522</a>
1588
- <a name='L1523'></a><a href='#L1523'>1523</a>
1589
- <a name='L1524'></a><a href='#L1524'>1524</a>
1590
- <a name='L1525'></a><a href='#L1525'>1525</a>
1591
- <a name='L1526'></a><a href='#L1526'>1526</a>
1592
- <a name='L1527'></a><a href='#L1527'>1527</a>
1593
- <a name='L1528'></a><a href='#L1528'>1528</a>
1594
- <a name='L1529'></a><a href='#L1529'>1529</a>
1595
- <a name='L1530'></a><a href='#L1530'>1530</a>
1596
- <a name='L1531'></a><a href='#L1531'>1531</a>
1597
- <a name='L1532'></a><a href='#L1532'>1532</a>
1598
- <a name='L1533'></a><a href='#L1533'>1533</a>
1599
- <a name='L1534'></a><a href='#L1534'>1534</a>
1600
- <a name='L1535'></a><a href='#L1535'>1535</a>
1601
- <a name='L1536'></a><a href='#L1536'>1536</a>
1602
- <a name='L1537'></a><a href='#L1537'>1537</a>
1603
- <a name='L1538'></a><a href='#L1538'>1538</a>
1604
- <a name='L1539'></a><a href='#L1539'>1539</a>
1605
- <a name='L1540'></a><a href='#L1540'>1540</a>
1606
- <a name='L1541'></a><a href='#L1541'>1541</a>
1607
- <a name='L1542'></a><a href='#L1542'>1542</a>
1608
- <a name='L1543'></a><a href='#L1543'>1543</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34696x</span>
1329
+ <a name='L1264'></a><a href='#L1264'>1264</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1609
1330
  <span class="cline-any cline-yes">1x</span>
1610
1331
  <span class="cline-any cline-neutral">&nbsp;</span>
1611
1332
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1615,20 +1336,13 @@
1615
1336
  <span class="cline-any cline-yes">1x</span>
1616
1337
  <span class="cline-any cline-yes">1x</span>
1617
1338
  <span class="cline-any cline-neutral">&nbsp;</span>
1618
- <span class="cline-any cline-yes">1x</span>
1619
- <span class="cline-any cline-yes">1x</span>
1620
1339
  <span class="cline-any cline-neutral">&nbsp;</span>
1621
1340
  <span class="cline-any cline-yes">1x</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
1341
  <span class="cline-any cline-yes">1x</span>
1624
1342
  <span class="cline-any cline-neutral">&nbsp;</span>
1625
- <span class="cline-any cline-yes">1x</span>
1626
- <span class="cline-any cline-yes">1x</span>
1627
- <span class="cline-any cline-no">&nbsp;</span>
1628
1343
  <span class="cline-any cline-neutral">&nbsp;</span>
1629
1344
  <span class="cline-any cline-neutral">&nbsp;</span>
1630
1345
  <span class="cline-any cline-neutral">&nbsp;</span>
1631
- <span class="cline-any cline-yes">1x</span>
1632
1346
  <span class="cline-any cline-no">&nbsp;</span>
1633
1347
  <span class="cline-any cline-no">&nbsp;</span>
1634
1348
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1665,10 +1379,7 @@
1665
1379
  <span class="cline-any cline-neutral">&nbsp;</span>
1666
1380
  <span class="cline-any cline-neutral">&nbsp;</span>
1667
1381
  <span class="cline-any cline-neutral">&nbsp;</span>
1668
- <span class="cline-any cline-neutral">&nbsp;</span>
1669
- <span class="cline-any cline-neutral">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
+ <span class="cline-any cline-yes">1x</span>
1672
1383
  <span class="cline-any cline-yes">1x</span>
1673
1384
  <span class="cline-any cline-neutral">&nbsp;</span>
1674
1385
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1676,10 +1387,7 @@
1676
1387
  <span class="cline-any cline-neutral">&nbsp;</span>
1677
1388
  <span class="cline-any cline-neutral">&nbsp;</span>
1678
1389
  <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-neutral">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-yes">8070x</span>
1390
+ <span class="cline-any cline-yes">6137x</span>
1683
1391
  <span class="cline-any cline-neutral">&nbsp;</span>
1684
1392
  <span class="cline-any cline-neutral">&nbsp;</span>
1685
1393
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1690,7 +1398,7 @@
1690
1398
  <span class="cline-any cline-neutral">&nbsp;</span>
1691
1399
  <span class="cline-any cline-neutral">&nbsp;</span>
1692
1400
  <span class="cline-any cline-yes">1x</span>
1693
- <span class="cline-any cline-yes">78747x</span>
1401
+ <span class="cline-any cline-yes">36127x</span>
1694
1402
  <span class="cline-any cline-neutral">&nbsp;</span>
1695
1403
  <span class="cline-any cline-neutral">&nbsp;</span>
1696
1404
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1711,7 +1419,8 @@
1711
1419
  <span class="cline-any cline-neutral">&nbsp;</span>
1712
1420
  <span class="cline-any cline-neutral">&nbsp;</span>
1713
1421
  <span class="cline-any cline-neutral">&nbsp;</span>
1714
- <span class="cline-any cline-yes">8070x</span>
1422
+ <span class="cline-any cline-neutral">&nbsp;</span>
1423
+ <span class="cline-any cline-yes">6137x</span>
1715
1424
  <span class="cline-any cline-neutral">&nbsp;</span>
1716
1425
  <span class="cline-any cline-neutral">&nbsp;</span>
1717
1426
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1748,9 +1457,9 @@
1748
1457
  <span class="cline-any cline-neutral">&nbsp;</span>
1749
1458
  <span class="cline-any cline-neutral">&nbsp;</span>
1750
1459
  <span class="cline-any cline-neutral">&nbsp;</span>
1751
- <span class="cline-any cline-yes">8070x</span>
1460
+ <span class="cline-any cline-yes">6137x</span>
1752
1461
  <span class="cline-any cline-neutral">&nbsp;</span>
1753
- <span class="cline-any cline-yes">8070x</span>
1462
+ <span class="cline-any cline-yes">6137x</span>
1754
1463
  <span class="cline-any cline-neutral">&nbsp;</span>
1755
1464
  <span class="cline-any cline-neutral">&nbsp;</span>
1756
1465
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1826,8 +1535,8 @@
1826
1535
  <span class="cline-any cline-neutral">&nbsp;</span>
1827
1536
  <span class="cline-any cline-neutral">&nbsp;</span>
1828
1537
  <span class="cline-any cline-neutral">&nbsp;</span>
1829
- <span class="cline-any cline-yes">1x</span>
1830
1538
  <span class="cline-any cline-neutral">&nbsp;</span>
1539
+ <span class="cline-any cline-yes">1x</span>
1831
1540
  <span class="cline-any cline-neutral">&nbsp;</span>
1832
1541
  <span class="cline-any cline-neutral">&nbsp;</span>
1833
1542
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1836,18 +1545,22 @@
1836
1545
  <span class="cline-any cline-yes">1x</span>
1837
1546
  <span class="cline-any cline-neutral">&nbsp;</span>
1838
1547
  <span class="cline-any cline-neutral">&nbsp;</span>
1839
- <span class="cline-any cline-yes">1x</span>
1840
1548
  <span class="cline-any cline-neutral">&nbsp;</span>
1841
1549
  <span class="cline-any cline-neutral">&nbsp;</span>
1842
1550
  <span class="cline-any cline-neutral">&nbsp;</span>
1843
1551
  <span class="cline-any cline-neutral">&nbsp;</span>
1552
+ <span class="cline-any cline-yes">1x</span>
1553
+ <span class="cline-any cline-neutral">&nbsp;</span>
1554
+ <span class="cline-any cline-neutral">&nbsp;</span>
1555
+ <span class="cline-any cline-yes">1x</span>
1556
+ <span class="cline-any cline-neutral">&nbsp;</span>
1844
1557
  <span class="cline-any cline-neutral">&nbsp;</span>
1845
1558
  <span class="cline-any cline-neutral">&nbsp;</span>
1846
1559
  <span class="cline-any cline-neutral">&nbsp;</span>
1847
1560
  <span class="cline-any cline-neutral">&nbsp;</span>
1848
1561
  <span class="cline-any cline-neutral">&nbsp;</span>
1849
1562
  <span class="cline-any cline-neutral">&nbsp;</span>
1850
- <span class="cline-any cline-yes">8070x</span>
1563
+ <span class="cline-any cline-yes">6137x</span>
1851
1564
  <span class="cline-any cline-neutral">&nbsp;</span>
1852
1565
  <span class="cline-any cline-neutral">&nbsp;</span>
1853
1566
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1865,79 +1578,78 @@
1865
1578
  <span class="cline-any cline-neutral">&nbsp;</span>
1866
1579
  <span class="cline-any cline-neutral">&nbsp;</span>
1867
1580
  <span class="cline-any cline-neutral">&nbsp;</span>
1868
- <span class="cline-any cline-yes">8070x</span>
1869
- <span class="cline-any cline-yes">8070x</span>
1581
+ <span class="cline-any cline-yes">6137x</span>
1582
+ <span class="cline-any cline-yes">6137x</span>
1870
1583
  <span class="cline-any cline-neutral">&nbsp;</span>
1871
1584
  <span class="cline-any cline-neutral">&nbsp;</span>
1872
1585
  <span class="cline-any cline-neutral">&nbsp;</span>
1873
- <span class="cline-any cline-yes">8070x</span>
1874
- <span class="cline-any cline-yes">8070x</span>
1875
- <span class="cline-any cline-yes">8070x</span>
1876
- <span class="cline-any cline-yes">8070x</span>
1586
+ <span class="cline-any cline-yes">6137x</span>
1587
+ <span class="cline-any cline-yes">6137x</span>
1588
+ <span class="cline-any cline-yes">6137x</span>
1877
1589
  <span class="cline-any cline-neutral">&nbsp;</span>
1878
1590
  <span class="cline-any cline-neutral">&nbsp;</span>
1879
1591
  <span class="cline-any cline-neutral">&nbsp;</span>
1880
1592
  <span class="cline-any cline-neutral">&nbsp;</span>
1881
- <span class="cline-any cline-yes">8070x</span>
1882
- <span class="cline-any cline-yes">8070x</span>
1883
- <span class="cline-any cline-yes">8070x</span>
1593
+ <span class="cline-any cline-yes">6137x</span>
1594
+ <span class="cline-any cline-yes">6137x</span>
1595
+ <span class="cline-any cline-yes">6137x</span>
1884
1596
  <span class="cline-any cline-neutral">&nbsp;</span>
1885
1597
  <span class="cline-any cline-neutral">&nbsp;</span>
1886
1598
  <span class="cline-any cline-neutral">&nbsp;</span>
1887
1599
  <span class="cline-any cline-neutral">&nbsp;</span>
1888
- <span class="cline-any cline-yes">15682x</span>
1889
- <span class="cline-any cline-yes">172921x</span>
1600
+ <span class="cline-any cline-yes">11554x</span>
1601
+ <span class="cline-any cline-yes">443917x</span>
1890
1602
  <span class="cline-any cline-neutral">&nbsp;</span>
1891
1603
  <span class="cline-any cline-neutral">&nbsp;</span>
1892
- <span class="cline-any cline-yes">15682x</span>
1893
- <span class="cline-any cline-yes">12562x</span>
1604
+ <span class="cline-any cline-yes">11554x</span>
1605
+ <span class="cline-any cline-yes">8629x</span>
1894
1606
  <span class="cline-any cline-neutral">&nbsp;</span>
1895
1607
  <span class="cline-any cline-neutral">&nbsp;</span>
1896
- <span class="cline-any cline-yes">15682x</span>
1897
- <span class="cline-any cline-yes">104570x</span>
1898
- <span class="cline-any cline-yes">5894x</span>
1608
+ <span class="cline-any cline-yes">11554x</span>
1609
+ <span class="cline-any cline-yes">184218x</span>
1610
+ <span class="cline-any cline-yes">11548x</span>
1899
1611
  <span class="cline-any cline-neutral">&nbsp;</span>
1900
1612
  <span class="cline-any cline-neutral">&nbsp;</span>
1901
- <span class="cline-any cline-yes">98676x</span>
1613
+ <span class="cline-any cline-yes">172670x</span>
1902
1614
  <span class="cline-any cline-neutral">&nbsp;</span>
1903
- <span class="cline-any cline-yes">98676x</span>
1615
+ <span class="cline-any cline-yes">172670x</span>
1904
1616
  <span class="cline-any cline-neutral">&nbsp;</span>
1905
1617
  <span class="cline-any cline-neutral">&nbsp;</span>
1906
1618
  <span class="cline-any cline-neutral">&nbsp;</span>
1907
- <span class="cline-any cline-yes">98676x</span>
1908
- <span class="cline-any cline-yes">68x</span>
1619
+ <span class="cline-any cline-yes">172670x</span>
1620
+ <span class="cline-any cline-yes">42x</span>
1909
1621
  <span class="cline-any cline-neutral">&nbsp;</span>
1910
1622
  <span class="cline-any cline-neutral">&nbsp;</span>
1911
- <span class="cline-any cline-yes">98676x</span>
1912
- <span class="cline-any cline-yes">98676x</span>
1913
- <span class="cline-any cline-yes">29377x</span>
1914
- <span class="cline-any cline-yes">29377x</span>
1915
- <span class="cline-any cline-yes">29530x</span>
1916
- <span class="cline-any cline-yes">29530x</span>
1917
- <span class="cline-any cline-yes">1397x</span>
1918
- <span class="cline-any cline-yes">1397x</span>
1919
- <span class="cline-any cline-yes">1397x</span>
1623
+ <span class="cline-any cline-yes">172670x</span>
1624
+ <span class="cline-any cline-yes">172670x</span>
1625
+ <span class="cline-any cline-yes">25851x</span>
1626
+ <span class="cline-any cline-yes">25851x</span>
1627
+ <span class="cline-any cline-yes">26021x</span>
1628
+ <span class="cline-any cline-yes">26021x</span>
1629
+ <span class="cline-any cline-yes">1146x</span>
1630
+ <span class="cline-any cline-yes">1146x</span>
1631
+ <span class="cline-any cline-yes">1146x</span>
1920
1632
  <span class="cline-any cline-neutral">&nbsp;</span>
1921
1633
  <span class="cline-any cline-neutral">&nbsp;</span>
1922
1634
  <span class="cline-any cline-neutral">&nbsp;</span>
1923
1635
  <span class="cline-any cline-neutral">&nbsp;</span>
1924
1636
  <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-yes">98511x</span>
1637
+ <span class="cline-any cline-yes">172670x</span>
1926
1638
  <span class="cline-any cline-neutral">&nbsp;</span>
1927
- <span class="cline-any cline-yes">98511x</span>
1928
- <span class="cline-any cline-yes">71515x</span>
1639
+ <span class="cline-any cline-yes">172670x</span>
1640
+ <span class="cline-any cline-yes">52487x</span>
1929
1641
  <span class="cline-any cline-neutral">&nbsp;</span>
1930
1642
  <span class="cline-any cline-neutral">&nbsp;</span>
1931
1643
  <span class="cline-any cline-neutral">&nbsp;</span>
1932
- <span class="cline-any cline-yes">165x</span>
1644
+ <span class="cline-any cline-no">&nbsp;</span>
1933
1645
  <span class="cline-any cline-neutral">&nbsp;</span>
1934
1646
  <span class="cline-any cline-neutral">&nbsp;</span>
1935
1647
  <span class="cline-any cline-neutral">&nbsp;</span>
1936
- <span class="cline-any cline-yes">15682x</span>
1648
+ <span class="cline-any cline-yes">11554x</span>
1937
1649
  <span class="cline-any cline-neutral">&nbsp;</span>
1938
1650
  <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-yes">15682x</span>
1940
- <span class="cline-any cline-no">&nbsp;</span>
1651
+ <span class="cline-any cline-yes">11554x</span>
1652
+ <span class="cline-any cline-yes">7519x</span>
1941
1653
  <span class="cline-any cline-neutral">&nbsp;</span>
1942
1654
  <span class="cline-any cline-neutral">&nbsp;</span>
1943
1655
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1991,28 +1703,23 @@
1991
1703
  <span class="cline-any cline-neutral">&nbsp;</span>
1992
1704
  <span class="cline-any cline-neutral">&nbsp;</span>
1993
1705
  <span class="cline-any cline-neutral">&nbsp;</span>
1994
- <span class="cline-any cline-yes">681x</span>
1995
- <span class="cline-any cline-yes">227x</span>
1996
- <span class="cline-any cline-neutral">&nbsp;</span>
1997
- <span class="cline-any cline-yes">681x</span>
1998
- <span class="cline-any cline-yes">227x</span>
1999
- <span class="cline-any cline-neutral">&nbsp;</span>
2000
- <span class="cline-any cline-yes">681x</span>
2001
- <span class="cline-any cline-yes">681x</span>
2002
- <span class="cline-any cline-yes">681x</span>
2003
1706
  <span class="cline-any cline-no">&nbsp;</span>
2004
- <span class="cline-any cline-yes">681x</span>
2005
- <span class="cline-any cline-yes">454x</span>
2006
- <span class="cline-any cline-neutral">&nbsp;</span>
2007
- <span class="cline-any cline-neutral">&nbsp;</span>
1707
+ <span class="cline-any cline-no">&nbsp;</span>
2008
1708
  <span class="cline-any cline-neutral">&nbsp;</span>
1709
+ <span class="cline-any cline-no">&nbsp;</span>
1710
+ <span class="cline-any cline-no">&nbsp;</span>
2009
1711
  <span class="cline-any cline-neutral">&nbsp;</span>
1712
+ <span class="cline-any cline-no">&nbsp;</span>
1713
+ <span class="cline-any cline-no">&nbsp;</span>
1714
+ <span class="cline-any cline-no">&nbsp;</span>
1715
+ <span class="cline-any cline-no">&nbsp;</span>
1716
+ <span class="cline-any cline-no">&nbsp;</span>
1717
+ <span class="cline-any cline-no">&nbsp;</span>
2010
1718
  <span class="cline-any cline-neutral">&nbsp;</span>
2011
1719
  <span class="cline-any cline-neutral">&nbsp;</span>
2012
1720
  <span class="cline-any cline-neutral">&nbsp;</span>
2013
1721
  <span class="cline-any cline-neutral">&nbsp;</span>
2014
1722
  <span class="cline-any cline-neutral">&nbsp;</span>
2015
- <span class="cline-any cline-yes">454x</span>
2016
1723
  <span class="cline-any cline-neutral">&nbsp;</span>
2017
1724
  <span class="cline-any cline-neutral">&nbsp;</span>
2018
1725
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2021,10 +1728,6 @@
2021
1728
  <span class="cline-any cline-neutral">&nbsp;</span>
2022
1729
  <span class="cline-any cline-neutral">&nbsp;</span>
2023
1730
  <span class="cline-any cline-neutral">&nbsp;</span>
2024
- <span class="cline-any cline-no">&nbsp;</span>
2025
- <span class="cline-any cline-no">&nbsp;</span>
2026
- <span class="cline-any cline-no">&nbsp;</span>
2027
- <span class="cline-any cline-neutral">&nbsp;</span>
2028
1731
  <span class="cline-any cline-neutral">&nbsp;</span>
2029
1732
  <span class="cline-any cline-no">&nbsp;</span>
2030
1733
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2053,12 +1756,8 @@
2053
1756
  <span class="cline-any cline-neutral">&nbsp;</span>
2054
1757
  <span class="cline-any cline-neutral">&nbsp;</span>
2055
1758
  <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-yes">227x</span>
2057
- <span class="cline-any cline-no">&nbsp;</span>
2058
- <span class="cline-any cline-no">&nbsp;</span>
2059
1759
  <span class="cline-any cline-no">&nbsp;</span>
2060
1760
  <span class="cline-any cline-neutral">&nbsp;</span>
2061
- <span class="cline-any cline-yes">227x</span>
2062
1761
  <span class="cline-any cline-neutral">&nbsp;</span>
2063
1762
  <span class="cline-any cline-neutral">&nbsp;</span>
2064
1763
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2071,23 +1770,12 @@
2071
1770
  <span class="cline-any cline-neutral">&nbsp;</span>
2072
1771
  <span class="cline-any cline-neutral">&nbsp;</span>
2073
1772
  <span class="cline-any cline-neutral">&nbsp;</span>
2074
- <span class="cline-any cline-yes">227x</span>
2075
1773
  <span class="cline-any cline-no">&nbsp;</span>
2076
1774
  <span class="cline-any cline-no">&nbsp;</span>
2077
- <span class="cline-any cline-neutral">&nbsp;</span>
2078
- <span class="cline-any cline-neutral">&nbsp;</span>
2079
- <span class="cline-any cline-neutral">&nbsp;</span>
2080
- <span class="cline-any cline-yes">227x</span>
2081
- <span class="cline-any cline-no">&nbsp;</span>
2082
1775
  <span class="cline-any cline-no">&nbsp;</span>
2083
1776
  <span class="cline-any cline-neutral">&nbsp;</span>
2084
1777
  <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-yes">227x</span>
2086
- <span class="cline-any cline-no">&nbsp;</span>
2087
1778
  <span class="cline-any cline-no">&nbsp;</span>
2088
- <span class="cline-any cline-neutral">&nbsp;</span>
2089
- <span class="cline-any cline-neutral">&nbsp;</span>
2090
- <span class="cline-any cline-yes">227x</span>
2091
1779
  <span class="cline-any cline-no">&nbsp;</span>
2092
1780
  <span class="cline-any cline-no">&nbsp;</span>
2093
1781
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2127,11 +1815,6 @@
2127
1815
  <span class="cline-any cline-no">&nbsp;</span>
2128
1816
  <span class="cline-any cline-no">&nbsp;</span>
2129
1817
  <span class="cline-any cline-no">&nbsp;</span>
2130
- <span class="cline-any cline-neutral">&nbsp;</span>
2131
- <span class="cline-any cline-neutral">&nbsp;</span>
2132
- <span class="cline-any cline-no">&nbsp;</span>
2133
- <span class="cline-any cline-no">&nbsp;</span>
2134
- <span class="cline-any cline-no">&nbsp;</span>
2135
1818
  <span class="cline-any cline-no">&nbsp;</span>
2136
1819
  <span class="cline-any cline-neutral">&nbsp;</span>
2137
1820
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2142,11 +1825,6 @@
2142
1825
  <span class="cline-any cline-neutral">&nbsp;</span>
2143
1826
  <span class="cline-any cline-no">&nbsp;</span>
2144
1827
  <span class="cline-any cline-no">&nbsp;</span>
2145
- <span class="cline-any cline-no">&nbsp;</span>
2146
- <span class="cline-any cline-no">&nbsp;</span>
2147
- <span class="cline-any cline-no">&nbsp;</span>
2148
- <span class="cline-any cline-neutral">&nbsp;</span>
2149
- <span class="cline-any cline-neutral">&nbsp;</span>
2150
1828
  <span class="cline-any cline-neutral">&nbsp;</span>
2151
1829
  <span class="cline-any cline-neutral">&nbsp;</span>
2152
1830
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2186,52 +1864,25 @@
2186
1864
  <span class="cline-any cline-no">&nbsp;</span>
2187
1865
  <span class="cline-any cline-no">&nbsp;</span>
2188
1866
  <span class="cline-any cline-no">&nbsp;</span>
2189
- <span class="cline-any cline-neutral">&nbsp;</span>
2190
- <span class="cline-any cline-neutral">&nbsp;</span>
2191
1867
  <span class="cline-any cline-no">&nbsp;</span>
2192
- <span class="cline-any cline-neutral">&nbsp;</span>
2193
1868
  <span class="cline-any cline-no">&nbsp;</span>
2194
1869
  <span class="cline-any cline-neutral">&nbsp;</span>
1870
+ <span class="cline-any cline-neutral">&nbsp;</span>
2195
1871
  <span class="cline-any cline-no">&nbsp;</span>
2196
1872
  <span class="cline-any cline-no">&nbsp;</span>
2197
1873
  <span class="cline-any cline-no">&nbsp;</span>
2198
1874
  <span class="cline-any cline-no">&nbsp;</span>
2199
1875
  <span class="cline-any cline-no">&nbsp;</span>
2200
- <span class="cline-any cline-neutral">&nbsp;</span>
2201
1876
  <span class="cline-any cline-no">&nbsp;</span>
2202
- <span class="cline-any cline-neutral">&nbsp;</span>
2203
1877
  <span class="cline-any cline-no">&nbsp;</span>
2204
- <span class="cline-any cline-neutral">&nbsp;</span>
2205
- <span class="cline-any cline-neutral">&nbsp;</span>
2206
- <span class="cline-any cline-neutral">&nbsp;</span>
2207
- <span class="cline-any cline-neutral">&nbsp;</span>
2208
1878
  <span class="cline-any cline-no">&nbsp;</span>
2209
1879
  <span class="cline-any cline-neutral">&nbsp;</span>
2210
- <span class="cline-any cline-neutral">&nbsp;</span>
2211
- <span class="cline-any cline-neutral">&nbsp;</span>
2212
- <span class="cline-any cline-neutral">&nbsp;</span>
2213
- <span class="cline-any cline-neutral">&nbsp;</span>
2214
- <span class="cline-any cline-neutral">&nbsp;</span>
2215
- <span class="cline-any cline-neutral">&nbsp;</span>
2216
- <span class="cline-any cline-neutral">&nbsp;</span>
2217
- <span class="cline-any cline-neutral">&nbsp;</span>
2218
1880
  <span class="cline-any cline-no">&nbsp;</span>
2219
1881
  <span class="cline-any cline-neutral">&nbsp;</span>
2220
1882
  <span class="cline-any cline-no">&nbsp;</span>
2221
1883
  <span class="cline-any cline-no">&nbsp;</span>
2222
1884
  <span class="cline-any cline-neutral">&nbsp;</span>
2223
1885
  <span class="cline-any cline-no">&nbsp;</span>
2224
- <span class="cline-any cline-neutral">&nbsp;</span>
2225
- <span class="cline-any cline-neutral">&nbsp;</span>
2226
- <span class="cline-any cline-neutral">&nbsp;</span>
2227
- <span class="cline-any cline-neutral">&nbsp;</span>
2228
- <span class="cline-any cline-neutral">&nbsp;</span>
2229
- <span class="cline-any cline-neutral">&nbsp;</span>
2230
- <span class="cline-any cline-neutral">&nbsp;</span>
2231
- <span class="cline-any cline-neutral">&nbsp;</span>
2232
- <span class="cline-any cline-neutral">&nbsp;</span>
2233
- <span class="cline-any cline-neutral">&nbsp;</span>
2234
- <span class="cline-any cline-neutral">&nbsp;</span>
2235
1886
  <span class="cline-any cline-no">&nbsp;</span>
2236
1887
  <span class="cline-any cline-no">&nbsp;</span>
2237
1888
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2248,77 +1899,37 @@
2248
1899
  <span class="cline-any cline-neutral">&nbsp;</span>
2249
1900
  <span class="cline-any cline-neutral">&nbsp;</span>
2250
1901
  <span class="cline-any cline-neutral">&nbsp;</span>
2251
- <span class="cline-any cline-neutral">&nbsp;</span>
2252
- <span class="cline-any cline-neutral">&nbsp;</span>
2253
- <span class="cline-any cline-no">&nbsp;</span>
2254
1902
  <span class="cline-any cline-no">&nbsp;</span>
2255
1903
  <span class="cline-any cline-no">&nbsp;</span>
2256
1904
  <span class="cline-any cline-no">&nbsp;</span>
2257
1905
  <span class="cline-any cline-no">&nbsp;</span>
2258
1906
  <span class="cline-any cline-no">&nbsp;</span>
2259
- <span class="cline-any cline-neutral">&nbsp;</span>
2260
- <span class="cline-any cline-no">&nbsp;</span>
2261
1907
  <span class="cline-any cline-no">&nbsp;</span>
2262
1908
  <span class="cline-any cline-no">&nbsp;</span>
2263
1909
  <span class="cline-any cline-no">&nbsp;</span>
2264
- <span class="cline-any cline-neutral">&nbsp;</span>
2265
- <span class="cline-any cline-no">&nbsp;</span>
2266
1910
  <span class="cline-any cline-no">&nbsp;</span>
2267
1911
  <span class="cline-any cline-no">&nbsp;</span>
2268
1912
  <span class="cline-any cline-no">&nbsp;</span>
2269
1913
  <span class="cline-any cline-neutral">&nbsp;</span>
2270
1914
  <span class="cline-any cline-neutral">&nbsp;</span>
2271
- <span class="cline-any cline-neutral">&nbsp;</span>
2272
- <span class="cline-any cline-neutral">&nbsp;</span>
2273
- <span class="cline-any cline-neutral">&nbsp;</span>
2274
- <span class="cline-any cline-neutral">&nbsp;</span>
2275
1915
  <span class="cline-any cline-no">&nbsp;</span>
2276
1916
  <span class="cline-any cline-neutral">&nbsp;</span>
2277
1917
  <span class="cline-any cline-neutral">&nbsp;</span>
2278
- <span class="cline-any cline-neutral">&nbsp;</span>
2279
- <span class="cline-any cline-neutral">&nbsp;</span>
2280
- <span class="cline-any cline-neutral">&nbsp;</span>
2281
- <span class="cline-any cline-neutral">&nbsp;</span>
2282
1918
  <span class="cline-any cline-no">&nbsp;</span>
2283
1919
  <span class="cline-any cline-neutral">&nbsp;</span>
2284
1920
  <span class="cline-any cline-neutral">&nbsp;</span>
2285
1921
  <span class="cline-any cline-neutral">&nbsp;</span>
2286
- <span class="cline-any cline-neutral">&nbsp;</span>
2287
- <span class="cline-any cline-neutral">&nbsp;</span>
2288
- <span class="cline-any cline-neutral">&nbsp;</span>
2289
- <span class="cline-any cline-no">&nbsp;</span>
2290
1922
  <span class="cline-any cline-no">&nbsp;</span>
2291
1923
  <span class="cline-any cline-no">&nbsp;</span>
2292
1924
  <span class="cline-any cline-neutral">&nbsp;</span>
2293
1925
  <span class="cline-any cline-no">&nbsp;</span>
2294
- <span class="cline-any cline-no">&nbsp;</span>
2295
- <span class="cline-any cline-no">&nbsp;</span>
2296
- <span class="cline-any cline-no">&nbsp;</span>
2297
- <span class="cline-any cline-no">&nbsp;</span>
2298
- <span class="cline-any cline-no">&nbsp;</span>
2299
- <span class="cline-any cline-no">&nbsp;</span>
2300
- <span class="cline-any cline-no">&nbsp;</span>
2301
- <span class="cline-any cline-no">&nbsp;</span>
2302
1926
  <span class="cline-any cline-neutral">&nbsp;</span>
2303
- <span class="cline-any cline-no">&nbsp;</span>
2304
- <span class="cline-any cline-no">&nbsp;</span>
2305
- <span class="cline-any cline-no">&nbsp;</span>
2306
- <span class="cline-any cline-no">&nbsp;</span>
2307
- <span class="cline-any cline-neutral">&nbsp;</span>
2308
- <span class="cline-any cline-no">&nbsp;</span>
2309
- <span class="cline-any cline-no">&nbsp;</span>
2310
- <span class="cline-any cline-no">&nbsp;</span>
2311
- <span class="cline-any cline-no">&nbsp;</span>
2312
1927
  <span class="cline-any cline-neutral">&nbsp;</span>
2313
1928
  <span class="cline-any cline-neutral">&nbsp;</span>
2314
1929
  <span class="cline-any cline-neutral">&nbsp;</span>
2315
1930
  <span class="cline-any cline-neutral">&nbsp;</span>
2316
1931
  <span class="cline-any cline-neutral">&nbsp;</span>
2317
1932
  <span class="cline-any cline-neutral">&nbsp;</span>
2318
- <span class="cline-any cline-no">&nbsp;</span>
2319
- <span class="cline-any cline-neutral">&nbsp;</span>
2320
- <span class="cline-any cline-neutral">&nbsp;</span>
2321
- <span class="cline-any cline-neutral">&nbsp;</span>
2322
1933
  <span class="cline-any cline-neutral">&nbsp;</span>
2323
1934
  <span class="cline-any cline-neutral">&nbsp;</span>
2324
1935
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2326,165 +1937,123 @@
2326
1937
  <span class="cline-any cline-neutral">&nbsp;</span>
2327
1938
  <span class="cline-any cline-neutral">&nbsp;</span>
2328
1939
  <span class="cline-any cline-neutral">&nbsp;</span>
2329
- <span class="cline-any cline-no">&nbsp;</span>
2330
1940
  <span class="cline-any cline-neutral">&nbsp;</span>
2331
- <span class="cline-any cline-no">&nbsp;</span>
2332
1941
  <span class="cline-any cline-neutral">&nbsp;</span>
2333
1942
  <span class="cline-any cline-neutral">&nbsp;</span>
2334
1943
  <span class="cline-any cline-neutral">&nbsp;</span>
2335
1944
  <span class="cline-any cline-neutral">&nbsp;</span>
2336
- <span class="cline-any cline-no">&nbsp;</span>
2337
- <span class="cline-any cline-no">&nbsp;</span>
2338
- <span class="cline-any cline-no">&nbsp;</span>
2339
1945
  <span class="cline-any cline-neutral">&nbsp;</span>
1946
+ <span class="cline-any cline-yes">4035x</span>
1947
+ <span class="cline-any cline-yes">4035x</span>
2340
1948
  <span class="cline-any cline-no">&nbsp;</span>
2341
1949
  <span class="cline-any cline-no">&nbsp;</span>
2342
- <span class="cline-any cline-no">&nbsp;</span>
2343
- <span class="cline-any cline-no">&nbsp;</span>
2344
- <span class="cline-any cline-no">&nbsp;</span>
2345
- <span class="cline-any cline-no">&nbsp;</span>
2346
- <span class="cline-any cline-no">&nbsp;</span>
1950
+ <span class="cline-any cline-neutral">&nbsp;</span>
2347
1951
  <span class="cline-any cline-no">&nbsp;</span>
2348
1952
  <span class="cline-any cline-no">&nbsp;</span>
2349
1953
  <span class="cline-any cline-neutral">&nbsp;</span>
2350
1954
  <span class="cline-any cline-no">&nbsp;</span>
2351
1955
  <span class="cline-any cline-neutral">&nbsp;</span>
2352
- <span class="cline-any cline-no">&nbsp;</span>
2353
- <span class="cline-any cline-no">&nbsp;</span>
2354
1956
  <span class="cline-any cline-neutral">&nbsp;</span>
1957
+ <span class="cline-any cline-yes">4035x</span>
1958
+ <span class="cline-any cline-yes">4035x</span>
1959
+ <span class="cline-any cline-yes">4035x</span>
1960
+ <span class="cline-any cline-yes">3066x</span>
2355
1961
  <span class="cline-any cline-neutral">&nbsp;</span>
1962
+ <span class="cline-any cline-yes">4035x</span>
1963
+ <span class="cline-any cline-yes">3066x</span>
2356
1964
  <span class="cline-any cline-neutral">&nbsp;</span>
1965
+ <span class="cline-any cline-yes">4035x</span>
2357
1966
  <span class="cline-any cline-neutral">&nbsp;</span>
2358
1967
  <span class="cline-any cline-neutral">&nbsp;</span>
2359
1968
  <span class="cline-any cline-neutral">&nbsp;</span>
2360
- <span class="cline-any cline-no">&nbsp;</span>
2361
1969
  <span class="cline-any cline-neutral">&nbsp;</span>
1970
+ <span class="cline-any cline-yes">4035x</span>
2362
1971
  <span class="cline-any cline-neutral">&nbsp;</span>
2363
1972
  <span class="cline-any cline-neutral">&nbsp;</span>
2364
1973
  <span class="cline-any cline-neutral">&nbsp;</span>
2365
1974
  <span class="cline-any cline-neutral">&nbsp;</span>
1975
+ <span class="cline-any cline-yes">2x</span>
2366
1976
  <span class="cline-any cline-neutral">&nbsp;</span>
2367
1977
  <span class="cline-any cline-neutral">&nbsp;</span>
2368
1978
  <span class="cline-any cline-neutral">&nbsp;</span>
2369
1979
  <span class="cline-any cline-neutral">&nbsp;</span>
2370
- <span class="cline-any cline-yes">5525x</span>
2371
- <span class="cline-any cline-yes">5525x</span>
2372
- <span class="cline-any cline-no">&nbsp;</span>
2373
- <span class="cline-any cline-no">&nbsp;</span>
2374
1980
  <span class="cline-any cline-neutral">&nbsp;</span>
1981
+ <span class="cline-any cline-yes">2x</span>
1982
+ <span class="cline-any cline-yes">2x</span>
1983
+ <span class="cline-any cline-yes">2x</span>
2375
1984
  <span class="cline-any cline-no">&nbsp;</span>
2376
1985
  <span class="cline-any cline-no">&nbsp;</span>
2377
1986
  <span class="cline-any cline-neutral">&nbsp;</span>
2378
- <span class="cline-any cline-no">&nbsp;</span>
2379
- <span class="cline-any cline-neutral">&nbsp;</span>
2380
- <span class="cline-any cline-neutral">&nbsp;</span>
2381
- <span class="cline-any cline-yes">5525x</span>
2382
- <span class="cline-any cline-yes">5525x</span>
2383
- <span class="cline-any cline-yes">5525x</span>
2384
- <span class="cline-any cline-yes">4510x</span>
2385
- <span class="cline-any cline-neutral">&nbsp;</span>
2386
- <span class="cline-any cline-yes">5525x</span>
2387
- <span class="cline-any cline-yes">4510x</span>
2388
- <span class="cline-any cline-neutral">&nbsp;</span>
2389
- <span class="cline-any cline-yes">5525x</span>
2390
- <span class="cline-any cline-neutral">&nbsp;</span>
2391
- <span class="cline-any cline-neutral">&nbsp;</span>
2392
- <span class="cline-any cline-neutral">&nbsp;</span>
2393
- <span class="cline-any cline-neutral">&nbsp;</span>
2394
- <span class="cline-any cline-yes">5525x</span>
2395
- <span class="cline-any cline-neutral">&nbsp;</span>
2396
- <span class="cline-any cline-neutral">&nbsp;</span>
2397
- <span class="cline-any cline-neutral">&nbsp;</span>
2398
- <span class="cline-any cline-neutral">&nbsp;</span>
2399
1987
  <span class="cline-any cline-yes">2x</span>
1988
+ <span class="cline-any cline-yes">2x</span>
1989
+ <span class="cline-any cline-yes">2x</span>
1990
+ <span class="cline-any cline-yes">5x</span>
1991
+ <span class="cline-any cline-yes">5x</span>
1992
+ <span class="cline-any cline-yes">5x</span>
1993
+ <span class="cline-any cline-yes">3x</span>
1994
+ <span class="cline-any cline-yes">3x</span>
1995
+ <span class="cline-any cline-yes">3x</span>
1996
+ <span class="cline-any cline-yes">3x</span>
1997
+ <span class="cline-any cline-yes">3x</span>
2400
1998
  <span class="cline-any cline-neutral">&nbsp;</span>
1999
+ <span class="cline-any cline-yes">3x</span>
2401
2000
  <span class="cline-any cline-neutral">&nbsp;</span>
2402
2001
  <span class="cline-any cline-neutral">&nbsp;</span>
2002
+ <span class="cline-any cline-yes">3x</span>
2403
2003
  <span class="cline-any cline-neutral">&nbsp;</span>
2404
2004
  <span class="cline-any cline-neutral">&nbsp;</span>
2405
- <span class="cline-any cline-neutral">&nbsp;</span>
2406
- <span class="cline-any cline-yes">683x</span>
2407
- <span class="cline-any cline-yes">683x</span>
2408
- <span class="cline-any cline-yes">683x</span>
2409
- <span class="cline-any cline-yes">683x</span>
2005
+ <span class="cline-any cline-yes">3x</span>
2410
2006
  <span class="cline-any cline-no">&nbsp;</span>
2411
2007
  <span class="cline-any cline-no">&nbsp;</span>
2412
- <span class="cline-any cline-yes">683x</span>
2413
2008
  <span class="cline-any cline-no">&nbsp;</span>
2414
2009
  <span class="cline-any cline-neutral">&nbsp;</span>
2415
- <span class="cline-any cline-yes">683x</span>
2416
- <span class="cline-any cline-yes">683x</span>
2417
- <span class="cline-any cline-yes">683x</span>
2418
- <span class="cline-any cline-yes">1367x</span>
2419
- <span class="cline-any cline-yes">1367x</span>
2420
- <span class="cline-any cline-yes">1367x</span>
2421
- <span class="cline-any cline-yes">684x</span>
2422
- <span class="cline-any cline-yes">684x</span>
2423
- <span class="cline-any cline-yes">684x</span>
2424
- <span class="cline-any cline-yes">684x</span>
2425
- <span class="cline-any cline-yes">684x</span>
2426
- <span class="cline-any cline-neutral">&nbsp;</span>
2427
- <span class="cline-any cline-yes">684x</span>
2428
- <span class="cline-any cline-neutral">&nbsp;</span>
2429
- <span class="cline-any cline-neutral">&nbsp;</span>
2430
- <span class="cline-any cline-yes">14331x</span>
2431
- <span class="cline-any cline-neutral">&nbsp;</span>
2432
- <span class="cline-any cline-neutral">&nbsp;</span>
2433
- <span class="cline-any cline-yes">684x</span>
2434
- <span class="cline-any cline-yes">227x</span>
2435
- <span class="cline-any cline-yes">227x</span>
2436
- <span class="cline-any cline-yes">227x</span>
2437
- <span class="cline-any cline-neutral">&nbsp;</span>
2438
2010
  <span class="cline-any cline-neutral">&nbsp;</span>
2439
2011
  <span class="cline-any cline-no">&nbsp;</span>
2440
2012
  <span class="cline-any cline-neutral">&nbsp;</span>
2441
- <span class="cline-any cline-yes">227x</span>
2442
- <span class="cline-any cline-neutral">&nbsp;</span>
2443
- <span class="cline-any cline-yes">457x</span>
2444
- <span class="cline-any cline-neutral">&nbsp;</span>
2445
- <span class="cline-any cline-neutral">&nbsp;</span>
2446
- <span class="cline-any cline-yes">684x</span>
2013
+ <span class="cline-any cline-no">&nbsp;</span>
2447
2014
  <span class="cline-any cline-neutral">&nbsp;</span>
2448
- <span class="cline-any cline-yes">1367x</span>
2449
- <span class="cline-any cline-yes">1367x</span>
2015
+ <span class="cline-any cline-yes">3x</span>
2450
2016
  <span class="cline-any cline-neutral">&nbsp;</span>
2451
- <span class="cline-any cline-yes">683x</span>
2452
- <span class="cline-any cline-yes">683x</span>
2453
2017
  <span class="cline-any cline-neutral">&nbsp;</span>
2018
+ <span class="cline-any cline-yes">3x</span>
2454
2019
  <span class="cline-any cline-neutral">&nbsp;</span>
2020
+ <span class="cline-any cline-yes">5x</span>
2021
+ <span class="cline-any cline-yes">5x</span>
2455
2022
  <span class="cline-any cline-neutral">&nbsp;</span>
2023
+ <span class="cline-any cline-yes">2x</span>
2024
+ <span class="cline-any cline-yes">2x</span>
2456
2025
  <span class="cline-any cline-neutral">&nbsp;</span>
2457
2026
  <span class="cline-any cline-neutral">&nbsp;</span>
2458
2027
  <span class="cline-any cline-neutral">&nbsp;</span>
2459
2028
  <span class="cline-any cline-neutral">&nbsp;</span>
2460
- <span class="cline-any cline-yes">4350x</span>
2461
- <span class="cline-any cline-yes">4350x</span>
2462
- <span class="cline-any cline-yes">5639x</span>
2463
2029
  <span class="cline-any cline-neutral">&nbsp;</span>
2464
- <span class="cline-any cline-yes">4350x</span>
2465
2030
  <span class="cline-any cline-neutral">&nbsp;</span>
2466
2031
  <span class="cline-any cline-neutral">&nbsp;</span>
2032
+ <span class="cline-any cline-yes">2770x</span>
2033
+ <span class="cline-any cline-yes">2770x</span>
2034
+ <span class="cline-any cline-yes">3920x</span>
2467
2035
  <span class="cline-any cline-neutral">&nbsp;</span>
2036
+ <span class="cline-any cline-yes">2770x</span>
2468
2037
  <span class="cline-any cline-neutral">&nbsp;</span>
2469
2038
  <span class="cline-any cline-neutral">&nbsp;</span>
2470
2039
  <span class="cline-any cline-neutral">&nbsp;</span>
2471
- <span class="cline-any cline-yes">100x</span>
2472
2040
  <span class="cline-any cline-neutral">&nbsp;</span>
2473
2041
  <span class="cline-any cline-neutral">&nbsp;</span>
2474
2042
  <span class="cline-any cline-neutral">&nbsp;</span>
2043
+ <span class="cline-any cline-yes">83x</span>
2475
2044
  <span class="cline-any cline-neutral">&nbsp;</span>
2476
2045
  <span class="cline-any cline-neutral">&nbsp;</span>
2477
2046
  <span class="cline-any cline-neutral">&nbsp;</span>
2478
2047
  <span class="cline-any cline-neutral">&nbsp;</span>
2479
2048
  <span class="cline-any cline-neutral">&nbsp;</span>
2480
- <span class="cline-any cline-yes">1078x</span>
2481
- <span class="cline-any cline-yes">1078x</span>
2482
2049
  <span class="cline-any cline-neutral">&nbsp;</span>
2483
2050
  <span class="cline-any cline-neutral">&nbsp;</span>
2484
2051
  <span class="cline-any cline-neutral">&nbsp;</span>
2485
- <span class="cline-any cline-yes">3271x</span>
2052
+ <span class="cline-any cline-yes">692x</span>
2053
+ <span class="cline-any cline-yes">692x</span>
2054
+ <span class="cline-any cline-yes">2077x</span>
2486
2055
  <span class="cline-any cline-neutral">&nbsp;</span>
2487
- <span class="cline-any cline-yes">1078x</span>
2056
+ <span class="cline-any cline-yes">692x</span>
2488
2057
  <span class="cline-any cline-neutral">&nbsp;</span>
2489
2058
  <span class="cline-any cline-neutral">&nbsp;</span>
2490
2059
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2495,9 +2064,9 @@
2495
2064
  <span class="cline-any cline-neutral">&nbsp;</span>
2496
2065
  <span class="cline-any cline-neutral">&nbsp;</span>
2497
2066
  <span class="cline-any cline-neutral">&nbsp;</span>
2498
- <span class="cline-any cline-yes">6207x</span>
2499
- <span class="cline-any cline-yes">6207x</span>
2500
- <span class="cline-any cline-yes">6207x</span>
2067
+ <span class="cline-any cline-yes">4849x</span>
2068
+ <span class="cline-any cline-yes">4849x</span>
2069
+ <span class="cline-any cline-yes">4849x</span>
2501
2070
  <span class="cline-any cline-neutral">&nbsp;</span>
2502
2071
  <span class="cline-any cline-neutral">&nbsp;</span>
2503
2072
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2519,30 +2088,16 @@
2519
2088
  <span class="cline-any cline-neutral">&nbsp;</span>
2520
2089
  <span class="cline-any cline-neutral">&nbsp;</span>
2521
2090
  <span class="cline-any cline-neutral">&nbsp;</span>
2522
- <span class="cline-any cline-yes">1x</span>
2523
2091
  <span class="cline-any cline-neutral">&nbsp;</span>
2524
2092
  <span class="cline-any cline-neutral">&nbsp;</span>
2525
2093
  <span class="cline-any cline-neutral">&nbsp;</span>
2094
+ <span class="cline-any cline-yes">9x</span>
2095
+ <span class="cline-any cline-yes">9x</span>
2526
2096
  <span class="cline-any cline-neutral">&nbsp;</span>
2527
2097
  <span class="cline-any cline-no">&nbsp;</span>
2528
2098
  <span class="cline-any cline-no">&nbsp;</span>
2529
2099
  <span class="cline-any cline-neutral">&nbsp;</span>
2530
- <span class="cline-any cline-neutral">&nbsp;</span>
2531
- <span class="cline-any cline-neutral">&nbsp;</span>
2532
- <span class="cline-any cline-neutral">&nbsp;</span>
2533
- <span class="cline-any cline-neutral">&nbsp;</span>
2534
- <span class="cline-any cline-neutral">&nbsp;</span>
2535
- <span class="cline-any cline-neutral">&nbsp;</span>
2536
- <span class="cline-any cline-neutral">&nbsp;</span>
2537
- <span class="cline-any cline-neutral">&nbsp;</span>
2538
- <span class="cline-any cline-neutral">&nbsp;</span>
2539
- <span class="cline-any cline-yes">3757x</span>
2540
- <span class="cline-any cline-yes">2243x</span>
2541
- <span class="cline-any cline-neutral">&nbsp;</span>
2542
- <span class="cline-any cline-yes">1514x</span>
2543
- <span class="cline-any cline-yes">1036x</span>
2544
- <span class="cline-any cline-neutral">&nbsp;</span>
2545
- <span class="cline-any cline-yes">478x</span>
2100
+ <span class="cline-any cline-no">&nbsp;</span>
2546
2101
  <span class="cline-any cline-neutral">&nbsp;</span>
2547
2102
  <span class="cline-any cline-neutral">&nbsp;</span>
2548
2103
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2553,20 +2108,20 @@
2553
2108
  <span class="cline-any cline-neutral">&nbsp;</span>
2554
2109
  <span class="cline-any cline-neutral">&nbsp;</span>
2555
2110
  <span class="cline-any cline-neutral">&nbsp;</span>
2556
- <span class="cline-any cline-yes">6207x</span>
2557
- <span class="cline-any cline-yes">1576x</span>
2558
- <span class="cline-any cline-yes">1489x</span>
2559
- <span class="cline-any cline-yes">1489x</span>
2111
+ <span class="cline-any cline-yes">4849x</span>
2112
+ <span class="cline-any cline-yes">1672x</span>
2113
+ <span class="cline-any cline-yes">1597x</span>
2114
+ <span class="cline-any cline-yes">1597x</span>
2560
2115
  <span class="cline-any cline-neutral">&nbsp;</span>
2561
- <span class="cline-any cline-yes">1576x</span>
2116
+ <span class="cline-any cline-yes">1672x</span>
2562
2117
  <span class="cline-any cline-neutral">&nbsp;</span>
2563
- <span class="cline-any cline-yes">4631x</span>
2564
- <span class="cline-any cline-yes">4510x</span>
2565
- <span class="cline-any cline-yes">4510x</span>
2566
- <span class="cline-any cline-yes">4510x</span>
2567
- <span class="cline-any cline-yes">4510x</span>
2118
+ <span class="cline-any cline-yes">3177x</span>
2119
+ <span class="cline-any cline-yes">3066x</span>
2120
+ <span class="cline-any cline-yes">3066x</span>
2121
+ <span class="cline-any cline-yes">3066x</span>
2122
+ <span class="cline-any cline-yes">3066x</span>
2568
2123
  <span class="cline-any cline-neutral">&nbsp;</span>
2569
- <span class="cline-any cline-yes">121x</span>
2124
+ <span class="cline-any cline-yes">111x</span>
2570
2125
  <span class="cline-any cline-neutral">&nbsp;</span>
2571
2126
  <span class="cline-any cline-neutral">&nbsp;</span>
2572
2127
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2574,26 +2129,26 @@
2574
2129
  <span class="cline-any cline-neutral">&nbsp;</span>
2575
2130
  <span class="cline-any cline-neutral">&nbsp;</span>
2576
2131
  <span class="cline-any cline-neutral">&nbsp;</span>
2577
- <span class="cline-any cline-yes">14497x</span>
2132
+ <span class="cline-any cline-yes">10907x</span>
2578
2133
  <span class="cline-any cline-no">&nbsp;</span>
2579
2134
  <span class="cline-any cline-neutral">&nbsp;</span>
2580
- <span class="cline-any cline-yes">14497x</span>
2135
+ <span class="cline-any cline-yes">10907x</span>
2581
2136
  <span class="cline-any cline-neutral">&nbsp;</span>
2582
2137
  <span class="cline-any cline-neutral">&nbsp;</span>
2583
- <span class="cline-any cline-yes">14497x</span>
2584
- <span class="cline-any cline-yes">12441x</span>
2585
- <span class="cline-any cline-yes">12441x</span>
2586
- <span class="cline-any cline-yes">4151x</span>
2138
+ <span class="cline-any cline-yes">10907x</span>
2139
+ <span class="cline-any cline-yes">9612x</span>
2140
+ <span class="cline-any cline-yes">9612x</span>
2141
+ <span class="cline-any cline-yes">3554x</span>
2587
2142
  <span class="cline-any cline-neutral">&nbsp;</span>
2588
2143
  <span class="cline-any cline-neutral">&nbsp;</span>
2589
- <span class="cline-any cline-yes">2056x</span>
2144
+ <span class="cline-any cline-yes">1295x</span>
2590
2145
  <span class="cline-any cline-neutral">&nbsp;</span>
2591
- <span class="cline-any cline-yes">14497x</span>
2592
- <span class="cline-any cline-yes">14497x</span>
2593
- <span class="cline-any cline-yes">12441x</span>
2146
+ <span class="cline-any cline-yes">10907x</span>
2147
+ <span class="cline-any cline-yes">10907x</span>
2148
+ <span class="cline-any cline-yes">9612x</span>
2594
2149
  <span class="cline-any cline-neutral">&nbsp;</span>
2595
- <span class="cline-any cline-yes">2056x</span>
2596
- <span class="cline-any cline-yes">2056x</span>
2150
+ <span class="cline-any cline-yes">1295x</span>
2151
+ <span class="cline-any cline-yes">1295x</span>
2597
2152
  <span class="cline-any cline-neutral">&nbsp;</span>
2598
2153
  <span class="cline-any cline-neutral">&nbsp;</span>
2599
2154
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2652,28 +2207,28 @@
2652
2207
  <span class="cline-any cline-neutral">&nbsp;</span>
2653
2208
  <span class="cline-any cline-neutral">&nbsp;</span>
2654
2209
  <span class="cline-any cline-neutral">&nbsp;</span>
2655
- <span class="cline-any cline-yes">231x</span>
2210
+ <span class="cline-any cline-yes">3x</span>
2656
2211
  <span class="cline-any cline-neutral">&nbsp;</span>
2657
2212
  <span class="cline-any cline-neutral">&nbsp;</span>
2658
2213
  <span class="cline-any cline-neutral">&nbsp;</span>
2659
- <span class="cline-any cline-yes">1316x</span>
2660
- <span class="cline-any cline-yes">1316x</span>
2661
- <span class="cline-any cline-yes">1316x</span>
2662
- <span class="cline-any cline-yes">18292x</span>
2663
- <span class="cline-any cline-yes">18292x</span>
2664
- <span class="cline-any cline-yes">18292x</span>
2665
- <span class="cline-any cline-yes">14535x</span>
2214
+ <span class="cline-any cline-yes">3x</span>
2215
+ <span class="cline-any cline-yes">3x</span>
2216
+ <span class="cline-any cline-yes">3x</span>
2217
+ <span class="cline-any cline-yes">45x</span>
2218
+ <span class="cline-any cline-yes">45x</span>
2219
+ <span class="cline-any cline-yes">45x</span>
2220
+ <span class="cline-any cline-yes">36x</span>
2666
2221
  <span class="cline-any cline-neutral">&nbsp;</span>
2667
- <span class="cline-any cline-yes">3757x</span>
2668
- <span class="cline-any cline-yes">3757x</span>
2222
+ <span class="cline-any cline-yes">9x</span>
2223
+ <span class="cline-any cline-yes">9x</span>
2669
2224
  <span class="cline-any cline-neutral">&nbsp;</span>
2670
2225
  <span class="cline-any cline-neutral">&nbsp;</span>
2671
2226
  <span class="cline-any cline-neutral">&nbsp;</span>
2672
2227
  <span class="cline-any cline-neutral">&nbsp;</span>
2673
2228
  <span class="cline-any cline-neutral">&nbsp;</span>
2674
- <span class="cline-any cline-yes">1316x</span>
2229
+ <span class="cline-any cline-yes">3x</span>
2675
2230
  <span class="cline-any cline-neutral">&nbsp;</span>
2676
- <span class="cline-any cline-yes">1316x</span>
2231
+ <span class="cline-any cline-yes">3x</span>
2677
2232
  <span class="cline-any cline-neutral">&nbsp;</span>
2678
2233
  <span class="cline-any cline-neutral">&nbsp;</span>
2679
2234
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2765,9 +2320,7 @@
2765
2320
  <span class="cline-any cline-neutral">&nbsp;</span>
2766
2321
  <span class="cline-any cline-neutral">&nbsp;</span>
2767
2322
  <span class="cline-any cline-neutral">&nbsp;</span>
2768
- <span class="cline-any cline-yes">629x</span>
2769
- <span class="cline-any cline-neutral">&nbsp;</span>
2770
- <span class="cline-any cline-neutral">&nbsp;</span>
2323
+ <span class="cline-any cline-no">&nbsp;</span>
2771
2324
  <span class="cline-any cline-neutral">&nbsp;</span>
2772
2325
  <span class="cline-any cline-neutral">&nbsp;</span>
2773
2326
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2782,9 +2335,6 @@
2782
2335
  <span class="cline-any cline-neutral">&nbsp;</span>
2783
2336
  <span class="cline-any cline-neutral">&nbsp;</span>
2784
2337
  <span class="cline-any cline-neutral">&nbsp;</span>
2785
- <span class="cline-any cline-no">&nbsp;</span>
2786
- <span class="cline-any cline-no">&nbsp;</span>
2787
- <span class="cline-any cline-no">&nbsp;</span>
2788
2338
  <span class="cline-any cline-neutral">&nbsp;</span>
2789
2339
  <span class="cline-any cline-neutral">&nbsp;</span>
2790
2340
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2823,8 +2373,7 @@
2823
2373
  <span class="cline-any cline-neutral">&nbsp;</span>
2824
2374
  <span class="cline-any cline-neutral">&nbsp;</span>
2825
2375
  <span class="cline-any cline-neutral">&nbsp;</span>
2826
- <span class="cline-any cline-neutral">&nbsp;</span>
2827
- <span class="cline-any cline-neutral">&nbsp;</span>
2376
+ <span class="cline-any cline-no">&nbsp;</span>
2828
2377
  <span class="cline-any cline-neutral">&nbsp;</span>
2829
2378
  <span class="cline-any cline-no">&nbsp;</span>
2830
2379
  <span class="cline-any cline-no">&nbsp;</span>
@@ -2882,132 +2431,37 @@
2882
2431
  <span class="cline-any cline-neutral">&nbsp;</span>
2883
2432
  <span class="cline-any cline-neutral">&nbsp;</span>
2884
2433
  <span class="cline-any cline-neutral">&nbsp;</span>
2885
- <span class="cline-any cline-no">&nbsp;</span>
2886
- <span class="cline-any cline-no">&nbsp;</span>
2887
- <span class="cline-any cline-neutral">&nbsp;</span>
2888
- <span class="cline-any cline-no">&nbsp;</span>
2889
- <span class="cline-any cline-neutral">&nbsp;</span>
2890
- <span class="cline-any cline-no">&nbsp;</span>
2891
- <span class="cline-any cline-neutral">&nbsp;</span>
2892
- <span class="cline-any cline-neutral">&nbsp;</span>
2893
- <span class="cline-any cline-no">&nbsp;</span>
2894
- <span class="cline-any cline-no">&nbsp;</span>
2895
- <span class="cline-any cline-no">&nbsp;</span>
2896
- <span class="cline-any cline-neutral">&nbsp;</span>
2897
- <span class="cline-any cline-neutral">&nbsp;</span>
2898
- <span class="cline-any cline-neutral">&nbsp;</span>
2899
- <span class="cline-any cline-neutral">&nbsp;</span>
2900
- <span class="cline-any cline-neutral">&nbsp;</span>
2901
- <span class="cline-any cline-neutral">&nbsp;</span>
2902
- <span class="cline-any cline-neutral">&nbsp;</span>
2903
- <span class="cline-any cline-neutral">&nbsp;</span>
2904
- <span class="cline-any cline-neutral">&nbsp;</span>
2905
- <span class="cline-any cline-neutral">&nbsp;</span>
2906
- <span class="cline-any cline-neutral">&nbsp;</span>
2907
- <span class="cline-any cline-neutral">&nbsp;</span>
2908
- <span class="cline-any cline-neutral">&nbsp;</span>
2909
- <span class="cline-any cline-neutral">&nbsp;</span>
2910
- <span class="cline-any cline-neutral">&nbsp;</span>
2911
- <span class="cline-any cline-neutral">&nbsp;</span>
2912
- <span class="cline-any cline-neutral">&nbsp;</span>
2913
2434
  <span class="cline-any cline-neutral">&nbsp;</span>
2914
- <span class="cline-any cline-yes">7800x</span>
2915
2435
  <span class="cline-any cline-neutral">&nbsp;</span>
2916
2436
  <span class="cline-any cline-neutral">&nbsp;</span>
2437
+ <span class="cline-any cline-yes">5613x</span>
2917
2438
  <span class="cline-any cline-neutral">&nbsp;</span>
2918
2439
  <span class="cline-any cline-neutral">&nbsp;</span>
2919
2440
  <span class="cline-any cline-neutral">&nbsp;</span>
2920
2441
  <span class="cline-any cline-neutral">&nbsp;</span>
2442
+ <span class="cline-any cline-yes">10291x</span>
2921
2443
  <span class="cline-any cline-neutral">&nbsp;</span>
2444
+ <span class="cline-any cline-yes">10291x</span>
2445
+ <span class="cline-any cline-yes">10291x</span>
2922
2446
  <span class="cline-any cline-neutral">&nbsp;</span>
2923
- <span class="cline-any cline-yes">199x</span>
2924
- <span class="cline-any cline-yes">15080x</span>
2447
+ <span class="cline-any cline-yes">10291x</span>
2448
+ <span class="cline-any cline-yes">37637x</span>
2449
+ <span class="cline-any cline-yes">37637x</span>
2450
+ <span class="cline-any cline-yes">12985x</span>
2451
+ <span class="cline-any cline-yes">8606x</span>
2925
2452
  <span class="cline-any cline-neutral">&nbsp;</span>
2926
- <span class="cline-any cline-yes">15080x</span>
2927
- <span class="cline-any cline-yes">15080x</span>
2928
2453
  <span class="cline-any cline-neutral">&nbsp;</span>
2929
- <span class="cline-any cline-yes">15080x</span>
2930
- <span class="cline-any cline-yes">54382x</span>
2931
- <span class="cline-any cline-yes">54382x</span>
2932
- <span class="cline-any cline-yes">6195x</span>
2933
- <span class="cline-any cline-yes">12712x</span>
2934
2454
  <span class="cline-any cline-neutral">&nbsp;</span>
2455
+ <span class="cline-any cline-yes">117x</span>
2935
2456
  <span class="cline-any cline-neutral">&nbsp;</span>
2936
2457
  <span class="cline-any cline-neutral">&nbsp;</span>
2937
- <span class="cline-any cline-yes">199x</span>
2938
2458
  <span class="cline-any cline-neutral">&nbsp;</span>
2939
2459
  <span class="cline-any cline-neutral">&nbsp;</span>
2940
2460
  <span class="cline-any cline-neutral">&nbsp;</span>
2941
2461
  <span class="cline-any cline-neutral">&nbsp;</span>
2942
- <span class="cline-any cline-neutral">&nbsp;</span>
2943
- <span class="cline-any cline-neutral">&nbsp;</span>
2944
- <span class="cline-any cline-neutral">&nbsp;</span>
2945
- <span class="cline-any cline-neutral">&nbsp;</span>
2946
- <span class="cline-any cline-yes">18x</span>
2947
- <span class="cline-any cline-yes">651x</span>
2948
- <span class="cline-any cline-neutral">&nbsp;</span>
2949
- <span class="cline-any cline-neutral">&nbsp;</span>
2950
- <span class="cline-any cline-yes">18x</span>
2951
- <span class="cline-any cline-yes">651x</span>
2952
- <span class="cline-any cline-yes">172x</span>
2953
- <span class="cline-any cline-neutral">&nbsp;</span>
2954
- <span class="cline-any cline-yes">172x</span>
2955
- <span class="cline-any cline-yes">172x</span>
2956
- <span class="cline-any cline-neutral">&nbsp;</span>
2957
- <span class="cline-any cline-neutral">&nbsp;</span>
2958
- <span class="cline-any cline-no">&nbsp;</span>
2959
- <span class="cline-any cline-neutral">&nbsp;</span>
2960
- <span class="cline-any cline-neutral">&nbsp;</span>
2961
- <span class="cline-any cline-neutral">&nbsp;</span>
2962
- <span class="cline-any cline-yes">651x</span>
2963
- <span class="cline-any cline-neutral">&nbsp;</span>
2964
- <span class="cline-any cline-yes">651x</span>
2965
- <span class="cline-any cline-no">&nbsp;</span>
2966
2462
  <span class="cline-any cline-no">&nbsp;</span>
2967
2463
  <span class="cline-any cline-neutral">&nbsp;</span>
2968
2464
  <span class="cline-any cline-neutral">&nbsp;</span>
2969
- <span class="cline-any cline-yes">651x</span>
2970
- <span class="cline-any cline-yes">2566x</span>
2971
- <span class="cline-any cline-neutral">&nbsp;</span>
2972
- <span class="cline-any cline-yes">2566x</span>
2973
- <span class="cline-any cline-yes">1880x</span>
2974
- <span class="cline-any cline-yes">686x</span>
2975
- <span class="cline-any cline-neutral">&nbsp;</span>
2976
- <span class="cline-any cline-yes">132x</span>
2977
- <span class="cline-any cline-yes">79x</span>
2978
- <span class="cline-any cline-neutral">&nbsp;</span>
2979
- <span class="cline-any cline-neutral">&nbsp;</span>
2980
- <span class="cline-any cline-neutral">&nbsp;</span>
2981
- <span class="cline-any cline-yes">554x</span>
2982
- <span class="cline-any cline-neutral">&nbsp;</span>
2983
- <span class="cline-any cline-neutral">&nbsp;</span>
2984
- <span class="cline-any cline-neutral">&nbsp;</span>
2985
- <span class="cline-any cline-yes">651x</span>
2986
- <span class="cline-any cline-neutral">&nbsp;</span>
2987
- <span class="cline-any cline-neutral">&nbsp;</span>
2988
- <span class="cline-any cline-yes">18x</span>
2989
- <span class="cline-any cline-neutral">&nbsp;</span>
2990
- <span class="cline-any cline-neutral">&nbsp;</span>
2991
- <span class="cline-any cline-neutral">&nbsp;</span>
2992
- <span class="cline-any cline-neutral">&nbsp;</span>
2993
- <span class="cline-any cline-neutral">&nbsp;</span>
2994
- <span class="cline-any cline-neutral">&nbsp;</span>
2995
- <span class="cline-any cline-neutral">&nbsp;</span>
2996
- <span class="cline-any cline-neutral">&nbsp;</span>
2997
- <span class="cline-any cline-yes">18x</span>
2998
- <span class="cline-any cline-yes">651x</span>
2999
- <span class="cline-any cline-yes">172x</span>
3000
- <span class="cline-any cline-neutral">&nbsp;</span>
3001
- <span class="cline-any cline-neutral">&nbsp;</span>
3002
- <span class="cline-any cline-neutral">&nbsp;</span>
3003
- <span class="cline-any cline-neutral">&nbsp;</span>
3004
- <span class="cline-any cline-neutral">&nbsp;</span>
3005
- <span class="cline-any cline-neutral">&nbsp;</span>
3006
- <span class="cline-any cline-neutral">&nbsp;</span>
3007
- <span class="cline-any cline-neutral">&nbsp;</span>
3008
- <span class="cline-any cline-yes">2x</span>
3009
- <span class="cline-any cline-neutral">&nbsp;</span>
3010
- <span class="cline-any cline-neutral">&nbsp;</span>
3011
2465
  <span class="cline-any cline-neutral">&nbsp;</span>
3012
2466
  <span class="cline-any cline-neutral">&nbsp;</span>
3013
2467
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3062,7 +2516,6 @@
3062
2516
  <span class="cline-any cline-neutral">&nbsp;</span>
3063
2517
  <span class="cline-any cline-neutral">&nbsp;</span>
3064
2518
  <span class="cline-any cline-neutral">&nbsp;</span>
3065
- <span class="cline-any cline-neutral">&nbsp;</span>
3066
2519
  <span class="cline-any cline-no">&nbsp;</span>
3067
2520
  <span class="cline-any cline-no">&nbsp;</span>
3068
2521
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -3135,17 +2588,6 @@
3135
2588
  <span class="cline-any cline-neutral">&nbsp;</span>
3136
2589
  <span class="cline-any cline-neutral">&nbsp;</span>
3137
2590
  <span class="cline-any cline-neutral">&nbsp;</span>
3138
- <span class="cline-any cline-no">&nbsp;</span>
3139
- <span class="cline-any cline-neutral">&nbsp;</span>
3140
- <span class="cline-any cline-neutral">&nbsp;</span>
3141
- <span class="cline-any cline-neutral">&nbsp;</span>
3142
- <span class="cline-any cline-neutral">&nbsp;</span>
3143
- <span class="cline-any cline-neutral">&nbsp;</span>
3144
- <span class="cline-any cline-neutral">&nbsp;</span>
3145
- <span class="cline-any cline-no">&nbsp;</span>
3146
- <span class="cline-any cline-neutral">&nbsp;</span>
3147
- <span class="cline-any cline-neutral">&nbsp;</span>
3148
- <span class="cline-any cline-neutral">&nbsp;</span>
3149
2591
  <span class="cline-any cline-yes">1x</span>
3150
2592
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { at } from 'lodash';
3151
2593
  import { v4 as uuidv4 } from 'uuid';
@@ -3157,27 +2599,20 @@ import * as utils from '../utils';
3157
2599
  import { EventEmitter, EventPayload, Params } from './EventEmitter';
3158
2600
  import { action, circular, excludedInJSON, property, getConceptConstructor, getConceptPropertyMap, classMap } from '../decorators';
3159
2601
  import { Diagnostic } from '../manager/diagnostic';
2602
+ &nbsp;
3160
2603
  import { sentryMonitorNaslNode } from '../sentry';
3161
2604
  import operations from '../breakpoint/shared/operations';
3162
- import type { TypeAnnotation, App, Namespace } from '../concepts';
3163
- import * as asserts from '../concepts/utils/asserts';
3164
- import * as types from '../concepts/utils/types';
3165
- import eventBus from '../eventBus';
3166
- &nbsp;
3167
- let actionable = true;
3168
- export function <span class="fstat-no" title="function not covered" >setActionable(v</span>alue: boolean) {
3169
- <span class="cstat-no" title="statement not covered" > actionable = value;</span>
3170
- }
2605
+ import type { SynatxNode, SynatxNodeConcept, ViewElement, TypeAnnotation, App, Namespace } from '../concepts';
3171
2606
  &nbsp;
3172
2607
  // 确保属性都是定义过的
3173
- function <span class="fstat-no" title="function not covered" >ensureDefined(o</span>bject: any, concept: string) {
2608
+ function <span class="fstat-no" title="function not covered" >ensureDefined(</span>object: any, concept: string) {
3174
2609
  <span class="cstat-no" title="statement not covered" > if (!object) {</span>
3175
2610
  <span class="cstat-no" title="statement not covered" > return object;</span>
3176
2611
  }
3177
2612
  const newObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3178
2613
  const actualConcept = <span class="cstat-no" title="statement not covered" >object?.concept || concept;</span>
3179
2614
  <span class="cstat-no" title="statement not covered" > if (actualConcept) {</span>
3180
- const <span class="cstat-no" title="statement not covered" >propertyMap = getConceptPropertyMap(actualConcept);</span>
2615
+ const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(actualConcept);</span>
3181
2616
  <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3182
2617
  const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3183
2618
  <span class="cstat-no" title="statement not covered" > if (property) {</span>
@@ -3185,7 +2620,7 @@ function <span class="fstat-no" title="function not covered" >ensureDefined(o</s
3185
2620
  const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
3186
2621
  <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
3187
2622
  <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
3188
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map((<span class="fstat-no" title="function not covered" >objItem: any) =&gt; {</span></span>
2623
+ <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map(<span class="fstat-no" title="function not covered" >(o</span>bjItem: any) =&gt; {</span>
3189
2624
  <span class="cstat-no" title="statement not covered" > return ensureDefined(objItem, propertyConcept);</span>
3190
2625
  });
3191
2626
  } else {
@@ -3202,10 +2637,6 @@ function <span class="fstat-no" title="function not covered" >ensureDefined(o</s
3202
2637
  <span class="cstat-no" title="statement not covered" > return newObject;</span>
3203
2638
  }
3204
2639
  &nbsp;
3205
- type NodePathOption = {
3206
- useName?: boolean,
3207
- }
3208
- &nbsp;
3209
2640
  /**
3210
2641
  * 顶点类
3211
2642
  * 属性均为只读,仅在初始化和 load 的情况下可以修改
@@ -3213,8 +2644,6 @@ type NodePathOption = {
3213
2644
  @sentryMonitorNaslNode
3214
2645
  export class BaseNode extends EventEmitter {
3215
2646
  static readonly ConceptName: string = 'BaseNode';
3216
- &nbsp;
3217
- static readonly inheritanceChain: string[] = [];
3218
2647
  &nbsp;
3219
2648
  /**
3220
2649
  * 可修改标志,内部属性
@@ -3244,6 +2673,7 @@ export class BaseNode extends EventEmitter {
3244
2673
  }
3245
2674
  }
3246
2675
  }
2676
+ &nbsp;
3247
2677
  &nbsp;
3248
2678
  /**
3249
2679
  * toJSON 时需要去除的键,为了避免出现 CircularJSON
@@ -3290,7 +2720,7 @@ export class BaseNode extends EventEmitter {
3290
2720
  * 父节点
3291
2721
  */
3292
2722
  @circular()
3293
- parentNode: types.SyntaxNode = null;
2723
+ parentNode: SynatxNode = null;
3294
2724
  &nbsp;
3295
2725
  parentKey: string = '';
3296
2726
  &nbsp;
@@ -3307,6 +2737,13 @@ export class BaseNode extends EventEmitter {
3307
2737
  */
3308
2738
  @excludedInJSON()
3309
2739
  removable!: boolean;
2740
+ &nbsp;
2741
+ /**
2742
+ * 是否正在编辑
2743
+ * 前端 UI 状态
2744
+ */
2745
+ @excludedInJSON()
2746
+ editing!: boolean;
3310
2747
  &nbsp;
3311
2748
  /**
3312
2749
  * 是否正在请求
@@ -3350,10 +2787,10 @@ export class BaseNode extends EventEmitter {
3350
2787
  @excludedInJSON()
3351
2788
  dataTreeNodeHidden!: boolean;
3352
2789
  &nbsp;
3353
- /**
3354
- * 数据树节点是否显示
3355
- * 前端 UI 状态
3356
- */
2790
+ /**
2791
+ * 数据树节点是否显示
2792
+ * 前端 UI 状态
2793
+ */
3357
2794
  @excludedInJSON()
3358
2795
  processTreeNodeHidden!: boolean;
3359
2796
  &nbsp;
@@ -3385,9 +2822,6 @@ export class BaseNode extends EventEmitter {
3385
2822
  */
3386
2823
  tsErrorDetail!: Diagnostic | undefined;
3387
2824
  &nbsp;
3388
- /**
3389
- * 组件属性名称
3390
- */
3391
2825
  @property()
3392
2826
  name: string = '';
3393
2827
  &nbsp;
@@ -3408,26 +2842,25 @@ export class BaseNode extends EventEmitter {
3408
2842
  */
3409
2843
  constructor(source?: Partial&lt;BaseNode&gt;) {
3410
2844
  super();
3411
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.hasOwnProperty('JSON_EXCLUDED_KEYS') &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >this.JSON_EXCLUDED_KEYS === undefined) <span class="cstat-no" title="statement not covered" >d</span>elete (this as any).JSON_EXCLUDED_KEYS;</span>
2845
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (this.hasOwnProperty('JSON_EXCLUDED_KEYS') &amp;&amp; this.JSON_EXCLUDED_KEYS === undefined) delete (this as any).JSON_EXCLUDED_KEYS;
3412
2846
  /**
3413
2847
  * 监听action,delete,update事件
3414
2848
  */
3415
2849
  this.on('create', this.genActionListener);
3416
2850
  this.on('delete', this.genActionListener);
3417
2851
  this.on('update', this.genActionListener);
3418
- this.on('node:Editing', this.nodeEditing);
3419
2852
  &nbsp;
3420
2853
  /**
3421
2854
  * 监听action,delete,update事件
3422
2855
  */
3423
- this.on('create', () =&gt; operations.create(this));
3424
- this.on('delete', <span class="fstat-no" title="function not covered" >() =&gt; <span class="cstat-no" title="statement not covered" >o</span>perations.delete(this))</span>;
3425
- this.on('update', () =&gt; operations.update(this));
2856
+ this.on('create', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.create(this))</span>;
2857
+ this.on('delete', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.delete(this))</span>;
2858
+ this.on('update', <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >operations.update(this))</span>;
3426
2859
  &nbsp;
3427
2860
  }
3428
2861
  &nbsp;
3429
2862
  subConstructor(source?: Partial&lt;BaseNode&gt;) {
3430
- const propertyMap = getConceptPropertyMap(this.concept || <span class="branch-1 cbranch-no" title="branch not covered" >this.constructor.name)</span>;
2863
+ const propertyMap = getConceptPropertyMap(this.concept || this.constructor.name);
3431
2864
  const properties = Array.from(new Set([...Object.keys(this), ...Object.keys(source)])).filter((key) =&gt; propertyMap.has(key));
3432
2865
  &nbsp;
3433
2866
  // 测试时用的标记属性
@@ -3471,23 +2904,23 @@ export class BaseNode extends EventEmitter {
3471
2904
  }
3472
2905
  } catch (e) {
3473
2906
  // Function has non-object prototype 'undefined' in instanceof check
3474
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!e.message.includes('Function has non-object prototype')) <span class="cstat-no" title="statement not covered" >throw e;</span>
2907
+ <span class="cstat-no" title="statement not covered" > if (!e.message.includes('Function has non-object prototype')) <span class="cstat-no" title="statement not covered" >throw e;</span></span>
3475
2908
  }
3476
2909
  });
3477
2910
  &nbsp;
3478
2911
  operations.create(this);
3479
2912
  &nbsp;
3480
2913
  // node 环境下需要删除当前节点的 concept 属性
3481
- <span class="missing-if-branch" title="if path not taken" >I</span>if (utils.isNode &amp;&amp; ('concept' in this) &amp;&amp; !this.concept) {
3482
- <span class="cstat-no" title="statement not covered" > Reflect.deleteProperty(this, 'concept');</span>
2914
+ if (utils.isNode &amp;&amp; ('concept' in this) &amp;&amp; !this.concept) {
2915
+ Reflect.deleteProperty(this, 'concept');
3483
2916
  }
3484
2917
  }
3485
2918
  &nbsp;
3486
- <span class="fstat-no" title="function not covered" > fixInstantiate() {</span>
3487
- const <span class="cstat-no" title="statement not covered" >propertyMap = getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
3488
- const properties = <span class="cstat-no" title="statement not covered" >Object.keys(this).filter((<span class="fstat-no" title="function not covered" >key) =&gt; <span class="cstat-no" title="statement not covered" >p</span>ropertyMap.has(key))</span>;</span>
2919
+ <span class="fstat-no" title="function not covered" > fixInstantiate(</span>) {
2920
+ const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
2921
+ const properties = <span class="cstat-no" title="statement not covered" >Object.keys(this).filter(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >propertyMap.has(key))</span>;</span>
3489
2922
  &nbsp;
3490
- <span class="cstat-no" title="statement not covered" > properties.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
2923
+ <span class="cstat-no" title="statement not covered" > properties.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
3491
2924
  const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3492
2925
  const sourceItem = (<span class="cstat-no" title="statement not covered" >this as any)[key];</span>
3493
2926
  const objectRefCtor = <span class="cstat-no" title="statement not covered" >property.objectRef &amp;&amp; getConceptConstructor(property.objectRef);</span>
@@ -3502,7 +2935,7 @@ export class BaseNode extends EventEmitter {
3502
2935
  <span class="cstat-no" title="statement not covered" > sourceItem[index] = this.instantiateSub(item instanceof BaseNode ? item.toJSON() : item, key);</span>
3503
2936
  }
3504
2937
  });
3505
- <span class="cstat-no" title="statement not covered" > } else if (sourceItem instanceof objectRefCtor) {</span>
2938
+ } else <span class="cstat-no" title="statement not covered" >if (sourceItem instanceof objectRefCtor) {</span>
3506
2939
  <span class="cstat-no" title="statement not covered" > sourceItem.parentNode = this;</span>
3507
2940
  <span class="cstat-no" title="statement not covered" > sourceItem.parentKey = key;</span>
3508
2941
  <span class="cstat-no" title="statement not covered" > sourceItem.fixInstantiate();</span>
@@ -3513,7 +2946,7 @@ export class BaseNode extends EventEmitter {
3513
2946
  });
3514
2947
  }
3515
2948
  &nbsp;
3516
- <span class="fstat-no" title="function not covered" > getIndexOfParent() {</span>
2949
+ <span class="fstat-no" title="function not covered" > getIndexOfParent(</span>) {
3517
2950
  let index = <span class="cstat-no" title="statement not covered" >-1;</span>
3518
2951
  const { parentNode } = <span class="cstat-no" title="statement not covered" >this;</span>
3519
2952
  <span class="cstat-no" title="statement not covered" > if (parentNode) {</span>
@@ -3531,20 +2964,20 @@ export class BaseNode extends EventEmitter {
3531
2964
  * @param action
3532
2965
  * @returns
3533
2966
  */
3534
- genActionListener($event: EventPayload) {
2967
+ <span class="fstat-no" title="function not covered" > genActionListener(</span>$event: EventPayload) {
3535
2968
  // eventList是要被发送给后端的数据
3536
- if (!$event.eventList) {
3537
- $event.eventList = [];
2969
+ <span class="cstat-no" title="statement not covered" > if (!$event.eventList) {</span>
2970
+ <span class="cstat-no" title="statement not covered" > $event.eventList = [];</span>
3538
2971
  }
3539
- if (!$event.eventStop) {
3540
- $event.eventList.push($event);
2972
+ <span class="cstat-no" title="statement not covered" > if (!$event.eventStop) {</span>
2973
+ <span class="cstat-no" title="statement not covered" > $event.eventList.push($event);</span>
3541
2974
  }
3542
- $event.originEvent = $event.originEvent || $event;
3543
- this.onChange($event);
3544
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.concept === 'App') {
2975
+ <span class="cstat-no" title="statement not covered" > $event.originEvent = $event.originEvent || $event;</span>
2976
+ <span class="cstat-no" title="statement not covered" > this.onChange($event);</span>
2977
+ <span class="cstat-no" title="statement not covered" > if (this.concept === 'App') {</span>
3545
2978
  <span class="cstat-no" title="statement not covered" > this.emit('storage', $event);</span>
3546
- } else if (this.parentNode &amp;&amp; this.parentNode.emit) {
3547
- const event: EventPayload = {
2979
+ } else <span class="cstat-no" title="statement not covered" >if (this.parentNode &amp;&amp; this.parentNode.emit) {</span>
2980
+ const event: EventPayload = <span class="cstat-no" title="statement not covered" >{</span>
3548
2981
  action: 'update',
3549
2982
  path: this.parentNode?.getNodePath(false),
3550
2983
  object: {},
@@ -3554,22 +2987,13 @@ export class BaseNode extends EventEmitter {
3554
2987
  // eventStop为true后,数据不再存入eventList,就不再会将冒泡数据发送给后端
3555
2988
  eventStop: true,
3556
2989
  };
3557
- this.parentNode?.emit('update', event);
2990
+ <span class="cstat-no" title="statement not covered" > this.parentNode?.emit('update', event);</span>
3558
2991
  }
3559
2992
  }
3560
2993
  &nbsp;
3561
- <span class="fstat-no" title="function not covered" > nodeEditing($</span>event: EventPayload) {
3562
- <span class="cstat-no" title="statement not covered" > this.parentNode?.emit('node:Editing', $event);</span>
3563
- }
3564
- &nbsp;
3565
- <span class="fstat-no" title="function not covered" > createNode({</span> parentNode, parentKey, index }: { parentNode: types.SyntaxNode; parentKey: string; index: number }) {
3566
- <span class="cstat-no" title="statement not covered" > if(!actionable) {</span>
3567
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable')</span>
3568
- <span class="cstat-no" title="statement not covered" > return;</span>
3569
- }
3570
- &nbsp;
2994
+ <span class="fstat-no" title="function not covered" > createNode(</span>{ parentNode, parentKey, index }: { parentNode: SynatxNode; parentKey: string; index: number }) {
3571
2995
  <span class="cstat-no" title="statement not covered" > if (parentNode) {</span>
3572
- const property = <span class="cstat-no" title="statement not covered" >parentNode[parentKey as keyof types.SyntaxNode];</span>
2996
+ const property = <span class="cstat-no" title="statement not covered" >parentNode[parentKey as keyof SynatxNode];</span>
3573
2997
  <span class="cstat-no" title="statement not covered" > if (Array.isArray(property) &amp;&amp; index !== -1) {</span>
3574
2998
  <span class="cstat-no" title="statement not covered" > property.splice(index, 0, this);</span>
3575
2999
  } else {
@@ -3584,8 +3008,8 @@ export class BaseNode extends EventEmitter {
3584
3008
  }
3585
3009
  }
3586
3010
  &nbsp;
3587
- <span class="fstat-no" title="function not covered" > toTemplateJSON() {</span>
3588
- <span class="cstat-no" title="statement not covered" > return this._toJSON((<span class="fstat-no" title="function not covered" >source) =&gt; {</span></span>
3011
+ <span class="fstat-no" title="function not covered" > toTemplateJSON(</span>) {
3012
+ <span class="cstat-no" title="statement not covered" > return this._toJSON(<span class="fstat-no" title="function not covered" >(s</span>ource) =&gt; {</span>
3589
3013
  <span class="cstat-no" title="statement not covered" > delete source.id;</span>
3590
3014
  <span class="cstat-no" title="statement not covered" > return source;</span>
3591
3015
  });
@@ -3594,13 +3018,8 @@ export class BaseNode extends EventEmitter {
3594
3018
  /**
3595
3019
  * 创建节点
3596
3020
  */
3597
- create(parentParams: Params) {
3598
- <span class="missing-if-branch" title="if path not taken" >I</span>if(!actionable) {
3599
- <span class="cstat-no" title="statement not covered" > this._delete();</span>
3600
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable');</span>
3601
- <span class="cstat-no" title="statement not covered" > return;</span>
3602
- }
3603
- this.emit('create', {
3021
+ <span class="fstat-no" title="function not covered" > create(</span>parentParams: Params) {
3022
+ <span class="cstat-no" title="statement not covered" > this.emit('create', {</span>
3604
3023
  action: 'create',
3605
3024
  path: this.getNodePath(true),
3606
3025
  object: this.toJSON(),
@@ -3612,24 +3031,14 @@ export class BaseNode extends EventEmitter {
3612
3031
  /**
3613
3032
  * 如果有父节点,则删除节点,在添加时调用
3614
3033
  */
3615
- ensureDelete() {
3616
- <span class="missing-if-branch" title="if path not taken" >I</span>if(!actionable) {
3617
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable');</span>
3618
- <span class="cstat-no" title="statement not covered" > return;</span>
3619
- }
3620
- &nbsp;
3034
+ <span class="fstat-no" title="function not covered" > ensureDelete(</span>) {
3621
3035
  // 批量赋值因为连线的问题需要特殊处理一下.
3622
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.parentNode?.concept === 'SelectMembers') {
3036
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode?.concept === 'SelectMembers') {</span>
3623
3037
  <span class="cstat-no" title="statement not covered" > this.parentNode.ensureDelete();</span>
3624
3038
  <span class="cstat-no" title="statement not covered" > return;</span>
3625
3039
  }
3626
3040
  &nbsp;
3627
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.concept === 'SelectMembers' &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >this.parentNode) {</span>
3628
- const node: any = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
3629
- <span class="cstat-no" title="statement not covered" > node.changeLinesLocation(this);</span>
3630
- }
3631
- &nbsp;
3632
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.parentNode &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >this.parentKey) {</span>
3041
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode &amp;&amp; this.parentKey) {</span>
3633
3042
  const path = <span class="cstat-no" title="statement not covered" >this.getNodePath(false);</span>
3634
3043
  const parentParams = <span class="cstat-no" title="statement not covered" >this._delete();</span>
3635
3044
  <span class="cstat-no" title="statement not covered" > if (parentParams &amp;&amp; parentParams.index !== -1) {</span>
@@ -3660,12 +3069,7 @@ export class BaseNode extends EventEmitter {
3660
3069
  /**
3661
3070
  * 删除节点
3662
3071
  */
3663
- <span class="fstat-no" title="function not covered" > delete() {</span>
3664
- <span class="cstat-no" title="statement not covered" > if(!actionable) {</span>
3665
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable');</span>
3666
- <span class="cstat-no" title="statement not covered" > return;</span>
3667
- }
3668
- &nbsp;
3072
+ <span class="fstat-no" title="function not covered" > delete(</span>) {
3669
3073
  <span class="cstat-no" title="statement not covered" > if (this.parentNode?.concept === 'Match' &amp;&amp; this.parentKey === 'expression') {</span>
3670
3074
  (<span class="cstat-no" title="statement not covered" >this.parentNode as any).setExpressionWitchCase(null);</span>
3671
3075
  <span class="cstat-no" title="statement not covered" > return;</span>
@@ -3683,12 +3087,7 @@ export class BaseNode extends EventEmitter {
3683
3087
  &nbsp;
3684
3088
  // 自定义连接器下的namespace删除的时候需要同时删除对应的logic
3685
3089
  <span class="cstat-no" title="statement not covered" > if (this.concept === 'Namespace' &amp;&amp; this.parentNode.concept === 'Connector') {</span>
3686
- <span class="cstat-no" title="statement not covered" > while((this as unknown as Namespace).logics.length &gt; 0) {</span>
3687
- const curLogic = (<span class="cstat-no" title="statement not covered" >this as unknown as Namespace).logics?.shift();</span>
3688
- <span class="cstat-no" title="statement not covered" > if (curLogic) {</span>
3689
- <span class="cstat-no" title="statement not covered" > curLogic?.delete();</span>
3690
- }
3691
- }
3090
+ (<span class="cstat-no" title="statement not covered" >this as unknown as Namespace).logics.forEach(<span class="fstat-no" title="function not covered" >logic </span>=&gt; <span class="cstat-no" title="statement not covered" >logic?.delete())</span></span>
3692
3091
  }
3693
3092
  &nbsp;
3694
3093
  const useIndex = <span class="cstat-no" title="statement not covered" >['BindEvent', 'Identifier'].includes(this.concept);</span>
@@ -3697,7 +3096,7 @@ export class BaseNode extends EventEmitter {
3697
3096
  <span class="cstat-no" title="statement not covered" > if (parentParams &amp;&amp; parentParams.index !== -1) {</span>
3698
3097
  <span class="cstat-no" title="statement not covered" > if (Array.isArray((this.parentNode as any)[this.parentKey])) {</span>
3699
3098
  <span class="cstat-no" title="statement not covered" > if (process.env.NODE_ENV === 'development') {</span>
3700
- <span class="cstat-no" title="statement not covered" > console.log('[删除节点]', this?.name, this);</span>
3099
+ <span class="cstat-no" title="statement not covered" > console.log('删除节点', this);</span>
3701
3100
  }
3702
3101
  <span class="cstat-no" title="statement not covered" > this.emit('delete', {</span>
3703
3102
  action: 'delete',
@@ -3724,180 +3123,78 @@ export class BaseNode extends EventEmitter {
3724
3123
  /**
3725
3124
  * 更新节点
3726
3125
  */
3727
- <span class="fstat-no" title="function not covered" > update({</span> field, ...object }: any) {
3728
- <span class="cstat-no" title="statement not covered" > if(!actionable) {</span>
3729
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable');</span>
3730
- <span class="cstat-no" title="statement not covered" > return;</span>
3731
- }
3732
- &nbsp;
3126
+ <span class="fstat-no" title="function not covered" > update(</span>{ field, ...object }: any) {
3733
3127
  const path = <span class="cstat-no" title="statement not covered" >this.getNodePath(false);</span>
3734
- // 更新前的旧的对象
3735
3128
  const oldObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3736
- // 更新后的新对象
3737
- const newObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3738
- const riskList: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
3739
3129
  <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3740
3130
  <span class="cstat-no" title="statement not covered" > if (key === 'concept') {</span>
3741
3131
  <span class="cstat-no" title="statement not covered" > continue;</span>
3742
3132
  }
3743
- <span class="cstat-no" title="statement not covered" > if (Object.prototype.hasOwnProperty.call(object, key)) {</span>
3744
- // 旧对象收集
3745
- <span class="cstat-no" title="statement not covered" > this.collectOldObject({</span>
3746
- oldObject,
3747
- key
3748
- });
3749
- // 新对象收集
3750
- <span class="cstat-no" title="statement not covered" > this.collectNewObject({</span>
3751
- newObject,
3752
- object,
3753
- key,
3754
- riskList
3755
- });
3756
- }
3757
- }
3758
3133
  &nbsp;
3759
- // 更新实例上的属性
3760
- <span class="cstat-no" title="statement not covered" > this.updateInstance(newObject);</span>
3761
- &nbsp;
3762
- <span class="cstat-no" title="statement not covered" > if (process.env.NODE_ENV === 'development') {</span>
3763
- <span class="cstat-no" title="statement not covered" > console.log('[更新节点]', 'path:', path, 'oldObject:', oldObject, 'newObject:', newObject);</span>
3764
- }
3765
- <span class="cstat-no" title="statement not covered" > this.emit('update', {</span>
3766
- action: 'update',
3767
- path,
3768
- object: newObject,
3769
- oldObject,
3770
- field,
3771
- riskList,
3772
- });
3773
- }
3774
- &nbsp;
3775
- // 旧对象收集
3776
- <span class="fstat-no" title="function not covered" > collectOldObject(p</span>arams: any) {
3777
- const { oldObject, key } = <span class="cstat-no" title="statement not covered" >params || {};</span>
3778
- const oldProperty = (<span class="cstat-no" title="statement not covered" >this as any)[key] ?? null;</span>
3779
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty;</span>
3780
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(oldProperty)) {</span>
3781
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.map((<span class="fstat-no" title="function not covered" >item) =&gt; {</span></span>
3782
- let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3783
- <span class="cstat-no" title="statement not covered" > if (item instanceof BaseNode) {</span>
3784
- <span class="cstat-no" title="statement not covered" > propertyItem = item.toJSON();</span>
3785
- }
3786
- <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3787
- });
3788
- <span class="cstat-no" title="statement not covered" > } else if (oldProperty instanceof BaseNode) {</span>
3789
- <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.toJSON();</span>
3790
- }
3791
- }
3792
- &nbsp;
3793
- // 新对象收集
3794
- <span class="fstat-no" title="function not covered" > collectNewObject(p</span>arams: any) {
3795
- const { newObject, object, key, riskList } = <span class="cstat-no" title="statement not covered" >params || {};</span>
3796
- const <span class="cstat-no" title="statement not covered" >propertyMap = getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
3797
- const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3798
- <span class="cstat-no" title="statement not covered" > if (property) {</span>
3799
- const objProperty = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3800
- const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
3801
- // 在定义中该属性是否为数组
3802
- const propertyIsArray = <span class="cstat-no" title="statement not covered" >property?.isArray;</span>
3803
- const propertyDefaultValue = <span class="cstat-no" title="statement not covered" >property?.defaultValue;</span>
3804
- <span class="cstat-no" title="statement not covered" > if (propertyIsArray &amp;&amp; (!Array.isArray(objProperty) &amp;&amp; objProperty != propertyDefaultValue)) {</span>
3805
- <span class="cstat-no" title="statement not covered" > riskList?.push(`将Nasl节点“${this.concept}”上声明为数组的属性“${key}”赋值为“${objProperty}”`);</span>
3806
- }
3807
- <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
3808
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
3809
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map((<span class="fstat-no" title="function not covered" >objItem: any) =&gt; {</span></span>
3810
- <span class="cstat-no" title="statement not covered" > return this.ensureDefined({</span>
3811
- object: objItem,
3812
- concept: propertyConcept,
3813
- riskList
3814
- });
3134
+ <span class="cstat-no" title="statement not covered" > if (Object.prototype.hasOwnProperty.call(object, key)) {</span>
3135
+ const oldProperty = (<span class="cstat-no" title="statement not covered" >this as any)[key] ?? null;</span>
3136
+ <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty;</span>
3137
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(oldProperty)) {</span>
3138
+ <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3139
+ let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3140
+ <span class="cstat-no" title="statement not covered" > if (item instanceof BaseNode) {</span>
3141
+ <span class="cstat-no" title="statement not covered" > propertyItem = item.toJSON();</span>
3142
+ }
3143
+ <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3815
3144
  });
3816
- } else {
3817
- <span class="cstat-no" title="statement not covered" > newObject[key] = this.ensureDefined({</span>
3818
- object: objProperty,
3819
- concept: propertyConcept,
3820
- riskList
3145
+ } else <span class="cstat-no" title="statement not covered" >if (oldProperty instanceof BaseNode) {</span>
3146
+ <span class="cstat-no" title="statement not covered" > oldObject[key] = oldProperty.toJSON();</span>
3147
+ }
3148
+ const property = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3149
+ (<span class="cstat-no" title="statement not covered" >this as any)[key] = property;</span>
3150
+ const objectRefCtor = <span class="cstat-no" title="statement not covered" >getConceptConstructor(property?.concept);</span>
3151
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(property)) {</span>
3152
+ (<span class="cstat-no" title="statement not covered" >this as any)[key] = property.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3153
+ let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3154
+ const propertyObjectRefCtor = <span class="cstat-no" title="statement not covered" >getConceptConstructor(item?.concept);</span>
3155
+ <span class="cstat-no" title="statement not covered" > if (propertyObjectRefCtor?.from) {</span>
3156
+ <span class="cstat-no" title="statement not covered" > propertyItem = (propertyObjectRefCtor as any).from(item, this, key);</span>
3157
+ }
3158
+ <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3821
3159
  });
3160
+ } else <span class="cstat-no" title="statement not covered" >if (objectRefCtor?.from) {</span>
3161
+ (<span class="cstat-no" title="statement not covered" >this as any)[key] = (objectRefCtor as any).from(property, this, key);</span>
3822
3162
  }
3823
- } else {
3824
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty;</span>
3825
3163
  }
3826
3164
  }
3827
- }
3828
- &nbsp;
3829
- // 确保属性都是定义过的
3830
- <span class="fstat-no" title="function not covered" > ensureDefined(p</span>arams: any) {
3831
- const { object, concept, riskList } = <span class="cstat-no" title="statement not covered" >params || {};</span>
3832
- <span class="cstat-no" title="statement not covered" > if (!object) {</span>
3833
- <span class="cstat-no" title="statement not covered" > return object;</span>
3834
- }
3835
3165
  const newObject: any = <span class="cstat-no" title="statement not covered" >{};</span>
3836
- const actualConcept = <span class="cstat-no" title="statement not covered" >object?.concept || concept;</span>
3837
- <span class="cstat-no" title="statement not covered" > if (actualConcept) {</span>
3838
- const <span class="cstat-no" title="statement not covered" >propertyMap = getConceptPropertyMap(actualConcept);</span>
3839
- <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3840
- const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3841
- <span class="cstat-no" title="statement not covered" > if (property) {</span>
3842
- const objProperty = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3843
- const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
3844
- // 在定义中该属性是否为数组
3845
- const propertyIsArray = <span class="cstat-no" title="statement not covered" >property?.isArray;</span>
3846
- const propertyDefaultValue = <span class="cstat-no" title="statement not covered" >property?.defaultValue;</span>
3847
- <span class="cstat-no" title="statement not covered" > if (propertyIsArray &amp;&amp; (!Array.isArray(objProperty) &amp;&amp; objProperty != propertyDefaultValue)) {</span>
3848
- <span class="cstat-no" title="statement not covered" > riskList?.push(`将Nasl节点“${actualConcept}”上声明为数组的属性“${key}”赋值为“${objProperty}”`);</span>
3849
- }
3850
- <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
3851
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
3852
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map((<span class="fstat-no" title="function not covered" >objItem: any) =&gt; {</span></span>
3853
- <span class="cstat-no" title="statement not covered" > return this.ensureDefined({</span>
3854
- object: objItem,
3855
- concept: propertyConcept,
3856
- riskList,
3857
- });
3858
- });
3859
- } else {
3860
- <span class="cstat-no" title="statement not covered" > newObject[key] = this.ensureDefined({</span>
3861
- object: objProperty,
3862
- concept: propertyConcept,
3863
- riskList
3864
- });
3865
- }
3166
+ const propertyMap = <span class="cstat-no" title="statement not covered" >getConceptPropertyMap(this.concept ?? this.constructor.name);</span>
3167
+ <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3168
+ const property = <span class="cstat-no" title="statement not covered" >propertyMap.get(key);</span>
3169
+ <span class="cstat-no" title="statement not covered" > if (property) {</span>
3170
+ const objProperty = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3171
+ const propertyConcept = <span class="cstat-no" title="statement not covered" >property?.objectRef;</span>
3172
+ <span class="cstat-no" title="statement not covered" > if (propertyConcept) {</span>
3173
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(objProperty)) {</span>
3174
+ <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty.map(<span class="fstat-no" title="function not covered" >(o</span>bjItem: any) =&gt; {</span>
3175
+ <span class="cstat-no" title="statement not covered" > return ensureDefined(objItem, propertyConcept);</span>
3176
+ });
3866
3177
  } else {
3867
- <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty;</span>
3178
+ <span class="cstat-no" title="statement not covered" > newObject[key] = ensureDefined(objProperty, propertyConcept);</span>
3868
3179
  }
3180
+ } else {
3181
+ <span class="cstat-no" title="statement not covered" > newObject[key] = objProperty;</span>
3869
3182
  }
3870
3183
  }
3871
- <span class="cstat-no" title="statement not covered" > newObject.concept = actualConcept;</span>
3872
3184
  }
3873
- <span class="cstat-no" title="statement not covered" > return newObject;</span>
3874
- }
3875
- &nbsp;
3876
- // 更新实例上的属性
3877
- <span class="fstat-no" title="function not covered" > updateInstance(o</span>bject: any) {
3878
- <span class="cstat-no" title="statement not covered" > for (const key in object) {</span>
3879
- <span class="cstat-no" title="statement not covered" > if (key === 'concept') {</span>
3880
- <span class="cstat-no" title="statement not covered" > continue;</span>
3881
- }
3882
- const property = <span class="cstat-no" title="statement not covered" >object[key] ?? null;</span>
3883
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = property;</span>
3884
- const <span class="cstat-no" title="statement not covered" >objectRefCtor = getConceptConstructor(property?.concept);</span>
3885
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(property)) {</span>
3886
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = property.map((<span class="fstat-no" title="function not covered" >item) =&gt; {</span></span>
3887
- let propertyItem = <span class="cstat-no" title="statement not covered" >item ?? null;</span>
3888
- const <span class="cstat-no" title="statement not covered" >propertyObjectRefCtor = getConceptConstructor(item?.concept);</span>
3889
- <span class="cstat-no" title="statement not covered" > if (propertyObjectRefCtor?.from) {</span>
3890
- <span class="cstat-no" title="statement not covered" > propertyItem = (propertyObjectRefCtor as any).from(item, this, key);</span>
3891
- }
3892
- <span class="cstat-no" title="statement not covered" > return propertyItem;</span>
3893
- });
3894
- <span class="cstat-no" title="statement not covered" > } else if (objectRefCtor?.from) {</span>
3895
- (<span class="cstat-no" title="statement not covered" >this as any)[key] = (objectRefCtor as any).from(property, this, key);</span>
3896
- }
3185
+ <span class="cstat-no" title="statement not covered" > if (process.env.NODE_ENV === 'development') {</span>
3186
+ <span class="cstat-no" title="statement not covered" > console.log('更新节点', 'path', path, 'oldObject', oldObject, 'newObject', newObject);</span>
3897
3187
  }
3188
+ <span class="cstat-no" title="statement not covered" > this.emit('update', {</span>
3189
+ action: 'update',
3190
+ path,
3191
+ object: newObject,
3192
+ oldObject,
3193
+ field,
3194
+ });
3898
3195
  }
3899
3196
  &nbsp;
3900
- <span class="fstat-no" title="function not covered" > _delete(): Params {</span>
3197
+ <span class="fstat-no" title="function not covered" > _delete(</span>): Params {
3901
3198
  /* override */
3902
3199
  <span class="cstat-no" title="statement not covered" > return {</span>
3903
3200
  propertyName: '',
@@ -3930,7 +3227,7 @@ export class BaseNode extends EventEmitter {
3930
3227
  }
3931
3228
  instance.subConstructor({
3932
3229
  ...source,
3933
- concept: source?.concept ?? this?.prototype?.concept ?? (<span class="branch-2 cbranch-no" title="branch not covered" >Ctor as any).ConceptName as string ?? <span class="branch-3 cbranch-no" title="branch not covered" >C</span>tor.name,</span>
3230
+ concept: source?.concept ?? this?.prototype?.concept ?? (<span class="branch-2 cbranch-no" title="branch not covered" >Ctor as any).ConceptName as string </span>?? <span class="branch-3 cbranch-no" title="branch not covered" >Ctor.name,</span>
3934
3231
  parentNode,
3935
3232
  });
3936
3233
  return instance;
@@ -3943,16 +3240,12 @@ export class BaseNode extends EventEmitter {
3943
3240
  &nbsp;
3944
3241
  getNodePath(useIndex: boolean): string;
3945
3242
  getNodePath(useIndexKeys: string[]): string;
3946
- getNodePath(option: NodePathOption): string;
3947
- getNodePath(useIndex: boolean | string[] | NodePathOption) {
3243
+ getNodePath(useIndex: boolean | string[]) {
3948
3244
  let node: BaseNode = this;
3949
3245
  let useIndexKeys: string[] = [];
3950
- let option: NodePathOption = {};
3951
3246
  <span class="missing-if-branch" title="if path not taken" >I</span>if (Array.isArray(useIndex)) {
3952
3247
  <span class="cstat-no" title="statement not covered" > useIndexKeys = useIndex;</span>
3953
3248
  <span class="cstat-no" title="statement not covered" > useIndex = false;</span>
3954
- <span class="missing-if-branch" title="if path not taken" >I</span>} else if(useIndex &amp;&amp; typeof useIndex === 'object') {
3955
- <span class="cstat-no" title="statement not covered" > option = useIndex;</span>
3956
3249
  }
3957
3250
  let isNodeSelf = true;
3958
3251
  const pathArr = [];
@@ -3968,19 +3261,19 @@ export class BaseNode extends EventEmitter {
3968
3261
  // 如果存在同名节点,使用下标来表示NodePath
3969
3262
  const siblingNode: BaseNode = name
3970
3263
  ? (parentProperty as BaseNode[]).find((child) =&gt; {
3971
- // 因为proxy的关系,导致两边的引用不相同,所以这里需要判断id
3972
- return child?.name === name &amp;&amp; child !== node &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >child?.id !== node?.id;</span>
3973
- })
3264
+ // 因为proxy的关系,导致两边的引用不相同,所以这里需要判断id
3265
+ return child?.name === name &amp;&amp; child !== node &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >child?.id !== node?.id;</span>
3266
+ })
3974
3267
  : <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
3975
- if (!(option.useName &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >name) &amp;&amp; (s</span>iblingNode || !name || (useIndex &amp;&amp; isNodeSelf) || useIndexKeys.includes(node.concept))) {
3976
- const index = parentProperty.findIndex((item) =&gt; {
3977
- <span class="missing-if-branch" title="else path not taken" >E</span>if (item === node) {
3978
- return true;
3268
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (siblingNode || !name || (useIndex &amp;&amp; <span class="branch-3 cbranch-no" title="branch not covered" >isNodeSelf)</span> || useIndexKeys.includes(node.concept)) {
3269
+ const index = <span class="cstat-no" title="statement not covered" >parentProperty.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
3270
+ <span class="cstat-no" title="statement not covered" > if (item === node) {</span>
3271
+ <span class="cstat-no" title="statement not covered" > return true;</span>
3979
3272
  }
3980
3273
  &nbsp;
3981
3274
  <span class="cstat-no" title="statement not covered" > return item?.id &amp;&amp; item?.id === node?.id;</span>
3982
3275
  });
3983
- path += `[${index}]`;
3276
+ <span class="cstat-no" title="statement not covered" > path += `[${index}]`;</span>
3984
3277
  } else {
3985
3278
  path += `[name=${name}]`;
3986
3279
  }
@@ -3997,13 +3290,13 @@ export class BaseNode extends EventEmitter {
3997
3290
  /**
3998
3291
  * 上层节点
3999
3292
  */
4000
- get upperNode(): types.SyntaxNode {
3293
+ get upperNode(): SynatxNode {
4001
3294
  // eslint-disable-next-line consistent-this
4002
3295
  let _upperNode: BaseNode = this;
4003
3296
  while (!!_upperNode &amp;&amp; _upperNode.concept === this.concept) {
4004
3297
  _upperNode = _upperNode.parentNode;
4005
3298
  }
4006
- return _upperNode as types.SyntaxNode;
3299
+ return _upperNode as SynatxNode;
4007
3300
  }
4008
3301
  &nbsp;
4009
3302
  /**
@@ -4016,14 +3309,11 @@ export class BaseNode extends EventEmitter {
4016
3309
  /**
4017
3310
  * 获取祖先节点
4018
3311
  */
4019
- getAncestor(concept: types.SyntaxNode['concept']): types.SyntaxNode;
4020
- getAncestor&lt;Node extends types.SyntaxNode&gt;(concept: Node['concept']): Node;
4021
- getAncestor&lt;Node extends types.SyntaxNode = types.SyntaxNode&gt;(concept: types.SyntaxNode['concept']): Node {
3312
+ getAncestor(concept: SynatxNode['concept']): SynatxNode;
3313
+ getAncestor&lt;Node extends SynatxNode&gt;(concept: Node['concept']): Node;
3314
+ getAncestor&lt;Node extends SynatxNode = SynatxNode&gt;(concept: SynatxNode['concept']): Node {
4022
3315
  let { upperNode } = this;
4023
- while (upperNode &amp;&amp; upperNode.concept &amp;&amp; (
4024
- (upperNode.concept !== concept)
4025
- &amp;&amp; (!(upperNode.constructor as any).inheritanceChain?.includes(concept))
4026
- )) {
3316
+ while (upperNode &amp;&amp; upperNode.concept &amp;&amp; upperNode.concept !== concept) {
4027
3317
  upperNode = upperNode.upperNode;
4028
3318
  }
4029
3319
  return upperNode as Node;
@@ -4057,20 +3347,6 @@ export class BaseNode extends EventEmitter {
4057
3347
  }
4058
3348
  return '';
4059
3349
  }
4060
- &nbsp;
4061
- __editing!: boolean;
4062
- &nbsp;
4063
- get editing() {
4064
- return this.__editing;
4065
- }
4066
- &nbsp;
4067
- // 修改节点编辑状态的时候需要抛个事件出去
4068
- <span class="fstat-no" title="function not covered" > set e</span>diting(value: boolean) {
4069
- <span class="cstat-no" title="statement not covered" > this.__editing = value;</span>
4070
- <span class="cstat-no" title="statement not covered" > this.emit('node:Editing', {</span>
4071
- value
4072
- });
4073
- }
4074
3350
  &nbsp;
4075
3351
  /**
4076
3352
  * 生成json
@@ -4078,13 +3354,13 @@ export class BaseNode extends EventEmitter {
4078
3354
  * @param Ctor
4079
3355
  */
4080
3356
  genSources(instance: BaseNode, filerFn?: (source: Partial&lt;BaseNode&gt;) =&gt; {}) {
4081
- if (!instance) {
3357
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (!instance) {
4082
3358
  return instance;
4083
3359
  }
4084
- if (Array.isArray(instance)) {
4085
- return instance.map((item) =&gt; (item &amp;&amp; item._toJSON ? item._toJSON(filerFn) : item));
3360
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(instance)) {</span>
3361
+ <span class="cstat-no" title="statement not covered" > return instance.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; (<span class="cstat-no" title="statement not covered" >item &amp;&amp; item._toJSON ? item._toJSON(filerFn) : item)</span>);</span>
4086
3362
  }
4087
- return instance &amp;&amp; instance._toJSON ? instance._toJSON(filerFn) : <span class="branch-1 cbranch-no" title="branch not covered" >instance;</span>
3363
+ <span class="cstat-no" title="statement not covered" > return instance &amp;&amp; instance._toJSON ? instance._toJSON(filerFn) : instance;</span>
4088
3364
  }
4089
3365
  &nbsp;
4090
3366
  /**
@@ -4097,7 +3373,7 @@ export class BaseNode extends EventEmitter {
4097
3373
  instantiate(source: any, parentNode: BaseNode, parentKey: string) {
4098
3374
  if (source instanceof BaseNode) {
4099
3375
  if (!source.parentNode || !source.parentKey) {
4100
- source.parentNode = parentNode as types.SyntaxNode;
3376
+ source.parentNode = parentNode as SynatxNode;
4101
3377
  source.parentKey = parentKey;
4102
3378
  }
4103
3379
  return source;
@@ -4139,12 +3415,12 @@ export class BaseNode extends EventEmitter {
4139
3415
  }
4140
3416
  }
4141
3417
  &nbsp;
4142
- <span class="fstat-no" title="function not covered" > plainAssign(s</span>ource: any) {
3418
+ <span class="fstat-no" title="function not covered" > plainAssign(</span>source: any) {
4143
3419
  <span class="cstat-no" title="statement not covered" > this._mutable = true;</span>
4144
3420
  &nbsp;
4145
3421
  const oldId = <span class="cstat-no" title="statement not covered" >this.id;</span>
4146
3422
  &nbsp;
4147
- <span class="cstat-no" title="statement not covered" > Object.keys(source).forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
3423
+ <span class="cstat-no" title="statement not covered" > Object.keys(source).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
4148
3424
  const value = <span class="cstat-no" title="statement not covered" >source[key];</span>
4149
3425
  <span class="cstat-no" title="statement not covered" > if (typeof value !== 'object' &amp;&amp; typeof value !== 'function') (<span class="cstat-no" title="statement not covered" >this as any)[key] = value;</span></span>
4150
3426
  });
@@ -4152,9 +3428,9 @@ export class BaseNode extends EventEmitter {
4152
3428
  <span class="cstat-no" title="statement not covered" > this._mutable = false;</span>
4153
3429
  }
4154
3430
  &nbsp;
4155
- <span class="fstat-no" title="function not covered" > pick(s</span>ource: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]) {</span>
3431
+ <span class="fstat-no" title="function not covered" > pick(</span>source: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
4156
3432
  const obj: { [name: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
4157
- <span class="cstat-no" title="statement not covered" > keys.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; (<span class="cstat-no" title="statement not covered" >o</span>bj[key] = source[key]))</span>;</span>
3433
+ <span class="cstat-no" title="statement not covered" > keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; (<span class="cstat-no" title="statement not covered" >obj[key] = source[key])</span>);</span>
4158
3434
  // 这里统一用 assign,集中处理 id 的问题
4159
3435
  // this.assign(obj);
4160
3436
  }
@@ -4167,15 +3443,15 @@ export class BaseNode extends EventEmitter {
4167
3443
  * ```
4168
3444
  * this.deepPick(result, ['id'])
4169
3445
  */
4170
- <span class="fstat-no" title="function not covered" > deepPick(s</span>ource: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]) {</span>
3446
+ <span class="fstat-no" title="function not covered" > deepPick(</span>source: any, keys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
4171
3447
  <span class="cstat-no" title="statement not covered" > utils.traverse(</span>
4172
- (<span class="fstat-no" title="function not covered" >current) =&gt; {</span>
3448
+ <span class="fstat-no" title="function not covered" > (c</span>urrent) =&gt; {
4173
3449
  const subSource = <span class="cstat-no" title="statement not covered" >current.jsonPath ? at(source, [current.jsonPath])[0] : source;</span>
4174
3450
  const target = <span class="cstat-no" title="statement not covered" >current.jsonPath ? at(this as any, [current.jsonPath])[0] : this;</span>
4175
3451
  <span class="cstat-no" title="statement not covered" > if (!target) <span class="cstat-no" title="statement not covered" >return;</span></span>
4176
3452
  &nbsp;
4177
3453
  const obj: { [name: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
4178
- <span class="cstat-no" title="statement not covered" > keys.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
3454
+ <span class="cstat-no" title="statement not covered" > keys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
4179
3455
  <span class="cstat-no" title="statement not covered" > if (subSource.hasOwnProperty(key)) {</span>
4180
3456
  <span class="cstat-no" title="statement not covered" > obj[key] = subSource[key];</span>
4181
3457
  }
@@ -4215,7 +3491,7 @@ export class BaseNode extends EventEmitter {
4215
3491
  // @ts-ignore
4216
3492
  source.concept = this.concept;
4217
3493
  &nbsp;
4218
- return filerFn ? <span class="branch-0 cbranch-no" title="branch not covered" >filerFn(source) : s</span>ource;
3494
+ return filerFn ? <span class="branch-0 cbranch-no" title="branch not covered" >filerFn(source) </span>: source;
4219
3495
  }
4220
3496
  &nbsp;
4221
3497
  /**
@@ -4223,12 +3499,12 @@ export class BaseNode extends EventEmitter {
4223
3499
  * @param parentKey 外面的 key,提供给 JSON.stringify 使用
4224
3500
  * @param excludedKeys 需要额外排除的 keys
4225
3501
  */
4226
- <span class="fstat-no" title="function not covered" > toPlainJSON(p</span>arentKey?: string, excludedKeys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[]): any {</span>
4227
- const JSON_EXCLUDED_KEYS = <span class="cstat-no" title="statement not covered" >new Set(this.JSON_EXCLUDED_KEYS || []); // Object.getPrototypeOf(this).constructor.JSON_EXCLUDED_KEYS || [];</span>
4228
- <span class="cstat-no" title="statement not covered" > excludedKeys.forEach((<span class="fstat-no" title="function not covered" >key) =&gt; <span class="cstat-no" title="statement not covered" >J</span>SON_EXCLUDED_KEYS.add(key))</span>;</span>
3502
+ <span class="fstat-no" title="function not covered" > toPlainJSON(</span>parentKey?: string, excludedKeys: Array&lt;string&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span>: any {
3503
+ const JSON_EXCLUDED_KEYS = <span class="cstat-no" title="statement not covered" >new Set(this.JSON_EXCLUDED_KEYS || []);</span> // Object.getPrototypeOf(this).constructor.JSON_EXCLUDED_KEYS || [];
3504
+ <span class="cstat-no" title="statement not covered" > excludedKeys.forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; <span class="cstat-no" title="statement not covered" >JSON_EXCLUDED_KEYS.add(key))</span>;</span>
4229
3505
  &nbsp;
4230
3506
  const temp: { [prop: string]: any } = <span class="cstat-no" title="statement not covered" >{};</span>
4231
- <span class="cstat-no" title="statement not covered" > Object.keys(this).forEach((<span class="fstat-no" title="function not covered" >key) =&gt; {</span></span>
3507
+ <span class="cstat-no" title="statement not covered" > Object.keys(this).forEach(<span class="fstat-no" title="function not covered" >(k</span>ey) =&gt; {</span>
4232
3508
  const value = (<span class="cstat-no" title="statement not covered" >this as any)[key];</span>
4233
3509
  <span class="cstat-no" title="statement not covered" > if (!JSON_EXCLUDED_KEYS.has(key) &amp;&amp; typeof value !== 'object' &amp;&amp; typeof value !== 'function') <span class="cstat-no" title="statement not covered" >temp[key] = value;</span></span>
4234
3510
  });
@@ -4239,7 +3515,7 @@ export class BaseNode extends EventEmitter {
4239
3515
  * 查找引用
4240
3516
  */
4241
3517
  @action('查找引用')
4242
- <span class="fstat-no" title="function not covered" > async f</span>indUsage(): Promise&lt;any&gt; {
3518
+ <span class="fstat-no" title="function not covered" > async </span>findUsage(): Promise&lt;any&gt; {
4243
3519
  /* override */
4244
3520
  }
4245
3521
  &nbsp;
@@ -4247,11 +3523,11 @@ export class BaseNode extends EventEmitter {
4247
3523
  * 通过当前节点,查找被引用的节点
4248
3524
  */
4249
3525
  @action('通过当前节点,查找被引用的节点')
4250
- <span class="fstat-no" title="function not covered" > async n</span>odeFindRefNodes(): Promise&lt;any&gt; {
3526
+ <span class="fstat-no" title="function not covered" > async </span>nodeFindRefNodes(): Promise&lt;any&gt; {
4251
3527
  /* override */
4252
3528
  }
4253
3529
  &nbsp;
4254
- <span class="fstat-no" title="function not covered" > async f</span>indReadOnlyLogicUsage(): Promise&lt;any&gt; {
3530
+ <span class="fstat-no" title="function not covered" > async </span>findReadOnlyLogicUsage(): Promise&lt;any&gt; {
4255
3531
  /* override */
4256
3532
  }
4257
3533
  &nbsp;
@@ -4259,7 +3535,7 @@ export class BaseNode extends EventEmitter {
4259
3535
  * 重命名
4260
3536
  */
4261
3537
  @action('重命名')
4262
- <span class="fstat-no" title="function not covered" > async c</span>hangeName(newValue: string, updateAll: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false): Promise&lt;any&gt; {</span>
3538
+ <span class="fstat-no" title="function not covered" > async </span>changeName(newValue: string, updateAll: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span>: Promise&lt;any&gt; {
4263
3539
  /* override */
4264
3540
  }
4265
3541
  &nbsp;
@@ -4267,7 +3543,7 @@ export class BaseNode extends EventEmitter {
4267
3543
  * 准备删除
4268
3544
  */
4269
3545
  @action('准备删除')
4270
- <span class="fstat-no" title="function not covered" > async p</span>repareDelete(cb?: Function): Promise&lt;any&gt; {
3546
+ <span class="fstat-no" title="function not covered" > async </span>prepareDelete(cb?: Function): Promise&lt;any&gt; {
4271
3547
  /* override */
4272
3548
  }
4273
3549
  &nbsp;
@@ -4275,7 +3551,7 @@ export class BaseNode extends EventEmitter {
4275
3551
  * 添加参数准备
4276
3552
  */
4277
3553
  @action('添加参数准备')
4278
- <span class="fstat-no" title="function not covered" > async a</span>ddParamsPrepare(): Promise&lt;any&gt; {
3554
+ <span class="fstat-no" title="function not covered" > async </span>addParamsPrepare(): Promise&lt;any&gt; {
4279
3555
  /* override */
4280
3556
  }
4281
3557
  &nbsp;
@@ -4283,7 +3559,7 @@ export class BaseNode extends EventEmitter {
4283
3559
  * 获取当前节点类型
4284
3560
  */
4285
3561
  @action('获取当前节点类型')
4286
- <span class="fstat-no" title="function not covered" > async g</span>etCurrentTypeAnnotation(): Promise&lt;any&gt; {
3562
+ <span class="fstat-no" title="function not covered" > async </span>getCurrentTypeAnnotation(): Promise&lt;any&gt; {
4287
3563
  /* override */
4288
3564
  }
4289
3565
  &nbsp;
@@ -4291,7 +3567,7 @@ export class BaseNode extends EventEmitter {
4291
3567
  * 获取当前节点的下一级内容
4292
3568
  */
4293
3569
  @action('获取当前节点的下一级内容')
4294
- <span class="fstat-no" title="function not covered" > getSelectRef(n</span>ewTypeAnnotation: TypeAnnotation, needNewStructure = <span class="branch-0 cbranch-no" title="branch not covered" >false): any {</span>
3570
+ <span class="fstat-no" title="function not covered" > getSelectRef(</span>newTypeAnnotation: TypeAnnotation, needNewStructure = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span>: any {
4295
3571
  /* override */
4296
3572
  }
4297
3573
  &nbsp;
@@ -4299,22 +3575,22 @@ export class BaseNode extends EventEmitter {
4299
3575
  * 销毁
4300
3576
  * 从 Map 中删除点和子节点
4301
3577
  */
4302
- <span class="fstat-no" title="function not covered" > destroy() {</span>
3578
+ <span class="fstat-no" title="function not covered" > destroy(</span>) {
4303
3579
  // utils.traverse((current) =&gt; , { node: this }, {
4304
3580
  // mode: 'anyObject',
4305
3581
  // excludedKeySet: this.JSON_EXCLUDED_KEYS,
4306
3582
  // });
4307
3583
  }
4308
3584
  &nbsp;
4309
- onChange($event?: EventPayload) {
4310
- this.emit('change', $event);
3585
+ <span class="fstat-no" title="function not covered" > onChange(</span>$event?: EventPayload) {
3586
+ <span class="cstat-no" title="statement not covered" > this.emit('change', $event);</span>
4311
3587
  }
4312
3588
  &nbsp;
4313
- <span class="fstat-no" title="function not covered" > onCreate($</span>event?: any) {
3589
+ <span class="fstat-no" title="function not covered" > onCreate(</span>$event?: any) {
4314
3590
  /* override */
4315
3591
  }
4316
3592
  &nbsp;
4317
- <span class="fstat-no" title="function not covered" > onDelete($</span>event?: any) {
3593
+ <span class="fstat-no" title="function not covered" > onDelete(</span>$event?: any) {
4318
3594
  /* override */
4319
3595
  }
4320
3596
  &nbsp;
@@ -4323,12 +3599,7 @@ export class BaseNode extends EventEmitter {
4323
3599
  * @param sourceNode
4324
3600
  * @param position
4325
3601
  */
4326
- <span class="fstat-no" title="function not covered" > moveNode(o</span>ptions: { sourceNode: BaseNode; position: 'append' | 'insertBefore' | 'insertAfter'; action?: string }) {
4327
- <span class="cstat-no" title="statement not covered" > if (!actionable) {</span>
4328
- <span class="cstat-no" title="statement not covered" > eventBus.emit('NotActionable');</span>
4329
- <span class="cstat-no" title="statement not covered" > return;</span>
4330
- }
4331
- &nbsp;
3602
+ <span class="fstat-no" title="function not covered" > moveNode(</span>options: { sourceNode: BaseNode; position: 'append' | 'insertBefore' | 'insertAfter'; action?: string }) {
4332
3603
  const { sourceNode, position } = <span class="cstat-no" title="statement not covered" >options;</span>
4333
3604
  <span class="cstat-no" title="statement not covered" > if (this.concept === 'App') {</span>
4334
3605
  <span class="cstat-no" title="statement not covered" > return;</span>
@@ -4365,8 +3636,7 @@ export class BaseNode extends EventEmitter {
4365
3636
  parentKey,
4366
3637
  });
4367
3638
  &nbsp;
4368
- // 和原开发沟通过,可注释掉这行,否则拖拽的时候会更新name
4369
- // if (this.concept === 'ViewElement') this.name = (this as unknown as ViewElement).getViewElementUniqueName(this.name);
3639
+ <span class="cstat-no" title="statement not covered" > if (this.concept === 'ViewElement') <span class="cstat-no" title="statement not covered" >this.name = (this as unknown as ViewElement).getViewElementUniqueName(this.name);</span></span>
4370
3640
  &nbsp;
4371
3641
  <span class="cstat-no" title="statement not covered" > list.splice(index, 0, this);</span>
4372
3642
  <span class="cstat-no" title="statement not covered" > this.create({</span>
@@ -4380,7 +3650,7 @@ export class BaseNode extends EventEmitter {
4380
3650
  }
4381
3651
  &nbsp;
4382
3652
  // 其他节点替换本nasl节点
4383
- <span class="fstat-no" title="function not covered" > replaceNode(n</span>ewNode: any) {
3653
+ <span class="fstat-no" title="function not covered" > replaceNode(</span>newNode: any) {
4384
3654
  const oldNode: any = <span class="cstat-no" title="statement not covered" >this;</span>
4385
3655
  const { parentNode, parentKey, offsetX, offsetY, app } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
4386
3656
  const { logic } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
@@ -4401,68 +3671,37 @@ export class BaseNode extends EventEmitter {
4401
3671
  });
4402
3672
  <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'Logic') {</span>
4403
3673
  <span class="cstat-no" title="statement not covered" > if (parentKey === 'body') {</span>
4404
- const expIndex = <span class="cstat-no" title="statement not covered" >logic.body.findIndex((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem === oldNode)</span>;</span>
3674
+ const expIndex = <span class="cstat-no" title="statement not covered" >logic.body.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
4405
3675
  <span class="cstat-no" title="statement not covered" > logic.insertItemInBodyAt(newNode, expIndex);</span>
4406
3676
  } else {
4407
- const expIndex = <span class="cstat-no" title="statement not covered" >logic.playground.findIndex((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem === oldNode)</span>;</span>
3677
+ const expIndex = <span class="cstat-no" title="statement not covered" >logic.playground.findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
4408
3678
  <span class="cstat-no" title="statement not covered" > Object.assign(newNode, { offsetX, offsetY });</span>
4409
3679
  <span class="cstat-no" title="statement not covered" > logic.insertItemInPlaygroundAt(newNode, expIndex);</span>
4410
3680
  }
4411
3681
  } else {
4412
- const expIndex = <span class="cstat-no" title="statement not covered" >parentNode[parentKey].findIndex((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem === oldNode)</span>;</span>
3682
+ const expIndex = <span class="cstat-no" title="statement not covered" >parentNode[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; <span class="cstat-no" title="statement not covered" >item === oldNode)</span>;</span>
4413
3683
  const firstUpperText = <span class="cstat-no" title="statement not covered" >parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);</span>
4414
3684
  <span class="cstat-no" title="statement not covered" > Object.assign(newNode, { offsetX, offsetY });</span>
4415
3685
  <span class="cstat-no" title="statement not covered" > if (parentNode.concept === 'MatchCase') {</span>
4416
3686
  <span class="cstat-no" title="statement not covered" > parentKey === 'body' ? parentNode.insertItemInBodyAt(newNode, expIndex) : parentNode.insertLogicItemInPatternsAt(newNode, expIndex);</span>
4417
- <span class="cstat-no" title="statement not covered" > } else if (parentNode[`insertItemIn${firstUpperText}At`]) <span class="cstat-no" title="statement not covered" >parentNode[`insertItemIn${firstUpperText}At`](newNode, expIndex);</span></span>
3687
+ } else <span class="cstat-no" title="statement not covered" >if (parentNode[`insertItemIn${firstUpperText}At`]) <span class="cstat-no" title="statement not covered" >parentNode[`insertItemIn${firstUpperText}At`](newNode, expIndex);</span></span>
4418
3688
  else <span class="cstat-no" title="statement not covered" >parentNode.insertItemAt(newNode, expIndex);</span>
4419
3689
  }
4420
3690
  <span class="cstat-no" title="statement not covered" > oldNode.delete();</span>
4421
3691
  <span class="cstat-no" title="statement not covered" > app.emit('collect:end');</span>
4422
3692
  }
4423
3693
  }
4424
- &nbsp;
4425
- // 查找当前节点所有引用并进行同步更新
4426
- <span class="fstat-no" title="function not covered" > async u</span>pdateRelyFileNode(app: any) {
4427
- let relyfileNode = <span class="cstat-no" title="statement not covered" >[]</span>
4428
- <span class="cstat-no" title="statement not covered" > try {</span>
4429
- // 获取old接口的依赖放到一起更新,可以让使用方重新生成内容
4430
- <span class="cstat-no" title="statement not covered" > relyfileNode = await app.naslServer.findCallLogicFileRef(this.parentNode);</span>
4431
- } catch (err) {
4432
- <span class="cstat-no" title="statement not covered" > console.log('更新对应引用方失败', err);</span>
4433
- }
4434
- // 如果依赖项有值,只要是为了触发更新,为了重新取到引用生成代码
4435
- <span class="cstat-no" title="statement not covered" > if (relyfileNode.length) {</span>
4436
- <span class="cstat-no" title="statement not covered" > relyfileNode.forEach((<span class="fstat-no" title="function not covered" >fileNode: any) =&gt; {</span></span>
4437
- <span class="cstat-no" title="statement not covered" > app.naslServer?.embeddedTSEmitter.emit('change', {</span>
4438
- value: [
4439
- {
4440
- originEvent: {
4441
- action: 'update',
4442
- target: fileNode,
4443
- }
4444
- }
4445
- ]
4446
- })
4447
- });
4448
- }
4449
- }
4450
3694
  &nbsp;
4451
3695
  /**
4452
3696
  * 获取添加时的默认选项
4453
3697
  * @returns
4454
3698
  */
4455
- static getDefaultOptions(): any {
3699
+ public static getDefaultOptions(): any {
4456
3700
  return {};
4457
3701
  }
4458
3702
  &nbsp;
4459
- /**
4460
- * 迭代所有属性
4461
- *
4462
- * @description 是所有属性!!不是所有子节点!!
4463
- */
4464
- traverseChildren(cb: (el: any) =&gt; void): void {
4465
- function traverse(node: any) {
3703
+ public traverseChildren(cb: (ele: SynatxNode) =&gt; void): void {
3704
+ function traverse(node: SynatxNode) {
4466
3705
  cb(node);
4467
3706
  &nbsp;
4468
3707
  const propertyMap = getConceptPropertyMap(node?.concept);
@@ -4471,90 +3710,26 @@ export class BaseNode extends EventEmitter {
4471
3710
  for (const property of propertyMap.keys()) {
4472
3711
  const child = node[property as keyof BaseNode];
4473
3712
  if (!child) continue;
4474
- else if (Array.isArray(child)) child.forEach((node: types.SyntaxNode) =&gt; traverse(node));
3713
+ else if (Array.isArray(child)) child.forEach((node: SynatxNode) =&gt; traverse(node));
4475
3714
  else traverse(child);
4476
3715
  }
4477
3716
  }
4478
3717
  &nbsp;
4479
- traverse(this);
4480
- }
4481
- &nbsp;
4482
- /**
4483
- * 生成器中序遍历节点
4484
- *
4485
- * @description 与`traverseChildren`不同,此方法会过滤掉非节点值
4486
- */
4487
- *traverseChildrenGenerator(cb: (node: types.SyntaxNode) =&gt; (void | Generator&lt;any, any, any&gt;)) {
4488
- const isNode = (node: unknown): node is types.SyntaxNode =&gt; {
4489
- return Boolean(node) &amp;&amp; typeof node === 'object' &amp;&amp; ('concept' in node) &amp;&amp; typeof (node as any).concept === 'string';
4490
- };
4491
- &nbsp;
4492
- function* traverse(node: BaseNode): Generator&lt;any, any, any&gt; {
4493
- if (isNode(node)) {
4494
- const result = cb(node);
4495
- &nbsp;
4496
- <span class="missing-if-branch" title="else path not taken" >E</span>if (utils.isGenerator(result)) {
4497
- yield* result;
4498
- }
4499
- else {
4500
- <span class="cstat-no" title="statement not covered" > yield;</span>
4501
- }
4502
- }
4503
- &nbsp;
4504
- const propertyMap = getConceptPropertyMap(node?.concept);
4505
- &nbsp;
4506
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!propertyMap) {
4507
- <span class="cstat-no" title="statement not covered" > yield;</span>
4508
- <span class="cstat-no" title="statement not covered" > return;</span>
4509
- }
4510
- &nbsp;
4511
- for (const property of propertyMap.keys()) {
4512
- const prop = node[property as keyof BaseNode];
4513
- &nbsp;
4514
- if (!prop) {
4515
- continue;
4516
- }
4517
- else if (Array.isArray(prop)) {
4518
- for (const child of prop) {
4519
- yield* traverse(child);
4520
- }
4521
- }
4522
- else {
4523
- yield* traverse(prop);
4524
- }
4525
- }
4526
- &nbsp;
4527
- yield;
4528
- }
4529
- &nbsp;
4530
- yield* traverse(this);
4531
- }
4532
- &nbsp;
4533
- /**
4534
- * 迭代所有子节点
4535
- *
4536
- * @description 严格迭代所有子节点!排除属性!
4537
- */
4538
- traverseStrictChildren(cb: (el: types.SyntaxNode) =&gt; void): void {
4539
- this.traverseChildren((el) =&gt; {
4540
- if (asserts.isBaseNode(el)) {
4541
- cb(el as types.SyntaxNode);
4542
- }
4543
- });
3718
+ traverse(this as unknown as SynatxNode);
4544
3719
  }
4545
3720
  &nbsp;
4546
3721
  /**
4547
3722
  * 获取当前节点在nasl标注节点上的节点
4548
3723
  */
4549
- getCurrentAnnotatedJSON() {
4550
- return this.__TypeAnnotation;
3724
+ public <span class="fstat-no" title="function not covered" >getCurrentAnnotatedJSON(</span>) {
3725
+ <span class="cstat-no" title="statement not covered" > return this.__TypeAnnotation;</span>
4551
3726
  }
4552
3727
  &nbsp;
4553
3728
  /**
4554
3729
  * 获取
4555
3730
  * 当前this上下文 的Source 和 父级文件级别的节点
4556
3731
  */
4557
- <span class="fstat-no" title="function not covered" > getCurrentSource() {</span>
3732
+ public <span class="fstat-no" title="function not covered" >getCurrentSource(</span>) {
4558
3733
  const node = <span class="cstat-no" title="statement not covered" >this as BaseNode;</span>
4559
3734
  let { sourceMap } = <span class="cstat-no" title="statement not covered" >node;</span>
4560
3735
  let fileNode = <span class="cstat-no" title="statement not covered" >node;</span>
@@ -4576,7 +3751,7 @@ export class BaseNode extends EventEmitter {
4576
3751
  * 获取
4577
3752
  * 当前this上下文 的Source 和 父级文件级别的节点
4578
3753
  */
4579
- <span class="fstat-no" title="function not covered" > getFileConceptNode(c</span>oncept: string) {
3754
+ public <span class="fstat-no" title="function not covered" >getFileConceptNode(</span>concept: string) {
4580
3755
  const node = <span class="cstat-no" title="statement not covered" >this as BaseNode;</span>
4581
3756
  let { sourceMap } = <span class="cstat-no" title="statement not covered" >node;</span>
4582
3757
  let fileNode = <span class="cstat-no" title="statement not covered" >node;</span>
@@ -4602,8 +3777,7 @@ export class BaseNode extends EventEmitter {
4602
3777
  this.concept === 'Param' ||
4603
3778
  this.concept === 'Return' ||
4604
3779
  this.concept === 'StructureProperty' ||
4605
- this.concept === 'Variable' ||
4606
- this.concept === 'FrontendVariable'
3780
+ this.concept === 'Variable'
4607
3781
  ) {
4608
3782
  <span class="cstat-no" title="statement not covered" > if ((this as any).typeAnnotation || (this.__TypeAnnotation &amp;&amp; this.parentKey === 'virtualParams')) {</span>
4609
3783
  <span class="cstat-no" title="statement not covered" > return !this.hasChildren;</span>
@@ -4635,39 +3809,39 @@ export class BaseNode extends EventEmitter {
4635
3809
  /**
4636
3810
  * 使用新的 concept 在当前节点生成新的数据
4637
3811
  */
4638
- <span class="fstat-no" title="function not covered" > changeConceptNode(c</span>oncept: types.SyntaxNodeConcept) {
3812
+ <span class="fstat-no" title="function not covered" > changeConceptNode(</span>concept: SynatxNodeConcept) {
4639
3813
  <span class="cstat-no" title="statement not covered" > return new Proxy(this, {</span>
4640
- <span class="fstat-no" title="function not covered" > get(t</span>arget, p: keyof BaseNode, receiver) {
4641
- <span class="cstat-no" title="statement not covered" > if (p === 'concept') {</span>
4642
- <span class="cstat-no" title="statement not covered" > return concept;</span>
4643
- }
3814
+ <span class="fstat-no" title="function not covered" > get(</span>target, p: keyof BaseNode, receiver) {
3815
+ <span class="cstat-no" title="statement not covered" > if (p === 'concept') {</span>
3816
+ <span class="cstat-no" title="statement not covered" > return concept;</span>
3817
+ }
4644
3818
  &nbsp;
4645
- <span class="cstat-no" title="statement not covered" > return target[p];</span>
3819
+ <span class="cstat-no" title="statement not covered" > return target[p];</span>
4646
3820
  },
4647
3821
  })
4648
3822
  }
4649
3823
  &nbsp;
4650
3824
  /** 收集所有节点 */
4651
- collectNodes(): types.SyntaxNode[];
3825
+ collectNodes(): SynatxNode[];
4652
3826
  /** 收集特定类型的子节点 */
4653
- collectNodes(concept: types.SyntaxNodeConcept): types.SyntaxNode[];
3827
+ collectNodes(concept: SynatxNodeConcept): SynatxNode[];
4654
3828
  /** 收集断言返回`true`的子节点 */
4655
- collectNodes(pre: (node?: types.SyntaxNode) =&gt; boolean): types.SyntaxNode[];
4656
- <span class="fstat-no" title="function not covered" > collectNodes(i</span>nput?: types.SyntaxNodeConcept | ((node?: types.SyntaxNode) =&gt; boolean)) {
3829
+ collectNodes(pre: (node: SynatxNode) =&gt; boolean): SynatxNode[];
3830
+ <span class="fstat-no" title="function not covered" > collectNodes(</span>input?: SynatxNodeConcept | ((node: SynatxNode) =&gt; boolean)) {
4657
3831
  const pre =
4658
3832
  <span class="cstat-no" title="statement not covered" > typeof input === 'undefined'</span>
4659
- ? (<span class="fstat-no" title="function not covered" >node: types.SyntaxNode) =&gt; <span class="cstat-no" title="statement not covered" >a</span>sserts.isBaseNode(node)</span>
3833
+ ? <span class="fstat-no" title="function not covered" >(n</span>ode: SynatxNode) =&gt; <span class="cstat-no" title="statement not covered" >typeof node.concept === 'string'</span>
4660
3834
  : typeof input === 'string'
4661
- ? (<span class="fstat-no" title="function not covered" >node: types.SyntaxNode) =&gt; <span class="cstat-no" title="statement not covered" >a</span>sserts[`isStrict${input}`]?.(node) ?? false</span>
3835
+ ? <span class="fstat-no" title="function not covered" >(n</span>ode: SynatxNode) =&gt; <span class="cstat-no" title="statement not covered" >node.concept === input</span>
4662
3836
  : input;
4663
- const nodes: types.SyntaxNode[] = <span class="cstat-no" title="statement not covered" >[];</span>
4664
- const self = <span class="cstat-no" title="statement not covered" >this as unknown as types.SyntaxNode;</span>
3837
+ const nodes: SynatxNode[] = <span class="cstat-no" title="statement not covered" >[];</span>
3838
+ const self = <span class="cstat-no" title="statement not covered" >this as unknown as SynatxNode;</span>
4665
3839
  &nbsp;
4666
3840
  <span class="cstat-no" title="statement not covered" > if (pre(self)) {</span>
4667
3841
  <span class="cstat-no" title="statement not covered" > nodes.push(self);</span>
4668
3842
  }
4669
3843
  &nbsp;
4670
- <span class="cstat-no" title="statement not covered" > this.traverseChildren((<span class="fstat-no" title="function not covered" >current) =&gt; {</span></span>
3844
+ <span class="cstat-no" title="statement not covered" > this.traverseChildren(<span class="fstat-no" title="function not covered" >(c</span>urrent) =&gt; {</span>
4671
3845
  <span class="cstat-no" title="statement not covered" > if (pre(current)) {</span>
4672
3846
  <span class="cstat-no" title="statement not covered" > nodes.push(current);</span>
4673
3847
  }
@@ -4675,17 +3849,6 @@ export class BaseNode extends EventEmitter {
4675
3849
  &nbsp;
4676
3850
  <span class="cstat-no" title="statement not covered" > return nodes;</span>
4677
3851
  }
4678
- &nbsp;
4679
- <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTS(): Generator&lt;any, string, any&gt; {
4680
- <span class="cstat-no" title="statement not covered" > return '';</span>
4681
- }
4682
- &nbsp;
4683
- /**
4684
- * 调试用的 ToTS 接口
4685
- */
4686
- <span class="fstat-no" title="function not covered" > toDebugTs() {</span>
4687
- <span class="cstat-no" title="statement not covered" > return console.log(utils.runGeneratorSync(this.toEmbeddedTS()));</span>
4688
- }
4689
3852
  }
4690
3853
  &nbsp;
4691
3854
  export default BaseNode;
@@ -4696,7 +3859,7 @@ export default BaseNode;
4696
3859
  <div class='footer quiet pad2 space-top1 center small'>
4697
3860
  Code coverage generated by
4698
3861
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4699
- at 2023-12-07T14:08:08.581Z
3862
+ at 2023-10-18T11:36:07.885Z
4700
3863
  </div>
4701
3864
  <script src="../../prettify.js"></script>
4702
3865
  <script>