@lcap/nasl 3.3.3-beta.7 → 3.3.5-beta.1

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 (369) hide show
  1. package/.nyc_output/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  2. package/.nyc_output/processinfo/b920244d-8d01-4e76-be5a-95132217c5a1.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +461 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +631 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1246 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +436 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +4081 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +373 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +331 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +667 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +2092 -0
  44. package/coverage/src/concepts/App__.ts.html +13651 -0
  45. package/coverage/src/concepts/Argument__.ts.html +907 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2317 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +430 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1174 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +919 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +2011 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1690 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1192 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3376 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1468 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3931 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +2002 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3487 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1645 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +421 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1642 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +925 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +2164 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2776 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4693 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5419 -0
  68. package/coverage/src/concepts/Comment__.ts.html +397 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +946 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1375 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1387 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4390 -0
  77. package/coverage/src/concepts/Constant__.ts.html +1123 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1798 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  80. package/coverage/src/concepts/DefaultValue__.ts.html +946 -0
  81. package/coverage/src/concepts/Destination__.ts.html +2761 -0
  82. package/coverage/src/concepts/End__.ts.html +436 -0
  83. package/coverage/src/concepts/EntityIndex__.ts.html +799 -0
  84. package/coverage/src/concepts/EntityProperty__.ts.html +2866 -0
  85. package/coverage/src/concepts/Entity__.ts.html +3070 -0
  86. package/coverage/src/concepts/EnumItem__.ts.html +553 -0
  87. package/coverage/src/concepts/Enum__.ts.html +1258 -0
  88. package/coverage/src/concepts/Event__.ts.html +1111 -0
  89. package/coverage/src/concepts/ExternalDestination__.ts.html +1060 -0
  90. package/coverage/src/concepts/ForEachStatement__.ts.html +2023 -0
  91. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  92. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  93. package/coverage/src/concepts/Frontend__.ts.html +4078 -0
  94. package/coverage/src/concepts/Function__.ts.html +3718 -0
  95. package/coverage/src/concepts/Identifier__.ts.html +1060 -0
  96. package/coverage/src/concepts/IfStatement__.ts.html +1636 -0
  97. package/coverage/src/concepts/Integration__.ts.html +1273 -0
  98. package/coverage/src/concepts/InterfaceParam__.ts.html +1258 -0
  99. package/coverage/src/concepts/Interface__.ts.html +3463 -0
  100. package/coverage/src/concepts/JSBlock__.ts.html +424 -0
  101. package/coverage/src/concepts/JavaLogic__.ts.html +463 -0
  102. package/coverage/src/concepts/LogicItem__.ts.html +1174 -0
  103. package/coverage/src/concepts/Logic__.ts.html +7732 -0
  104. package/coverage/src/concepts/MatchCase__.ts.html +2974 -0
  105. package/coverage/src/concepts/Match__.ts.html +2494 -0
  106. package/coverage/src/concepts/MemberExpression__.ts.html +1744 -0
  107. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  108. package/coverage/src/concepts/Module__.ts.html +9385 -0
  109. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  110. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  111. package/coverage/src/concepts/Namespace__.ts.html +8221 -0
  112. package/coverage/src/concepts/NewComposite__.ts.html +4765 -0
  113. package/coverage/src/concepts/NewList__.ts.html +1702 -0
  114. package/coverage/src/concepts/NewMap__.ts.html +2470 -0
  115. package/coverage/src/concepts/New__.ts.html +289 -0
  116. package/coverage/src/concepts/NullLiteral__.ts.html +352 -0
  117. package/coverage/src/concepts/NumericLiteral__.ts.html +697 -0
  118. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1237 -0
  119. package/coverage/src/concepts/OverriddenLogic__.ts.html +6970 -0
  120. package/coverage/src/concepts/Param__.ts.html +1798 -0
  121. package/coverage/src/concepts/Point__.ts.html +334 -0
  122. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  123. package/coverage/src/concepts/ProcessElement__.ts.html +6187 -0
  124. package/coverage/src/concepts/ProcessOutcome__.ts.html +355 -0
  125. package/coverage/src/concepts/ProcessOutcomes__.ts.html +355 -0
  126. package/coverage/src/concepts/Process__.ts.html +5071 -0
  127. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +589 -0
  128. package/coverage/src/concepts/QueryFieldExpression__.ts.html +586 -0
  129. package/coverage/src/concepts/QueryFromExpression__.ts.html +937 -0
  130. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +580 -0
  131. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1606 -0
  132. package/coverage/src/concepts/QueryLimitExpression__.ts.html +664 -0
  133. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +706 -0
  134. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  135. package/coverage/src/concepts/Rect__.ts.html +376 -0
  136. package/coverage/src/concepts/Return__.ts.html +1471 -0
  137. package/coverage/src/concepts/Role__.ts.html +604 -0
  138. package/coverage/src/concepts/SelectMembers__.ts.html +1279 -0
  139. package/coverage/src/concepts/Slot__.ts.html +649 -0
  140. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1003 -0
  141. package/coverage/src/concepts/Start__.ts.html +307 -0
  142. package/coverage/src/concepts/StringInterpolation__.ts.html +1156 -0
  143. package/coverage/src/concepts/StringLiteral__.ts.html +508 -0
  144. package/coverage/src/concepts/StructureProperty__.ts.html +1300 -0
  145. package/coverage/src/concepts/Structure__.ts.html +2182 -0
  146. package/coverage/src/concepts/SwitchCase__.ts.html +1204 -0
  147. package/coverage/src/concepts/SwitchStatement__.ts.html +904 -0
  148. package/coverage/src/concepts/Theme__.ts.html +361 -0
  149. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  150. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  151. package/coverage/src/concepts/TriggerLauncher__.ts.html +778 -0
  152. package/coverage/src/concepts/TypeAnnotation__.ts.html +3832 -0
  153. package/coverage/src/concepts/TypeParam__.ts.html +322 -0
  154. package/coverage/src/concepts/UnaryExpression__.ts.html +730 -0
  155. package/coverage/src/concepts/Unparsed__.ts.html +397 -0
  156. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  157. package/coverage/src/concepts/ValidationRule__.ts.html +1876 -0
  158. package/coverage/src/concepts/Variable__.ts.html +1705 -0
  159. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  160. package/coverage/src/concepts/ViewComponent__.ts.html +4327 -0
  161. package/coverage/src/concepts/ViewElement__.ts.html +8992 -0
  162. package/coverage/src/concepts/View__.ts.html +9019 -0
  163. package/coverage/src/concepts/WhileStatement__.ts.html +1105 -0
  164. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  165. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6955 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  180. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  181. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  182. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  183. package/coverage/src/concepts/basics/types/index.html +131 -0
  184. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  185. package/coverage/src/concepts/index.html +1976 -0
  186. package/coverage/src/concepts/index.ts.html +103 -0
  187. package/coverage/src/concepts/index__.ts.html +454 -0
  188. package/coverage/src/config.ts.html +325 -0
  189. package/coverage/src/decorators/index.html +131 -0
  190. package/coverage/src/decorators/index.ts.html +583 -0
  191. package/coverage/src/decorators/promise.ts.html +169 -0
  192. package/coverage/src/eventBus.ts.html +100 -0
  193. package/coverage/src/generator/compileComponent.ts.html +142 -0
  194. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  195. package/coverage/src/generator/genHash.ts.html +124 -0
  196. package/coverage/src/generator/genMetaData.ts.html +1084 -0
  197. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  198. package/coverage/src/generator/icestark.ts.html +220 -0
  199. package/coverage/src/generator/index.html +266 -0
  200. package/coverage/src/generator/index.ts.html +106 -0
  201. package/coverage/src/generator/microApp.ts.html +172 -0
  202. package/coverage/src/generator/permission.ts.html +1036 -0
  203. package/coverage/src/generator/qiankun.ts.html +232 -0
  204. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  205. package/coverage/src/index.html +146 -0
  206. package/coverage/src/index.ts.html +124 -0
  207. package/coverage/src/manager/diagnostic.ts.html +442 -0
  208. package/coverage/src/manager/index.html +131 -0
  209. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  210. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  211. package/coverage/src/natural/index.html +161 -0
  212. package/coverage/src/natural/index.ts.html +91 -0
  213. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  214. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  215. package/coverage/src/sentry/index.html +116 -0
  216. package/coverage/src/sentry/index.ts.html +676 -0
  217. package/coverage/src/server/createUiTs.ts.html +919 -0
  218. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  219. package/coverage/src/server/event.js.html +526 -0
  220. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  221. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  222. package/coverage/src/server/getConnector.ts.html +316 -0
  223. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  224. package/coverage/src/server/getFunctions.ts.html +133 -0
  225. package/coverage/src/server/getInterfaces.ts.html +229 -0
  226. package/coverage/src/server/getLogging.ts.html +100 -0
  227. package/coverage/src/server/getLogics.ts.html +1363 -0
  228. package/coverage/src/server/getMemberIdentifier.ts.html +1606 -0
  229. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  230. package/coverage/src/server/getProcesses.ts.html +2023 -0
  231. package/coverage/src/server/getValidates.ts.html +115 -0
  232. package/coverage/src/server/index.html +401 -0
  233. package/coverage/src/server/index.ts.html +229 -0
  234. package/coverage/src/server/naslServer.ts.html +14356 -0
  235. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  236. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  237. package/coverage/src/server/translator.ts.html +2566 -0
  238. package/coverage/src/service/creator/add.configs.js.html +397 -0
  239. package/coverage/src/service/creator/errHandles.js.html +304 -0
  240. package/coverage/src/service/creator/index.html +146 -0
  241. package/coverage/src/service/creator/index.js.html +352 -0
  242. package/coverage/src/service/datasource/api.js.html +118 -0
  243. package/coverage/src/service/datasource/index.html +131 -0
  244. package/coverage/src/service/datasource/index.js.html +103 -0
  245. package/coverage/src/service/logic/api.js.html +109 -0
  246. package/coverage/src/service/logic/index.html +131 -0
  247. package/coverage/src/service/logic/index.js.html +103 -0
  248. package/coverage/src/service/storage/api.js.html +202 -0
  249. package/coverage/src/service/storage/index.html +206 -0
  250. package/coverage/src/service/storage/index.ts.html +103 -0
  251. package/coverage/src/service/storage/init.ts.html +3721 -0
  252. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  253. package/coverage/src/service/storage/map.ts.html +256 -0
  254. package/coverage/src/service/storage/service.ts.html +331 -0
  255. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  256. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  257. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  258. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  259. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  260. package/coverage/src/templator/genEditTableBlock.ts.html +1021 -0
  261. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  262. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  263. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  264. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  265. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  266. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  267. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  268. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  269. package/coverage/src/templator/index.html +326 -0
  270. package/coverage/src/templator/index.ts.html +154 -0
  271. package/coverage/src/templator/utils.ts.html +1861 -0
  272. package/coverage/src/translator/constant.ts.html +106 -0
  273. package/coverage/src/translator/index.html +146 -0
  274. package/coverage/src/translator/index.ts.html +94 -0
  275. package/coverage/src/translator/utils.ts.html +436 -0
  276. package/coverage/src/utils/cookie.ts.html +265 -0
  277. package/coverage/src/utils/env.ts.html +91 -0
  278. package/coverage/src/utils/index.html +236 -0
  279. package/coverage/src/utils/index.ts.html +694 -0
  280. package/coverage/src/utils/logger.ts.html +145 -0
  281. package/coverage/src/utils/sortTsString.ts.html +187 -0
  282. package/coverage/src/utils/string.ts.html +400 -0
  283. package/coverage/src/utils/time-slicing.ts.html +418 -0
  284. package/coverage/src/utils/traverse.ts.html +568 -0
  285. package/coverage/src/utils/window.ts.html +112 -0
  286. package/out/bak/translator.js +18 -99
  287. package/out/bak/translator.js.map +1 -1
  288. package/out/common/Command.js +1 -1
  289. package/out/common/Command.js.map +1 -1
  290. package/out/concepts/Argument__.js +2 -7
  291. package/out/concepts/Argument__.js.map +1 -1
  292. package/out/concepts/Assignment__.js +3 -20
  293. package/out/concepts/Assignment__.js.map +1 -1
  294. package/out/concepts/BackendVariable__.js +2 -24
  295. package/out/concepts/BackendVariable__.js.map +1 -1
  296. package/out/concepts/BinaryExpression__.js +13 -40
  297. package/out/concepts/BinaryExpression__.js.map +1 -1
  298. package/out/concepts/BindAttribute__.d.ts +0 -6
  299. package/out/concepts/BindAttribute__.js +11 -105
  300. package/out/concepts/BindAttribute__.js.map +1 -1
  301. package/out/concepts/CallLogic__.js +21 -7
  302. package/out/concepts/CallLogic__.js.map +1 -1
  303. package/out/concepts/Identifier__.js +0 -3
  304. package/out/concepts/Identifier__.js.map +1 -1
  305. package/out/concepts/JSBlock__.js +0 -56
  306. package/out/concepts/JSBlock__.js.map +1 -1
  307. package/out/concepts/Match__.js +1 -1
  308. package/out/concepts/Match__.js.map +1 -1
  309. package/out/concepts/NumericLiteral__.js +1 -2
  310. package/out/concepts/NumericLiteral__.js.map +1 -1
  311. package/out/concepts/Param__.js +2 -24
  312. package/out/concepts/Param__.js.map +1 -1
  313. package/out/concepts/Return__.js +2 -24
  314. package/out/concepts/Return__.js.map +1 -1
  315. package/out/concepts/Variable__.js +2 -24
  316. package/out/concepts/Variable__.js.map +1 -1
  317. package/out/concepts/ViewElement__.d.ts +0 -1
  318. package/out/concepts/ViewElement__.js +4 -75
  319. package/out/concepts/ViewElement__.js.map +1 -1
  320. package/out/concepts/View__.d.ts +0 -2
  321. package/out/concepts/View__.js +3 -12
  322. package/out/concepts/View__.js.map +1 -1
  323. package/out/templator/genCreateBlock.js +5 -9
  324. package/out/templator/genCreateBlock.js.map +1 -1
  325. package/out/templator/genCurdEditMultipleKeyBlock.js +9 -15
  326. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  327. package/out/templator/genCurdMultipleKeyBlock.js +5 -7
  328. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  329. package/out/templator/genEditTableBlock.js +2 -3
  330. package/out/templator/genEditTableBlock.js.map +1 -1
  331. package/out/templator/genUpdateBlock.js +9 -12
  332. package/out/templator/genUpdateBlock.js.map +1 -1
  333. package/out/templator/utils.js.map +1 -1
  334. package/package.json +1 -1
  335. package/sandbox/stdlib/nasl.core.ts +0 -2
  336. package/sandbox/stdlib/nasl.util.ts +1 -1
  337. package/src/bak/translator.js +20 -99
  338. package/src/common/Command.ts +1 -1
  339. package/src/concepts/Argument__.ts +2 -7
  340. package/src/concepts/Assignment__.ts +13 -31
  341. package/src/concepts/BackendVariable__.ts +3 -22
  342. package/src/concepts/BinaryExpression__.ts +13 -39
  343. package/src/concepts/BindAttribute__.ts +11 -108
  344. package/src/concepts/CallLogic__.ts +12 -0
  345. package/src/concepts/Identifier__.ts +1 -4
  346. package/src/concepts/JSBlock__.ts +0 -58
  347. package/src/concepts/Match__.ts +1 -1
  348. package/src/concepts/NumericLiteral__.ts +1 -2
  349. package/src/concepts/Param__.ts +2 -24
  350. package/src/concepts/Return__.ts +3 -23
  351. package/src/concepts/Variable__.ts +3 -23
  352. package/src/concepts/ViewElement__.ts +8 -83
  353. package/src/concepts/View__.ts +18 -32
  354. package/src/templator/genCreateBlock.ts +5 -9
  355. package/src/templator/genCurdEditMultipleKeyBlock.ts +10 -16
  356. package/src/templator/genCurdMultipleKeyBlock.ts +8 -11
  357. package/src/templator/genEditTableBlock.ts +2 -4
  358. package/src/templator/genUpdateBlock.ts +12 -15
  359. package/src/templator/utils.ts +7 -8
  360. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
  361. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
  362. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
  363. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +2 -3
  364. package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
  365. package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +3 -3
  366. package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
  367. package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
  368. package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
  369. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -2
