@lcap/nasl 3.3.3-beta.5 → 3.3.3-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/out/bak/translator.js +73 -15
  2. package/out/bak/translator.js.map +1 -1
  3. package/out/common/BaseNode.d.ts +11 -0
  4. package/out/common/BaseNode.js +51 -0
  5. package/out/common/BaseNode.js.map +1 -1
  6. package/out/common/index.d.ts +1 -0
  7. package/out/common/index.js +1 -0
  8. package/out/common/index.js.map +1 -1
  9. package/out/common/utils.d.ts +2 -0
  10. package/out/common/utils.js +18 -0
  11. package/out/common/utils.js.map +1 -0
  12. package/out/concepts/Abort__.d.ts +2 -2
  13. package/out/concepts/Abort__.js +6 -2
  14. package/out/concepts/Abort__.js.map +1 -1
  15. package/out/concepts/Anchor__.d.ts +2 -2
  16. package/out/concepts/Anchor__.js +11 -7
  17. package/out/concepts/Anchor__.js.map +1 -1
  18. package/out/concepts/AnonymousFunction__.d.ts +3 -3
  19. package/out/concepts/AnonymousFunction__.js +37 -23
  20. package/out/concepts/AnonymousFunction__.js.map +1 -1
  21. package/out/concepts/App__.js +137 -69
  22. package/out/concepts/App__.js.map +1 -1
  23. package/out/concepts/Argument__.d.ts +2 -2
  24. package/out/concepts/Argument__.js +18 -13
  25. package/out/concepts/Argument__.js.map +1 -1
  26. package/out/concepts/Assignee__.d.ts +2 -2
  27. package/out/concepts/Assignee__.js +33 -22
  28. package/out/concepts/Assignee__.js.map +1 -1
  29. package/out/concepts/AssignmentLine__.d.ts +2 -2
  30. package/out/concepts/AssignmentLine__.js +3 -2
  31. package/out/concepts/AssignmentLine__.js.map +1 -1
  32. package/out/concepts/Assignment__.d.ts +2 -2
  33. package/out/concepts/Assignment__.js +16 -12
  34. package/out/concepts/Assignment__.js.map +1 -1
  35. package/out/concepts/Attribute__.js +6 -3
  36. package/out/concepts/Attribute__.js.map +1 -1
  37. package/out/concepts/AuthLogicForCallInterface__.d.ts +2 -2
  38. package/out/concepts/AuthLogicForCallInterface__.js +62 -78
  39. package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
  40. package/out/concepts/BackendVariable__.d.ts +5 -8
  41. package/out/concepts/BackendVariable__.js +23 -18
  42. package/out/concepts/BackendVariable__.js.map +1 -1
  43. package/out/concepts/Backend__.d.ts +4 -7
  44. package/out/concepts/Backend__.js +16 -11
  45. package/out/concepts/Backend__.js.map +1 -1
  46. package/out/concepts/BatchAssignment__.d.ts +2 -2
  47. package/out/concepts/BatchAssignment__.js +30 -22
  48. package/out/concepts/BatchAssignment__.js.map +1 -1
  49. package/out/concepts/BinaryExpression__.d.ts +2 -2
  50. package/out/concepts/BinaryExpression__.js +30 -18
  51. package/out/concepts/BinaryExpression__.js.map +1 -1
  52. package/out/concepts/BindAttribute__.d.ts +10 -4
  53. package/out/concepts/BindAttribute__.js +144 -43
  54. package/out/concepts/BindAttribute__.js.map +1 -1
  55. package/out/concepts/BindDirective__.d.ts +2 -2
  56. package/out/concepts/BindDirective__.js +16 -11
  57. package/out/concepts/BindDirective__.js.map +1 -1
  58. package/out/concepts/BindEvent__.d.ts +4 -7
  59. package/out/concepts/BindEvent__.js +32 -24
  60. package/out/concepts/BindEvent__.js.map +1 -1
  61. package/out/concepts/BindStyle__.d.ts +2 -2
  62. package/out/concepts/BindStyle__.js +15 -10
  63. package/out/concepts/BindStyle__.js.map +1 -1
  64. package/out/concepts/BooleanLiteral__.d.ts +2 -2
  65. package/out/concepts/BooleanLiteral__.js +2 -2
  66. package/out/concepts/BooleanLiteral__.js.map +1 -1
  67. package/out/concepts/CallAuthInterface__.d.ts +2 -2
  68. package/out/concepts/CallAuthInterface__.js +36 -31
  69. package/out/concepts/CallAuthInterface__.js.map +1 -1
  70. package/out/concepts/CallConnector__.d.ts +2 -2
  71. package/out/concepts/CallConnector__.js +25 -23
  72. package/out/concepts/CallConnector__.js.map +1 -1
  73. package/out/concepts/CallFunction__.d.ts +2 -2
  74. package/out/concepts/CallFunction__.js +31 -22
  75. package/out/concepts/CallFunction__.js.map +1 -1
  76. package/out/concepts/CallInterface__.d.ts +2 -2
  77. package/out/concepts/CallInterface__.js +16 -21
  78. package/out/concepts/CallInterface__.js.map +1 -1
  79. package/out/concepts/CallLogic__.d.ts +2 -3
  80. package/out/concepts/CallLogic__.js +47 -50
  81. package/out/concepts/CallLogic__.js.map +1 -1
  82. package/out/concepts/CallQueryComponent__.d.ts +4 -4
  83. package/out/concepts/CallQueryComponent__.js +50 -42
  84. package/out/concepts/CallQueryComponent__.js.map +1 -1
  85. package/out/concepts/Comment__.d.ts +2 -2
  86. package/out/concepts/Comment__.js +3 -2
  87. package/out/concepts/Comment__.js.map +1 -1
  88. package/out/concepts/CompletionProperty__.js +6 -3
  89. package/out/concepts/CompletionProperty__.js.map +1 -1
  90. package/out/concepts/ConfigGroup__.js +6 -3
  91. package/out/concepts/ConfigGroup__.js.map +1 -1
  92. package/out/concepts/ConfigProperty__.d.ts +4 -7
  93. package/out/concepts/ConfigProperty__.js +18 -13
  94. package/out/concepts/ConfigProperty__.js.map +1 -1
  95. package/out/concepts/Configuration__.js +6 -3
  96. package/out/concepts/Configuration__.js.map +1 -1
  97. package/out/concepts/Connection__.d.ts +4 -7
  98. package/out/concepts/Connection__.js +12 -8
  99. package/out/concepts/Connection__.js.map +1 -1
  100. package/out/concepts/Connector__.js +30 -15
  101. package/out/concepts/Connector__.js.map +1 -1
  102. package/out/concepts/Constant__.d.ts +3 -3
  103. package/out/concepts/Constant__.js +18 -13
  104. package/out/concepts/Constant__.js.map +1 -1
  105. package/out/concepts/DataSource__.d.ts +4 -7
  106. package/out/concepts/DataSource__.js +13 -9
  107. package/out/concepts/DataSource__.js.map +1 -1
  108. package/out/concepts/Destination__.d.ts +3 -3
  109. package/out/concepts/Destination__.js +35 -29
  110. package/out/concepts/Destination__.js.map +1 -1
  111. package/out/concepts/End__.d.ts +2 -2
  112. package/out/concepts/End__.js +17 -13
  113. package/out/concepts/End__.js.map +1 -1
  114. package/out/concepts/EntityIndex__.d.ts +2 -2
  115. package/out/concepts/EntityIndex__.js +4 -3
  116. package/out/concepts/EntityIndex__.js.map +1 -1
  117. package/out/concepts/EntityProperty__.d.ts +2 -2
  118. package/out/concepts/EntityProperty__.js +22 -15
  119. package/out/concepts/EntityProperty__.js.map +1 -1
  120. package/out/concepts/Entity__.d.ts +4 -7
  121. package/out/concepts/Entity__.js +29 -21
  122. package/out/concepts/Entity__.js.map +1 -1
  123. package/out/concepts/EnumItem__.d.ts +2 -2
  124. package/out/concepts/EnumItem__.js +4 -3
  125. package/out/concepts/EnumItem__.js.map +1 -1
  126. package/out/concepts/Enum__.d.ts +4 -7
  127. package/out/concepts/Enum__.js +16 -11
  128. package/out/concepts/Enum__.js.map +1 -1
  129. package/out/concepts/Event__.js +6 -3
  130. package/out/concepts/Event__.js.map +1 -1
  131. package/out/concepts/ExternalDestination__.d.ts +2 -2
  132. package/out/concepts/ExternalDestination__.js +13 -8
  133. package/out/concepts/ExternalDestination__.js.map +1 -1
  134. package/out/concepts/ForEachStatement__.d.ts +2 -2
  135. package/out/concepts/ForEachStatement__.js +26 -18
  136. package/out/concepts/ForEachStatement__.js.map +1 -1
  137. package/out/concepts/FrontendLibrary__.js +18 -10
  138. package/out/concepts/FrontendLibrary__.js.map +1 -1
  139. package/out/concepts/Frontend__.d.ts +4 -7
  140. package/out/concepts/Frontend__.js +37 -21
  141. package/out/concepts/Frontend__.js.map +1 -1
  142. package/out/concepts/Function__.d.ts +3 -3
  143. package/out/concepts/Function__.js +52 -33
  144. package/out/concepts/Function__.js.map +1 -1
  145. package/out/concepts/Identifier__.d.ts +2 -2
  146. package/out/concepts/Identifier__.js +23 -18
  147. package/out/concepts/Identifier__.js.map +1 -1
  148. package/out/concepts/IfStatement__.d.ts +2 -2
  149. package/out/concepts/IfStatement__.js +18 -13
  150. package/out/concepts/IfStatement__.js.map +1 -1
  151. package/out/concepts/Integration__.js +17 -9
  152. package/out/concepts/Integration__.js.map +1 -1
  153. package/out/concepts/InterfaceParam__.d.ts +2 -2
  154. package/out/concepts/InterfaceParam__.js +12 -8
  155. package/out/concepts/InterfaceParam__.js.map +1 -1
  156. package/out/concepts/Interface__.d.ts +4 -7
  157. package/out/concepts/Interface__.js +44 -33
  158. package/out/concepts/Interface__.js.map +1 -1
  159. package/out/concepts/JSBlock__.d.ts +2 -2
  160. package/out/concepts/JSBlock__.js +3 -2
  161. package/out/concepts/JSBlock__.js.map +1 -1
  162. package/out/concepts/JavaLogic__.d.ts +2 -2
  163. package/out/concepts/JavaLogic__.js +6 -2
  164. package/out/concepts/JavaLogic__.js.map +1 -1
  165. package/out/concepts/LogicItem__.d.ts +2 -2
  166. package/out/concepts/LogicItem__.js +7 -3
  167. package/out/concepts/LogicItem__.js.map +1 -1
  168. package/out/concepts/Logic__.d.ts +8 -11
  169. package/out/concepts/Logic__.js +141 -136
  170. package/out/concepts/Logic__.js.map +1 -1
  171. package/out/concepts/MatchCase__.d.ts +2 -2
  172. package/out/concepts/MatchCase__.js +35 -27
  173. package/out/concepts/MatchCase__.js.map +1 -1
  174. package/out/concepts/Match__.d.ts +2 -2
  175. package/out/concepts/Match__.js +29 -24
  176. package/out/concepts/Match__.js.map +1 -1
  177. package/out/concepts/MemberExpression__.d.ts +2 -2
  178. package/out/concepts/MemberExpression__.js +34 -27
  179. package/out/concepts/MemberExpression__.js.map +1 -1
  180. package/out/concepts/MetadataType__.d.ts +4 -7
  181. package/out/concepts/MetadataType__.js +23 -15
  182. package/out/concepts/MetadataType__.js.map +1 -1
  183. package/out/concepts/MsgTriggerEvent__.js +6 -3
  184. package/out/concepts/MsgTriggerEvent__.js.map +1 -1
  185. package/out/concepts/MsgTriggerLauncher__.js +6 -3
  186. package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
  187. package/out/concepts/Namespace__.js +66 -33
  188. package/out/concepts/Namespace__.js.map +1 -1
  189. package/out/concepts/NewComposite__.d.ts +6 -6
  190. package/out/concepts/NewComposite__.js +95 -82
  191. package/out/concepts/NewComposite__.js.map +1 -1
  192. package/out/concepts/NewList__.d.ts +5 -5
  193. package/out/concepts/NewList__.js +42 -32
  194. package/out/concepts/NewList__.js.map +1 -1
  195. package/out/concepts/NewMap__.d.ts +4 -4
  196. package/out/concepts/NewMap__.js +51 -41
  197. package/out/concepts/NewMap__.js.map +1 -1
  198. package/out/concepts/New__.d.ts +2 -2
  199. package/out/concepts/New__.js +3 -2
  200. package/out/concepts/New__.js.map +1 -1
  201. package/out/concepts/NullLiteral__.d.ts +2 -2
  202. package/out/concepts/NullLiteral__.js +2 -2
  203. package/out/concepts/NullLiteral__.js.map +1 -1
  204. package/out/concepts/NumericLiteral__.d.ts +2 -2
  205. package/out/concepts/NumericLiteral__.js +12 -7
  206. package/out/concepts/NumericLiteral__.js.map +1 -1
  207. package/out/concepts/OqlQueryComponent__.d.ts +2 -2
  208. package/out/concepts/OqlQueryComponent__.js +22 -17
  209. package/out/concepts/OqlQueryComponent__.js.map +1 -1
  210. package/out/concepts/OverriddenLogic__.d.ts +8 -11
  211. package/out/concepts/OverriddenLogic__.js +135 -130
  212. package/out/concepts/OverriddenLogic__.js.map +1 -1
  213. package/out/concepts/Param__.d.ts +3 -3
  214. package/out/concepts/Param__.js +29 -24
  215. package/out/concepts/Param__.js.map +1 -1
  216. package/out/concepts/ProcessComponent__.js +12 -6
  217. package/out/concepts/ProcessComponent__.js.map +1 -1
  218. package/out/concepts/ProcessElement__.d.ts +2 -2
  219. package/out/concepts/ProcessElement__.js +92 -66
  220. package/out/concepts/ProcessElement__.js.map +1 -1
  221. package/out/concepts/ProcessOutcome__.d.ts +2 -1
  222. package/out/concepts/ProcessOutcome__.js +5 -4
  223. package/out/concepts/ProcessOutcome__.js.map +1 -1
  224. package/out/concepts/ProcessOutcomes__.d.ts +2 -1
  225. package/out/concepts/ProcessOutcomes__.js +6 -5
  226. package/out/concepts/ProcessOutcomes__.js.map +1 -1
  227. package/out/concepts/Process__.d.ts +4 -7
  228. package/out/concepts/Process__.js +51 -34
  229. package/out/concepts/Process__.js.map +1 -1
  230. package/out/concepts/QueryAggregateExpression__.d.ts +2 -2
  231. package/out/concepts/QueryAggregateExpression__.js +8 -5
  232. package/out/concepts/QueryAggregateExpression__.js.map +1 -1
  233. package/out/concepts/QueryFieldExpression__.d.ts +2 -2
  234. package/out/concepts/QueryFieldExpression__.js +5 -4
  235. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  236. package/out/concepts/QueryFromExpression__.d.ts +2 -2
  237. package/out/concepts/QueryFromExpression__.js +14 -9
  238. package/out/concepts/QueryFromExpression__.js.map +1 -1
  239. package/out/concepts/QueryGroupByExpression__.d.ts +2 -1
  240. package/out/concepts/QueryGroupByExpression__.js +12 -8
  241. package/out/concepts/QueryGroupByExpression__.js.map +1 -1
  242. package/out/concepts/QueryJoinExpression__.d.ts +2 -2
  243. package/out/concepts/QueryJoinExpression__.js +18 -13
  244. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  245. package/out/concepts/QueryLimitExpression__.d.ts +2 -2
  246. package/out/concepts/QueryLimitExpression__.js +12 -8
  247. package/out/concepts/QueryLimitExpression__.js.map +1 -1
  248. package/out/concepts/QueryOrderByExpression__.d.ts +2 -2
  249. package/out/concepts/QueryOrderByExpression__.js +12 -8
  250. package/out/concepts/QueryOrderByExpression__.js.map +1 -1
  251. package/out/concepts/QuerySelectExpression__.js +6 -3
  252. package/out/concepts/QuerySelectExpression__.js.map +1 -1
  253. package/out/concepts/Return__.d.ts +3 -3
  254. package/out/concepts/Return__.js +21 -16
  255. package/out/concepts/Return__.js.map +1 -1
  256. package/out/concepts/Role__.d.ts +4 -7
  257. package/out/concepts/Role__.js +7 -6
  258. package/out/concepts/Role__.js.map +1 -1
  259. package/out/concepts/SelectMembers__.d.ts +2 -2
  260. package/out/concepts/SelectMembers__.js +9 -5
  261. package/out/concepts/SelectMembers__.js.map +1 -1
  262. package/out/concepts/Slot__.js +6 -3
  263. package/out/concepts/Slot__.js.map +1 -1
  264. package/out/concepts/SqlQueryComponent__.d.ts +2 -2
  265. package/out/concepts/SqlQueryComponent__.js +18 -13
  266. package/out/concepts/SqlQueryComponent__.js.map +1 -1
  267. package/out/concepts/Start__.d.ts +2 -2
  268. package/out/concepts/Start__.js +2 -2
  269. package/out/concepts/Start__.js.map +1 -1
  270. package/out/concepts/StringInterpolation__.d.ts +2 -2
  271. package/out/concepts/StringInterpolation__.js +13 -8
  272. package/out/concepts/StringInterpolation__.js.map +1 -1
  273. package/out/concepts/StringLiteral__.d.ts +2 -2
  274. package/out/concepts/StringLiteral__.js +4 -3
  275. package/out/concepts/StringLiteral__.js.map +1 -1
  276. package/out/concepts/StructureProperty__.d.ts +2 -2
  277. package/out/concepts/StructureProperty__.js +14 -10
  278. package/out/concepts/StructureProperty__.js.map +1 -1
  279. package/out/concepts/Structure__.d.ts +4 -7
  280. package/out/concepts/Structure__.js +22 -14
  281. package/out/concepts/Structure__.js.map +1 -1
  282. package/out/concepts/SwitchCase__.d.ts +2 -2
  283. package/out/concepts/SwitchCase__.js +18 -13
  284. package/out/concepts/SwitchCase__.js.map +1 -1
  285. package/out/concepts/SwitchStatement__.d.ts +2 -2
  286. package/out/concepts/SwitchStatement__.js +14 -9
  287. package/out/concepts/SwitchStatement__.js.map +1 -1
  288. package/out/concepts/TriggerEvent__.js +6 -3
  289. package/out/concepts/TriggerEvent__.js.map +1 -1
  290. package/out/concepts/TriggerLauncher__.d.ts +4 -7
  291. package/out/concepts/TriggerLauncher__.js +7 -6
  292. package/out/concepts/TriggerLauncher__.js.map +1 -1
  293. package/out/concepts/TypeAnnotation__.d.ts +2 -2
  294. package/out/concepts/TypeAnnotation__.js +61 -29
  295. package/out/concepts/TypeAnnotation__.js.map +1 -1
  296. package/out/concepts/TypeParam__.d.ts +2 -2
  297. package/out/concepts/TypeParam__.js +4 -3
  298. package/out/concepts/TypeParam__.js.map +1 -1
  299. package/out/concepts/UnaryExpression__.d.ts +2 -2
  300. package/out/concepts/UnaryExpression__.js +18 -10
  301. package/out/concepts/UnaryExpression__.js.map +1 -1
  302. package/out/concepts/Unparsed__.d.ts +2 -1
  303. package/out/concepts/Unparsed__.js +2 -2
  304. package/out/concepts/Unparsed__.js.map +1 -1
  305. package/out/concepts/ValidationRule__.d.ts +2 -2
  306. package/out/concepts/ValidationRule__.js +17 -12
  307. package/out/concepts/ValidationRule__.js.map +1 -1
  308. package/out/concepts/Variable__.d.ts +5 -8
  309. package/out/concepts/Variable__.js +23 -18
  310. package/out/concepts/Variable__.js.map +1 -1
  311. package/out/concepts/ViewElement__.d.ts +7 -6
  312. package/out/concepts/ViewElement__.js +139 -101
  313. package/out/concepts/ViewElement__.js.map +1 -1
  314. package/out/concepts/View__.d.ts +8 -9
  315. package/out/concepts/View__.js +73 -62
  316. package/out/concepts/View__.js.map +1 -1
  317. package/out/concepts/WhileStatement__.d.ts +2 -2
  318. package/out/concepts/WhileStatement__.js +9 -7
  319. package/out/concepts/WhileStatement__.js.map +1 -1
  320. package/out/manager/diagnostic.d.ts +1 -1
  321. package/out/manager/diagnostic.js +2 -3
  322. package/out/manager/diagnostic.js.map +1 -1
  323. package/out/natural/transformTSCode.d.ts +2 -2
  324. package/out/server/naslServer.d.ts +46 -55
  325. package/out/server/naslServer.js +302 -449
  326. package/out/server/naslServer.js.map +1 -1
  327. package/out/server/translator.js +1 -1
  328. package/out/server/translator.js.map +1 -1
  329. package/out/templator/genCreateBlock.js +4 -4
  330. package/out/templator/genCreateBlock.js.map +1 -1
  331. package/out/templator/genCurdEditMultipleKeyBlock.js +6 -6
  332. package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
  333. package/out/templator/genCurdMultipleKeyBlock.js +4 -4
  334. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  335. package/out/templator/genEditTableBlock.js +2 -2
  336. package/out/templator/genEditTableBlock.js.map +1 -1
  337. package/out/templator/genUpdateBlock.js +4 -4
  338. package/out/templator/genUpdateBlock.js.map +1 -1
  339. package/out/translator/types.d.ts +16 -3
  340. package/out/translator/utils.d.ts +19 -1
  341. package/out/translator/utils.js +71 -2
  342. package/out/translator/utils.js.map +1 -1
  343. package/out/utils/time-slicing/constant.d.ts +35 -0
  344. package/out/utils/time-slicing/constant.js +40 -0
  345. package/out/utils/time-slicing/constant.js.map +1 -0
  346. package/out/utils/time-slicing/controller.d.ts +53 -0
  347. package/out/utils/time-slicing/controller.js +280 -0
  348. package/out/utils/time-slicing/controller.js.map +1 -0
  349. package/out/utils/time-slicing/index.d.ts +5 -0
  350. package/out/utils/time-slicing/index.js +26 -0
  351. package/out/utils/time-slicing/index.js.map +1 -0
  352. package/out/utils/time-slicing/page-state.d.ts +2 -0
  353. package/out/utils/time-slicing/page-state.js +14 -0
  354. package/out/utils/time-slicing/page-state.js.map +1 -0
  355. package/out/utils/time-slicing/performance.d.ts +11 -0
  356. package/out/utils/time-slicing/performance.js +51 -0
  357. package/out/utils/time-slicing/performance.js.map +1 -0
  358. package/out/utils/time-slicing/runner.d.ts +12 -0
  359. package/out/utils/time-slicing/runner.js +53 -0
  360. package/out/utils/time-slicing/runner.js.map +1 -0
  361. package/out/utils/time-slicing/tool.d.ts +24 -0
  362. package/out/utils/time-slicing/tool.js +47 -0
  363. package/out/utils/time-slicing/tool.js.map +1 -0
  364. package/out/utils/time-slicing/utils.d.ts +62 -0
  365. package/out/utils/time-slicing/utils.js +47 -0
  366. package/out/utils/time-slicing/utils.js.map +1 -0
  367. package/out/utils/time-slicing/wrapper.d.ts +18 -0
  368. package/out/utils/time-slicing/wrapper.js +55 -0
  369. package/out/utils/time-slicing/wrapper.js.map +1 -0
  370. package/out/utils/types.d.ts +7 -0
  371. package/package.json +1 -1
  372. package/src/bak/translator.js +75 -16
  373. package/src/common/BaseNode.ts +67 -6
  374. package/src/common/index.ts +1 -0
  375. package/src/common/utils.ts +17 -0
  376. package/src/concepts/Abort__.ts +12 -3
  377. package/src/concepts/Anchor__.ts +21 -8
  378. package/src/concepts/AnonymousFunction__.ts +45 -31
  379. package/src/concepts/App__.ts +137 -69
  380. package/src/concepts/Argument__.ts +31 -14
  381. package/src/concepts/Assignee__.ts +44 -23
  382. package/src/concepts/AssignmentLine__.ts +13 -3
  383. package/src/concepts/Assignment__.ts +26 -14
  384. package/src/concepts/Attribute__.ts +6 -3
  385. package/src/concepts/AuthLogicForCallInterface__.ts +69 -87
  386. package/src/concepts/BackendVariable__.ts +34 -19
  387. package/src/concepts/Backend__.ts +33 -12
  388. package/src/concepts/BatchAssignment__.ts +41 -23
  389. package/src/concepts/BinaryExpression__.ts +40 -20
  390. package/src/concepts/BindAttribute__.ts +151 -49
  391. package/src/concepts/BindDirective__.ts +25 -12
  392. package/src/concepts/BindEvent__.ts +43 -32
  393. package/src/concepts/BindStyle__.ts +24 -11
  394. package/src/concepts/BooleanLiteral__.ts +11 -3
  395. package/src/concepts/CallAuthInterface__.ts +45 -34
  396. package/src/concepts/CallConnector__.ts +34 -26
  397. package/src/concepts/CallFunction__.ts +34 -23
  398. package/src/concepts/CallInterface__.ts +25 -30
  399. package/src/concepts/CallLogic__.ts +60 -67
  400. package/src/concepts/CallQueryComponent__.ts +60 -52
  401. package/src/concepts/Comment__.ts +13 -3
  402. package/src/concepts/CompletionProperty__.ts +6 -3
  403. package/src/concepts/ConfigGroup__.ts +6 -3
  404. package/src/concepts/ConfigProperty__.ts +28 -15
  405. package/src/concepts/Configuration__.ts +6 -3
  406. package/src/concepts/Connection__.ts +28 -9
  407. package/src/concepts/Connector__.ts +30 -15
  408. package/src/concepts/Constant__.ts +28 -14
  409. package/src/concepts/DataSource__.ts +22 -10
  410. package/src/concepts/Destination__.ts +45 -36
  411. package/src/concepts/End__.ts +24 -15
  412. package/src/concepts/EntityIndex__.ts +13 -4
  413. package/src/concepts/EntityProperty__.ts +33 -17
  414. package/src/concepts/Entity__.ts +40 -25
  415. package/src/concepts/EnumItem__.ts +13 -4
  416. package/src/concepts/Enum__.ts +27 -13
  417. package/src/concepts/Event__.ts +6 -3
  418. package/src/concepts/ExternalDestination__.ts +22 -10
  419. package/src/concepts/ForEachStatement__.ts +36 -20
  420. package/src/concepts/FrontendLibrary__.ts +18 -10
  421. package/src/concepts/Frontend__.ts +48 -22
  422. package/src/concepts/Function__.ts +60 -36
  423. package/src/concepts/Identifier__.ts +32 -23
  424. package/src/concepts/IfStatement__.ts +28 -17
  425. package/src/concepts/Integration__.ts +17 -9
  426. package/src/concepts/InterfaceParam__.ts +22 -9
  427. package/src/concepts/Interface__.ts +55 -37
  428. package/src/concepts/JSBlock__.ts +12 -3
  429. package/src/concepts/JavaLogic__.ts +13 -3
  430. package/src/concepts/LogicItem__.ts +13 -4
  431. package/src/concepts/Logic__.ts +159 -149
  432. package/src/concepts/MatchCase__.ts +45 -32
  433. package/src/concepts/Match__.ts +39 -28
  434. package/src/concepts/MemberExpression__.ts +43 -28
  435. package/src/concepts/MetadataType__.ts +34 -16
  436. package/src/concepts/MsgTriggerEvent__.ts +6 -3
  437. package/src/concepts/MsgTriggerLauncher__.ts +6 -3
  438. package/src/concepts/Namespace__.ts +66 -33
  439. package/src/concepts/NewComposite__.ts +106 -87
  440. package/src/concepts/NewList__.ts +52 -38
  441. package/src/concepts/NewMap__.ts +61 -48
  442. package/src/concepts/New__.ts +13 -3
  443. package/src/concepts/NullLiteral__.ts +11 -3
  444. package/src/concepts/NumericLiteral__.ts +21 -8
  445. package/src/concepts/OqlQueryComponent__.ts +32 -21
  446. package/src/concepts/OverriddenLogic__.ts +153 -143
  447. package/src/concepts/Param__.ts +48 -34
  448. package/src/concepts/ProcessComponent__.ts +12 -6
  449. package/src/concepts/ProcessElement__.ts +102 -76
  450. package/src/concepts/ProcessOutcome__.ts +16 -8
  451. package/src/concepts/ProcessOutcomes__.ts +17 -9
  452. package/src/concepts/Process__.ts +62 -41
  453. package/src/concepts/QueryAggregateExpression__.ts +17 -6
  454. package/src/concepts/QueryFieldExpression__.ts +14 -5
  455. package/src/concepts/QueryFromExpression__.ts +24 -10
  456. package/src/concepts/QueryGroupByExpression__.ts +20 -9
  457. package/src/concepts/QueryJoinExpression__.ts +28 -14
  458. package/src/concepts/QueryLimitExpression__.ts +22 -9
  459. package/src/concepts/QueryOrderByExpression__.ts +23 -9
  460. package/src/concepts/QuerySelectExpression__.ts +6 -3
  461. package/src/concepts/Return__.ts +31 -17
  462. package/src/concepts/Role__.ts +17 -8
  463. package/src/concepts/SelectMembers__.ts +19 -6
  464. package/src/concepts/Slot__.ts +6 -3
  465. package/src/concepts/SqlQueryComponent__.ts +28 -14
  466. package/src/concepts/Start__.ts +11 -3
  467. package/src/concepts/StringInterpolation__.ts +16 -8
  468. package/src/concepts/StringLiteral__.ts +13 -4
  469. package/src/concepts/StructureProperty__.ts +24 -11
  470. package/src/concepts/Structure__.ts +33 -16
  471. package/src/concepts/SwitchCase__.ts +28 -17
  472. package/src/concepts/SwitchStatement__.ts +23 -10
  473. package/src/concepts/TriggerEvent__.ts +6 -3
  474. package/src/concepts/TriggerLauncher__.ts +17 -7
  475. package/src/concepts/TypeAnnotation__.ts +46 -30
  476. package/src/concepts/TypeParam__.ts +13 -4
  477. package/src/concepts/UnaryExpression__.ts +28 -12
  478. package/src/concepts/Unparsed__.ts +10 -3
  479. package/src/concepts/ValidationRule__.ts +27 -20
  480. package/src/concepts/Variable__.ts +34 -19
  481. package/src/concepts/ViewElement__.ts +165 -125
  482. package/src/concepts/View__.ts +108 -89
  483. package/src/concepts/WhileStatement__.ts +19 -10
  484. package/src/concepts/types__.ts +1 -1
  485. package/src/manager/diagnostic.ts +3 -4
  486. package/src/server/naslServer.ts +676 -729
  487. package/src/server/translator.ts +1 -1
  488. package/src/templator/genCreateBlock.ts +4 -4
  489. package/src/templator/genCurdEditMultipleKeyBlock.ts +6 -6
  490. package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
  491. package/src/templator/genEditTableBlock.ts +2 -2
  492. package/src/templator/genUpdateBlock.ts +4 -4
  493. package/src/translator/types.ts +20 -5
  494. package/src/translator/utils.ts +78 -4
  495. package/src/utils/time-slicing/constant.ts +37 -0
  496. package/src/utils/time-slicing/controller.ts +342 -0
  497. package/src/utils/time-slicing/index.ts +6 -0
  498. package/src/utils/time-slicing/page-state.ts +12 -0
  499. package/src/utils/time-slicing/performance.ts +56 -0
  500. package/src/utils/time-slicing/runner.ts +54 -0
  501. package/src/utils/time-slicing/tool.ts +45 -0
  502. package/src/utils/time-slicing/utils.ts +90 -0
  503. package/src/utils/time-slicing/wrapper.ts +58 -0
  504. package/src/utils/types.ts +9 -0
  505. package/test/concepts/anonymous-function/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
  506. package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +3 -0
  507. package/test/concepts/anonymous-function/__snapshots__/toVue.spec.ts.snap +6 -0
  508. package/test/concepts/anonymous-function/constant.ts +5 -0
  509. package/test/concepts/anonymous-function/fixtures/simple.json +85 -0
  510. package/test/concepts/anonymous-function/toEmbeddedTS.spec.ts +15 -0
  511. package/test/concepts/anonymous-function/toJS.spec.ts +14 -0
  512. package/test/concepts/anonymous-function/toVue.spec.ts +14 -0
  513. package/test/concepts/assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +21 -0
  514. package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +9 -0
  515. package/test/concepts/assignment/__snapshots__/toVue.spec.ts.snap +21 -0
  516. package/test/concepts/assignment/constant.ts +5 -0
  517. package/test/concepts/assignment/fixtures/both-space.json +4 -0
  518. package/test/concepts/assignment/fixtures/left-space.json +14 -0
  519. package/test/concepts/assignment/fixtures/right-space.json +8 -0
  520. package/test/concepts/assignment/fixtures/simple.json +12 -0
  521. package/test/concepts/assignment/toEmbeddedTS.spec.ts +15 -0
  522. package/test/concepts/assignment/toJS.spec.ts +14 -0
  523. package/test/concepts/assignment/toVue.spec.ts +14 -0
  524. package/test/concepts/batch-assignment/__snapshots__/toEmbeddedTS.spec.ts.snap +28 -0
  525. package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +13 -0
  526. package/test/concepts/batch-assignment/__snapshots__/toVue.spec.ts.snap +14 -0
  527. package/test/concepts/batch-assignment/constant.ts +5 -0
  528. package/test/concepts/batch-assignment/fixtures/muli-var-muli-value.json +144 -0
  529. package/test/concepts/batch-assignment/fixtures/simple-var-simple-value.json +36 -0
  530. package/test/concepts/batch-assignment/toEmbeddedTS.spec.ts +15 -0
  531. package/test/concepts/batch-assignment/toJS.spec.ts +14 -0
  532. package/test/concepts/batch-assignment/toVue.spec.ts +14 -0
  533. package/test/concepts/binary-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +25 -0
  534. package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +17 -0
  535. package/test/concepts/binary-expression/__snapshots__/toVue.spec.ts.snap +19 -0
  536. package/test/concepts/binary-expression/constant.ts +5 -0
  537. package/test/concepts/binary-expression/fixtures/constant-nested.json +36 -0
  538. package/test/concepts/binary-expression/fixtures/constant-simple.json +12 -0
  539. package/test/concepts/binary-expression/fixtures/variable-nested.json +69 -0
  540. package/test/concepts/binary-expression/toEmbeddedTS.spec.ts +15 -0
  541. package/test/concepts/binary-expression/toJS.spec.ts +14 -0
  542. package/test/concepts/binary-expression/toVue.spec.ts +14 -0
  543. package/test/concepts/boolean-literal/toEmbeddedTS.spec.ts +4 -3
  544. package/test/concepts/boolean-literal/toJS.spec.ts +2 -2
  545. package/test/concepts/boolean-literal/toVue.spec.ts +2 -2
  546. package/test/concepts/call-function/toEmbeddedTS.spec.ts +2 -1
  547. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -3
  548. package/test/concepts/call-interface/toEmbeddedTS.spec.ts +2 -1
  549. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +3 -3
  550. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  551. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -1
  552. package/test/concepts/call-logic/toEmbeddedTS.spec.ts +2 -1
  553. package/test/concepts/data-source/__snapshots__/toEmbeddedTS.spec.ts.snap +8 -0
  554. package/test/concepts/data-source/__snapshots__/toEmbeddedTSFile.spec.ts.snap +12 -0
  555. package/test/concepts/data-source/constant.ts +5 -0
  556. package/test/concepts/data-source/fixtures/normal.json +289 -0
  557. package/test/concepts/data-source/toEmbeddedTS.spec.ts +15 -0
  558. package/test/concepts/data-source/toEmbeddedTSFile.spec.ts +16 -0
  559. package/test/concepts/entity/__snapshots__/toEmbeddedTS.spec.ts.snap +74 -0
  560. package/test/concepts/entity/__snapshots__/toEmbeddedTSFile.spec.ts.snap +3 -0
  561. package/test/concepts/entity/constant.ts +5 -0
  562. package/test/concepts/entity/fixtures/normal.json +469 -0
  563. package/test/concepts/entity/toEmbeddedTS.spec.ts +15 -0
  564. package/test/concepts/entity/toEmbeddedTSFile.spec.ts +14 -0
  565. package/test/concepts/identifier/toEmbeddedTS.spec.ts +4 -3
  566. package/test/concepts/identifier/toJS.spec.ts +2 -2
  567. package/test/concepts/identifier/toVue.spec.ts +2 -2
  568. package/test/concepts/match/toEmbeddedTS.spec.ts +2 -1
  569. package/test/concepts/member-expression/toEmbeddedTS.spec.ts +2 -1
  570. package/test/concepts/member-expression/toVue.spec.ts +2 -2
  571. package/test/concepts/null-literal/toEmbeddedTS.spec.ts +4 -3
  572. package/test/concepts/null-literal/toJS.spec.ts +2 -2
  573. package/test/concepts/null-literal/toVue.spec.ts +2 -2
  574. package/test/concepts/numeric-literal/toEmbeddedTS.spec.ts +4 -3
  575. package/test/concepts/numeric-literal/toJS.spec.ts +2 -2
  576. package/test/concepts/numeric-literal/toVue.spec.ts +2 -2
  577. package/test/concepts/string-literal/toEmbeddedTS.spec.ts +4 -3
  578. package/test/concepts/string-literal/toJS.spec.ts +2 -2
  579. package/test/concepts/string-literal/toVue.spec.ts +2 -2
  580. package/test/concepts/validation-rule/toEmbeddedTS.spec.ts +2 -1
  581. package/test/concepts/validation-rule/validation-rule.spec.ts +2 -1
  582. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +0 -2
  583. package/test/concepts/view-element/toEmbeddedTS.spec.ts +2 -1
  584. package/test/time-slicing/runner.spec.ts +28 -0
  585. package/test/time-slicing/time-slicing-nodejs.spec.ts +27 -0
  586. package/test/time-slicing/utils.ts +7 -0
  587. package/test/time-slicing/wrapper.spec.ts +92 -0
  588. package/ts-worker/lib/tsserver.js +10 -1
  589. package/ts-worker/package.json +1 -0
  590. package/ts-worker/src/index.js +13 -12
  591. package/ts-worker/webpack.config.js +1 -1
  592. package/.nyc_output/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +0 -1
  593. package/.nyc_output/processinfo/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +0 -1
  594. package/.nyc_output/processinfo/index.json +0 -1
  595. package/coverage/base.css +0 -224
  596. package/coverage/block-navigation.js +0 -87
  597. package/coverage/favicon.png +0 -0
  598. package/coverage/index.html +0 -446
  599. package/coverage/prettify.css +0 -1
  600. package/coverage/prettify.js +0 -2
  601. package/coverage/sort-arrow-sprite.png +0 -0
  602. package/coverage/sorter.js +0 -196
  603. package/coverage/src/automate/engine/index.html +0 -116
  604. package/coverage/src/automate/engine/utils.js.html +0 -1414
  605. package/coverage/src/bak/index.html +0 -116
  606. package/coverage/src/bak/translator.js.html +0 -619
  607. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +0 -175
  608. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +0 -169
  609. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +0 -1243
  610. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +0 -145
  611. package/coverage/src/breakpoint/generator/index.html +0 -176
  612. package/coverage/src/breakpoint/generator/index.ts.html +0 -508
  613. package/coverage/src/breakpoint/index.html +0 -116
  614. package/coverage/src/breakpoint/index.ts.html +0 -94
  615. package/coverage/src/breakpoint/shared/constants.ts.html +0 -430
  616. package/coverage/src/breakpoint/shared/index.html +0 -176
  617. package/coverage/src/breakpoint/shared/index.ts.html +0 -94
  618. package/coverage/src/breakpoint/shared/operations.ts.html +0 -160
  619. package/coverage/src/breakpoint/shared/socket.ts.html +0 -1225
  620. package/coverage/src/breakpoint/shared/utils.ts.html +0 -961
  621. package/coverage/src/breakpoint/store/core.ts.html +0 -1600
  622. package/coverage/src/breakpoint/store/dock.ts.html +0 -583
  623. package/coverage/src/breakpoint/store/index.html +0 -146
  624. package/coverage/src/breakpoint/store/index.ts.html +0 -91
  625. package/coverage/src/common/BaseNode.ts.html +0 -3868
  626. package/coverage/src/common/Command.ts.html +0 -310
  627. package/coverage/src/common/EventEmitter.ts.html +0 -370
  628. package/coverage/src/common/Messager.ts.html +0 -820
  629. package/coverage/src/common/asyncFuncMap.ts.html +0 -127
  630. package/coverage/src/common/index.html +0 -191
  631. package/coverage/src/common/index.ts.html +0 -94
  632. package/coverage/src/concepts/Abort__.ts.html +0 -328
  633. package/coverage/src/concepts/Anchor__.ts.html +0 -604
  634. package/coverage/src/concepts/AnonymousFunction__.ts.html +0 -1951
  635. package/coverage/src/concepts/App__.ts.html +0 -13252
  636. package/coverage/src/concepts/Argument__.ts.html +0 -910
  637. package/coverage/src/concepts/Assignee__.ts.html +0 -2236
  638. package/coverage/src/concepts/AssignmentLine__.ts.html +0 -409
  639. package/coverage/src/concepts/Assignment__.ts.html +0 -1078
  640. package/coverage/src/concepts/Attribute__.ts.html +0 -733
  641. package/coverage/src/concepts/AuthInterface__.ts.html +0 -367
  642. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +0 -1984
  643. package/coverage/src/concepts/AuthLogic__.ts.html +0 -781
  644. package/coverage/src/concepts/BackendVariable__.ts.html +0 -1483
  645. package/coverage/src/concepts/Backend__.ts.html +0 -1165
  646. package/coverage/src/concepts/BatchAssignment__.ts.html +0 -3250
  647. package/coverage/src/concepts/BinaryExpression__.ts.html +0 -1336
  648. package/coverage/src/concepts/BindAttribute__.ts.html +0 -3679
  649. package/coverage/src/concepts/BindDirective__.ts.html +0 -1921
  650. package/coverage/src/concepts/BindEvent__.ts.html +0 -3232
  651. package/coverage/src/concepts/BindStyle__.ts.html +0 -1612
  652. package/coverage/src/concepts/BooleanLiteral__.ts.html +0 -403
  653. package/coverage/src/concepts/CallAuthInterface__.ts.html +0 -1615
  654. package/coverage/src/concepts/CallConnector__.ts.html +0 -868
  655. package/coverage/src/concepts/CallFunction__.ts.html +0 -1966
  656. package/coverage/src/concepts/CallInterface__.ts.html +0 -2614
  657. package/coverage/src/concepts/CallLogic__.ts.html +0 -4420
  658. package/coverage/src/concepts/CallQueryComponent__.ts.html +0 -5308
  659. package/coverage/src/concepts/Comment__.ts.html +0 -376
  660. package/coverage/src/concepts/CompletionProperty__.ts.html +0 -925
  661. package/coverage/src/concepts/ConfigGroup__.ts.html +0 -1105
  662. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +0 -424
  663. package/coverage/src/concepts/ConfigProperty__.ts.html +0 -1348
  664. package/coverage/src/concepts/Configuration__.ts.html +0 -1027
  665. package/coverage/src/concepts/Connection__.ts.html +0 -1360
  666. package/coverage/src/concepts/ConnectorTrigger__.ts.html +0 -595
  667. package/coverage/src/concepts/Connector__.ts.html +0 -4255
  668. package/coverage/src/concepts/Constant__.ts.html +0 -913
  669. package/coverage/src/concepts/DataSource__.ts.html +0 -1771
  670. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +0 -331
  671. package/coverage/src/concepts/Destination__.ts.html +0 -2563
  672. package/coverage/src/concepts/End__.ts.html +0 -433
  673. package/coverage/src/concepts/EntityIndex__.ts.html +0 -787
  674. package/coverage/src/concepts/EntityProperty__.ts.html +0 -2620
  675. package/coverage/src/concepts/Entity__.ts.html +0 -2872
  676. package/coverage/src/concepts/EnumItem__.ts.html +0 -535
  677. package/coverage/src/concepts/Enum__.ts.html +0 -1192
  678. package/coverage/src/concepts/Event__.ts.html +0 -1084
  679. package/coverage/src/concepts/ExternalDestination__.ts.html +0 -1033
  680. package/coverage/src/concepts/ForEachStatement__.ts.html +0 -1819
  681. package/coverage/src/concepts/FrontendLibrary__.ts.html +0 -1711
  682. package/coverage/src/concepts/FrontendVariable__.ts.html +0 -292
  683. package/coverage/src/concepts/Frontend__.ts.html +0 -3961
  684. package/coverage/src/concepts/Function__.ts.html +0 -3514
  685. package/coverage/src/concepts/Identifier__.ts.html +0 -1057
  686. package/coverage/src/concepts/IfStatement__.ts.html +0 -1486
  687. package/coverage/src/concepts/Integration__.ts.html +0 -1228
  688. package/coverage/src/concepts/InterfaceParam__.ts.html +0 -1087
  689. package/coverage/src/concepts/Interface__.ts.html +0 -3394
  690. package/coverage/src/concepts/JSBlock__.ts.html +0 -406
  691. package/coverage/src/concepts/JavaLogic__.ts.html +0 -460
  692. package/coverage/src/concepts/LogicItem__.ts.html +0 -1144
  693. package/coverage/src/concepts/Logic__.ts.html +0 -7078
  694. package/coverage/src/concepts/MatchCase__.ts.html +0 -2641
  695. package/coverage/src/concepts/Match__.ts.html +0 -2323
  696. package/coverage/src/concepts/MemberExpression__.ts.html +0 -1666
  697. package/coverage/src/concepts/MicroApp__.ts.html +0 -436
  698. package/coverage/src/concepts/Module__.ts.html +0 -9220
  699. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +0 -1045
  700. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +0 -1018
  701. package/coverage/src/concepts/Namespace__.ts.html +0 -7942
  702. package/coverage/src/concepts/NewComposite__.ts.html +0 -4684
  703. package/coverage/src/concepts/NewList__.ts.html +0 -1567
  704. package/coverage/src/concepts/NewMap__.ts.html +0 -2275
  705. package/coverage/src/concepts/New__.ts.html +0 -289
  706. package/coverage/src/concepts/NullLiteral__.ts.html +0 -349
  707. package/coverage/src/concepts/NumericLiteral__.ts.html +0 -661
  708. package/coverage/src/concepts/OqlQueryComponent__.ts.html +0 -1123
  709. package/coverage/src/concepts/OverriddenLogic__.ts.html +0 -6817
  710. package/coverage/src/concepts/Param__.ts.html +0 -1609
  711. package/coverage/src/concepts/Point__.ts.html +0 -331
  712. package/coverage/src/concepts/ProcessComponent__.ts.html +0 -1666
  713. package/coverage/src/concepts/ProcessElement__.ts.html +0 -5884
  714. package/coverage/src/concepts/ProcessOutcome__.ts.html +0 -352
  715. package/coverage/src/concepts/ProcessOutcomes__.ts.html +0 -343
  716. package/coverage/src/concepts/Process__.ts.html +0 -4768
  717. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +0 -568
  718. package/coverage/src/concepts/QueryFieldExpression__.ts.html +0 -583
  719. package/coverage/src/concepts/QueryFromExpression__.ts.html +0 -910
  720. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +0 -559
  721. package/coverage/src/concepts/QueryJoinExpression__.ts.html +0 -1567
  722. package/coverage/src/concepts/QueryLimitExpression__.ts.html +0 -637
  723. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +0 -679
  724. package/coverage/src/concepts/QuerySelectExpression__.ts.html +0 -1714
  725. package/coverage/src/concepts/Rect__.ts.html +0 -373
  726. package/coverage/src/concepts/Return__.ts.html +0 -1258
  727. package/coverage/src/concepts/Role__.ts.html +0 -601
  728. package/coverage/src/concepts/SelectMembers__.ts.html +0 -1246
  729. package/coverage/src/concepts/Slot__.ts.html +0 -628
  730. package/coverage/src/concepts/SqlQueryComponent__.ts.html +0 -964
  731. package/coverage/src/concepts/Start__.ts.html +0 -304
  732. package/coverage/src/concepts/StringInterpolation__.ts.html +0 -1078
  733. package/coverage/src/concepts/StringLiteral__.ts.html +0 -490
  734. package/coverage/src/concepts/StructureProperty__.ts.html +0 -1102
  735. package/coverage/src/concepts/Structure__.ts.html +0 -2053
  736. package/coverage/src/concepts/SwitchCase__.ts.html +0 -1063
  737. package/coverage/src/concepts/SwitchStatement__.ts.html +0 -826
  738. package/coverage/src/concepts/Theme__.ts.html +0 -358
  739. package/coverage/src/concepts/Transactional__.ts.html +0 -628
  740. package/coverage/src/concepts/TriggerEvent__.ts.html +0 -1012
  741. package/coverage/src/concepts/TriggerLauncher__.ts.html +0 -775
  742. package/coverage/src/concepts/TypeAnnotation__.ts.html +0 -3583
  743. package/coverage/src/concepts/TypeParam__.ts.html +0 -301
  744. package/coverage/src/concepts/UnaryExpression__.ts.html +0 -640
  745. package/coverage/src/concepts/Unparsed__.ts.html +0 -382
  746. package/coverage/src/concepts/UseComponent__.ts.html +0 -331
  747. package/coverage/src/concepts/ValidationRule__.ts.html +0 -1840
  748. package/coverage/src/concepts/Variable__.ts.html +0 -1435
  749. package/coverage/src/concepts/ViewBlock__.ts.html +0 -352
  750. package/coverage/src/concepts/ViewComponent__.ts.html +0 -4180
  751. package/coverage/src/concepts/ViewElement__.ts.html +0 -8557
  752. package/coverage/src/concepts/View__.ts.html +0 -8278
  753. package/coverage/src/concepts/WhileStatement__.ts.html +0 -991
  754. package/coverage/src/concepts/basics/stdlib/index.html +0 -341
  755. package/coverage/src/concepts/basics/stdlib/index.ts.html +0 -208
  756. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +0 -565
  757. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +0 -517
  758. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +0 -226
  759. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +0 -172
  760. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +0 -214
  761. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +0 -145
  762. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +0 -589
  763. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +0 -214
  764. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +0 -229
  765. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +0 -268
  766. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +0 -1999
  767. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +0 -3259
  768. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +0 -6787
  769. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +0 -1768
  770. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +0 -163
  771. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +0 -121
  772. package/coverage/src/concepts/basics/types/index.html +0 -131
  773. package/coverage/src/concepts/basics/types/index.ts.html +0 -160
  774. package/coverage/src/concepts/index.html +0 -1961
  775. package/coverage/src/concepts/index.ts.html +0 -103
  776. package/coverage/src/concepts/index__.ts.html +0 -451
  777. package/coverage/src/config.ts.html +0 -325
  778. package/coverage/src/decorators/index.html +0 -131
  779. package/coverage/src/decorators/index.ts.html +0 -574
  780. package/coverage/src/decorators/promise.ts.html +0 -169
  781. package/coverage/src/eventBus.ts.html +0 -100
  782. package/coverage/src/generator/compileComponent.ts.html +0 -142
  783. package/coverage/src/generator/genBundleFiles.ts.html +0 -1828
  784. package/coverage/src/generator/genHash.ts.html +0 -124
  785. package/coverage/src/generator/genMetaData.ts.html +0 -1042
  786. package/coverage/src/generator/genReleaseBody.ts.html +0 -1282
  787. package/coverage/src/generator/icestark.ts.html +0 -220
  788. package/coverage/src/generator/index.html +0 -266
  789. package/coverage/src/generator/index.ts.html +0 -106
  790. package/coverage/src/generator/microApp.ts.html +0 -172
  791. package/coverage/src/generator/permission.ts.html +0 -1036
  792. package/coverage/src/generator/qiankun.ts.html +0 -232
  793. package/coverage/src/generator/styleReplacer.ts.html +0 -199
  794. package/coverage/src/index.html +0 -146
  795. package/coverage/src/index.ts.html +0 -121
  796. package/coverage/src/manager/diagnostic.ts.html +0 -442
  797. package/coverage/src/manager/index.html +0 -131
  798. package/coverage/src/manager/stepRecorder.ts.html +0 -457
  799. package/coverage/src/sentry/index.html +0 -116
  800. package/coverage/src/sentry/index.ts.html +0 -676
  801. package/coverage/src/server/createUiTs.ts.html +0 -919
  802. package/coverage/src/server/entity2LogicNamespace.ts.html +0 -1294
  803. package/coverage/src/server/event.js.html +0 -526
  804. package/coverage/src/server/extendBaseNode.ts.html +0 -1762
  805. package/coverage/src/server/formatTsUtils.ts.html +0 -2689
  806. package/coverage/src/server/getConnector.ts.html +0 -316
  807. package/coverage/src/server/getExtensionModules.ts.html +0 -178
  808. package/coverage/src/server/getFunctions.ts.html +0 -133
  809. package/coverage/src/server/getInterfaces.ts.html +0 -229
  810. package/coverage/src/server/getLogging.ts.html +0 -100
  811. package/coverage/src/server/getLogics.ts.html +0 -1363
  812. package/coverage/src/server/getMemberIdentifier.ts.html +0 -1606
  813. package/coverage/src/server/getProcessComponents.ts.html +0 -112
  814. package/coverage/src/server/getProcesses.ts.html +0 -2023
  815. package/coverage/src/server/getValidates.ts.html +0 -115
  816. package/coverage/src/server/index.html +0 -401
  817. package/coverage/src/server/index.ts.html +0 -229
  818. package/coverage/src/server/naslServer.ts.html +0 -14290
  819. package/coverage/src/server/naslStdlibMap.ts.html +0 -241
  820. package/coverage/src/server/process2LogicNamespace.ts.html +0 -454
  821. package/coverage/src/server/translator.ts.html +0 -2566
  822. package/coverage/src/service/creator/add.configs.js.html +0 -379
  823. package/coverage/src/service/creator/errHandles.js.html +0 -322
  824. package/coverage/src/service/creator/index.html +0 -146
  825. package/coverage/src/service/creator/index.js.html +0 -352
  826. package/coverage/src/service/datasource/api.js.html +0 -118
  827. package/coverage/src/service/datasource/index.html +0 -131
  828. package/coverage/src/service/datasource/index.js.html +0 -103
  829. package/coverage/src/service/logic/api.js.html +0 -109
  830. package/coverage/src/service/logic/index.html +0 -131
  831. package/coverage/src/service/logic/index.js.html +0 -103
  832. package/coverage/src/service/storage/api.js.html +0 -202
  833. package/coverage/src/service/storage/index.html +0 -206
  834. package/coverage/src/service/storage/index.ts.html +0 -103
  835. package/coverage/src/service/storage/init.ts.html +0 -2710
  836. package/coverage/src/service/storage/jsoner.ts.html +0 -502
  837. package/coverage/src/service/storage/map.ts.html +0 -256
  838. package/coverage/src/service/storage/service.ts.html +0 -331
  839. package/coverage/src/service/storage/storagePoint.ts.html +0 -304
  840. package/coverage/src/templator/genCallComponentLogic.ts.html +0 -163
  841. package/coverage/src/templator/genCreateBlock.ts.html +0 -1093
  842. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +0 -1609
  843. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +0 -2254
  844. package/coverage/src/templator/genEditTableBlock.ts.html +0 -955
  845. package/coverage/src/templator/genEnumSelectBlock.ts.html +0 -178
  846. package/coverage/src/templator/genGetBlock.ts.html +0 -451
  847. package/coverage/src/templator/genGridViewBlock.ts.html +0 -1114
  848. package/coverage/src/templator/genListViewBlock.ts.html +0 -475
  849. package/coverage/src/templator/genQueryComponent.ts.html +0 -1207
  850. package/coverage/src/templator/genSelectBlock.ts.html +0 -1243
  851. package/coverage/src/templator/genTableBlock.ts.html +0 -910
  852. package/coverage/src/templator/genUpdateBlock.ts.html +0 -1192
  853. package/coverage/src/templator/index.html +0 -326
  854. package/coverage/src/templator/index.ts.html +0 -154
  855. package/coverage/src/templator/utils.ts.html +0 -1861
  856. package/coverage/src/translator/constant.ts.html +0 -106
  857. package/coverage/src/translator/index.html +0 -146
  858. package/coverage/src/translator/index.ts.html +0 -94
  859. package/coverage/src/translator/utils.ts.html +0 -397
  860. package/coverage/src/utils/cookie.ts.html +0 -265
  861. package/coverage/src/utils/env.ts.html +0 -91
  862. package/coverage/src/utils/index.html +0 -236
  863. package/coverage/src/utils/index.ts.html +0 -655
  864. package/coverage/src/utils/logger.ts.html +0 -145
  865. package/coverage/src/utils/sortTsString.ts.html +0 -187
  866. package/coverage/src/utils/string.ts.html +0 -400
  867. package/coverage/src/utils/time-slicing.ts.html +0 -412
  868. package/coverage/src/utils/traverse.ts.html +0 -568
  869. package/coverage/src/utils/window.ts.html +0 -112
  870. package/out/utils/time-slicing.d.ts +0 -41
  871. package/out/utils/time-slicing.js +0 -82
  872. package/out/utils/time-slicing.js.map +0 -1
  873. package/src/utils/time-slicing.ts +0 -111