@@ -0,0 +1,1798 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/Param__.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/concepts</a> Param__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">23.35% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>46/197</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">12.5% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>14/112</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">10% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>4/40</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">21.57% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>41/190</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
638
+ <span class="cline-any cline-yes">1x</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-yes">1x</span>
644
+ <span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-no">&nbsp;</span>
650
+ <span class="cline-any cline-no">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-no">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-yes">1x</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-yes">1x</span>
665
+ <span class="cline-any cline-yes">1x</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-yes">1x</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-yes">1x</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-yes">1x</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-yes">1x</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-yes">1x</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-yes">1x</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-yes">1x</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-yes">1x</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-no">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-no">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-no">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-no">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-neutral">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-no">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-no">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-no">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-no">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&nbsp;</span>
785
+ <span class="cline-any cline-yes">585x</span>
786
+ <span class="cline-any cline-yes">585x</span>
787
+ <span class="cline-any cline-yes">585x</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-yes">66x</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-no">&nbsp;</span>
801
+ <span class="cline-any cline-no">&nbsp;</span>
802
+ <span class="cline-any cline-neutral">&nbsp;</span>
803
+ <span class="cline-any cline-no">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-no">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-no">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-no">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-no">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-no">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-no">&nbsp;</span>
857
+ <span class="cline-any cline-no">&nbsp;</span>
858
+ <span class="cline-any cline-no">&nbsp;</span>
859
+ <span class="cline-any cline-no">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-no">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-no">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-no">&nbsp;</span>
869
+ <span class="cline-any cline-no">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-no">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-no">&nbsp;</span>
880
+ <span class="cline-any cline-neutral">&nbsp;</span>
881
+ <span class="cline-any cline-no">&nbsp;</span>
882
+ <span class="cline-any cline-no">&nbsp;</span>
883
+ <span class="cline-any cline-no">&nbsp;</span>
884
+ <span class="cline-any cline-no">&nbsp;</span>
885
+ <span class="cline-any cline-no">&nbsp;</span>
886
+ <span class="cline-any cline-no">&nbsp;</span>
887
+ <span class="cline-any cline-no">&nbsp;</span>
888
+ <span class="cline-any cline-no">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-no">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-neutral">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-no">&nbsp;</span>
909
+ <span class="cline-any cline-no">&nbsp;</span>
910
+ <span class="cline-any cline-no">&nbsp;</span>
911
+ <span class="cline-any cline-no">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-no">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-no">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-no">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-neutral">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-no">&nbsp;</span>
929
+ <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-no">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-no">&nbsp;</span>
934
+ <span class="cline-any cline-no">&nbsp;</span>
935
+ <span class="cline-any cline-no">&nbsp;</span>
936
+ <span class="cline-any cline-no">&nbsp;</span>
937
+ <span class="cline-any cline-no">&nbsp;</span>
938
+ <span class="cline-any cline-no">&nbsp;</span>
939
+ <span class="cline-any cline-no">&nbsp;</span>
940
+ <span class="cline-any cline-no">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-no">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-neutral">&nbsp;</span>
953
+ <span class="cline-any cline-yes">585x</span>
954
+ <span class="cline-any cline-neutral">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-yes">585x</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-yes">1x</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-yes">585x</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-neutral">&nbsp;</span>
975
+ <span class="cline-any cline-yes">585x</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-neutral">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-yes">585x</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-no">&nbsp;</span>
984
+ <span class="cline-any cline-no">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-no">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-no">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-no">&nbsp;</span>
994
+ <span class="cline-any cline-no">&nbsp;</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-no">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-no">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-no">&nbsp;</span>
1002
+ <span class="cline-any cline-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-neutral">&nbsp;</span>
1007
+ <span class="cline-any cline-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-neutral">&nbsp;</span>
1009
+ <span class="cline-any cline-yes">1x</span>
1010
+ <span class="cline-any cline-yes">21x</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-yes">21x</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-no">&nbsp;</span>
1015
+ <span class="cline-any cline-no">&nbsp;</span>
1016
+ <span class="cline-any cline-no">&nbsp;</span>
1017
+ <span class="cline-any cline-no">&nbsp;</span>
1018
+ <span class="cline-any cline-no">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-no">&nbsp;</span>
1024
+ <span class="cline-any cline-no">&nbsp;</span>
1025
+ <span class="cline-any cline-no">&nbsp;</span>
1026
+ <span class="cline-any cline-no">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-no">&nbsp;</span>
1029
+ <span class="cline-any cline-no">&nbsp;</span>
1030
+ <span class="cline-any cline-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-yes">21x</span>
1033
+ <span class="cline-any cline-yes">5x</span>
1034
+ <span class="cline-any cline-yes">5x</span>
1035
+ <span class="cline-any cline-yes">16x</span>
1036
+ <span class="cline-any cline-yes">15x</span>
1037
+ <span class="cline-any cline-yes">15x</span>
1038
+ <span class="cline-any cline-yes">15x</span>
1039
+ <span class="cline-any cline-no">&nbsp;</span>
1040
+ <span class="cline-any cline-no">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-no">&nbsp;</span>
1043
+ <span class="cline-any cline-no">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-yes">21x</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-yes">1x</span>
1052
+ <span class="cline-any cline-no">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-no">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-no">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-no">&nbsp;</span>
1060
+ <span class="cline-any cline-no">&nbsp;</span>
1061
+ <span class="cline-any cline-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-no">&nbsp;</span>
1063
+ <span class="cline-any cline-neutral">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-no">&nbsp;</span>
1066
+ <span class="cline-any cline-no">&nbsp;</span>
1067
+ <span class="cline-any cline-no">&nbsp;</span>
1068
+ <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-no">&nbsp;</span>
1071
+ <span class="cline-any cline-no">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-no">&nbsp;</span>
1075
+ <span class="cline-any cline-no">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-no">&nbsp;</span>
1078
+ <span class="cline-any cline-no">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&nbsp;</span>
1080
+ <span class="cline-any cline-no">&nbsp;</span>
1081
+ <span class="cline-any cline-no">&nbsp;</span>
1082
+ <span class="cline-any cline-no">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-no">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-yes">1x</span>
1091
+ <span class="cline-any cline-no">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
+ <span class="cline-any cline-neutral">&nbsp;</span>
1097
+ <span class="cline-any cline-neutral">&nbsp;</span>
1098
+ <span class="cline-any cline-neutral">&nbsp;</span>
1099
+ <span class="cline-any cline-neutral">&nbsp;</span>
1100
+ <span class="cline-any cline-neutral">&nbsp;</span>
1101
+ <span class="cline-any cline-neutral">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-neutral">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-no">&nbsp;</span>
1106
+ <span class="cline-any cline-no">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-neutral">&nbsp;</span>
1109
+ <span class="cline-any cline-no">&nbsp;</span>
1110
+ <span class="cline-any cline-neutral">&nbsp;</span>
1111
+ <span class="cline-any cline-no">&nbsp;</span>
1112
+ <span class="cline-any cline-no">&nbsp;</span>
1113
+ <span class="cline-any cline-no">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-no">&nbsp;</span>
1116
+ <span class="cline-any cline-neutral">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-no">&nbsp;</span>
1121
+ <span class="cline-any cline-no">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-no">&nbsp;</span>
1124
+ <span class="cline-any cline-no">&nbsp;</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-no">&nbsp;</span>
1127
+ <span class="cline-any cline-no">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-no">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-neutral">&nbsp;</span>
1136
+ <span class="cline-any cline-yes">585x</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-neutral">&nbsp;</span>
1139
+ <span class="cline-any cline-neutral">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-neutral">&nbsp;</span>
1147
+ <span class="cline-any cline-yes">585x</span>
1148
+ <span class="cline-any cline-neutral">&nbsp;</span>
1149
+ <span class="cline-any cline-neutral">&nbsp;</span>
1150
+ <span class="cline-any cline-neutral">&nbsp;</span>
1151
+ <span class="cline-any cline-neutral">&nbsp;</span>
1152
+ <span class="cline-any cline-neutral">&nbsp;</span>
1153
+ <span class="cline-any cline-no">&nbsp;</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-neutral">&nbsp;</span>
1156
+ <span class="cline-any cline-neutral">&nbsp;</span>
1157
+ <span class="cline-any cline-no">&nbsp;</span>
1158
+ <span class="cline-any cline-neutral">&nbsp;</span>
1159
+ <span class="cline-any cline-neutral">&nbsp;</span>
1160
+ <span class="cline-any cline-neutral">&nbsp;</span>
1161
+ <span class="cline-any cline-no">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-no">&nbsp;</span>
1164
+ <span class="cline-any cline-neutral">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-no">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-no">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-no">&nbsp;</span>
1175
+ <span class="cline-any cline-no">&nbsp;</span>
1176
+ <span class="cline-any cline-no">&nbsp;</span>
1177
+ <span class="cline-any cline-no">&nbsp;</span>
1178
+ <span class="cline-any cline-neutral">&nbsp;</span>
1179
+ <span class="cline-any cline-no">&nbsp;</span>
1180
+ <span class="cline-any cline-neutral">&nbsp;</span>
1181
+ <span class="cline-any cline-neutral">&nbsp;</span>
1182
+ <span class="cline-any cline-neutral">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-neutral">&nbsp;</span>
1186
+ <span class="cline-any cline-no">&nbsp;</span>
1187
+ <span class="cline-any cline-neutral">&nbsp;</span>
1188
+ <span class="cline-any cline-neutral">&nbsp;</span>
1189
+ <span class="cline-any cline-neutral">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-neutral">&nbsp;</span>
1192
+ <span class="cline-any cline-neutral">&nbsp;</span>
1193
+ <span class="cline-any cline-neutral">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-neutral">&nbsp;</span>
1196
+ <span class="cline-any cline-neutral">&nbsp;</span>
1197
+ <span class="cline-any cline-neutral">&nbsp;</span>
1198
+ <span class="cline-any cline-neutral">&nbsp;</span>
1199
+ <span class="cline-any cline-neutral">&nbsp;</span>
1200
+ <span class="cline-any cline-neutral">&nbsp;</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-neutral">&nbsp;</span>
1203
+ <span class="cline-any cline-yes">1x</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-neutral">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { dataTypesMap } from './basics/types';
1209
+ import { TranslatorState, shiftState, withSourceMap, createCompilerState } from '../translator';
1210
+ import LogicItem from './LogicItem__';
1211
+ import EntityProperty from './EntityProperty__';
1212
+ import Structure from './Structure__';
1213
+ import StructureProperty from './StructureProperty__';
1214
+ import Function from './Function__';
1215
+ import AnonymousFunction from './AnonymousFunction__';
1216
+ &nbsp;
1217
+ function <span class="fstat-no" title="function not covered" >tryJSONParse(</span>str: string) {
1218
+ let result;
1219
+ &nbsp;
1220
+ <span class="cstat-no" title="statement not covered" > try {</span>
1221
+ <span class="cstat-no" title="statement not covered" > result = JSON.parse(str);</span>
1222
+ } catch (e) {}
1223
+ &nbsp;
1224
+ <span class="cstat-no" title="statement not covered" > return result;</span>
1225
+ }
1226
+ //================================================================================
1227
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1228
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1229
+ //================================================================================
1230
+ import { EventPayload, Params } from '../common/EventEmitter';
1231
+ import { concept, excludedInJSON, property, className } from '../decorators';
1232
+ &nbsp;
1233
+ import * as utils from '../utils';
1234
+ import { v4 as uuidv4 } from 'uuid';
1235
+ import BaseNode from '../common/BaseNode';
1236
+ import TypeAnnotation from './TypeAnnotation__';
1237
+ import DefaultValue from './DefaultValue__';
1238
+ import Logic from './Logic__';
1239
+ import View from './View__';
1240
+ import Module from './Module__';
1241
+ import App from './App__';
1242
+ import Connector from './Connector__';
1243
+ import Frontend from './Frontend__';
1244
+ import ProcessElement from './ProcessElement__';
1245
+ import Process from './Process__';
1246
+ &nbsp;
1247
+ /**
1248
+ * 输入参数
1249
+ */
1250
+ @className
1251
+ @concept('输入参数')
1252
+ // @ts-ignore
1253
+ export class Param extends BaseNode {
1254
+ /** 类名 */
1255
+ static readonly ConceptName = 'Param';
1256
+ &nbsp;
1257
+ /**
1258
+ * 产品概念
1259
+ */
1260
+ @property('concept')
1261
+ // @ts-ignore
1262
+ readonly concept!: 'Param';
1263
+ &nbsp;
1264
+ /**
1265
+ * 输入参数名称
1266
+ */
1267
+ @property()
1268
+ // @ts-ignore
1269
+ name!: string;
1270
+ &nbsp;
1271
+ /**
1272
+ * 输入参数描述
1273
+ */
1274
+ @property()
1275
+ // @ts-ignore
1276
+ description!: string;
1277
+ &nbsp;
1278
+ /**
1279
+ * 类型
1280
+ */
1281
+ @property({
1282
+ objectRef: 'TypeAnnotation',
1283
+ })
1284
+ // @ts-ignore
1285
+ typeAnnotation!: TypeAnnotation;
1286
+ &nbsp;
1287
+ /**
1288
+ * 是否必填
1289
+ */
1290
+ @property()
1291
+ // @ts-ignore
1292
+ required!: boolean;
1293
+ &nbsp;
1294
+ /**
1295
+ * 默认值
1296
+ */
1297
+ @property({
1298
+ objectRef: 'DefaultValue',
1299
+ })
1300
+ // @ts-ignore
1301
+ defaultValue!: DefaultValue;
1302
+ &nbsp;
1303
+ /**
1304
+ * 祖先 Logic
1305
+ */
1306
+ <span class="fstat-no" title="function not covered" > get l</span>ogic() {
1307
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Logic') as Logic;</span>
1308
+ }
1309
+ /**
1310
+ * 祖先 Module
1311
+ */
1312
+ <span class="fstat-no" title="function not covered" > get m</span>odule() {
1313
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Module') as Module;</span>
1314
+ }
1315
+ /**
1316
+ * 祖先 App
1317
+ */
1318
+ <span class="fstat-no" title="function not covered" > get a</span>pp() {
1319
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('App') as App;</span>
1320
+ }
1321
+ /**
1322
+ * 祖先 Connector
1323
+ */
1324
+ <span class="fstat-no" title="function not covered" > get c</span>onnector() {
1325
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Connector') as Connector;</span>
1326
+ }
1327
+ /**
1328
+ * 祖先 View
1329
+ */
1330
+ <span class="fstat-no" title="function not covered" > get v</span>iew() {
1331
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('View') as View;</span>
1332
+ }
1333
+ /**
1334
+ * 祖先 Frontend
1335
+ */
1336
+ <span class="fstat-no" title="function not covered" > get f</span>rontend() {
1337
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Frontend') as Frontend;</span>
1338
+ }
1339
+ /**
1340
+ * 祖先 ProcessElement
1341
+ */
1342
+ <span class="fstat-no" title="function not covered" > get p</span>rocessElement() {
1343
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('ProcessElement') as ProcessElement;</span>
1344
+ }
1345
+ /**
1346
+ * 祖先 Process
1347
+ */
1348
+ <span class="fstat-no" title="function not covered" > get p</span>rocess() {
1349
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('Process') as Process;</span>
1350
+ }
1351
+ &nbsp;
1352
+ /**
1353
+ * @param source 需要合并的部分参数
1354
+ */
1355
+ constructor(source?: Partial&lt;Param&gt;) {
1356
+ source = Object.assign({}, Param.getDefaultOptions(), source);
1357
+ super(source);
1358
+ super.subConstructor(source);
1359
+ }
1360
+ &nbsp;
1361
+ static from(source: any, parentNode?: any, parentKey?: string): Param {
1362
+ return super.from(source, parentNode, parentKey) as Param;
1363
+ }
1364
+ &nbsp;
1365
+ /**
1366
+ * 从父级删除该节点
1367
+ * @internal
1368
+ */
1369
+ <span class="fstat-no" title="function not covered" > _delete(</span>) {
1370
+ let params: Params = <span class="cstat-no" title="statement not covered" >null;</span>
1371
+ <span class="cstat-no" title="statement not covered" > if (this.parentNode) {</span>
1372
+ <span class="cstat-no" title="statement not covered" > params = (this.parentNode as any)?.__removeParam?.(this);</span>
1373
+ }
1374
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1375
+ }
1376
+ /**
1377
+ * 设置输入参数名称
1378
+ */
1379
+ <span class="fstat-no" title="function not covered" > setName(</span>name: string) {
1380
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1381
+ name,
1382
+ };
1383
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1384
+ ...object,
1385
+ field: 'name',
1386
+ });
1387
+ }
1388
+ &nbsp;
1389
+ /**
1390
+ * 设置输入参数描述
1391
+ */
1392
+ <span class="fstat-no" title="function not covered" > setDescription(</span>description: string) {
1393
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1394
+ description,
1395
+ };
1396
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1397
+ ...object,
1398
+ });
1399
+ }
1400
+ &nbsp;
1401
+ /**
1402
+ * 设置是否必填
1403
+ */
1404
+ <span class="fstat-no" title="function not covered" > setRequired(</span>required: boolean) {
1405
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1406
+ required,
1407
+ };
1408
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1409
+ ...object,
1410
+ });
1411
+ }
1412
+ &nbsp;
1413
+ /**
1414
+ * 删除类型标注
1415
+ * @param name 类型标注名称
1416
+ */
1417
+ removeTypeAnnotation(name: string): void;
1418
+ &nbsp;
1419
+ /**
1420
+ * 删除类型标注
1421
+ * @param typeAnnotation 已有的类型标注实例
1422
+ */
1423
+ removeTypeAnnotation(typeAnnotation: TypeAnnotation): void;
1424
+ &nbsp;
1425
+ <span class="fstat-no" title="function not covered" > removeTypeAnnotation(</span>options: string | TypeAnnotation) {
1426
+ let typeAnnotation: TypeAnnotation;
1427
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1428
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = this.typeAnnotation;</span>
1429
+ <span class="cstat-no" title="statement not covered" > if (!typeAnnotation) {</span>
1430
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到类型标注 ' + options);</span>
1431
+ }
1432
+ } else {
1433
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = options;</span>
1434
+ }
1435
+ <span class="cstat-no" title="statement not covered" > return typeAnnotation.delete();</span>
1436
+ }
1437
+ &nbsp;
1438
+ <span class="fstat-no" title="function not covered" > __removeTypeAnnotation(</span>typeAnnotation: TypeAnnotation) {
1439
+ const parentKey = <span class="cstat-no" title="statement not covered" >typeAnnotation.parentKey;</span>
1440
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1441
+ parentNode: this,
1442
+ parentKey,
1443
+ index: -1,
1444
+ object: null,
1445
+ oldObject: typeAnnotation,
1446
+ };
1447
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1448
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1449
+ // @ts-ignore
1450
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1451
+ // @ts-ignore
1452
+ const n = <span class="cstat-no" title="statement not covered" >typeAnnotation.__v_raw || typeAnnotation;</span>
1453
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1454
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
1455
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1456
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1457
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
1458
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1459
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1460
+ }
1461
+ }
1462
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1463
+ }
1464
+ &nbsp;
1465
+ /**
1466
+ * 删除默认值
1467
+ * @param name 默认值名称
1468
+ */
1469
+ removeDefaultValue(name: string): void;
1470
+ &nbsp;
1471
+ /**
1472
+ * 删除默认值
1473
+ * @param defaultValue 已有的默认值实例
1474
+ */
1475
+ removeDefaultValue(defaultValue: DefaultValue): void;
1476
+ &nbsp;
1477
+ <span class="fstat-no" title="function not covered" > removeDefaultValue(</span>options: string | DefaultValue) {
1478
+ let defaultValue: DefaultValue;
1479
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1480
+ <span class="cstat-no" title="statement not covered" > defaultValue = this.defaultValue;</span>
1481
+ <span class="cstat-no" title="statement not covered" > if (!defaultValue) {</span>
1482
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到默认值 ' + options);</span>
1483
+ }
1484
+ } else {
1485
+ <span class="cstat-no" title="statement not covered" > defaultValue = options;</span>
1486
+ }
1487
+ <span class="cstat-no" title="statement not covered" > return defaultValue.delete();</span>
1488
+ }
1489
+ &nbsp;
1490
+ <span class="fstat-no" title="function not covered" > __removeDefaultValue(</span>defaultValue: DefaultValue) {
1491
+ const parentKey = <span class="cstat-no" title="statement not covered" >defaultValue.parentKey;</span>
1492
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1493
+ parentNode: this,
1494
+ parentKey,
1495
+ index: -1,
1496
+ object: null,
1497
+ oldObject: defaultValue,
1498
+ };
1499
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1500
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1501
+ // @ts-ignore
1502
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1503
+ // @ts-ignore
1504
+ const n = <span class="cstat-no" title="statement not covered" >defaultValue.__v_raw || defaultValue;</span>
1505
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1506
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].indexOf(n);</span>
1507
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1508
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1509
+ } else <span class="cstat-no" title="statement not covered" >if ((t as any)[parentKey] === n) {</span>
1510
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1511
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1512
+ }
1513
+ }
1514
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1515
+ }
1516
+ &nbsp;
1517
+ //================================================================================
1518
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1519
+ // 自动生成的代码已结束。下面可以手动编写。
1520
+ //================================================================================
1521
+ &nbsp;
1522
+ @excludedInJSON()
1523
+ @property()
1524
+ defaultExpression: LogicItem | Function | AnonymousFunction = undefined;
1525
+ &nbsp;
1526
+ @excludedInJSON()
1527
+ @property()
1528
+ options: Array&lt;{ text?: string; value: string; description?: string }&gt; = undefined;
1529
+ &nbsp;
1530
+ @excludedInJSON()
1531
+ @property()
1532
+ useComponent: {
1533
+ type:
1534
+ | 's-member-identifier-select'
1535
+ | 's-enum-select'
1536
+ | 's-schema-select'
1537
+ | 's-datatype-select'
1538
+ | 's-config-select'
1539
+ | 's-options-select'
1540
+ | 's-bidirectional-bind-switch';
1541
+ attrs?: any;
1542
+ } = undefined;
1543
+ &nbsp;
1544
+ @excludedInJSON()
1545
+ @property()
1546
+ cascader: Boolean = false;
1547
+ &nbsp;
1548
+ /**
1549
+ * 自动补全的属性列表
1550
+ */
1551
+ completionChildren: Array&lt;EntityProperty | StructureProperty&gt; = undefined;
1552
+ &nbsp;
1553
+ <span class="fstat-no" title="function not covered" > toJS(</span>state?: TranslatorState): string {
1554
+ <span class="cstat-no" title="statement not covered" > if (this.view) {</span>
1555
+ const typeAnnotation = <span class="cstat-no" title="statement not covered" >this.typeAnnotation || this.__TypeAnnotation;</span>
1556
+ const needGenInitFromSchema =
1557
+ <span class="cstat-no" title="statement not covered" > typeAnnotation &amp;&amp;</span>
1558
+ (!['primitive', 'union'].includes(typeAnnotation.typeKind) || typeAnnotation.typeName === 'DateTime');
1559
+ let code = <span class="cstat-no" title="statement not covered" >`${this.name} = `;</span>
1560
+ <span class="cstat-no" title="statement not covered" > if (needGenInitFromSchema) {</span>
1561
+ <span class="cstat-no" title="statement not covered" > code += `this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}',`;</span>
1562
+ }
1563
+ &nbsp;
1564
+ const expressionJS = <span class="cstat-no" title="statement not covered" >this.defaultValue?.expression?.toJS?.() || `""`;</span>
1565
+ <span class="cstat-no" title="statement not covered" > code += `${this.name} || (this.$route.query.hasOwnProperty('${this.name}') ? this.$genInitFromSchema('${typeAnnotation?.sortedTypeKey}', this.$route.query.${this.name}) : ${expressionJS})`;</span>
1566
+ &nbsp;
1567
+ <span class="cstat-no" title="statement not covered" > if (needGenInitFromSchema) {</span>
1568
+ <span class="cstat-no" title="statement not covered" > code += `)`;</span>
1569
+ }
1570
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1571
+ }
1572
+ <span class="cstat-no" title="statement not covered" > return '';</span>
1573
+ }
1574
+ &nbsp;
1575
+ <span class="fstat-no" title="function not covered" > isEnum(</span>) {
1576
+ <span class="cstat-no" title="statement not covered" > return this.typeAnnotation?.typeNamespace?.endsWith('.enums');</span>
1577
+ }
1578
+ &nbsp;
1579
+ @withSourceMap()
1580
+ toEmbeddedTS(state?: TranslatorState, dontType?: boolean, hideDefaultValue?: boolean): string {
1581
+ let code = this.name;
1582
+ // 回调函数类的参数
1583
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this?.typeAnnotation?.typeKind === 'function') {
1584
+ <span class="cstat-no" title="statement not covered" > code += ':{(';</span>
1585
+ const paramTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation?.typeArguments || [];</span>
1586
+ <span class="cstat-no" title="statement not covered" > paramTypes.forEach(<span class="fstat-no" title="function not covered" >(t</span>ype, index) =&gt; {</span>
1587
+ <span class="cstat-no" title="statement not covered" > code += `type${index + 1}:${type.toEmbeddedTS(shiftState(state, code))}`;</span>
1588
+ <span class="cstat-no" title="statement not covered" > if (index !== paramTypes.length - 1) {</span>
1589
+ <span class="cstat-no" title="statement not covered" > code += ',';</span>
1590
+ } else {
1591
+ <span class="cstat-no" title="statement not covered" > code += ')';</span>
1592
+ }
1593
+ });
1594
+ <span class="cstat-no" title="statement not covered" > code += ':';</span>
1595
+ const returnTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation?.returnType || [];</span>
1596
+ <span class="cstat-no" title="statement not covered" > returnTypes.forEach(<span class="fstat-no" title="function not covered" >(t</span>ype) =&gt; {</span>
1597
+ <span class="cstat-no" title="statement not covered" > code += type.toEmbeddedTS(shiftState(state, code));</span>
1598
+ });
1599
+ <span class="cstat-no" title="statement not covered" > code += '}';</span>
1600
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1601
+ }
1602
+ &nbsp;
1603
+ if (this.defaultExpression instanceof Function || this.defaultExpression instanceof AnonymousFunction) {
1604
+ code += this.required ? ': ' : '?: ';
1605
+ code += this.defaultExpression.toEmbeddedTSDefinition(shiftState(state, code));
1606
+ } else if (!dontType &amp;&amp; this.typeAnnotation) {
1607
+ code += ': ';
1608
+ code += this.typeAnnotation.toEmbeddedTS(shiftState(state, code));
1609
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!hideDefaultValue &amp;&amp; this.defaultValue?.expression) {
1610
+ <span class="cstat-no" title="statement not covered" > if (['nasl.core.DateTime', 'nasl.core.Time', 'nasl.core.Date'].includes(this.typeAnnotation.typeKey)) {</span>
1611
+ <span class="cstat-no" title="statement not covered" > code += this.defaultValue.toEmbeddedTS(shiftState(state, code), true);</span>
1612
+ } else {
1613
+ <span class="cstat-no" title="statement not covered" > code += ` = `;</span>
1614
+ <span class="cstat-no" title="statement not covered" > code += this.defaultValue.toEmbeddedTS(shiftState(state, code));</span>
1615
+ }
1616
+ }
1617
+ }
1618
+ return code;
1619
+ }
1620
+ &nbsp;
1621
+ @withSourceMap()
1622
+ <span class="fstat-no" title="function not covered" > toNaturalTS(</span>state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState(),</span> dontType?: boolean): string {
1623
+ let code = <span class="cstat-no" title="statement not covered" >this.name;</span>
1624
+ // 回调函数类的参数
1625
+ <span class="cstat-no" title="statement not covered" > if (this?.typeAnnotation?.typeKind === 'function') {</span>
1626
+ <span class="cstat-no" title="statement not covered" > code += ':{(';</span>
1627
+ const paramTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation?.typeArguments || [];</span>
1628
+ <span class="cstat-no" title="statement not covered" > paramTypes.forEach(<span class="fstat-no" title="function not covered" >(t</span>ype, index) =&gt; {</span>
1629
+ <span class="cstat-no" title="statement not covered" > code += `type${index + 1}:${type.toNaturalTS(shiftState(state, code))}`;</span>
1630
+ <span class="cstat-no" title="statement not covered" > if (index !== paramTypes.length - 1) {</span>
1631
+ <span class="cstat-no" title="statement not covered" > code += ',';</span>
1632
+ } else {
1633
+ <span class="cstat-no" title="statement not covered" > code += ')';</span>
1634
+ }
1635
+ });
1636
+ <span class="cstat-no" title="statement not covered" > code += ':';</span>
1637
+ const returnTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation?.returnType || [];</span>
1638
+ <span class="cstat-no" title="statement not covered" > returnTypes.forEach(<span class="fstat-no" title="function not covered" >(t</span>ype) =&gt; {</span>
1639
+ <span class="cstat-no" title="statement not covered" > code += type.toNaturalTS(shiftState(state, code));</span>
1640
+ });
1641
+ <span class="cstat-no" title="statement not covered" > code += '}';</span>
1642
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1643
+ }
1644
+ &nbsp;
1645
+ <span class="cstat-no" title="statement not covered" > if (this.defaultExpression instanceof Function || this.defaultExpression instanceof AnonymousFunction) {</span>
1646
+ <span class="cstat-no" title="statement not covered" > code += this.required ? ': ' : '?: ';</span>
1647
+ <span class="cstat-no" title="statement not covered" > code += this.defaultExpression.toEmbeddedTSDefinition(shiftState(state, code));</span>
1648
+ } else <span class="cstat-no" title="statement not covered" >if (!dontType &amp;&amp; this.typeAnnotation) {</span>
1649
+ <span class="cstat-no" title="statement not covered" > code += ': ';</span>
1650
+ <span class="cstat-no" title="statement not covered" > code += this.typeAnnotation.toNaturalTS(shiftState(state, code));</span>
1651
+ <span class="cstat-no" title="statement not covered" > if (this.typeAnnotation?.typeKind !== 'primitive' &amp;&amp; this.defaultValue) {</span>
1652
+ <span class="cstat-no" title="statement not covered" > if (this.isEnum()) {</span>
1653
+ <span class="cstat-no" title="statement not covered" > code += `= ${this.typeAnnotation.typeKey}['${this.defaultValue}']`;</span>
1654
+ }
1655
+ }
1656
+ }
1657
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1658
+ }
1659
+ &nbsp;
1660
+ @withSourceMap()
1661
+ <span class="fstat-no" title="function not covered" > toEmbeddedNameTS(</span>state?: TranslatorState): string {
1662
+ <span class="cstat-no" title="statement not covered" > return `${this.name}`;</span>
1663
+ }
1664
+ &nbsp;
1665
+ /**
1666
+ * 设置数据类型
1667
+ * @param typeAnnotation 类型标注对象
1668
+ */
1669
+ async setDataType(typeAnnotation: TypeAnnotation): Promise&lt;void&gt;;
1670
+ /**
1671
+ * 设置数据类型
1672
+ * @param typeAnnotation 类型唯一标识
1673
+ */
1674
+ async setDataType(typeKey: string): Promise&lt;void&gt;;
1675
+ <span class="fstat-no" title="function not covered" > async </span>setDataType(typeAnnotation: TypeAnnotation | string) {
1676
+ <span class="cstat-no" title="statement not covered" > if (typeof typeAnnotation === 'string') {</span>
1677
+ <span class="cstat-no" title="statement not covered" > typeAnnotation = dataTypesMap[typeAnnotation];</span>
1678
+ <span class="cstat-no" title="statement not covered" > if (!typeAnnotation)</span>
1679
+ // eslint-disable-next-line prefer-rest-params
1680
+ <span class="cstat-no" title="statement not covered" > throw new Error(`找不到类型:${arguments[0]}`);</span>
1681
+ } else {
1682
+ <span class="cstat-no" title="statement not covered" > typeAnnotation._delete?.();</span>
1683
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentId: this.id, parentConcept: this.concept, parentNode: this };</span>
1684
+ <span class="cstat-no" title="statement not covered" > Object.assign(typeAnnotation, relationOptions);</span>
1685
+ }
1686
+ const object: any = <span class="cstat-no" title="statement not covered" >{</span>
1687
+ typeAnnotation,
1688
+ };
1689
+ &nbsp;
1690
+ // 切换类型的时候如果有默认值就清除掉
1691
+ <span class="cstat-no" title="statement not covered" > if (this.defaultValue) {</span>
1692
+ <span class="cstat-no" title="statement not covered" > object.defaultValue = null;</span>
1693
+ }
1694
+ <span class="cstat-no" title="statement not covered" > try {</span>
1695
+ <span class="cstat-no" title="statement not covered" > this.completionChildren = this.getSelectRef(typeAnnotation, true);</span>
1696
+ } catch (err) {
1697
+ <span class="cstat-no" title="statement not covered" > this.completionChildren = [];</span>
1698
+ <span class="cstat-no" title="statement not covered" > console.log(err);</span>
1699
+ }
1700
+ // 处理下拉属性
1701
+ <span class="cstat-no" title="statement not covered" > return this.update({</span>
1702
+ ...object,
1703
+ });
1704
+ }
1705
+ &nbsp;
1706
+ public static getDefaultOptions() {
1707
+ return {
1708
+ required: true,
1709
+ typeAnnotation: {
1710
+ concept: 'TypeAnnotation',
1711
+ typeKind: 'primitive',
1712
+ typeNamespace: 'nasl.core',
1713
+ typeName: 'String',
1714
+ },
1715
+ };
1716
+ }
1717
+ &nbsp;
1718
+ _readonly: boolean = false;
1719
+ &nbsp;
1720
+ /**
1721
+ * 是否可编辑
1722
+ * */
1723
+ <span class="fstat-no" title="function not covered" > get r</span>eadonly() {
1724
+ <span class="cstat-no" title="statement not covered" > return !!this.module || this._readonly;</span>
1725
+ }
1726
+ &nbsp;
1727
+ <span class="fstat-no" title="function not covered" > set r</span>eadonly(val) {
1728
+ <span class="cstat-no" title="statement not covered" > this._readonly = val;</span>
1729
+ }
1730
+ &nbsp;
1731
+ <span class="fstat-no" title="function not covered" > setnNewTypeAnnotation(</span>oldTypeAnnotation: TypeAnnotation) {
1732
+ const json = <span class="cstat-no" title="statement not covered" >oldTypeAnnotation.toJSON();</span>
1733
+ const typeAnnotation = <span class="cstat-no" title="statement not covered" >TypeAnnotation.from(json);</span>
1734
+ <span class="cstat-no" title="statement not covered" > this.typeAnnotation = typeAnnotation;</span>
1735
+ }
1736
+ &nbsp;
1737
+ <span class="fstat-no" title="function not covered" > get i</span>sFunction() {
1738
+ <span class="cstat-no" title="statement not covered" > return this.typeAnnotation.typeKind === 'function';</span>
1739
+ }
1740
+ &nbsp;
1741
+ <span class="fstat-no" title="function not covered" > get g</span>etFunctionSign() {
1742
+ <span class="cstat-no" title="statement not covered" > if (this.isFunction) {</span>
1743
+ const paramTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation.typeArguments || [];</span>
1744
+ const returnTypes = <span class="cstat-no" title="statement not covered" >this.typeAnnotation.returnType || [];</span>
1745
+ const paramTypeNames = <span class="cstat-no" title="statement not covered" >paramTypes.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.sign)</span>;</span>
1746
+ const returnTypeNames = <span class="cstat-no" title="statement not covered" >returnTypes.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.sign)</span>;</span>
1747
+ const returnString = <span class="cstat-no" title="statement not covered" >returnTypeNames.toString();</span>
1748
+ <span class="cstat-no" title="statement not covered" > return `(${paramTypeNames.toString()}) → ${returnString || 'void'}`;</span>
1749
+ }
1750
+ <span class="cstat-no" title="statement not covered" > return '';</span>
1751
+ }
1752
+ &nbsp;
1753
+ /**
1754
+ * 祖先 Logic
1755
+ */
1756
+ <span class="fstat-no" title="function not covered" > get O</span>verriddenLogic() {
1757
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('OverriddenLogic') as Logic;</span>
1758
+ }
1759
+ &nbsp;
1760
+ <span class="fstat-no" title="function not covered" > get A</span>uthLogic() {
1761
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('AuthLogic') as Logic;</span>
1762
+ }
1763
+ &nbsp;
1764
+ <span class="fstat-no" title="function not covered" > get A</span>uthLogicForCallInterface() {
1765
+ <span class="cstat-no" title="statement not covered" > return this.getAncestor('AuthLogicForCallInterface') as Logic;</span>
1766
+ }
1767
+ &nbsp;
1768
+ //================================================================================
1769
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1770
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1771
+ //================================================================================
1772
+ }
1773
+ &nbsp;
1774
+ export default Param;
1775
+ //================================================================================
1776
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1777
+ // 自动生成的代码已结束。下面可以手动编写。
1778
+ //================================================================================
1779
+ &nbsp;</pre></td></tr></table></pre>
1780
+
1781
+ <div class='push'></div><!-- for sticky footer -->
1782
+ </div><!-- /wrapper -->
1783
+ <div class='footer quiet pad2 space-top1 center small'>
1784
+ Code coverage generated by
1785
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1786
+ at 2023-10-27T11:50:55.546Z
1787
+ </div>
1788
+ <script src="../../prettify.js"></script>
1789
+ <script>
1790
+ window.onload = function () {
1791
+ prettyPrint();
1792
+ };
1793
+ </script>
1794
+ <script src="../../sorter.js"></script>
1795
+ <script src="../../block-navigation.js"></script>
1796
+ </body>
1797
+ </html>
1798
+