@@ -1,2689 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/server/formatTsUtils.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/server</a> formatTsUtils.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">2.47% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>11/444</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/256</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/53</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">2.6% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>11/423</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>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a>
794
- <a name='L729'></a><a href='#L729'>729</a>
795
- <a name='L730'></a><a href='#L730'>730</a>
796
- <a name='L731'></a><a href='#L731'>731</a>
797
- <a name='L732'></a><a href='#L732'>732</a>
798
- <a name='L733'></a><a href='#L733'>733</a>
799
- <a name='L734'></a><a href='#L734'>734</a>
800
- <a name='L735'></a><a href='#L735'>735</a>
801
- <a name='L736'></a><a href='#L736'>736</a>
802
- <a name='L737'></a><a href='#L737'>737</a>
803
- <a name='L738'></a><a href='#L738'>738</a>
804
- <a name='L739'></a><a href='#L739'>739</a>
805
- <a name='L740'></a><a href='#L740'>740</a>
806
- <a name='L741'></a><a href='#L741'>741</a>
807
- <a name='L742'></a><a href='#L742'>742</a>
808
- <a name='L743'></a><a href='#L743'>743</a>
809
- <a name='L744'></a><a href='#L744'>744</a>
810
- <a name='L745'></a><a href='#L745'>745</a>
811
- <a name='L746'></a><a href='#L746'>746</a>
812
- <a name='L747'></a><a href='#L747'>747</a>
813
- <a name='L748'></a><a href='#L748'>748</a>
814
- <a name='L749'></a><a href='#L749'>749</a>
815
- <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a>
817
- <a name='L752'></a><a href='#L752'>752</a>
818
- <a name='L753'></a><a href='#L753'>753</a>
819
- <a name='L754'></a><a href='#L754'>754</a>
820
- <a name='L755'></a><a href='#L755'>755</a>
821
- <a name='L756'></a><a href='#L756'>756</a>
822
- <a name='L757'></a><a href='#L757'>757</a>
823
- <a name='L758'></a><a href='#L758'>758</a>
824
- <a name='L759'></a><a href='#L759'>759</a>
825
- <a name='L760'></a><a href='#L760'>760</a>
826
- <a name='L761'></a><a href='#L761'>761</a>
827
- <a name='L762'></a><a href='#L762'>762</a>
828
- <a name='L763'></a><a href='#L763'>763</a>
829
- <a name='L764'></a><a href='#L764'>764</a>
830
- <a name='L765'></a><a href='#L765'>765</a>
831
- <a name='L766'></a><a href='#L766'>766</a>
832
- <a name='L767'></a><a href='#L767'>767</a>
833
- <a name='L768'></a><a href='#L768'>768</a>
834
- <a name='L769'></a><a href='#L769'>769</a>
835
- <a name='L770'></a><a href='#L770'>770</a>
836
- <a name='L771'></a><a href='#L771'>771</a>
837
- <a name='L772'></a><a href='#L772'>772</a>
838
- <a name='L773'></a><a href='#L773'>773</a>
839
- <a name='L774'></a><a href='#L774'>774</a>
840
- <a name='L775'></a><a href='#L775'>775</a>
841
- <a name='L776'></a><a href='#L776'>776</a>
842
- <a name='L777'></a><a href='#L777'>777</a>
843
- <a name='L778'></a><a href='#L778'>778</a>
844
- <a name='L779'></a><a href='#L779'>779</a>
845
- <a name='L780'></a><a href='#L780'>780</a>
846
- <a name='L781'></a><a href='#L781'>781</a>
847
- <a name='L782'></a><a href='#L782'>782</a>
848
- <a name='L783'></a><a href='#L783'>783</a>
849
- <a name='L784'></a><a href='#L784'>784</a>
850
- <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a>
852
- <a name='L787'></a><a href='#L787'>787</a>
853
- <a name='L788'></a><a href='#L788'>788</a>
854
- <a name='L789'></a><a href='#L789'>789</a>
855
- <a name='L790'></a><a href='#L790'>790</a>
856
- <a name='L791'></a><a href='#L791'>791</a>
857
- <a name='L792'></a><a href='#L792'>792</a>
858
- <a name='L793'></a><a href='#L793'>793</a>
859
- <a name='L794'></a><a href='#L794'>794</a>
860
- <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a>
862
- <a name='L797'></a><a href='#L797'>797</a>
863
- <a name='L798'></a><a href='#L798'>798</a>
864
- <a name='L799'></a><a href='#L799'>799</a>
865
- <a name='L800'></a><a href='#L800'>800</a>
866
- <a name='L801'></a><a href='#L801'>801</a>
867
- <a name='L802'></a><a href='#L802'>802</a>
868
- <a name='L803'></a><a href='#L803'>803</a>
869
- <a name='L804'></a><a href='#L804'>804</a>
870
- <a name='L805'></a><a href='#L805'>805</a>
871
- <a name='L806'></a><a href='#L806'>806</a>
872
- <a name='L807'></a><a href='#L807'>807</a>
873
- <a name='L808'></a><a href='#L808'>808</a>
874
- <a name='L809'></a><a href='#L809'>809</a>
875
- <a name='L810'></a><a href='#L810'>810</a>
876
- <a name='L811'></a><a href='#L811'>811</a>
877
- <a name='L812'></a><a href='#L812'>812</a>
878
- <a name='L813'></a><a href='#L813'>813</a>
879
- <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a>
882
- <a name='L817'></a><a href='#L817'>817</a>
883
- <a name='L818'></a><a href='#L818'>818</a>
884
- <a name='L819'></a><a href='#L819'>819</a>
885
- <a name='L820'></a><a href='#L820'>820</a>
886
- <a name='L821'></a><a href='#L821'>821</a>
887
- <a name='L822'></a><a href='#L822'>822</a>
888
- <a name='L823'></a><a href='#L823'>823</a>
889
- <a name='L824'></a><a href='#L824'>824</a>
890
- <a name='L825'></a><a href='#L825'>825</a>
891
- <a name='L826'></a><a href='#L826'>826</a>
892
- <a name='L827'></a><a href='#L827'>827</a>
893
- <a name='L828'></a><a href='#L828'>828</a>
894
- <a name='L829'></a><a href='#L829'>829</a>
895
- <a name='L830'></a><a href='#L830'>830</a>
896
- <a name='L831'></a><a href='#L831'>831</a>
897
- <a name='L832'></a><a href='#L832'>832</a>
898
- <a name='L833'></a><a href='#L833'>833</a>
899
- <a name='L834'></a><a href='#L834'>834</a>
900
- <a name='L835'></a><a href='#L835'>835</a>
901
- <a name='L836'></a><a href='#L836'>836</a>
902
- <a name='L837'></a><a href='#L837'>837</a>
903
- <a name='L838'></a><a href='#L838'>838</a>
904
- <a name='L839'></a><a href='#L839'>839</a>
905
- <a name='L840'></a><a href='#L840'>840</a>
906
- <a name='L841'></a><a href='#L841'>841</a>
907
- <a name='L842'></a><a href='#L842'>842</a>
908
- <a name='L843'></a><a href='#L843'>843</a>
909
- <a name='L844'></a><a href='#L844'>844</a>
910
- <a name='L845'></a><a href='#L845'>845</a>
911
- <a name='L846'></a><a href='#L846'>846</a>
912
- <a name='L847'></a><a href='#L847'>847</a>
913
- <a name='L848'></a><a href='#L848'>848</a>
914
- <a name='L849'></a><a href='#L849'>849</a>
915
- <a name='L850'></a><a href='#L850'>850</a>
916
- <a name='L851'></a><a href='#L851'>851</a>
917
- <a name='L852'></a><a href='#L852'>852</a>
918
- <a name='L853'></a><a href='#L853'>853</a>
919
- <a name='L854'></a><a href='#L854'>854</a>
920
- <a name='L855'></a><a href='#L855'>855</a>
921
- <a name='L856'></a><a href='#L856'>856</a>
922
- <a name='L857'></a><a href='#L857'>857</a>
923
- <a name='L858'></a><a href='#L858'>858</a>
924
- <a name='L859'></a><a href='#L859'>859</a>
925
- <a name='L860'></a><a href='#L860'>860</a>
926
- <a name='L861'></a><a href='#L861'>861</a>
927
- <a name='L862'></a><a href='#L862'>862</a>
928
- <a name='L863'></a><a href='#L863'>863</a>
929
- <a name='L864'></a><a href='#L864'>864</a>
930
- <a name='L865'></a><a href='#L865'>865</a>
931
- <a name='L866'></a><a href='#L866'>866</a>
932
- <a name='L867'></a><a href='#L867'>867</a>
933
- <a name='L868'></a><a href='#L868'>868</a>
934
- <a name='L869'></a><a href='#L869'>869</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</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-yes">1x</span>
957
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-no">&nbsp;</span>
981
- <span class="cline-any cline-no">&nbsp;</span>
982
- <span class="cline-any cline-no">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&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-neutral">&nbsp;</span>
994
- <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-yes">1x</span>
998
- <span class="cline-any cline-no">&nbsp;</span>
999
- <span class="cline-any cline-no">&nbsp;</span>
1000
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1005
- <span class="cline-any cline-no">&nbsp;</span>
1006
- <span class="cline-any cline-no">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1009
- <span class="cline-any cline-no">&nbsp;</span>
1010
- <span class="cline-any cline-no">&nbsp;</span>
1011
- <span class="cline-any cline-no">&nbsp;</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-no">&nbsp;</span>
1020
- <span class="cline-any cline-no">&nbsp;</span>
1021
- <span class="cline-any cline-no">&nbsp;</span>
1022
- <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-no">&nbsp;</span>
1034
- <span class="cline-any cline-no">&nbsp;</span>
1035
- <span class="cline-any cline-no">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-no">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1045
- <span class="cline-any cline-no">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
1051
- <span class="cline-any cline-neutral">&nbsp;</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-no">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-no">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-neutral">&nbsp;</span>
1062
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
1070
- <span class="cline-any cline-no">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1082
- <span class="cline-any cline-neutral">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</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-no">&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-no">&nbsp;</span>
1100
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1104
- <span class="cline-any cline-no">&nbsp;</span>
1105
- <span class="cline-any cline-no">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1111
- <span class="cline-any cline-no">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-no">&nbsp;</span>
1117
- <span class="cline-any cline-no">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-no">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-no">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-neutral">&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-no">&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-no">&nbsp;</span>
1133
- <span class="cline-any cline-no">&nbsp;</span>
1134
- <span class="cline-any cline-no">&nbsp;</span>
1135
- <span class="cline-any cline-no">&nbsp;</span>
1136
- <span class="cline-any cline-no">&nbsp;</span>
1137
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span>
1151
- <span class="cline-any cline-no">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-no">&nbsp;</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
1166
- <span class="cline-any cline-no">&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-no">&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-neutral">&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-no">&nbsp;</span>
1181
- <span class="cline-any cline-no">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-no">&nbsp;</span>
1184
- <span class="cline-any cline-no">&nbsp;</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-no">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
1196
- <span class="cline-any cline-no">&nbsp;</span>
1197
- <span class="cline-any cline-no">&nbsp;</span>
1198
- <span class="cline-any cline-no">&nbsp;</span>
1199
- <span class="cline-any cline-no">&nbsp;</span>
1200
- <span class="cline-any cline-no">&nbsp;</span>
1201
- <span class="cline-any cline-no">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-no">&nbsp;</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-no">&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>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-yes">1x</span>
1215
- <span class="cline-any cline-no">&nbsp;</span>
1216
- <span class="cline-any cline-no">&nbsp;</span>
1217
- <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-no">&nbsp;</span>
1219
- <span class="cline-any cline-no">&nbsp;</span>
1220
- <span class="cline-any cline-no">&nbsp;</span>
1221
- <span class="cline-any cline-no">&nbsp;</span>
1222
- <span class="cline-any cline-no">&nbsp;</span>
1223
- <span class="cline-any cline-no">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-no">&nbsp;</span>
1226
- <span class="cline-any cline-no">&nbsp;</span>
1227
- <span class="cline-any cline-no">&nbsp;</span>
1228
- <span class="cline-any cline-no">&nbsp;</span>
1229
- <span class="cline-any cline-neutral">&nbsp;</span>
1230
- <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-neutral">&nbsp;</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-no">&nbsp;</span>
1236
- <span class="cline-any cline-neutral">&nbsp;</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-neutral">&nbsp;</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-neutral">&nbsp;</span>
1242
- <span class="cline-any cline-neutral">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-neutral">&nbsp;</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-neutral">&nbsp;</span>
1249
- <span class="cline-any cline-no">&nbsp;</span>
1250
- <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-neutral">&nbsp;</span>
1252
- <span class="cline-any cline-neutral">&nbsp;</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-no">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-no">&nbsp;</span>
1258
- <span class="cline-any cline-no">&nbsp;</span>
1259
- <span class="cline-any cline-no">&nbsp;</span>
1260
- <span class="cline-any cline-no">&nbsp;</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-no">&nbsp;</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-no">&nbsp;</span>
1266
- <span class="cline-any cline-no">&nbsp;</span>
1267
- <span class="cline-any cline-no">&nbsp;</span>
1268
- <span class="cline-any cline-no">&nbsp;</span>
1269
- <span class="cline-any cline-no">&nbsp;</span>
1270
- <span class="cline-any cline-no">&nbsp;</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-no">&nbsp;</span>
1273
- <span class="cline-any cline-no">&nbsp;</span>
1274
- <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-no">&nbsp;</span>
1278
- <span class="cline-any cline-no">&nbsp;</span>
1279
- <span class="cline-any cline-no">&nbsp;</span>
1280
- <span class="cline-any cline-neutral">&nbsp;</span>
1281
- <span class="cline-any cline-no">&nbsp;</span>
1282
- <span class="cline-any cline-no">&nbsp;</span>
1283
- <span class="cline-any cline-no">&nbsp;</span>
1284
- <span class="cline-any cline-no">&nbsp;</span>
1285
- <span class="cline-any cline-no">&nbsp;</span>
1286
- <span class="cline-any cline-no">&nbsp;</span>
1287
- <span class="cline-any cline-no">&nbsp;</span>
1288
- <span class="cline-any cline-no">&nbsp;</span>
1289
- <span class="cline-any cline-no">&nbsp;</span>
1290
- <span class="cline-any cline-no">&nbsp;</span>
1291
- <span class="cline-any cline-no">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-no">&nbsp;</span>
1295
- <span class="cline-any cline-no">&nbsp;</span>
1296
- <span class="cline-any cline-no">&nbsp;</span>
1297
- <span class="cline-any cline-neutral">&nbsp;</span>
1298
- <span class="cline-any cline-no">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-neutral">&nbsp;</span>
1301
- <span class="cline-any cline-neutral">&nbsp;</span>
1302
- <span class="cline-any cline-neutral">&nbsp;</span>
1303
- <span class="cline-any cline-neutral">&nbsp;</span>
1304
- <span class="cline-any cline-no">&nbsp;</span>
1305
- <span class="cline-any cline-no">&nbsp;</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-no">&nbsp;</span>
1308
- <span class="cline-any cline-no">&nbsp;</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-no">&nbsp;</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-no">&nbsp;</span>
1315
- <span class="cline-any cline-no">&nbsp;</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-no">&nbsp;</span>
1318
- <span class="cline-any cline-no">&nbsp;</span>
1319
- <span class="cline-any cline-no">&nbsp;</span>
1320
- <span class="cline-any cline-no">&nbsp;</span>
1321
- <span class="cline-any cline-neutral">&nbsp;</span>
1322
- <span class="cline-any cline-no">&nbsp;</span>
1323
- <span class="cline-any cline-no">&nbsp;</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-no">&nbsp;</span>
1326
- <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-neutral">&nbsp;</span>
1328
- <span class="cline-any cline-no">&nbsp;</span>
1329
- <span class="cline-any cline-neutral">&nbsp;</span>
1330
- <span class="cline-any cline-no">&nbsp;</span>
1331
- <span class="cline-any cline-neutral">&nbsp;</span>
1332
- <span class="cline-any cline-no">&nbsp;</span>
1333
- <span class="cline-any cline-no">&nbsp;</span>
1334
- <span class="cline-any cline-neutral">&nbsp;</span>
1335
- <span class="cline-any cline-neutral">&nbsp;</span>
1336
- <span class="cline-any cline-neutral">&nbsp;</span>
1337
- <span class="cline-any cline-neutral">&nbsp;</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-neutral">&nbsp;</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-neutral">&nbsp;</span>
1343
- <span class="cline-any cline-neutral">&nbsp;</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-neutral">&nbsp;</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-no">&nbsp;</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-neutral">&nbsp;</span>
1353
- <span class="cline-any cline-no">&nbsp;</span>
1354
- <span class="cline-any cline-no">&nbsp;</span>
1355
- <span class="cline-any cline-no">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-no">&nbsp;</span>
1358
- <span class="cline-any cline-no">&nbsp;</span>
1359
- <span class="cline-any cline-no">&nbsp;</span>
1360
- <span class="cline-any cline-no">&nbsp;</span>
1361
- <span class="cline-any cline-no">&nbsp;</span>
1362
- <span class="cline-any cline-no">&nbsp;</span>
1363
- <span class="cline-any cline-no">&nbsp;</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-neutral">&nbsp;</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-no">&nbsp;</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-no">&nbsp;</span>
1373
- <span class="cline-any cline-no">&nbsp;</span>
1374
- <span class="cline-any cline-no">&nbsp;</span>
1375
- <span class="cline-any cline-no">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-no">&nbsp;</span>
1378
- <span class="cline-any cline-no">&nbsp;</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span>
1380
- <span class="cline-any cline-no">&nbsp;</span>
1381
- <span class="cline-any cline-no">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-neutral">&nbsp;</span>
1385
- <span class="cline-any cline-no">&nbsp;</span>
1386
- <span class="cline-any cline-neutral">&nbsp;</span>
1387
- <span class="cline-any cline-no">&nbsp;</span>
1388
- <span class="cline-any cline-no">&nbsp;</span>
1389
- <span class="cline-any cline-neutral">&nbsp;</span>
1390
- <span class="cline-any cline-no">&nbsp;</span>
1391
- <span class="cline-any cline-no">&nbsp;</span>
1392
- <span class="cline-any cline-neutral">&nbsp;</span>
1393
- <span class="cline-any cline-no">&nbsp;</span>
1394
- <span class="cline-any cline-no">&nbsp;</span>
1395
- <span class="cline-any cline-neutral">&nbsp;</span>
1396
- <span class="cline-any cline-no">&nbsp;</span>
1397
- <span class="cline-any cline-no">&nbsp;</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-no">&nbsp;</span>
1401
- <span class="cline-any cline-no">&nbsp;</span>
1402
- <span class="cline-any cline-neutral">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-no">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-neutral">&nbsp;</span>
1407
- <span class="cline-any cline-no">&nbsp;</span>
1408
- <span class="cline-any cline-no">&nbsp;</span>
1409
- <span class="cline-any cline-no">&nbsp;</span>
1410
- <span class="cline-any cline-no">&nbsp;</span>
1411
- <span class="cline-any cline-no">&nbsp;</span>
1412
- <span class="cline-any cline-no">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-no">&nbsp;</span>
1415
- <span class="cline-any cline-no">&nbsp;</span>
1416
- <span class="cline-any cline-no">&nbsp;</span>
1417
- <span class="cline-any cline-no">&nbsp;</span>
1418
- <span class="cline-any cline-neutral">&nbsp;</span>
1419
- <span class="cline-any cline-neutral">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-no">&nbsp;</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-neutral">&nbsp;</span>
1427
- <span class="cline-any cline-neutral">&nbsp;</span>
1428
- <span class="cline-any cline-neutral">&nbsp;</span>
1429
- <span class="cline-any cline-no">&nbsp;</span>
1430
- <span class="cline-any cline-no">&nbsp;</span>
1431
- <span class="cline-any cline-no">&nbsp;</span>
1432
- <span class="cline-any cline-no">&nbsp;</span>
1433
- <span class="cline-any cline-no">&nbsp;</span>
1434
- <span class="cline-any cline-no">&nbsp;</span>
1435
- <span class="cline-any cline-no">&nbsp;</span>
1436
- <span class="cline-any cline-no">&nbsp;</span>
1437
- <span class="cline-any cline-no">&nbsp;</span>
1438
- <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-no">&nbsp;</span>
1441
- <span class="cline-any cline-neutral">&nbsp;</span>
1442
- <span class="cline-any cline-no">&nbsp;</span>
1443
- <span class="cline-any cline-no">&nbsp;</span>
1444
- <span class="cline-any cline-no">&nbsp;</span>
1445
- <span class="cline-any cline-no">&nbsp;</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</span>
1447
- <span class="cline-any cline-no">&nbsp;</span>
1448
- <span class="cline-any cline-neutral">&nbsp;</span>
1449
- <span class="cline-any cline-no">&nbsp;</span>
1450
- <span class="cline-any cline-no">&nbsp;</span>
1451
- <span class="cline-any cline-no">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span>
1455
- <span class="cline-any cline-no">&nbsp;</span>
1456
- <span class="cline-any cline-neutral">&nbsp;</span>
1457
- <span class="cline-any cline-neutral">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-neutral">&nbsp;</span>
1460
- <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-no">&nbsp;</span>
1462
- <span class="cline-any cline-neutral">&nbsp;</span>
1463
- <span class="cline-any cline-no">&nbsp;</span>
1464
- <span class="cline-any cline-no">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-neutral">&nbsp;</span>
1469
- <span class="cline-any cline-no">&nbsp;</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-no">&nbsp;</span>
1472
- <span class="cline-any cline-no">&nbsp;</span>
1473
- <span class="cline-any cline-neutral">&nbsp;</span>
1474
- <span class="cline-any cline-neutral">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-neutral">&nbsp;</span>
1477
- <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-neutral">&nbsp;</span>
1479
- <span class="cline-any cline-neutral">&nbsp;</span>
1480
- <span class="cline-any cline-no">&nbsp;</span>
1481
- <span class="cline-any cline-neutral">&nbsp;</span>
1482
- <span class="cline-any cline-no">&nbsp;</span>
1483
- <span class="cline-any cline-no">&nbsp;</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-no">&nbsp;</span>
1486
- <span class="cline-any cline-no">&nbsp;</span>
1487
- <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-no">&nbsp;</span>
1489
- <span class="cline-any cline-neutral">&nbsp;</span>
1490
- <span class="cline-any cline-neutral">&nbsp;</span>
1491
- <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-no">&nbsp;</span>
1493
- <span class="cline-any cline-no">&nbsp;</span>
1494
- <span class="cline-any cline-no">&nbsp;</span>
1495
- <span class="cline-any cline-no">&nbsp;</span>
1496
- <span class="cline-any cline-neutral">&nbsp;</span>
1497
- <span class="cline-any cline-neutral">&nbsp;</span>
1498
- <span class="cline-any cline-neutral">&nbsp;</span>
1499
- <span class="cline-any cline-no">&nbsp;</span>
1500
- <span class="cline-any cline-neutral">&nbsp;</span>
1501
- <span class="cline-any cline-neutral">&nbsp;</span>
1502
- <span class="cline-any cline-neutral">&nbsp;</span>
1503
- <span class="cline-any cline-neutral">&nbsp;</span>
1504
- <span class="cline-any cline-neutral">&nbsp;</span>
1505
- <span class="cline-any cline-no">&nbsp;</span>
1506
- <span class="cline-any cline-no">&nbsp;</span>
1507
- <span class="cline-any cline-no">&nbsp;</span>
1508
- <span class="cline-any cline-no">&nbsp;</span>
1509
- <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-neutral">&nbsp;</span>
1511
- <span class="cline-any cline-neutral">&nbsp;</span>
1512
- <span class="cline-any cline-neutral">&nbsp;</span>
1513
- <span class="cline-any cline-neutral">&nbsp;</span>
1514
- <span class="cline-any cline-no">&nbsp;</span>
1515
- <span class="cline-any cline-no">&nbsp;</span>
1516
- <span class="cline-any cline-no">&nbsp;</span>
1517
- <span class="cline-any cline-no">&nbsp;</span>
1518
- <span class="cline-any cline-no">&nbsp;</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-no">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-no">&nbsp;</span>
1523
- <span class="cline-any cline-neutral">&nbsp;</span>
1524
- <span class="cline-any cline-neutral">&nbsp;</span>
1525
- <span class="cline-any cline-yes">1x</span>
1526
- <span class="cline-any cline-no">&nbsp;</span>
1527
- <span class="cline-any cline-no">&nbsp;</span>
1528
- <span class="cline-any cline-no">&nbsp;</span>
1529
- <span class="cline-any cline-neutral">&nbsp;</span>
1530
- <span class="cline-any cline-neutral">&nbsp;</span>
1531
- <span class="cline-any cline-no">&nbsp;</span>
1532
- <span class="cline-any cline-no">&nbsp;</span>
1533
- <span class="cline-any cline-no">&nbsp;</span>
1534
- <span class="cline-any cline-no">&nbsp;</span>
1535
- <span class="cline-any cline-neutral">&nbsp;</span>
1536
- <span class="cline-any cline-neutral">&nbsp;</span>
1537
- <span class="cline-any cline-no">&nbsp;</span>
1538
- <span class="cline-any cline-no">&nbsp;</span>
1539
- <span class="cline-any cline-no">&nbsp;</span>
1540
- <span class="cline-any cline-no">&nbsp;</span>
1541
- <span class="cline-any cline-no">&nbsp;</span>
1542
- <span class="cline-any cline-neutral">&nbsp;</span>
1543
- <span class="cline-any cline-no">&nbsp;</span>
1544
- <span class="cline-any cline-no">&nbsp;</span>
1545
- <span class="cline-any cline-no">&nbsp;</span>
1546
- <span class="cline-any cline-no">&nbsp;</span>
1547
- <span class="cline-any cline-no">&nbsp;</span>
1548
- <span class="cline-any cline-no">&nbsp;</span>
1549
- <span class="cline-any cline-no">&nbsp;</span>
1550
- <span class="cline-any cline-no">&nbsp;</span>
1551
- <span class="cline-any cline-neutral">&nbsp;</span>
1552
- <span class="cline-any cline-neutral">&nbsp;</span>
1553
- <span class="cline-any cline-neutral">&nbsp;</span>
1554
- <span class="cline-any cline-no">&nbsp;</span>
1555
- <span class="cline-any cline-no">&nbsp;</span>
1556
- <span class="cline-any cline-neutral">&nbsp;</span>
1557
- <span class="cline-any cline-no">&nbsp;</span>
1558
- <span class="cline-any cline-no">&nbsp;</span>
1559
- <span class="cline-any cline-neutral">&nbsp;</span>
1560
- <span class="cline-any cline-neutral">&nbsp;</span>
1561
- <span class="cline-any cline-no">&nbsp;</span>
1562
- <span class="cline-any cline-neutral">&nbsp;</span>
1563
- <span class="cline-any cline-no">&nbsp;</span>
1564
- <span class="cline-any cline-no">&nbsp;</span>
1565
- <span class="cline-any cline-no">&nbsp;</span>
1566
- <span class="cline-any cline-no">&nbsp;</span>
1567
- <span class="cline-any cline-no">&nbsp;</span>
1568
- <span class="cline-any cline-neutral">&nbsp;</span>
1569
- <span class="cline-any cline-no">&nbsp;</span>
1570
- <span class="cline-any cline-no">&nbsp;</span>
1571
- <span class="cline-any cline-no">&nbsp;</span>
1572
- <span class="cline-any cline-neutral">&nbsp;</span>
1573
- <span class="cline-any cline-neutral">&nbsp;</span>
1574
- <span class="cline-any cline-neutral">&nbsp;</span>
1575
- <span class="cline-any cline-no">&nbsp;</span>
1576
- <span class="cline-any cline-no">&nbsp;</span>
1577
- <span class="cline-any cline-no">&nbsp;</span>
1578
- <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-no">&nbsp;</span>
1580
- <span class="cline-any cline-neutral">&nbsp;</span>
1581
- <span class="cline-any cline-neutral">&nbsp;</span>
1582
- <span class="cline-any cline-no">&nbsp;</span>
1583
- <span class="cline-any cline-no">&nbsp;</span>
1584
- <span class="cline-any cline-no">&nbsp;</span>
1585
- <span class="cline-any cline-no">&nbsp;</span>
1586
- <span class="cline-any cline-no">&nbsp;</span>
1587
- <span class="cline-any cline-no">&nbsp;</span>
1588
- <span class="cline-any cline-no">&nbsp;</span>
1589
- <span class="cline-any cline-neutral">&nbsp;</span>
1590
- <span class="cline-any cline-neutral">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-no">&nbsp;</span>
1593
- <span class="cline-any cline-no">&nbsp;</span>
1594
- <span class="cline-any cline-neutral">&nbsp;</span>
1595
- <span class="cline-any cline-neutral">&nbsp;</span>
1596
- <span class="cline-any cline-no">&nbsp;</span>
1597
- <span class="cline-any cline-no">&nbsp;</span>
1598
- <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-no">&nbsp;</span>
1600
- <span class="cline-any cline-no">&nbsp;</span>
1601
- <span class="cline-any cline-neutral">&nbsp;</span>
1602
- <span class="cline-any cline-no">&nbsp;</span>
1603
- <span class="cline-any cline-neutral">&nbsp;</span>
1604
- <span class="cline-any cline-no">&nbsp;</span>
1605
- <span class="cline-any cline-neutral">&nbsp;</span>
1606
- <span class="cline-any cline-no">&nbsp;</span>
1607
- <span class="cline-any cline-neutral">&nbsp;</span>
1608
- <span class="cline-any cline-no">&nbsp;</span>
1609
- <span class="cline-any cline-neutral">&nbsp;</span>
1610
- <span class="cline-any cline-neutral">&nbsp;</span>
1611
- <span class="cline-any cline-neutral">&nbsp;</span>
1612
- <span class="cline-any cline-neutral">&nbsp;</span>
1613
- <span class="cline-any cline-neutral">&nbsp;</span>
1614
- <span class="cline-any cline-neutral">&nbsp;</span>
1615
- <span class="cline-any cline-no">&nbsp;</span>
1616
- <span class="cline-any cline-no">&nbsp;</span>
1617
- <span class="cline-any cline-neutral">&nbsp;</span>
1618
- <span class="cline-any cline-neutral">&nbsp;</span>
1619
- <span class="cline-any cline-no">&nbsp;</span>
1620
- <span class="cline-any cline-neutral">&nbsp;</span>
1621
- <span class="cline-any cline-neutral">&nbsp;</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
- <span class="cline-any cline-neutral">&nbsp;</span>
1624
- <span class="cline-any cline-neutral">&nbsp;</span>
1625
- <span class="cline-any cline-no">&nbsp;</span>
1626
- <span class="cline-any cline-no">&nbsp;</span>
1627
- <span class="cline-any cline-no">&nbsp;</span>
1628
- <span class="cline-any cline-neutral">&nbsp;</span>
1629
- <span class="cline-any cline-no">&nbsp;</span>
1630
- <span class="cline-any cline-no">&nbsp;</span>
1631
- <span class="cline-any cline-no">&nbsp;</span>
1632
- <span class="cline-any cline-neutral">&nbsp;</span>
1633
- <span class="cline-any cline-no">&nbsp;</span>
1634
- <span class="cline-any cline-no">&nbsp;</span>
1635
- <span class="cline-any cline-neutral">&nbsp;</span>
1636
- <span class="cline-any cline-neutral">&nbsp;</span>
1637
- <span class="cline-any cline-neutral">&nbsp;</span>
1638
- <span class="cline-any cline-no">&nbsp;</span>
1639
- <span class="cline-any cline-neutral">&nbsp;</span>
1640
- <span class="cline-any cline-no">&nbsp;</span>
1641
- <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-no">&nbsp;</span>
1643
- <span class="cline-any cline-no">&nbsp;</span>
1644
- <span class="cline-any cline-neutral">&nbsp;</span>
1645
- <span class="cline-any cline-neutral">&nbsp;</span>
1646
- <span class="cline-any cline-neutral">&nbsp;</span>
1647
- <span class="cline-any cline-no">&nbsp;</span>
1648
- <span class="cline-any cline-no">&nbsp;</span>
1649
- <span class="cline-any cline-neutral">&nbsp;</span>
1650
- <span class="cline-any cline-no">&nbsp;</span>
1651
- <span class="cline-any cline-no">&nbsp;</span>
1652
- <span class="cline-any cline-no">&nbsp;</span>
1653
- <span class="cline-any cline-no">&nbsp;</span>
1654
- <span class="cline-any cline-no">&nbsp;</span>
1655
- <span class="cline-any cline-no">&nbsp;</span>
1656
- <span class="cline-any cline-neutral">&nbsp;</span>
1657
- <span class="cline-any cline-no">&nbsp;</span>
1658
- <span class="cline-any cline-neutral">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
- <span class="cline-any cline-no">&nbsp;</span>
1661
- <span class="cline-any cline-no">&nbsp;</span>
1662
- <span class="cline-any cline-no">&nbsp;</span>
1663
- <span class="cline-any cline-no">&nbsp;</span>
1664
- <span class="cline-any cline-neutral">&nbsp;</span>
1665
- <span class="cline-any cline-no">&nbsp;</span>
1666
- <span class="cline-any cline-neutral">&nbsp;</span>
1667
- <span class="cline-any cline-neutral">&nbsp;</span>
1668
- <span class="cline-any cline-neutral">&nbsp;</span>
1669
- <span class="cline-any cline-no">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-no">&nbsp;</span>
1672
- <span class="cline-any cline-no">&nbsp;</span>
1673
- <span class="cline-any cline-neutral">&nbsp;</span>
1674
- <span class="cline-any cline-no">&nbsp;</span>
1675
- <span class="cline-any cline-no">&nbsp;</span>
1676
- <span class="cline-any cline-neutral">&nbsp;</span>
1677
- <span class="cline-any cline-neutral">&nbsp;</span>
1678
- <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-no">&nbsp;</span>
1680
- <span class="cline-any cline-neutral">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-neutral">&nbsp;</span>
1684
- <span class="cline-any cline-neutral">&nbsp;</span>
1685
- <span class="cline-any cline-neutral">&nbsp;</span>
1686
- <span class="cline-any cline-neutral">&nbsp;</span>
1687
- <span class="cline-any cline-neutral">&nbsp;</span>
1688
- <span class="cline-any cline-neutral">&nbsp;</span>
1689
- <span class="cline-any cline-neutral">&nbsp;</span>
1690
- <span class="cline-any cline-neutral">&nbsp;</span>
1691
- <span class="cline-any cline-neutral">&nbsp;</span>
1692
- <span class="cline-any cline-no">&nbsp;</span>
1693
- <span class="cline-any cline-no">&nbsp;</span>
1694
- <span class="cline-any cline-no">&nbsp;</span>
1695
- <span class="cline-any cline-no">&nbsp;</span>
1696
- <span class="cline-any cline-no">&nbsp;</span>
1697
- <span class="cline-any cline-no">&nbsp;</span>
1698
- <span class="cline-any cline-no">&nbsp;</span>
1699
- <span class="cline-any cline-no">&nbsp;</span>
1700
- <span class="cline-any cline-no">&nbsp;</span>
1701
- <span class="cline-any cline-no">&nbsp;</span>
1702
- <span class="cline-any cline-no">&nbsp;</span>
1703
- <span class="cline-any cline-neutral">&nbsp;</span>
1704
- <span class="cline-any cline-neutral">&nbsp;</span>
1705
- <span class="cline-any cline-neutral">&nbsp;</span>
1706
- <span class="cline-any cline-no">&nbsp;</span>
1707
- <span class="cline-any cline-no">&nbsp;</span>
1708
- <span class="cline-any cline-no">&nbsp;</span>
1709
- <span class="cline-any cline-no">&nbsp;</span>
1710
- <span class="cline-any cline-no">&nbsp;</span>
1711
- <span class="cline-any cline-no">&nbsp;</span>
1712
- <span class="cline-any cline-no">&nbsp;</span>
1713
- <span class="cline-any cline-no">&nbsp;</span>
1714
- <span class="cline-any cline-neutral">&nbsp;</span>
1715
- <span class="cline-any cline-neutral">&nbsp;</span>
1716
- <span class="cline-any cline-neutral">&nbsp;</span>
1717
- <span class="cline-any cline-no">&nbsp;</span>
1718
- <span class="cline-any cline-no">&nbsp;</span>
1719
- <span class="cline-any cline-neutral">&nbsp;</span>
1720
- <span class="cline-any cline-yes">1x</span>
1721
- <span class="cline-any cline-no">&nbsp;</span>
1722
- <span class="cline-any cline-no">&nbsp;</span>
1723
- <span class="cline-any cline-no">&nbsp;</span>
1724
- <span class="cline-any cline-neutral">&nbsp;</span>
1725
- <span class="cline-any cline-neutral">&nbsp;</span>
1726
- <span class="cline-any cline-neutral">&nbsp;</span>
1727
- <span class="cline-any cline-neutral">&nbsp;</span>
1728
- <span class="cline-any cline-neutral">&nbsp;</span>
1729
- <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-neutral">&nbsp;</span>
1731
- <span class="cline-any cline-no">&nbsp;</span>
1732
- <span class="cline-any cline-neutral">&nbsp;</span>
1733
- <span class="cline-any cline-no">&nbsp;</span>
1734
- <span class="cline-any cline-no">&nbsp;</span>
1735
- <span class="cline-any cline-neutral">&nbsp;</span>
1736
- <span class="cline-any cline-no">&nbsp;</span>
1737
- <span class="cline-any cline-no">&nbsp;</span>
1738
- <span class="cline-any cline-no">&nbsp;</span>
1739
- <span class="cline-any cline-neutral">&nbsp;</span>
1740
- <span class="cline-any cline-no">&nbsp;</span>
1741
- <span class="cline-any cline-neutral">&nbsp;</span>
1742
- <span class="cline-any cline-yes">1x</span>
1743
- <span class="cline-any cline-no">&nbsp;</span>
1744
- <span class="cline-any cline-no">&nbsp;</span>
1745
- <span class="cline-any cline-no">&nbsp;</span>
1746
- <span class="cline-any cline-neutral">&nbsp;</span>
1747
- <span class="cline-any cline-neutral">&nbsp;</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-neutral">&nbsp;</span>
1750
- <span class="cline-any cline-neutral">&nbsp;</span>
1751
- <span class="cline-any cline-neutral">&nbsp;</span>
1752
- <span class="cline-any cline-neutral">&nbsp;</span>
1753
- <span class="cline-any cline-no">&nbsp;</span>
1754
- <span class="cline-any cline-neutral">&nbsp;</span>
1755
- <span class="cline-any cline-no">&nbsp;</span>
1756
- <span class="cline-any cline-no">&nbsp;</span>
1757
- <span class="cline-any cline-neutral">&nbsp;</span>
1758
- <span class="cline-any cline-no">&nbsp;</span>
1759
- <span class="cline-any cline-no">&nbsp;</span>
1760
- <span class="cline-any cline-no">&nbsp;</span>
1761
- <span class="cline-any cline-neutral">&nbsp;</span>
1762
- <span class="cline-any cline-no">&nbsp;</span>
1763
- <span class="cline-any cline-neutral">&nbsp;</span>
1764
- <span class="cline-any cline-neutral">&nbsp;</span>
1765
- <span class="cline-any cline-yes">1x</span>
1766
- <span class="cline-any cline-no">&nbsp;</span>
1767
- <span class="cline-any cline-no">&nbsp;</span>
1768
- <span class="cline-any cline-neutral">&nbsp;</span>
1769
- <span class="cline-any cline-no">&nbsp;</span>
1770
- <span class="cline-any cline-no">&nbsp;</span>
1771
- <span class="cline-any cline-no">&nbsp;</span>
1772
- <span class="cline-any cline-neutral">&nbsp;</span>
1773
- <span class="cline-any cline-neutral">&nbsp;</span>
1774
- <span class="cline-any cline-neutral">&nbsp;</span>
1775
- <span class="cline-any cline-neutral">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-neutral">&nbsp;</span>
1779
- <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-neutral">&nbsp;</span>
1781
- <span class="cline-any cline-neutral">&nbsp;</span>
1782
- <span class="cline-any cline-no">&nbsp;</span>
1783
- <span class="cline-any cline-neutral">&nbsp;</span>
1784
- <span class="cline-any cline-no">&nbsp;</span>
1785
- <span class="cline-any cline-neutral">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-neutral">&nbsp;</span>
1788
- <span class="cline-any cline-neutral">&nbsp;</span>
1789
- <span class="cline-any cline-neutral">&nbsp;</span>
1790
- <span class="cline-any cline-neutral">&nbsp;</span>
1791
- <span class="cline-any cline-neutral">&nbsp;</span>
1792
- <span class="cline-any cline-neutral">&nbsp;</span>
1793
- <span class="cline-any cline-neutral">&nbsp;</span>
1794
- <span class="cline-any cline-neutral">&nbsp;</span>
1795
- <span class="cline-any cline-neutral">&nbsp;</span>
1796
- <span class="cline-any cline-neutral">&nbsp;</span>
1797
- <span class="cline-any cline-neutral">&nbsp;</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-neutral">&nbsp;</span>
1800
- <span class="cline-any cline-no">&nbsp;</span>
1801
- <span class="cline-any cline-neutral">&nbsp;</span>
1802
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
1803
- BaseNode,
1804
- Identifier,
1805
- TypeAnnotation,
1806
- StructureProperty,
1807
- Structure,
1808
- EntityProperty,
1809
- Param,
1810
- MemberExpression,
1811
- CompletionProperty,
1812
- Variable,
1813
- Logic,
1814
- ConfigProperty,
1815
- App,
1816
- SynatxNode,
1817
- BindAttribute,
1818
- Interface,
1819
- CallLogic,
1820
- BackendVariable,
1821
- AuthLogic,
1822
- AuthLogicForCallInterface,
1823
- } from '..';
1824
- import { getNaslNodeByNodeCallee } from '../automate/engine/utils';
1825
- &nbsp;
1826
- interface variableItem {
1827
- text: string;
1828
- completionDetail: any;
1829
- children?: variableItem[] | any;
1830
- name?: string;
1831
- value?: string;
1832
- expression: MemberExpression | Identifier;
1833
- }
1834
- /**
1835
- * 把ts返回的详细信息截取成一个类型字符串
1836
- * @param displayParts ts返回的key value
1837
- * // 0: {text: 'let', kind: 'keyword'}
1838
- // 1: {text: ' ', kind: 'space'}
1839
- // 2: {text: 'bindRoles', kind: 'text'}
1840
- // 3: {text: ':', kind: 'punctuation'}
1841
- // 4: {text: ' ', kind: 'space'}
1842
- // 5: {text: 'roles', kind: 'moduleName'}
1843
- // 6: {text: '.', kind: 'punctuation'}
1844
- // 7: {text: 'DEV_AdminRole', kind: 'enumName'}
1845
- * @returns type roles.DEV_AdminRole
1846
- */
1847
- function <span class="fstat-no" title="function not covered" >formatTs2TypeString(</span>displayParts: Array&lt;{ text: string; kind: string }&gt;) {
1848
- let str = <span class="cstat-no" title="statement not covered" >'';</span>
1849
- <span class="cstat-no" title="statement not covered" > displayParts?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
1850
- <span class="cstat-no" title="statement not covered" > str += item.text;</span>
1851
- });
1852
- <span class="cstat-no" title="statement not covered" > return str;</span>
1853
- }
1854
- &nbsp;
1855
- function <span class="fstat-no" title="function not covered" >isValidName(</span>str: string) {
1856
- const regex = <span class="cstat-no" title="statement not covered" >/^[a-zA-Z][a-zA-Z0-9_]*$/;</span>
1857
- <span class="cstat-no" title="statement not covered" > return regex.test(str);</span>
1858
- }
1859
- /**
1860
- * 解析 Completion 和 QuickInfo 的 displayString
1861
- * 生成 TypeAnnotation
1862
- * @param displayString
1863
- * @returns TypeAnnotation
1864
- */
1865
- export function <span class="fstat-no" title="function not covered" >type2TypeAnnotation(</span>oldType: Array&lt;any&gt; | {}): TypeAnnotation {
1866
- <span class="cstat-no" title="statement not covered" > if (!oldType) <span class="cstat-no" title="statement not covered" >return null;</span></span>
1867
- let type = <span class="cstat-no" title="statement not covered" >oldType;</span>
1868
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(oldType)) {</span>
1869
- <span class="cstat-no" title="statement not covered" > type = oldType[0];</span>
1870
- }
1871
- let typeAnnotation: TypeAnnotation;
1872
- <span class="cstat-no" title="statement not covered" > try {</span>
1873
- const { typeName, typeNamespace, typeArguments, typeKind, properties } = <span class="cstat-no" title="statement not covered" >type as any;</span>
1874
- <span class="cstat-no" title="statement not covered" > if (typeKind === 'anonymousStructure') {</span>
1875
- // 自定义类型
1876
- const newProperties: StructureProperty[] = <span class="cstat-no" title="statement not covered" >[];</span>
1877
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(properties) &amp;&amp; properties.length) {</span>
1878
- <span class="cstat-no" title="statement not covered" > properties.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
1879
- <span class="cstat-no" title="statement not covered" > if (!item?.name?.startsWith('__')) {</span>
1880
- // 如果没有获取到类型,就默认塞一个string
1881
- const itemType = <span class="cstat-no" title="statement not covered" >type2TypeAnnotation(item.typeInfo) || TypeAnnotation.createPrimitive('String');</span>
1882
- const structureProperty = <span class="cstat-no" title="statement not covered" >StructureProperty.from({ name: item.name, typeAnnotation: itemType }, typeAnnotation, 'properties');</span>
1883
- <span class="cstat-no" title="statement not covered" > newProperties.push(structureProperty);</span>
1884
- }
1885
- });
1886
- }
1887
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createTypeAnonymousStructure(newProperties);</span>
1888
- } else <span class="cstat-no" title="statement not covered" >if (!typeName || typeName === 'Promise' || typeName === 'nasl' || typeName === '___IDENTIFIER__') {</span>
1889
- <span class="cstat-no" title="statement not covered" > return null;</span>
1890
- } else <span class="cstat-no" title="statement not covered" >if (typeName === 'String' || typeName === 'Boolean') {</span>
1891
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createPrimitive(typeName);</span>
1892
- } else <span class="cstat-no" title="statement not covered" >if (typeName === 'Union') {</span>
1893
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createPrimitive('Union');</span>
1894
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments = [];</span>
1895
- <span class="cstat-no" title="statement not covered" > typeArguments.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; {</span>
1896
- const typeItem = <span class="cstat-no" title="statement not covered" >type2TypeAnnotation(item);</span>
1897
- <span class="cstat-no" title="statement not covered" > if (typeItem) {</span>
1898
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArgumentsPush(typeItem);</span>
1899
- }
1900
- });
1901
- } else <span class="cstat-no" title="statement not covered" >if (typeNamespace &amp;&amp; typeNamespace.startsWith('nasl.core')) {</span>
1902
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createPrimitive(typeName);</span>
1903
- } else <span class="cstat-no" title="statement not covered" >if (typeNamespace &amp;&amp; typeArguments?.length) {</span>
1904
- // 泛型类型
1905
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createGeneric(typeName, {</span>
1906
- typeNamespace,
1907
- });
1908
- // 如果有泛型处理泛型
1909
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments = [];</span>
1910
- <span class="cstat-no" title="statement not covered" > typeArguments.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem: any) =&gt; {</span>
1911
- const typeItem = <span class="cstat-no" title="statement not covered" >type2TypeAnnotation(item);</span>
1912
- <span class="cstat-no" title="statement not covered" > if (typeItem) {</span>
1913
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArgumentsPush(typeItem);</span>
1914
- }
1915
- });
1916
- } else {
1917
- // 其余的引用类型
1918
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createReference(typeName, {</span>
1919
- typeNamespace,
1920
- });
1921
- }
1922
- } catch (err) {
1923
- <span class="cstat-no" title="statement not covered" > console.log(err, type);</span>
1924
- }
1925
- <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
1926
- }
1927
- &nbsp;
1928
- /**
1929
- * 解析 Completion 和 QuickInfo 的 displayString
1930
- * 生成 TypeAnnotation
1931
- * @param displayString
1932
- * @returns TypeAnnotation
1933
- */
1934
- export function <span class="fstat-no" title="function not covered" >displayString2TypeAnnotation(</span>typeStr: string, parentPrefix?: string): TypeAnnotation {
1935
- let type = <span class="cstat-no" title="statement not covered" >'';</span>
1936
- <span class="cstat-no" title="statement not covered" > if (typeStr?.includes(': ')) {</span>
1937
- const lastIndexOf = <span class="cstat-no" title="statement not covered" >typeStr.lastIndexOf(': ');</span>
1938
- <span class="cstat-no" title="statement not covered" > type = typeStr.substring(lastIndexOf + 2, typeStr.length);</span>
1939
- } else {
1940
- <span class="cstat-no" title="statement not covered" > type = typeStr;</span>
1941
- }
1942
- <span class="cstat-no" title="statement not covered" > if (!type) <span class="cstat-no" title="statement not covered" >return;</span></span>
1943
- <span class="cstat-no" title="statement not covered" > type = type.replaceAll(' ', '');</span>
1944
- <span class="cstat-no" title="statement not covered" > if (type === 'Promise&lt;void&gt;') <span class="cstat-no" title="statement not covered" >return null;</span></span>
1945
- // 把后面结尾里带()的比如
1946
- // 'function nasl.core.add(left: nasl.core.Long, right: nasl.core.Long): nasl.core.Long (+12 overloads)'
1947
- <span class="cstat-no" title="statement not covered" > if (type.includes('(') &amp;&amp; type.includes(')')) {</span>
1948
- <span class="cstat-no" title="statement not covered" > type = type.replace(/\([^)]*\)/g, '');</span>
1949
- }
1950
- let typeAnnotation;
1951
- <span class="cstat-no" title="statement not covered" > try {</span>
1952
- <span class="cstat-no" title="statement not covered" > if (type.includes('&lt;') &amp;&amp; type.includes('&gt;')) {</span>
1953
- // 泛型的处理
1954
- <span class="cstat-no" title="statement not covered" > typeAnnotation = createGenericTypeAnnotation(type, parentPrefix);</span>
1955
- } else {
1956
- <span class="cstat-no" title="statement not covered" > typeAnnotation = createType2Annotation(type, parentPrefix);</span>
1957
- }
1958
- } catch (err) {
1959
- <span class="cstat-no" title="statement not covered" > console.log(err);</span>
1960
- }
1961
- <span class="cstat-no" title="statement not covered" > return typeAnnotation as TypeAnnotation;</span>
1962
- }
1963
- &nbsp;
1964
- function <span class="fstat-no" title="function not covered" >createGenericTypeAnnotation(</span>type: string, parentPrefix?: string) {
1965
- // 取出匹配的内容
1966
- &nbsp;
1967
- const childType = <span class="cstat-no" title="statement not covered" >type.substring(0, type.indexOf('&lt;'));</span>
1968
- const typeAnnotation = <span class="cstat-no" title="statement not covered" >createType2Annotation(childType);</span>
1969
- // 如果还有匹配到的多层泛型;
1970
- // 取出匹配到的内容
1971
- const types = <span class="cstat-no" title="statement not covered" >/&lt;([^()]+)&gt;/g.exec(type);</span>
1972
- <span class="cstat-no" title="statement not covered" > if (types === null) <span class="cstat-no" title="statement not covered" >return types;</span></span>
1973
- const newtext = <span class="cstat-no" title="statement not covered" >types[1];</span>
1974
- // 把匹配的值,的内容在,检索一遍,看是不是泛型套泛型
1975
- const newTypes = <span class="cstat-no" title="statement not covered" >/&lt;([^()]+)&gt;/g.exec(newtext);</span>
1976
- // 如果是的话就去递归
1977
- <span class="cstat-no" title="statement not covered" > if (newTypes) {</span>
1978
- const argTypeAnnotation = <span class="cstat-no" title="statement not covered" >createGenericTypeAnnotation(newtext, parentPrefix);</span>
1979
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments = [argTypeAnnotation as TypeAnnotation];</span>
1980
- } else {
1981
- const argTypeAnnotation = <span class="cstat-no" title="statement not covered" >createType2Annotation(newtext, parentPrefix);</span>
1982
- &nbsp;
1983
- // 如果不是就创造内部的真正类型
1984
- <span class="cstat-no" title="statement not covered" > if (newtext.includes(',')) {</span>
1985
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments = newtext.split(',').map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >createType2Annotation(item))</span>;</span>
1986
- } else {
1987
- <span class="cstat-no" title="statement not covered" > typeAnnotation.typeArguments = [argTypeAnnotation];</span>
1988
- }
1989
- }
1990
- <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
1991
- }
1992
- function <span class="fstat-no" title="function not covered" >createType2Annotation(</span>type: string, parentPrefix?: string): TypeAnnotation {
1993
- let typeAnnotation;
1994
- // 没有泛型类型的
1995
- const types = <span class="cstat-no" title="statement not covered" >type.split('.');</span>
1996
- // 长度等于1就说明是
1997
- <span class="cstat-no" title="statement not covered" > if (types.length === 1) {</span>
1998
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createPrimitive(types[0]);</span>
1999
- } else {
2000
- const typeName = <span class="cstat-no" title="statement not covered" >types.pop();</span>
2001
- const typeNamespace = <span class="cstat-no" title="statement not covered" >types.join('.');</span>
2002
- <span class="cstat-no" title="statement not covered" > if (type.startsWith('nasl.core')) {</span>
2003
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createPrimitive(typeName);</span>
2004
- } else <span class="cstat-no" title="statement not covered" >if (type.startsWith('nasl.ui')) {</span>
2005
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createReference(typeName, {</span>
2006
- typeNamespace,
2007
- });
2008
- } else <span class="cstat-no" title="statement not covered" >if (type.startsWith('nasl.process')) {</span>
2009
- // nasl的引用类型
2010
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createReference(typeName, {</span>
2011
- typeNamespace,
2012
- });
2013
- } else <span class="cstat-no" title="statement not covered" >if (type.startsWith('nasl.collection')) {</span>
2014
- // nasl的泛型类型
2015
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createGeneric(typeName, {</span>
2016
- typeNamespace,
2017
- });
2018
- } else <span class="cstat-no" title="statement not covered" >if (type.startsWith('dataSources.') || type.startsWith('structures.') || type.startsWith('enums.')) {</span>
2019
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createReference(typeName, {</span>
2020
- typeNamespace: (parentPrefix || 'app.') + typeNamespace,
2021
- });
2022
- } else {
2023
- <span class="cstat-no" title="statement not covered" > typeAnnotation = TypeAnnotation.createReference(typeName, {</span>
2024
- typeNamespace,
2025
- });
2026
- }
2027
- }
2028
- <span class="cstat-no" title="statement not covered" > return typeAnnotation;</span>
2029
- }
2030
- export function <span class="fstat-no" title="function not covered" >getPlatformType(</span>type: string): string {
2031
- let tsType = <span class="cstat-no" title="statement not covered" >'';</span>
2032
- &nbsp;
2033
- <span class="cstat-no" title="statement not covered" > if (type?.includes(': ')) {</span>
2034
- const lastIndexOf = <span class="cstat-no" title="statement not covered" >type.lastIndexOf(': ');</span>
2035
- <span class="cstat-no" title="statement not covered" > tsType = type.substring(lastIndexOf + 2, type.length);</span>
2036
- } else {
2037
- <span class="cstat-no" title="statement not covered" > tsType = type;</span>
2038
- }
2039
- <span class="cstat-no" title="statement not covered" > tsType = tsType.replaceAll(' ', '');</span>
2040
- const namespacePrefix = <span class="cstat-no" title="statement not covered" >['app', 'extensions', 'apis', 'components', 'nasl'];</span>
2041
- <span class="cstat-no" title="statement not covered" > if (tsType === 'String') {</span>
2042
- <span class="cstat-no" title="statement not covered" > return 'nasl.core.String';</span>
2043
- } else <span class="cstat-no" title="statement not covered" >if (tsType === 'Boolean') {</span>
2044
- <span class="cstat-no" title="statement not covered" > return 'nasl.core.Boolean';</span>
2045
- }
2046
- &nbsp;
2047
- const strTypes = <span class="cstat-no" title="statement not covered" >tsType.split('.');</span>
2048
- <span class="cstat-no" title="statement not covered" > if (strTypes.length) {</span>
2049
- const first = <span class="cstat-no" title="statement not covered" >strTypes[0];</span>
2050
- // 如果不是这几个前缀就加一个namespace
2051
- <span class="cstat-no" title="statement not covered" > if (!namespacePrefix.includes(first)) {</span>
2052
- <span class="cstat-no" title="statement not covered" > return 'app.' + tsType;</span>
2053
- }
2054
- }
2055
- <span class="cstat-no" title="statement not covered" > return tsType;</span>
2056
- }
2057
- export function <span class="fstat-no" title="function not covered" >isNoChildType(</span>type: String) {
2058
- <span class="cstat-no" title="statement not covered" > return (type?.startsWith('nasl.core') &amp;&amp; !['String', 'Text', 'Email'].includes(type.split('.')[2])) || type?.startsWith('app.enums');</span>
2059
- }
2060
- function <span class="fstat-no" title="function not covered" >findNode(</span>typeKey: string, node: BaseNode) {
2061
- let newType: Structure | Logic;
2062
- <span class="cstat-no" title="statement not covered" > if (typeKey.startsWith('nasl.') &amp;&amp; typeKey.includes('&lt;')) {</span>
2063
- const findGenericsIndex = <span class="cstat-no" title="statement not covered" >typeKey.indexOf('&lt;');</span>
2064
- <span class="cstat-no" title="statement not covered" > typeKey = typeKey.substring(0, findGenericsIndex);</span>
2065
- const typeIndex = <span class="cstat-no" title="statement not covered" >typeKey.lastIndexOf('.');</span>
2066
- <span class="cstat-no" title="statement not covered" > newType = getNaslNodeByNodeCallee(typeKey.substring(0, typeIndex), typeKey.substring(typeIndex + 1, typeKey.length));</span>
2067
- } else <span class="cstat-no" title="statement not covered" >if (typeKey.startsWith('nasl.')) {</span>
2068
- const typeIndex = <span class="cstat-no" title="statement not covered" >typeKey.lastIndexOf('.');</span>
2069
- <span class="cstat-no" title="statement not covered" > newType = getNaslNodeByNodeCallee(typeKey.substring(0, typeIndex), typeKey.substring(typeIndex + 1, typeKey.length));</span>
2070
- } else {
2071
- <span class="cstat-no" title="statement not covered" > newType = (node as Identifier)?.app?.findNodeByCompleteName(typeKey);</span>
2072
- }
2073
- <span class="cstat-no" title="statement not covered" > return newType;</span>
2074
- }
2075
- &nbsp;
2076
- /**
2077
- * 获取下一级的节点进行递归
2078
- * @param typeKey 当前节点的类型,主要为了取出内部的 T中的实际类型
2079
- * @param item 当前节点的内容
2080
- * @param node 获取变量框的位置
2081
- */
2082
- export function <span class="fstat-no" title="function not covered" >nextFindTypeChild(</span>typeKey: string, item: any, node: SynatxNode) {
2083
- const newType = <span class="cstat-no" title="statement not covered" >findNode(typeKey, node);</span>
2084
- <span class="cstat-no" title="statement not covered" > if ((newType as Structure)?.properties &amp;&amp; (newType as Structure).properties.length) {</span>
2085
- // 处理泛型的内容要取到值
2086
- const StructureJson = <span class="cstat-no" title="statement not covered" >newType.toJSON();</span>
2087
- const newStructure = <span class="cstat-no" title="statement not covered" >new Structure(StructureJson);</span>
2088
- <span class="cstat-no" title="statement not covered" > newStructure.properties.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem: StructureProperty | EntityProperty) =&gt; {</span>
2089
- const itemType = <span class="cstat-no" title="statement not covered" >item?.typeAnnotation?.typeKey;</span>
2090
- <span class="cstat-no" title="statement not covered" > if (itemType === 'T' &amp;&amp; /&lt;([^()]+)&gt;/g.exec(typeKey)) {</span>
2091
- const newTypes = <span class="cstat-no" title="statement not covered" >/&lt;([^()]+)&gt;/g.exec(typeKey);</span>
2092
- // 找到当前原来的类型
2093
- const contentType = <span class="cstat-no" title="statement not covered" >getPlatformType(newTypes[1]);</span>
2094
- const typeNamespace = <span class="cstat-no" title="statement not covered" >contentType.substring(0, contentType.lastIndexOf('.'));</span>
2095
- const typeName = <span class="cstat-no" title="statement not covered" >contentType.substring(contentType.lastIndexOf('.') + 1, contentType.length);</span>
2096
- <span class="cstat-no" title="statement not covered" > item.typeAnnotation = new TypeAnnotation({</span>
2097
- typeKind: 'reference',
2098
- typeNamespace,
2099
- typeName,
2100
- });
2101
- }
2102
- });
2103
- <span class="cstat-no" title="statement not covered" > item.children = formatVariableData(newStructure.properties, node, item);</span>
2104
- }
2105
- }
2106
- &nbsp;
2107
- /**
2108
- * 获取scope下一级的展示
2109
- * @param type 返回的字符串如下展示
2110
- * `nasl.ui.Current&lt;{
2111
- __name: "AStructure_dc8bcbaf";
2112
- entity1: dataSources.defaultDS.entities.Entity1;
2113
- lCAPRolePerMapping: dataSources.defaultDS.entities.LCAPRolePerMapping;
2114
- }&gt;`
2115
- */
2116
- function <span class="fstat-no" title="function not covered" >getAStructureScopeType(</span>type: string, parent: any, node: SynatxNode) {
2117
- let newType = <span class="cstat-no" title="statement not covered" >type</span>
2118
- .replaceAll(' ', '')
2119
- .replaceAll('\n', '')
2120
- .replace(/__name:"AStructure_\w{8}";/g, '');
2121
- &nbsp;
2122
- const parentItem: any = <span class="cstat-no" title="statement not covered" >parent;</span>
2123
- // 如果没有父节点就是Identifier
2124
- // value需要拼接生成
2125
- const identifier = <span class="cstat-no" title="statement not covered" >new Identifier({ name: parentItem.text });</span>
2126
- <span class="cstat-no" title="statement not covered" > parentItem.expression = identifier;</span>
2127
- <span class="cstat-no" title="statement not covered" > parentItem.value = parentItem.text;</span>
2128
- <span class="cstat-no" title="statement not covered" > parentItem.name = parentItem.text;</span>
2129
- &nbsp;
2130
- // 处理泛型的内容要取到值
2131
- const newNode = <span class="cstat-no" title="statement not covered" >findNode(newType, node);</span>
2132
- &nbsp;
2133
- const StructureJson = <span class="cstat-no" title="statement not covered" >newNode.toJSON();</span>
2134
- const newStructure = <span class="cstat-no" title="statement not covered" >new Structure(StructureJson);</span>
2135
- const children = <span class="cstat-no" title="statement not covered" >newStructure.properties;</span>
2136
- <span class="cstat-no" title="statement not covered" > if (children &amp;&amp; children.length) {</span>
2137
- const newChildren = <span class="cstat-no" title="statement not covered" >children.map(<span class="fstat-no" title="function not covered" >(s</span>tructureProperty) =&gt; {</span>
2138
- const structureItem: any = <span class="cstat-no" title="statement not covered" >structureProperty;</span>
2139
- // 如果没有父节点就是Identifier
2140
- <span class="cstat-no" title="statement not covered" > structureItem.value = `${parentItem.value}.${structureItem.name}`;</span>
2141
- const memberExpression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2142
- object: parentItem.expression,
2143
- property: new Identifier({ name: structureItem.name }),
2144
- });
2145
- <span class="cstat-no" title="statement not covered" > structureItem.expression = memberExpression;</span>
2146
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(structureItem);</span>
2147
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'refProperty';</span>
2148
- &nbsp;
2149
- <span class="cstat-no" title="statement not covered" > if (structureItem.name === 'item') {</span>
2150
- const context = <span class="cstat-no" title="statement not covered" >/\{([^()]+)\}/.exec(newType);</span>
2151
- <span class="cstat-no" title="statement not covered" > newType = context[1];</span>
2152
- let res: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
2153
- <span class="cstat-no" title="statement not covered" > newType.split(';').forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2154
- <span class="cstat-no" title="statement not covered" > if (item) {</span>
2155
- const itemArr = <span class="cstat-no" title="statement not covered" >item.split(':');</span>
2156
- const name = <span class="cstat-no" title="statement not covered" >itemArr[0];</span>
2157
- let typeKey = <span class="cstat-no" title="statement not covered" >itemArr[1];</span>
2158
- <span class="cstat-no" title="statement not covered" > if (typeKey &amp;&amp; typeKey.startsWith('dataSources')) {</span>
2159
- <span class="cstat-no" title="statement not covered" > typeKey = 'app.' + typeKey;</span>
2160
- }
2161
- // 如果ls传过来的名字是不合法的就隐藏
2162
- <span class="cstat-no" title="statement not covered" > if (!isValidName(name)) {</span>
2163
- <span class="cstat-no" title="statement not covered" > console.warn(item, '获取变量不展示');</span>
2164
- <span class="cstat-no" title="statement not covered" > return null;</span>
2165
- }
2166
- <span class="cstat-no" title="statement not covered" > res.push({</span>
2167
- name,
2168
- typeKey,
2169
- });
2170
- }
2171
- });
2172
- <span class="cstat-no" title="statement not covered" > res = res.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2173
- const newItem: any = <span class="cstat-no" title="statement not covered" >item;</span>
2174
- // 如果没有父节点就是Identifier
2175
- <span class="cstat-no" title="statement not covered" > newItem.value = `${structureItem.value}.${newItem.name}`;</span>
2176
- const memberExpression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2177
- object: structureItem.expression,
2178
- property: new Identifier({ name: newItem.name }),
2179
- });
2180
- <span class="cstat-no" title="statement not covered" > newItem.expression = memberExpression;</span>
2181
- // 如果有类型而且类型不是没有子集的类型,就把他当前的类型拿到
2182
- <span class="cstat-no" title="statement not covered" > if (item.typeKey &amp;&amp; !isNoChildType(item.typeKey)) {</span>
2183
- <span class="cstat-no" title="statement not covered" > newItem.children = nextObjectTypeChild(item.typeKey, newItem, node);</span>
2184
- }
2185
- <span class="cstat-no" title="statement not covered" > newItem.typeAnnotation = displayString2TypeAnnotation(newItem.typeKey);</span>
2186
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(newItem);</span>
2187
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'refProperty';</span>
2188
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2189
- });
2190
- <span class="cstat-no" title="statement not covered" > completionProperty.children = res;</span>
2191
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2192
- } else {
2193
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2194
- }
2195
- });
2196
- <span class="cstat-no" title="statement not covered" > parentItem.children = newChildren;</span>
2197
- }
2198
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(parentItem);</span>
2199
- // 变量 param return 在这里添加图标
2200
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = getNodeiconFromLogic(completionProperty, node);</span>
2201
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2202
- }
2203
- /**
2204
- * 获取对象类型的下一级展示
2205
- * @param type 返回的字符串如下展示
2206
- * `{
2207
- __name: "AStructure_bf19c4d5";
2208
- list: nasl.collection.List&lt;{
2209
- __name: "AStructure_dc8bcbaf";
2210
- entity1: app.dataSources.defaultDS.entities.Entity1;
2211
- lCAPRolePerMapping: app.dataSources.defaultDS.entities.LCAPRolePerMapping;
2212
- }&gt;;
2213
- total: nasl.core.Long;
2214
- }`
2215
- */
2216
- function <span class="fstat-no" title="function not covered" >getAStructureObjectStringType(</span>type: string, parent: any, node: SynatxNode) {
2217
- let newType = <span class="cstat-no" title="statement not covered" >type</span>
2218
- .replaceAll(' ', '')
2219
- .replaceAll('\n', '')
2220
- .replace(/__name:"AStructure_\w{8}";/g, '');
2221
- <span class="cstat-no" title="statement not covered" > newType = newType.substring(1, newType.length - 1);</span>
2222
- <span class="cstat-no" title="statement not covered" > if (/\{([^()]+)\}/.exec(newType)) {</span>
2223
- <span class="cstat-no" title="statement not covered" > newType = newType.replace(/\{([^()]+)\}/, '');</span>
2224
- }
2225
- let res: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
2226
- <span class="cstat-no" title="statement not covered" > newType.split(';').forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2227
- <span class="cstat-no" title="statement not covered" > if (item) {</span>
2228
- const itemArr = <span class="cstat-no" title="statement not covered" >item.split(':');</span>
2229
- const name = <span class="cstat-no" title="statement not covered" >itemArr[0];</span>
2230
- const typeKey = <span class="cstat-no" title="statement not covered" >itemArr[1];</span>
2231
- <span class="cstat-no" title="statement not covered" > res.push({</span>
2232
- name,
2233
- typeKey,
2234
- });
2235
- }
2236
- });
2237
- const parentItem: any = <span class="cstat-no" title="statement not covered" >parent;</span>
2238
- // 如果没有父节点就是Identifier
2239
- // value需要拼接生成
2240
- const identifier = <span class="cstat-no" title="statement not covered" >new Identifier({ name: parentItem.text });</span>
2241
- <span class="cstat-no" title="statement not covered" > parentItem.expression = identifier;</span>
2242
- <span class="cstat-no" title="statement not covered" > parentItem.value = parentItem.text;</span>
2243
- <span class="cstat-no" title="statement not covered" > parentItem.name = parentItem.text;</span>
2244
- &nbsp;
2245
- <span class="cstat-no" title="statement not covered" > res = res.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2246
- const newItem: any = <span class="cstat-no" title="statement not covered" >item;</span>
2247
- // 如果没有父节点就是Identifier
2248
- <span class="cstat-no" title="statement not covered" > newItem.value = `${parentItem.value}.${newItem.name}`;</span>
2249
- const memberExpression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2250
- object: parentItem.expression,
2251
- property: new Identifier({ name: newItem.name }),
2252
- });
2253
- <span class="cstat-no" title="statement not covered" > newItem.expression = memberExpression;</span>
2254
- // 如果有类型而且类型不是没有子集的类型,就把他当前的类型拿到
2255
- <span class="cstat-no" title="statement not covered" > if (item.typeKey &amp;&amp; !isNoChildType(item.typeKey)) {</span>
2256
- <span class="cstat-no" title="statement not covered" > newItem.children = nextObjectTypeChild(getPlatformType(item.typeKey), newItem, node);</span>
2257
- }
2258
- <span class="cstat-no" title="statement not covered" > newItem.typeAnnotation = displayString2TypeAnnotation(newItem.typeKey);</span>
2259
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(newItem);</span>
2260
- &nbsp;
2261
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'refProperty';</span>
2262
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2263
- });
2264
- <span class="cstat-no" title="statement not covered" > parentItem.children = res;</span>
2265
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(parentItem);</span>
2266
- &nbsp;
2267
- // 变量 param return 在这里添加图标
2268
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = getNodeiconFromLogic(completionProperty, node);</span>
2269
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2270
- }
2271
- function <span class="fstat-no" title="function not covered" >nextObjectTypeChild(</span>typeKey: string, item: any, node: SynatxNode) {
2272
- const newType = <span class="cstat-no" title="statement not covered" >findNode(typeKey, node);</span>
2273
- <span class="cstat-no" title="statement not covered" > if ((newType as Structure)?.properties &amp;&amp; (newType as Structure).properties.length) {</span>
2274
- // 处理泛型的内容要取到值
2275
- const StructureJson = <span class="cstat-no" title="statement not covered" >newType.toJSON();</span>
2276
- const newStructure = <span class="cstat-no" title="statement not covered" >new Structure(StructureJson);</span>
2277
- <span class="cstat-no" title="statement not covered" > newStructure.properties.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem: StructureProperty | EntityProperty) =&gt; {</span>
2278
- const itemType = <span class="cstat-no" title="statement not covered" >item?.typeAnnotation?.typeKey;</span>
2279
- <span class="cstat-no" title="statement not covered" > if (itemType === 'T' &amp;&amp; /&lt;([^()]+)&gt;/g.exec(typeKey)) {</span>
2280
- const newTypes = <span class="cstat-no" title="statement not covered" >/&lt;([^()]+)&gt;/g.exec(typeKey);</span>
2281
- // 找到当前原来的类型
2282
- const contentType = <span class="cstat-no" title="statement not covered" >getPlatformType(newTypes[1]);</span>
2283
- const typeNamespace = <span class="cstat-no" title="statement not covered" >contentType.substring(0, contentType.lastIndexOf('.'));</span>
2284
- const typeName = <span class="cstat-no" title="statement not covered" >contentType.substring(contentType.lastIndexOf('.') + 1, contentType.length);</span>
2285
- <span class="cstat-no" title="statement not covered" > item.typeAnnotation = new TypeAnnotation({</span>
2286
- typeKind: 'reference',
2287
- typeNamespace,
2288
- typeName,
2289
- });
2290
- }
2291
- });
2292
- <span class="cstat-no" title="statement not covered" > return formatVariableData(newStructure.properties, node, item);</span>
2293
- }
2294
- }
2295
- &nbsp;
2296
- function <span class="fstat-no" title="function not covered" >getNodeTypeVariableData(</span>nodeType: any, item: any, node: SynatxNode) {
2297
- <span class="cstat-no" title="statement not covered" > item.value = item.text;</span>
2298
- <span class="cstat-no" title="statement not covered" > item.name = item.text;</span>
2299
- const parentExpression = <span class="cstat-no" title="statement not covered" >new Identifier({ name: item.text });</span>
2300
- <span class="cstat-no" title="statement not covered" > item.expression = parentExpression;</span>
2301
- <span class="cstat-no" title="statement not covered" > if (nodeType) {</span>
2302
- const typeAnnotation = <span class="cstat-no" title="statement not covered" >type2TypeAnnotation(nodeType);</span>
2303
- const typeKeyMap = <span class="cstat-no" title="statement not covered" >new Map();</span>
2304
- const app = <span class="cstat-no" title="statement not covered" >node.rootNode as App;</span>
2305
- let structure: any = <span class="cstat-no" title="statement not covered" >{};</span>
2306
- &nbsp;
2307
- // 有类型在进行下一步运算
2308
- <span class="cstat-no" title="statement not covered" > if (typeAnnotation) {</span>
2309
- // 数据查询没有输出参数,特殊处理
2310
- <span class="cstat-no" title="statement not covered" > if (typeAnnotation.typeKind === 'anonymousStructure') {</span>
2311
- <span class="cstat-no" title="statement not covered" > structure = { properties: typeAnnotation.properties };</span>
2312
- } else <span class="cstat-no" title="statement not covered" >if (typeAnnotation.typeArguments) {</span>
2313
- <span class="cstat-no" title="statement not covered" > structure = { properties: app.getSelectRef(typeAnnotation, true) };</span>
2314
- } else {
2315
- <span class="cstat-no" title="statement not covered" > structure = app.findNodeByCompleteName(typeAnnotation.typeNamespace + '.' + typeAnnotation.typeName);</span>
2316
- }
2317
- <span class="cstat-no" title="statement not covered" > structure?.properties?.forEach(<span class="fstat-no" title="function not covered" >(s</span>tructureProperty: StructureProperty) =&gt; {</span>
2318
- const { name, typeAnnotation } = <span class="cstat-no" title="statement not covered" >structureProperty;</span>
2319
- const expression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2320
- object: parentExpression,
2321
- property: new Identifier({ name }),
2322
- });
2323
- const completionData = <span class="cstat-no" title="statement not covered" >new CompletionProperty({</span>
2324
- name,
2325
- value: name,
2326
- expression,
2327
- children: [],
2328
- });
2329
- <span class="cstat-no" title="statement not covered" > completionData.icon = 'refProperty';</span>
2330
- &nbsp;
2331
- <span class="cstat-no" title="statement not covered" > item.children.push(completionData);</span>
2332
- <span class="cstat-no" title="statement not covered" > recursionProperty(typeAnnotation, completionData, node, typeKeyMap);</span>
2333
- });
2334
- }
2335
- }
2336
- &nbsp;
2337
- const completionData = <span class="cstat-no" title="statement not covered" >new CompletionProperty(item);</span>
2338
- // 变量 param return 在这里添加图标
2339
- <span class="cstat-no" title="statement not covered" > completionData.icon = getNodeiconFromLogic(completionData, node);</span>
2340
- <span class="cstat-no" title="statement not covered" > return completionData;</span>
2341
- }
2342
- function <span class="fstat-no" title="function not covered" >recursionProperty(</span>
2343
- structureTypeAnnotation: TypeAnnotation,
2344
- parentCompletion: CompletionProperty,
2345
- node: BaseNode,
2346
- typeKeyMap: Map&lt;string, number&gt;
2347
- ) {
2348
- const app = <span class="cstat-no" title="statement not covered" >node.rootNode as App;</span>
2349
- let structure;
2350
- <span class="cstat-no" title="statement not covered" > if (structureTypeAnnotation.typeArguments) {</span>
2351
- <span class="cstat-no" title="statement not covered" > structure = { properties: app.getSelectRef(structureTypeAnnotation, true) };</span>
2352
- } else {
2353
- <span class="cstat-no" title="statement not covered" > if (structureTypeAnnotation.typeKind === 'anonymousStructure') {</span>
2354
- <span class="cstat-no" title="statement not covered" > structure = { properties: structureTypeAnnotation.properties };</span>
2355
- } else {
2356
- <span class="cstat-no" title="statement not covered" > structure = app.findNodeByCompleteName(structureTypeAnnotation.typeNamespace + '.' + structureTypeAnnotation.typeName);</span>
2357
- }
2358
- }
2359
- &nbsp;
2360
- <span class="cstat-no" title="statement not covered" > structure?.properties?.forEach(<span class="fstat-no" title="function not covered" >(s</span>tructureProperty: StructureProperty) =&gt; {</span>
2361
- const { name, typeAnnotation } = <span class="cstat-no" title="statement not covered" >structureProperty;</span>
2362
- const object = <span class="cstat-no" title="statement not covered" >BaseNode.from({ ...parentCompletion.expression.toJSON() }) as any;</span>
2363
- const expression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2364
- object,
2365
- property: new Identifier({ name }),
2366
- });
2367
- const completionData = <span class="cstat-no" title="statement not covered" >new CompletionProperty({</span>
2368
- name,
2369
- value: name,
2370
- expression,
2371
- children: [],
2372
- });
2373
- <span class="cstat-no" title="statement not covered" > completionData.icon = 'refProperty';</span>
2374
- <span class="cstat-no" title="statement not covered" > parentCompletion.children.push(completionData);</span>
2375
- <span class="cstat-no" title="statement not covered" > if (getNextFlag(typeAnnotation.typeKey, typeKeyMap)) {</span>
2376
- <span class="cstat-no" title="statement not covered" > recursionProperty(typeAnnotation, completionData, node, typeKeyMap);</span>
2377
- }
2378
- });
2379
- }
2380
- &nbsp;
2381
- function <span class="fstat-no" title="function not covered" >getNextFlag(</span>typeKey: string, typeKeyMap: Map&lt;string, number&gt;) {
2382
- <span class="cstat-no" title="statement not covered" > if (['nasl.core.String', 'nasl.collection.List', 'nasl.collection.Map'].includes(typeKey)) <span class="cstat-no" title="statement not covered" >return true;</span></span>
2383
- <span class="cstat-no" title="statement not covered" > if (typeKeyMap.get(typeKey) === 3) {</span>
2384
- <span class="cstat-no" title="statement not covered" > return false;</span>
2385
- } else <span class="cstat-no" title="statement not covered" >if (typeKeyMap.get(typeKey) &gt; 0) {</span>
2386
- <span class="cstat-no" title="statement not covered" > typeKeyMap.set(typeKey, typeKeyMap.get(typeKey) + 1);</span>
2387
- } else {
2388
- <span class="cstat-no" title="statement not covered" > typeKeyMap.set(typeKey, 1);</span>
2389
- }
2390
- <span class="cstat-no" title="statement not covered" > return true;</span>
2391
- }
2392
- // 格式化变量数据
2393
- export function <span class="fstat-no" title="function not covered" >formatVariableData(</span>data: unknown | variableItem[], node: SynatxNode, parent?: any) {
2394
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(data)) {</span>
2395
- let result = <span class="cstat-no" title="statement not covered" >data.map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2396
- <span class="cstat-no" title="statement not covered" > item.children = [];</span>
2397
- // 当前的类型如 app.entitys.entity1 nasl.core.String
2398
- let typeKey: string;
2399
- <span class="cstat-no" title="statement not covered" > if (item.completionDetail) {</span>
2400
- <span class="cstat-no" title="statement not covered" > if (item.completionDetail?.hasOwnProperty('nodeType') || item.completionDetail?.hasOwnProperty('newNodeType')) {</span>
2401
- const completionProperty = <span class="cstat-no" title="statement not covered" >getNodeTypeVariableData(item.completionDetail?.nodeType || item.completionDetail?.newNodeType, item, node);</span>
2402
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2403
- } else {
2404
- // 当前节点的完整类型,主要是在有T的内容使用 nasl.list&lt;Enum1&gt; 内部匹配内容给里面子集的T赋值类型
2405
- let currentType: string = <span class="cstat-no" title="statement not covered" >formatTs2TypeString(item.completionDetail.displayParts as Array&lt;{ text: string; kind: string }&gt;);</span>
2406
- <span class="cstat-no" title="statement not covered" > if (currentType) {</span>
2407
- <span class="cstat-no" title="statement not covered" > if (currentType?.includes(': ')) {</span>
2408
- const indexOf = <span class="cstat-no" title="statement not covered" >currentType.indexOf(': ');</span>
2409
- const newCurrentType = <span class="cstat-no" title="statement not covered" >currentType.substring(indexOf + 2, currentType.length);</span>
2410
- // 如果是对象形式的就单独处理
2411
- <span class="cstat-no" title="statement not covered" > if (newCurrentType.startsWith('{') &amp;&amp; newCurrentType.endsWith('}')) {</span>
2412
- const completionProperty = <span class="cstat-no" title="statement not covered" >getAStructureObjectStringType(newCurrentType, item, node);</span>
2413
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2414
- } else <span class="cstat-no" title="statement not covered" >if (newCurrentType.startsWith('nasl.ui.Current&lt;{')) {</span>
2415
- const completionProperty = <span class="cstat-no" title="statement not covered" >getAStructureScopeType(newCurrentType, item, node);</span>
2416
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2417
- } else <span class="cstat-no" title="statement not covered" >if (newCurrentType.startsWith('nasl.collection.List&lt;{') &amp;&amp; newCurrentType.endsWith('}&gt;')) {</span>
2418
- <span class="cstat-no" title="statement not covered" > currentType = 'nasl.collection.List&lt;nasl.core.Any&gt;';</span>
2419
- }
2420
- }
2421
- }
2422
- <span class="cstat-no" title="statement not covered" > typeKey = getPlatformType(currentType);</span>
2423
- <span class="cstat-no" title="statement not covered" > item.typeAnnotation = displayString2TypeAnnotation(typeKey);</span>
2424
- }
2425
- } else <span class="cstat-no" title="statement not covered" >if (item instanceof StructureProperty || item instanceof EntityProperty) {</span>
2426
- <span class="cstat-no" title="statement not covered" > typeKey = item?.typeAnnotation?.typeKey;</span>
2427
- }
2428
- // 如果没有父节点就是Identifier
2429
- <span class="cstat-no" title="statement not covered" > if (!parent) {</span>
2430
- // value需要拼接生成
2431
- <span class="cstat-no" title="statement not covered" > item.value = parent ? `${parent.value}.${item.text}` : item.text;</span>
2432
- <span class="cstat-no" title="statement not covered" > item.name = item.text;</span>
2433
- const identifier = <span class="cstat-no" title="statement not covered" >new Identifier({ name: item.name });</span>
2434
- <span class="cstat-no" title="statement not covered" > item.expression = identifier;</span>
2435
- <span class="cstat-no" title="statement not covered" > item.typeKey = typeKey;</span>
2436
- } else {
2437
- <span class="cstat-no" title="statement not covered" > item.value = `${parent.value}.${item.name}`;</span>
2438
- const object: any = <span class="cstat-no" title="statement not covered" >BaseNode.from(parent.expression.toJSON());</span>
2439
- const memberExpression = <span class="cstat-no" title="statement not covered" >new MemberExpression({</span>
2440
- object,
2441
- property: new Identifier({ name: item.name }),
2442
- });
2443
- <span class="cstat-no" title="statement not covered" > item.expression = memberExpression;</span>
2444
- <span class="cstat-no" title="statement not covered" > item.variableParent = parent;</span>
2445
- <span class="cstat-no" title="statement not covered" > item.typeKey = typeKey;</span>
2446
- // 标记实体属性是否是符合类型
2447
- <span class="cstat-no" title="statement not covered" > item.isComplexType = item.typeAnnotation?.isComplexType();</span>
2448
- }
2449
- // 如果有类型而且类型不是没有子集的类型,就把他当前的类型拿到
2450
- <span class="cstat-no" title="statement not covered" > if (typeKey &amp;&amp; !isNoChildType(typeKey)) {</span>
2451
- let currentParent = <span class="cstat-no" title="statement not covered" >item;</span>
2452
- let typeKeyIndex = <span class="cstat-no" title="statement not covered" >0;</span>
2453
- <span class="cstat-no" title="statement not covered" > while (currentParent.variableParent) {</span>
2454
- <span class="cstat-no" title="statement not covered" > currentParent = currentParent.variableParent;</span>
2455
- <span class="cstat-no" title="statement not covered" > if (currentParent.typeKey === typeKey) {</span>
2456
- <span class="cstat-no" title="statement not covered" > typeKeyIndex++;</span>
2457
- }
2458
- }
2459
- // 向上找到3次一样的就结束
2460
- <span class="cstat-no" title="statement not covered" > if (typeKeyIndex &lt; 3) {</span>
2461
- <span class="cstat-no" title="statement not covered" > nextFindTypeChild(typeKey, item, node);</span>
2462
- }
2463
- }
2464
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(item);</span>
2465
- <span class="cstat-no" title="statement not covered" > completionProperty.jsonName = item.jsonName;</span>
2466
- // 标记实体属性是否是符合类型
2467
- <span class="cstat-no" title="statement not covered" > if (typeof item.isComplexType === 'boolean') {</span>
2468
- <span class="cstat-no" title="statement not covered" > Object.assign(completionProperty, { isComplexType: item.isComplexType });</span>
2469
- }
2470
- <span class="cstat-no" title="statement not covered" > if (!parent) {</span>
2471
- // 变量 param return 在这里添加图标
2472
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = getNodeiconFromLogic(completionProperty, node);</span>
2473
- } else {
2474
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'refProperty';</span>
2475
- }
2476
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2477
- });
2478
- &nbsp;
2479
- /**
2480
- * 排序result
2481
- * 如果没有父级就是第一集就排序一下当前result,用户体验优化
2482
- */
2483
- <span class="cstat-no" title="statement not covered" > if (!parent) {</span>
2484
- <span class="cstat-no" title="statement not covered" > result = sortFirstVariableData(result, node);</span>
2485
- }
2486
- &nbsp;
2487
- <span class="cstat-no" title="statement not covered" > return result.filter(Boolean);</span>
2488
- }
2489
- }
2490
- &nbsp;
2491
- // 从logic获取节点的icon
2492
- function <span class="fstat-no" title="function not covered" >getNodeiconFromLogic(</span>completionProperty: CompletionProperty, node: SynatxNode): string {
2493
- const { name: propName } = <span class="cstat-no" title="statement not covered" >completionProperty;</span>
2494
- const { view } = <span class="cstat-no" title="statement not covered" >node as Param;</span>
2495
- const logic = (<span class="cstat-no" title="statement not covered" >node as Param).logic || (node as Param).OverriddenLogic || (node as Param).AuthLogic || (node as Param).AuthLogicForCallInterface;</span>
2496
- &nbsp;
2497
- <span class="cstat-no" title="statement not covered" > if (node.concept === 'Identifier' || node.concept === 'BindAttribute' || node.concept === 'MemberExpression') {</span>
2498
- const callLogic = <span class="cstat-no" title="statement not covered" >node.getAncestor&lt;CallLogic&gt;('CallLogic');</span>
2499
- const originLogic = <span class="cstat-no" title="statement not covered" >callLogic?.getCallNode() as Logic;</span>
2500
- &nbsp;
2501
- <span class="cstat-no" title="statement not covered" > if (originLogic?.params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === propName)</span>) {</span>
2502
- <span class="cstat-no" title="statement not covered" > return 'param';</span>
2503
- }
2504
- }
2505
- &nbsp;
2506
- <span class="cstat-no" title="statement not covered" > if (view) {</span>
2507
- // 前端逻辑调用
2508
- const { params } = <span class="cstat-no" title="statement not covered" >view;</span>
2509
- &nbsp;
2510
- <span class="cstat-no" title="statement not covered" > if (params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === propName)</span>) {</span>
2511
- <span class="cstat-no" title="statement not covered" > return 'param';</span>
2512
- }
2513
- }
2514
- &nbsp;
2515
- <span class="cstat-no" title="statement not covered" > if (logic) {</span>
2516
- const { params, returns } = <span class="cstat-no" title="statement not covered" >logic;</span>
2517
- &nbsp;
2518
- <span class="cstat-no" title="statement not covered" > if (logic instanceof AuthLogicForCallInterface) {</span>
2519
- const { authParams } = <span class="cstat-no" title="statement not covered" >logic;</span>
2520
- <span class="cstat-no" title="statement not covered" > if (authParams.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === completionProperty.name)</span>) <span class="cstat-no" title="statement not covered" >return 'api-auth-params';</span></span>
2521
- <span class="cstat-no" title="statement not covered" > if (params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === completionProperty.name)</span>) <span class="cstat-no" title="statement not covered" >return 'api-auth-params';</span></span>
2522
- } else <span class="cstat-no" title="statement not covered" >if (logic instanceof AuthLogic) {</span>
2523
- <span class="cstat-no" title="statement not covered" > if (params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === completionProperty.name)</span>) <span class="cstat-no" title="statement not covered" >return 'api-auth-params';</span></span>
2524
- } else {
2525
- <span class="cstat-no" title="statement not covered" > if (params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === completionProperty.name)</span>) <span class="cstat-no" title="statement not covered" >return 'param';</span></span>
2526
- }
2527
- &nbsp;
2528
- <span class="cstat-no" title="statement not covered" > if (params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === propName)</span>) {</span>
2529
- <span class="cstat-no" title="statement not covered" > return 'param';</span>
2530
- } else <span class="cstat-no" title="statement not covered" >if (returns.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === propName)</span>) {</span>
2531
- <span class="cstat-no" title="statement not covered" > return 'return';</span>
2532
- } else {
2533
- <span class="cstat-no" title="statement not covered" > return 'variable';</span>
2534
- }
2535
- }
2536
- &nbsp;
2537
- const bindAttr = <span class="cstat-no" title="statement not covered" >node.getAncestor&lt;BindAttribute&gt;('BindAttribute');</span>
2538
- &nbsp;
2539
- <span class="cstat-no" title="statement not covered" > if (bindAttr) {</span>
2540
- const interfaceInstance = <span class="cstat-no" title="statement not covered" >bindAttr.getAncestor&lt;Interface&gt;('Interface');</span>
2541
- &nbsp;
2542
- <span class="cstat-no" title="statement not covered" > if (interfaceInstance?.params.find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === propName)</span>) {</span>
2543
- <span class="cstat-no" title="statement not covered" > return 'param';</span>
2544
- }
2545
- }
2546
- &nbsp;
2547
- <span class="cstat-no" title="statement not covered" > return 'variable';</span>
2548
- }
2549
- &nbsp;
2550
- /**
2551
- * 把要返回去的数据做一下排序
2552
- * @param result 要返回数据
2553
- * @param node 当前内容的上下级
2554
- * @returns 返回排序后的数组
2555
- * 因为ts会按照 a-z的顺序进行排序
2556
- * 但是影响用户体验,需要先按照页面排序,其次按照logic进行排序
2557
- * 流程的韬哥自己解决了,所以先解决这两部分
2558
- */
2559
- function <span class="fstat-no" title="function not covered" >sortFirstVariableData(</span>result: CompletionProperty[], node: BaseNode) {
2560
- const newResult: CompletionProperty[] = <span class="cstat-no" title="statement not covered" >[];</span>
2561
- const logic = (<span class="cstat-no" title="statement not covered" >node as Param).logic;</span>
2562
- const view = (<span class="cstat-no" title="statement not covered" >node as Param).view;</span>
2563
- <span class="cstat-no" title="statement not covered" > if (view) {</span>
2564
- const { params, variables } = <span class="cstat-no" title="statement not covered" >view;</span>
2565
- const list = <span class="cstat-no" title="statement not covered" >[...params, ...variables];</span>
2566
- <span class="cstat-no" title="statement not covered" > list.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2567
- const findIndex = <span class="cstat-no" title="statement not covered" >result.findIndex(<span class="fstat-no" title="function not covered" >(f</span>indItem) =&gt; <span class="cstat-no" title="statement not covered" >findItem.name === item.name)</span>;</span>
2568
- <span class="cstat-no" title="statement not covered" > if (findIndex !== -1) {</span>
2569
- <span class="cstat-no" title="statement not covered" > newResult.push(result[findIndex]);</span>
2570
- <span class="cstat-no" title="statement not covered" > result.splice(findIndex, 1);</span>
2571
- }
2572
- });
2573
- }
2574
- <span class="cstat-no" title="statement not covered" > if (logic) {</span>
2575
- const { params, returns, variables } = <span class="cstat-no" title="statement not covered" >logic;</span>
2576
- const list = <span class="cstat-no" title="statement not covered" >[...params, ...returns, ...variables];</span>
2577
- <span class="cstat-no" title="statement not covered" > list.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; {</span>
2578
- const findIndex = <span class="cstat-no" title="statement not covered" >result.findIndex(<span class="fstat-no" title="function not covered" >(f</span>indItem) =&gt; <span class="cstat-no" title="statement not covered" >findItem.name === item.name)</span>;</span>
2579
- <span class="cstat-no" title="statement not covered" > if (findIndex !== -1) {</span>
2580
- <span class="cstat-no" title="statement not covered" > newResult.push(result[findIndex]);</span>
2581
- <span class="cstat-no" title="statement not covered" > result.splice(findIndex, 1);</span>
2582
- }
2583
- });
2584
- }
2585
- <span class="cstat-no" title="statement not covered" > newResult.push(...result);</span>
2586
- <span class="cstat-no" title="statement not covered" > return newResult;</span>
2587
- }
2588
- export function <span class="fstat-no" title="function not covered" >formatBackendVariables(</span>variables: Array&lt;BackendVariable&gt;) {
2589
- const result = <span class="cstat-no" title="statement not covered" >variables.map(<span class="fstat-no" title="function not covered" >(i</span>temNode) =&gt; {</span>
2590
- const namespace = <span class="cstat-no" title="statement not covered" >itemNode.getNamespace();</span>
2591
- const newItem: any = <span class="cstat-no" title="statement not covered" >{</span>
2592
- name: itemNode.name,
2593
- value: itemNode.name,
2594
- expression: new Identifier({
2595
- name: itemNode.name,
2596
- namespace,
2597
- }),
2598
- };
2599
- const noChildType = <span class="cstat-no" title="statement not covered" >isNoChildType(itemNode.typeAnnotation?.typeKey);</span>
2600
- &nbsp;
2601
- <span class="cstat-no" title="statement not covered" > if (!noChildType) {</span>
2602
- <span class="cstat-no" title="statement not covered" > nextFindTypeChild(itemNode.typeAnnotation.typeKey, newItem, itemNode);</span>
2603
- }
2604
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(newItem);</span>
2605
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'backendVariable';</span>
2606
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2607
- });
2608
- <span class="cstat-no" title="statement not covered" > return result;</span>
2609
- }
2610
- export function <span class="fstat-no" title="function not covered" >formatFrontEndVariables(</span>frontEndVariables: Array&lt;Variable&gt;) {
2611
- const result = <span class="cstat-no" title="statement not covered" >frontEndVariables.map(<span class="fstat-no" title="function not covered" >(i</span>temNode) =&gt; {</span>
2612
- const namespace = <span class="cstat-no" title="statement not covered" >itemNode.getNamespace();</span>
2613
- const newItem: any = <span class="cstat-no" title="statement not covered" >{</span>
2614
- name: itemNode.name,
2615
- value: itemNode.name,
2616
- expression: new Identifier({
2617
- name: itemNode.name,
2618
- namespace,
2619
- }),
2620
- };
2621
- const noChildType = <span class="cstat-no" title="statement not covered" >isNoChildType(itemNode.typeAnnotation?.typeKey);</span>
2622
- &nbsp;
2623
- <span class="cstat-no" title="statement not covered" > if (!noChildType) {</span>
2624
- <span class="cstat-no" title="statement not covered" > nextFindTypeChild(itemNode.typeAnnotation.typeKey, newItem, itemNode);</span>
2625
- }
2626
- const completionProperty = <span class="cstat-no" title="statement not covered" >new CompletionProperty(newItem);</span>
2627
- <span class="cstat-no" title="statement not covered" > completionProperty.icon = 'frontendVariable';</span>
2628
- <span class="cstat-no" title="statement not covered" > return completionProperty;</span>
2629
- });
2630
- <span class="cstat-no" title="statement not covered" > return result;</span>
2631
- }
2632
- &nbsp;
2633
- export function <span class="fstat-no" title="function not covered" >formatConfigProperties(</span>configProperties: Array&lt;ConfigProperty&gt;, isView: Boolean) {
2634
- const result = <span class="cstat-no" title="statement not covered" >configProperties.reduce(<span class="fstat-no" title="function not covered" >(p</span>re: any, item) =&gt; {</span>
2635
- const { isPrivate = <span class="branch-0 cbranch-no" title="branch not covered" >false </span>} = <span class="cstat-no" title="statement not covered" >item;</span>
2636
- &nbsp;
2637
- <span class="cstat-no" title="statement not covered" > if (!isPrivate || !isView) {</span>
2638
- const namespace = <span class="cstat-no" title="statement not covered" >item.getNamespace();</span>
2639
- const newItem: any = <span class="cstat-no" title="statement not covered" >{</span>
2640
- name: item.name,
2641
- value: item.name,
2642
- expression: new Identifier({
2643
- name: item.name,
2644
- namespace,
2645
- }),
2646
- icon: 'configProperty',
2647
- calleewholeKey: item.calleewholeKey,
2648
- };
2649
- &nbsp;
2650
- <span class="cstat-no" title="statement not covered" > pre.push(newItem);</span>
2651
- }
2652
- <span class="cstat-no" title="statement not covered" > return pre;</span>
2653
- }, []);
2654
- // const result = configProperties.map((item) =&gt; {
2655
- // const namespace = item.getNamespace();
2656
- // const newItem: any = {
2657
- // name: item.name,
2658
- // value: item.name,
2659
- // expression: new Identifier({
2660
- // name: item.name,
2661
- // namespace,
2662
- // }),
2663
- // icon: 'configProperty',
2664
- // calleewholeKey: item.calleewholeKey,
2665
- // };
2666
- // return newItem;
2667
- // });
2668
- <span class="cstat-no" title="statement not covered" > return result;</span>
2669
- }
2670
- &nbsp;</pre></td></tr></table></pre>
2671
-
2672
- <div class='push'></div><!-- for sticky footer -->
2673
- </div><!-- /wrapper -->
2674
- <div class='footer quiet pad2 space-top1 center small'>
2675
- Code coverage generated by
2676
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2677
- at 2023-10-19T09:18:56.902Z
2678
- </div>
2679
- <script src="../../prettify.js"></script>
2680
- <script>
2681
- window.onload = function () {
2682
- prettyPrint();
2683
- };
2684
- </script>
2685
- <script src="../../sorter.js"></script>
2686
- <script src="../../block-navigation.js"></script>
2687
- </body>
2688
- </html>
2689
-