@lcap/nasl 3.6.0-alpha.6 → 3.6.0-alpha.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 (1285) hide show
  1. package/package.json +1 -1
  2. package/sandbox/stdlib/nasl.core.ts +2 -0
  3. package/sandbox/stdlib/nasl.ui.components.h5.ts +1733 -0
  4. package/sandbox/stdlib/nasl.ui.components.pc.ts +3479 -0
  5. package/sandbox/stdlib/nasl.ui.definition.ts +40 -2693
  6. package/sandbox/stdlib/nasl.ui.ts +2 -1
  7. package/src/automate/template/myProcess.js +65 -65
  8. package/src/bak/translator.js +71 -28
  9. package/src/common/ComponentAPI.ts +6 -3
  10. package/src/concepts/App__.ts +1 -1
  11. package/src/concepts/BindAttribute__.ts +171 -91
  12. package/src/concepts/BindDirective__.ts +38 -12
  13. package/src/concepts/BindEvent__.ts +9 -2
  14. package/src/concepts/BindStyle__.ts +25 -2
  15. package/src/concepts/BusinessComponent__.ts +56 -30
  16. package/src/concepts/CallLogic__.ts +14 -5
  17. package/src/concepts/Identifier__.ts +2 -2
  18. package/src/concepts/MemberExpression__.ts +59 -23
  19. package/src/concepts/ViewElement__.ts +456 -193
  20. package/src/concepts/View__.ts +466 -85
  21. package/src/server/createUiTs.ts +120 -154
  22. package/src/server/getLogics.ts +2 -1
  23. package/src/server/getMemberIdentifier.ts +75 -5
  24. package/src/server/naslServer.ts +47 -16
  25. package/src/templator/genCreateBlock.ts +16 -16
  26. package/src/templator/genCurdEditMultipleKeyBlock.ts +22 -22
  27. package/src/templator/genCurdMultipleKeyBlock.ts +22 -22
  28. package/src/templator/genEditTableBlock.ts +15 -15
  29. package/src/templator/genEnumSelectBlock.ts +8 -8
  30. package/src/templator/genGridViewBlock.ts +11 -11
  31. package/src/templator/genListViewBlock.ts +10 -10
  32. package/src/templator/genSelectBlock.ts +10 -10
  33. package/src/templator/genTableBlock.ts +7 -9
  34. package/src/templator/genUpdateBlock.ts +15 -15
  35. package/src/translator/types.ts +1 -0
  36. package/src/utils/string.ts +14 -0
  37. package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +4 -5
  38. package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  39. package/test/concepts/member-expression/__snapshots__/toEmbeddedTS.spec.ts.snap +1 -1
  40. package/test/concepts/member-expression/__snapshots__/toJS.spec.ts.snap +1 -1
  41. package/test/concepts/member-expression/__snapshots__/toVue.spec.ts.snap +1 -1
  42. package/test/concepts/member-expression/fixtures/elements.table-view.data.json +352 -10
  43. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +524 -629
  44. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +9 -1
  45. package/test/concepts/view-element/toEmbeddedTS.spec.ts +11 -0
  46. package/ts-worker/src/start.js +3 -0
  47. package/.nyc_output/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +0 -1
  48. package/.nyc_output/processinfo/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +0 -1
  49. package/.nyc_output/processinfo/index.json +0 -1
  50. package/coverage/base.css +0 -224
  51. package/coverage/block-navigation.js +0 -87
  52. package/coverage/cobertura-coverage.xml +0 -6417
  53. package/coverage/favicon.png +0 -0
  54. package/coverage/index.html +0 -506
  55. package/coverage/prettify.css +0 -1
  56. package/coverage/prettify.js +0 -2
  57. package/coverage/sort-arrow-sprite.png +0 -0
  58. package/coverage/sorter.js +0 -196
  59. package/coverage/src/automate/engine/index.html +0 -116
  60. package/coverage/src/automate/engine/utils.js.html +0 -1414
  61. package/coverage/src/bak/index.html +0 -116
  62. package/coverage/src/bak/translator.js.html +0 -667
  63. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +0 -175
  64. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +0 -169
  65. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +0 -1246
  66. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +0 -145
  67. package/coverage/src/breakpoint/generator/index.html +0 -176
  68. package/coverage/src/breakpoint/generator/index.ts.html +0 -508
  69. package/coverage/src/breakpoint/index.html +0 -116
  70. package/coverage/src/breakpoint/index.ts.html +0 -94
  71. package/coverage/src/breakpoint/shared/constants.ts.html +0 -436
  72. package/coverage/src/breakpoint/shared/index.html +0 -176
  73. package/coverage/src/breakpoint/shared/index.ts.html +0 -94
  74. package/coverage/src/breakpoint/shared/operations.ts.html +0 -160
  75. package/coverage/src/breakpoint/shared/socket.ts.html +0 -1297
  76. package/coverage/src/breakpoint/shared/utils.ts.html +0 -1087
  77. package/coverage/src/breakpoint/store/core.ts.html +0 -1600
  78. package/coverage/src/breakpoint/store/dock.ts.html +0 -733
  79. package/coverage/src/breakpoint/store/index.html +0 -146
  80. package/coverage/src/breakpoint/store/index.ts.html +0 -91
  81. package/coverage/src/common/BaseNode.ts.html +0 -4711
  82. package/coverage/src/common/Command.ts.html +0 -310
  83. package/coverage/src/common/EventEmitter.ts.html +0 -388
  84. package/coverage/src/common/Messager.ts.html +0 -820
  85. package/coverage/src/common/asyncFuncMap.ts.html +0 -127
  86. package/coverage/src/common/index.html +0 -206
  87. package/coverage/src/common/index.ts.html +0 -97
  88. package/coverage/src/common/utils.ts.html +0 -136
  89. package/coverage/src/concepts/Abort__.ts.html +0 -364
  90. package/coverage/src/concepts/AbstractInterface__.ts.html +0 -277
  91. package/coverage/src/concepts/Anchor__.ts.html +0 -712
  92. package/coverage/src/concepts/AnonymousFunction__.ts.html +0 -2140
  93. package/coverage/src/concepts/App__.ts.html +0 -14650
  94. package/coverage/src/concepts/Argument__.ts.html +0 -964
  95. package/coverage/src/concepts/Assignee__.ts.html +0 -2395
  96. package/coverage/src/concepts/AssignmentLine__.ts.html +0 -469
  97. package/coverage/src/concepts/Assignment__.ts.html +0 -1219
  98. package/coverage/src/concepts/Attribute__.ts.html +0 -922
  99. package/coverage/src/concepts/AuthInterface__.ts.html +0 -361
  100. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +0 -1999
  101. package/coverage/src/concepts/AuthLogic__.ts.html +0 -796
  102. package/coverage/src/concepts/BackendVariable__.ts.html +0 -1789
  103. package/coverage/src/concepts/Backend__.ts.html +0 -1264
  104. package/coverage/src/concepts/BatchAssignment__.ts.html +0 -3451
  105. package/coverage/src/concepts/BinaryExpression__.ts.html +0 -1549
  106. package/coverage/src/concepts/BindAttribute__.ts.html +0 -4030
  107. package/coverage/src/concepts/BindDirective__.ts.html +0 -2065
  108. package/coverage/src/concepts/BindEvent__.ts.html +0 -3538
  109. package/coverage/src/concepts/BindStyle__.ts.html +0 -1693
  110. package/coverage/src/concepts/Block__.ts.html +0 -907
  111. package/coverage/src/concepts/BooleanLiteral__.ts.html +0 -448
  112. package/coverage/src/concepts/CallAuthInterface__.ts.html +0 -1756
  113. package/coverage/src/concepts/CallConnector__.ts.html +0 -961
  114. package/coverage/src/concepts/CallFunction__.ts.html +0 -2287
  115. package/coverage/src/concepts/CallInterface__.ts.html +0 -2815
  116. package/coverage/src/concepts/CallLogic__.ts.html +0 -4915
  117. package/coverage/src/concepts/CallQueryComponent__.ts.html +0 -5461
  118. package/coverage/src/concepts/Comment__.ts.html +0 -430
  119. package/coverage/src/concepts/CompletionProperty__.ts.html +0 -946
  120. package/coverage/src/concepts/ConfigGroup__.ts.html +0 -1153
  121. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +0 -430
  122. package/coverage/src/concepts/ConfigProperty__.ts.html +0 -1420
  123. package/coverage/src/concepts/Configuration__.ts.html +0 -1078
  124. package/coverage/src/concepts/Connection__.ts.html +0 -1450
  125. package/coverage/src/concepts/ConnectorTrigger__.ts.html +0 -598
  126. package/coverage/src/concepts/Connector__.ts.html +0 -7144
  127. package/coverage/src/concepts/Constant__.ts.html +0 -1213
  128. package/coverage/src/concepts/CountersignPolicy__.ts.html +0 -319
  129. package/coverage/src/concepts/DataSource__.ts.html +0 -1840
  130. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +0 -337
  131. package/coverage/src/concepts/DefaultValue__.ts.html +0 -1024
  132. package/coverage/src/concepts/Destination__.ts.html +0 -2800
  133. package/coverage/src/concepts/End__.ts.html +0 -469
  134. package/coverage/src/concepts/EntityIndex__.ts.html +0 -823
  135. package/coverage/src/concepts/EntityProperty__.ts.html +0 -2950
  136. package/coverage/src/concepts/Entity__.ts.html +0 -3115
  137. package/coverage/src/concepts/EnumItem__.ts.html +0 -583
  138. package/coverage/src/concepts/Enum__.ts.html +0 -1306
  139. package/coverage/src/concepts/Event__.ts.html +0 -1120
  140. package/coverage/src/concepts/ExternalDestination__.ts.html +0 -1099
  141. package/coverage/src/concepts/ForEachStatement__.ts.html +0 -2044
  142. package/coverage/src/concepts/FrontendLibrary__.ts.html +0 -1795
  143. package/coverage/src/concepts/FrontendVariable__.ts.html +0 -349
  144. package/coverage/src/concepts/Frontend__.ts.html +0 -4684
  145. package/coverage/src/concepts/Function__.ts.html +0 -3823
  146. package/coverage/src/concepts/I18nInfo__.ts.html +0 -424
  147. package/coverage/src/concepts/Identifier__.ts.html +0 -1087
  148. package/coverage/src/concepts/IfStatement__.ts.html +0 -1693
  149. package/coverage/src/concepts/ImportedInterface__.ts.html +0 -262
  150. package/coverage/src/concepts/Integration__.ts.html +0 -1303
  151. package/coverage/src/concepts/InterfaceParam__.ts.html +0 -1321
  152. package/coverage/src/concepts/Interface__.ts.html +0 -3535
  153. package/coverage/src/concepts/JSBlock__.ts.html +0 -454
  154. package/coverage/src/concepts/JavaLogic__.ts.html +0 -490
  155. package/coverage/src/concepts/LogicItem__.ts.html +0 -1249
  156. package/coverage/src/concepts/Logic__.ts.html +0 -7864
  157. package/coverage/src/concepts/MatchCase__.ts.html +0 -3052
  158. package/coverage/src/concepts/Match__.ts.html +0 -2614
  159. package/coverage/src/concepts/MemberExpression__.ts.html +0 -1810
  160. package/coverage/src/concepts/MetadataType__.ts.html +0 -2035
  161. package/coverage/src/concepts/MicroApp__.ts.html +0 -427
  162. package/coverage/src/concepts/Module__.ts.html +0 -9325
  163. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +0 -1093
  164. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +0 -1063
  165. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +0 -301
  166. package/coverage/src/concepts/Namespace__.ts.html +0 -8563
  167. package/coverage/src/concepts/NewComposite__.ts.html +0 -4945
  168. package/coverage/src/concepts/NewList__.ts.html +0 -1798
  169. package/coverage/src/concepts/NewMap__.ts.html +0 -2530
  170. package/coverage/src/concepts/New__.ts.html +0 -325
  171. package/coverage/src/concepts/NullLiteral__.ts.html +0 -382
  172. package/coverage/src/concepts/NumericLiteral__.ts.html +0 -739
  173. package/coverage/src/concepts/OqlQueryComponent__.ts.html +0 -1276
  174. package/coverage/src/concepts/OverriddenLogic__.ts.html +0 -7066
  175. package/coverage/src/concepts/Param__.ts.html +0 -1867
  176. package/coverage/src/concepts/Point__.ts.html +0 -337
  177. package/coverage/src/concepts/ProcessComponent__.ts.html +0 -1744
  178. package/coverage/src/concepts/ProcessElement__.ts.html +0 -6457
  179. package/coverage/src/concepts/ProcessOutcome__.ts.html +0 -427
  180. package/coverage/src/concepts/ProcessOutcomes__.ts.html +0 -430
  181. package/coverage/src/concepts/Process__.ts.html +0 -5119
  182. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +0 -622
  183. package/coverage/src/concepts/QueryFieldExpression__.ts.html +0 -610
  184. package/coverage/src/concepts/QueryFromExpression__.ts.html +0 -982
  185. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +0 -619
  186. package/coverage/src/concepts/QueryJoinExpression__.ts.html +0 -1651
  187. package/coverage/src/concepts/QueryLimitExpression__.ts.html +0 -706
  188. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +0 -751
  189. package/coverage/src/concepts/QuerySelectExpression__.ts.html +0 -1765
  190. package/coverage/src/concepts/Rect__.ts.html +0 -373
  191. package/coverage/src/concepts/Return__.ts.html +0 -1549
  192. package/coverage/src/concepts/Role__.ts.html +0 -631
  193. package/coverage/src/concepts/SelectMembers__.ts.html +0 -1330
  194. package/coverage/src/concepts/SequentialPolicy__.ts.html +0 -265
  195. package/coverage/src/concepts/Slot__.ts.html +0 -652
  196. package/coverage/src/concepts/SqlQueryComponent__.ts.html +0 -1042
  197. package/coverage/src/concepts/Start__.ts.html +0 -337
  198. package/coverage/src/concepts/StaticString__.ts.html +0 -397
  199. package/coverage/src/concepts/StringInterpolation__.ts.html +0 -1237
  200. package/coverage/src/concepts/StringLiteral__.ts.html +0 -616
  201. package/coverage/src/concepts/StructureProperty__.ts.html +0 -1360
  202. package/coverage/src/concepts/Structure__.ts.html +0 -2287
  203. package/coverage/src/concepts/SwitchCase__.ts.html +0 -1249
  204. package/coverage/src/concepts/SwitchStatement__.ts.html +0 -955
  205. package/coverage/src/concepts/Theme__.ts.html +0 -370
  206. package/coverage/src/concepts/Transactional__.ts.html +0 -631
  207. package/coverage/src/concepts/TriggerEvent__.ts.html +0 -595
  208. package/coverage/src/concepts/TriggerLauncher__.ts.html +0 -805
  209. package/coverage/src/concepts/TypeAnnotation__.ts.html +0 -4051
  210. package/coverage/src/concepts/TypeParam__.ts.html +0 -355
  211. package/coverage/src/concepts/UnaryExpression__.ts.html +0 -781
  212. package/coverage/src/concepts/Unparsed__.ts.html +0 -424
  213. package/coverage/src/concepts/UseComponent__.ts.html +0 -337
  214. package/coverage/src/concepts/ValidationRule__.ts.html +0 -1978
  215. package/coverage/src/concepts/Variable__.ts.html +0 -1813
  216. package/coverage/src/concepts/ViewBlock__.ts.html +0 -355
  217. package/coverage/src/concepts/ViewComponent__.ts.html +0 -4417
  218. package/coverage/src/concepts/ViewElement__.ts.html +0 -9199
  219. package/coverage/src/concepts/View__.ts.html +0 -9466
  220. package/coverage/src/concepts/WhileStatement__.ts.html +0 -1159
  221. package/coverage/src/concepts/basics/constants.ts.html +0 -88
  222. package/coverage/src/concepts/basics/index.html +0 -116
  223. package/coverage/src/concepts/basics/stdlib/index.html +0 -356
  224. package/coverage/src/concepts/basics/stdlib/index.ts.html +0 -346
  225. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +0 -619
  226. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +0 -550
  227. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +0 -271
  228. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +0 -271
  229. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +0 -232
  230. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +0 -175
  231. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +0 -625
  232. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +0 -247
  233. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +0 -259
  234. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +0 -271
  235. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +0 -2047
  236. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +0 -3316
  237. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +0 -6949
  238. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +0 -1801
  239. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +0 -151
  240. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +0 -664
  241. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +0 -121
  242. package/coverage/src/concepts/basics/types/index.html +0 -131
  243. package/coverage/src/concepts/basics/types/index.ts.html +0 -160
  244. package/coverage/src/concepts/index.html +0 -2111
  245. package/coverage/src/concepts/index.ts.html +0 -127
  246. package/coverage/src/concepts/index__.ts.html +0 -481
  247. package/coverage/src/concepts/utils/asserts.ts.html +0 -28675
  248. package/coverage/src/concepts/utils/index.html +0 -131
  249. package/coverage/src/concepts/utils/types.ts.html +0 -2092
  250. package/coverage/src/config.ts.html +0 -325
  251. package/coverage/src/decorators/index.html +0 -131
  252. package/coverage/src/decorators/index.ts.html +0 -754
  253. package/coverage/src/decorators/promise.ts.html +0 -169
  254. package/coverage/src/eventBus.ts.html +0 -100
  255. package/coverage/src/generator/compileComponent.ts.html +0 -142
  256. package/coverage/src/generator/genBundleFiles.ts.html +0 -2056
  257. package/coverage/src/generator/genHash.ts.html +0 -124
  258. package/coverage/src/generator/genMetaData.ts.html +0 -1273
  259. package/coverage/src/generator/genReleaseBody.ts.html +0 -1297
  260. package/coverage/src/generator/icestark.ts.html +0 -226
  261. package/coverage/src/generator/index.html +0 -266
  262. package/coverage/src/generator/index.ts.html +0 -106
  263. package/coverage/src/generator/microApp.ts.html +0 -172
  264. package/coverage/src/generator/permission.ts.html +0 -1108
  265. package/coverage/src/generator/qiankun.ts.html +0 -238
  266. package/coverage/src/generator/styleReplacer.ts.html +0 -199
  267. package/coverage/src/index.html +0 -146
  268. package/coverage/src/index.ts.html +0 -124
  269. package/coverage/src/manager/diagnostic.ts.html +0 -439
  270. package/coverage/src/manager/index.html +0 -131
  271. package/coverage/src/manager/stepRecorder.ts.html +0 -457
  272. package/coverage/src/natural/genNaturalTS.ts.html +0 -355
  273. package/coverage/src/natural/index.html +0 -161
  274. package/coverage/src/natural/index.ts.html +0 -91
  275. package/coverage/src/natural/naslStdlibMap.ts.html +0 -157
  276. package/coverage/src/natural/transformTSCode.ts.html +0 -2707
  277. package/coverage/src/sentry/index.html +0 -116
  278. package/coverage/src/sentry/index.ts.html +0 -682
  279. package/coverage/src/server/createUiTs.ts.html +0 -919
  280. package/coverage/src/server/entity2LogicNamespace.ts.html +0 -1294
  281. package/coverage/src/server/event.js.html +0 -526
  282. package/coverage/src/server/extendBaseNode.ts.html +0 -1804
  283. package/coverage/src/server/formatTsUtils.ts.html +0 -2692
  284. package/coverage/src/server/getConnector.ts.html +0 -388
  285. package/coverage/src/server/getExtensionModules.ts.html +0 -178
  286. package/coverage/src/server/getFunctions.ts.html +0 -133
  287. package/coverage/src/server/getInterfaces.ts.html +0 -229
  288. package/coverage/src/server/getLogging.ts.html +0 -100
  289. package/coverage/src/server/getLogics.ts.html +0 -1411
  290. package/coverage/src/server/getMemberIdentifier.ts.html +0 -1756
  291. package/coverage/src/server/getProcessComponents.ts.html +0 -112
  292. package/coverage/src/server/getProcesses.ts.html +0 -2173
  293. package/coverage/src/server/getValidates.ts.html +0 -118
  294. package/coverage/src/server/index.html +0 -401
  295. package/coverage/src/server/index.ts.html +0 -232
  296. package/coverage/src/server/naslServer.ts.html +0 -15064
  297. package/coverage/src/server/naslStdlibMap.ts.html +0 -241
  298. package/coverage/src/server/process2LogicNamespace.ts.html +0 -454
  299. package/coverage/src/server/translator.ts.html +0 -2611
  300. package/coverage/src/service/creator/add.configs.js.html +0 -397
  301. package/coverage/src/service/creator/errHandles.js.html +0 -313
  302. package/coverage/src/service/creator/index.html +0 -146
  303. package/coverage/src/service/creator/index.js.html +0 -352
  304. package/coverage/src/service/datasource/api.js.html +0 -118
  305. package/coverage/src/service/datasource/index.html +0 -131
  306. package/coverage/src/service/datasource/index.js.html +0 -103
  307. package/coverage/src/service/logic/api.js.html +0 -109
  308. package/coverage/src/service/logic/index.html +0 -131
  309. package/coverage/src/service/logic/index.js.html +0 -103
  310. package/coverage/src/service/storage/api.js.html +0 -202
  311. package/coverage/src/service/storage/index.html +0 -206
  312. package/coverage/src/service/storage/index.ts.html +0 -103
  313. package/coverage/src/service/storage/init.ts.html +0 -3895
  314. package/coverage/src/service/storage/jsoner.ts.html +0 -565
  315. package/coverage/src/service/storage/map.ts.html +0 -256
  316. package/coverage/src/service/storage/service.ts.html +0 -331
  317. package/coverage/src/service/storage/storagePoint.ts.html +0 -304
  318. package/coverage/src/templator/genCallComponentLogic.ts.html +0 -163
  319. package/coverage/src/templator/genCreateBlock.ts.html +0 -1153
  320. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +0 -1609
  321. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +0 -2236
  322. package/coverage/src/templator/genEditTableBlock.ts.html +0 -1018
  323. package/coverage/src/templator/genEnumSelectBlock.ts.html +0 -259
  324. package/coverage/src/templator/genGetBlock.ts.html +0 -451
  325. package/coverage/src/templator/genGridViewBlock.ts.html +0 -1114
  326. package/coverage/src/templator/genListViewBlock.ts.html +0 -475
  327. package/coverage/src/templator/genQueryComponent.ts.html +0 -1207
  328. package/coverage/src/templator/genSelectBlock.ts.html +0 -1324
  329. package/coverage/src/templator/genTableBlock.ts.html +0 -973
  330. package/coverage/src/templator/genUpdateBlock.ts.html +0 -1276
  331. package/coverage/src/templator/index.html +0 -326
  332. package/coverage/src/templator/index.ts.html +0 -154
  333. package/coverage/src/templator/utils.ts.html +0 -1924
  334. package/coverage/src/translator/constant.ts.html +0 -106
  335. package/coverage/src/translator/index.html +0 -161
  336. package/coverage/src/translator/index.ts.html +0 -94
  337. package/coverage/src/translator/types.ts.html +0 -256
  338. package/coverage/src/translator/utils.ts.html +0 -817
  339. package/coverage/src/utils/cookie.ts.html +0 -265
  340. package/coverage/src/utils/env.ts.html +0 -91
  341. package/coverage/src/utils/i18nInfo.ts.html +0 -166
  342. package/coverage/src/utils/index.html +0 -251
  343. package/coverage/src/utils/index.ts.html +0 -697
  344. package/coverage/src/utils/logger.ts.html +0 -145
  345. package/coverage/src/utils/sortTsString.ts.html +0 -202
  346. package/coverage/src/utils/string.ts.html +0 -502
  347. package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
  348. package/coverage/src/utils/time-slicing/controller.ts.html +0 -1144
  349. package/coverage/src/utils/time-slicing/index.html +0 -236
  350. package/coverage/src/utils/time-slicing/index.ts.html +0 -103
  351. package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
  352. package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
  353. package/coverage/src/utils/time-slicing/runner.ts.html +0 -241
  354. package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
  355. package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
  356. package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
  357. package/coverage/src/utils/time-slicing.ts.html +0 -418
  358. package/coverage/src/utils/traverse.ts.html +0 -568
  359. package/coverage/src/utils/types.ts.html +0 -133
  360. package/coverage/src/utils/window.ts.html +0 -112
  361. package/out/automate/engine/index.d.ts +0 -4
  362. package/out/automate/engine/index.js +0 -443
  363. package/out/automate/engine/index.js.map +0 -1
  364. package/out/automate/engine/operators.d.ts +0 -26
  365. package/out/automate/engine/operators.js +0 -364
  366. package/out/automate/engine/operators.js.map +0 -1
  367. package/out/automate/engine/uniqueName.d.ts +0 -12
  368. package/out/automate/engine/uniqueName.js +0 -116
  369. package/out/automate/engine/uniqueName.js.map +0 -1
  370. package/out/automate/engine/utils.d.ts +0 -25
  371. package/out/automate/engine/utils.js +0 -440
  372. package/out/automate/engine/utils.js.map +0 -1
  373. package/out/automate/engine/viewCache.d.ts +0 -19
  374. package/out/automate/engine/viewCache.js +0 -45
  375. package/out/automate/engine/viewCache.js.map +0 -1
  376. package/out/automate/template/myProcess.d.ts +0 -10
  377. package/out/automate/template/myProcess.js +0 -11502
  378. package/out/automate/template/myProcess.js.map +0 -1
  379. package/out/automate/upgrader/2.12.d.ts +0 -7
  380. package/out/automate/upgrader/2.12.js +0 -63
  381. package/out/automate/upgrader/2.12.js.map +0 -1
  382. package/out/automate/upgrader/2.14-components.d.ts +0 -1115
  383. package/out/automate/upgrader/2.14-components.js +0 -1087
  384. package/out/automate/upgrader/2.14-components.js.map +0 -1
  385. package/out/automate/upgrader/2.14.d.ts +0 -10
  386. package/out/automate/upgrader/2.14.js +0 -236
  387. package/out/automate/upgrader/2.14.js.map +0 -1
  388. package/out/automate/upgrader/2.14.old.d.ts +0 -1
  389. package/out/automate/upgrader/2.14.old.js +0 -125
  390. package/out/automate/upgrader/2.14.old.js.map +0 -1
  391. package/out/automate/upgrader/2.16.d.ts +0 -10
  392. package/out/automate/upgrader/2.16.js +0 -75
  393. package/out/automate/upgrader/2.16.js.map +0 -1
  394. package/out/automate/upgrader/2.17.d.ts +0 -21
  395. package/out/automate/upgrader/2.17.js +0 -557
  396. package/out/automate/upgrader/2.17.js.map +0 -1
  397. package/out/automate/upgrader/2.18.d.ts +0 -10
  398. package/out/automate/upgrader/2.18.js +0 -107
  399. package/out/automate/upgrader/2.18.js.map +0 -1
  400. package/out/automate/upgrader/2.20.d.ts +0 -17
  401. package/out/automate/upgrader/2.20.js +0 -68
  402. package/out/automate/upgrader/2.20.js.map +0 -1
  403. package/out/bak/translator.d.ts +0 -1
  404. package/out/bak/translator.js +0 -265
  405. package/out/bak/translator.js.map +0 -1
  406. package/out/breakpoint/generator/AfterStartNode.d.ts +0 -7
  407. package/out/breakpoint/generator/AfterStartNode.js +0 -30
  408. package/out/breakpoint/generator/AfterStartNode.js.map +0 -1
  409. package/out/breakpoint/generator/BeforeEndNode.d.ts +0 -7
  410. package/out/breakpoint/generator/BeforeEndNode.js +0 -28
  411. package/out/breakpoint/generator/BeforeEndNode.js.map +0 -1
  412. package/out/breakpoint/generator/BreakpointNode.d.ts +0 -18
  413. package/out/breakpoint/generator/BreakpointNode.js +0 -293
  414. package/out/breakpoint/generator/BreakpointNode.js.map +0 -1
  415. package/out/breakpoint/generator/CallbackNode.d.ts +0 -4
  416. package/out/breakpoint/generator/CallbackNode.js +0 -37
  417. package/out/breakpoint/generator/CallbackNode.js.map +0 -1
  418. package/out/breakpoint/generator/FragmentNode.d.ts +0 -4
  419. package/out/breakpoint/generator/FragmentNode.js +0 -18
  420. package/out/breakpoint/generator/FragmentNode.js.map +0 -1
  421. package/out/breakpoint/generator/index.d.ts +0 -4
  422. package/out/breakpoint/generator/index.js +0 -119
  423. package/out/breakpoint/generator/index.js.map +0 -1
  424. package/out/breakpoint/index.d.ts +0 -3
  425. package/out/breakpoint/index.js +0 -20
  426. package/out/breakpoint/index.js.map +0 -1
  427. package/out/breakpoint/shared/constants.d.ts +0 -37
  428. package/out/breakpoint/shared/constants.js +0 -108
  429. package/out/breakpoint/shared/constants.js.map +0 -1
  430. package/out/breakpoint/shared/index.d.ts +0 -3
  431. package/out/breakpoint/shared/index.js +0 -33
  432. package/out/breakpoint/shared/index.js.map +0 -1
  433. package/out/breakpoint/shared/operations.d.ts +0 -10
  434. package/out/breakpoint/shared/operations.js +0 -25
  435. package/out/breakpoint/shared/operations.js.map +0 -1
  436. package/out/breakpoint/shared/socket.d.ts +0 -48
  437. package/out/breakpoint/shared/socket.js +0 -257
  438. package/out/breakpoint/shared/socket.js.map +0 -1
  439. package/out/breakpoint/shared/utils.d.ts +0 -27
  440. package/out/breakpoint/shared/utils.js +0 -217
  441. package/out/breakpoint/shared/utils.js.map +0 -1
  442. package/out/breakpoint/store/core.d.ts +0 -80
  443. package/out/breakpoint/store/core.js +0 -416
  444. package/out/breakpoint/store/core.js.map +0 -1
  445. package/out/breakpoint/store/dock.d.ts +0 -1
  446. package/out/breakpoint/store/dock.js +0 -160
  447. package/out/breakpoint/store/dock.js.map +0 -1
  448. package/out/breakpoint/store/index.d.ts +0 -2
  449. package/out/breakpoint/store/index.js +0 -19
  450. package/out/breakpoint/store/index.js.map +0 -1
  451. package/out/common/BaseNode.d.ts +0 -377
  452. package/out/common/BaseNode.js +0 -1432
  453. package/out/common/BaseNode.js.map +0 -1
  454. package/out/common/Command.d.ts +0 -21
  455. package/out/common/Command.js +0 -79
  456. package/out/common/Command.js.map +0 -1
  457. package/out/common/ComponentAPI.d.ts +0 -110
  458. package/out/common/ComponentAPI.js +0 -3
  459. package/out/common/ComponentAPI.js.map +0 -1
  460. package/out/common/EventEmitter.d.ts +0 -61
  461. package/out/common/EventEmitter.js +0 -71
  462. package/out/common/EventEmitter.js.map +0 -1
  463. package/out/common/Messager.d.ts +0 -91
  464. package/out/common/Messager.js +0 -205
  465. package/out/common/Messager.js.map +0 -1
  466. package/out/common/asyncFuncMap.d.ts +0 -2
  467. package/out/common/asyncFuncMap.js +0 -16
  468. package/out/common/asyncFuncMap.js.map +0 -1
  469. package/out/common/index.d.ts +0 -4
  470. package/out/common/index.js +0 -21
  471. package/out/common/index.js.map +0 -1
  472. package/out/common/utils.d.ts +0 -2
  473. package/out/common/utils.js +0 -18
  474. package/out/common/utils.js.map +0 -1
  475. package/out/concepts/Abort__.d.ts +0 -28
  476. package/out/concepts/Abort__.js +0 -80
  477. package/out/concepts/Abort__.js.map +0 -1
  478. package/out/concepts/AbstractInterface__.d.ts +0 -22
  479. package/out/concepts/AbstractInterface__.js +0 -56
  480. package/out/concepts/AbstractInterface__.js.map +0 -1
  481. package/out/concepts/Anchor__.d.ts +0 -48
  482. package/out/concepts/Anchor__.js +0 -200
  483. package/out/concepts/Anchor__.js.map +0 -1
  484. package/out/concepts/AnonymousFunction__.d.ts +0 -180
  485. package/out/concepts/AnonymousFunction__.js +0 -555
  486. package/out/concepts/AnonymousFunction__.js.map +0 -1
  487. package/out/concepts/App__.d.ts +0 -1818
  488. package/out/concepts/App__.js +0 -2983
  489. package/out/concepts/App__.js.map +0 -1
  490. package/out/concepts/Argument__.d.ts +0 -70
  491. package/out/concepts/Argument__.js +0 -270
  492. package/out/concepts/Argument__.js.map +0 -1
  493. package/out/concepts/Assignee__.d.ts +0 -291
  494. package/out/concepts/Assignee__.js +0 -461
  495. package/out/concepts/Assignee__.js.map +0 -1
  496. package/out/concepts/AssignmentLine__.d.ts +0 -44
  497. package/out/concepts/AssignmentLine__.js +0 -114
  498. package/out/concepts/AssignmentLine__.js.map +0 -1
  499. package/out/concepts/Assignment__.d.ts +0 -77
  500. package/out/concepts/Assignment__.js +0 -338
  501. package/out/concepts/Assignment__.js.map +0 -1
  502. package/out/concepts/Attribute__.d.ts +0 -112
  503. package/out/concepts/Attribute__.js +0 -208
  504. package/out/concepts/Attribute__.js.map +0 -1
  505. package/out/concepts/AuthInterface__.d.ts +0 -38
  506. package/out/concepts/AuthInterface__.js +0 -74
  507. package/out/concepts/AuthInterface__.js.map +0 -1
  508. package/out/concepts/AuthLogicForCallInterface__.d.ts +0 -141
  509. package/out/concepts/AuthLogicForCallInterface__.js +0 -514
  510. package/out/concepts/AuthLogicForCallInterface__.js.map +0 -1
  511. package/out/concepts/AuthLogic__.d.ts +0 -69
  512. package/out/concepts/AuthLogic__.js +0 -210
  513. package/out/concepts/AuthLogic__.js.map +0 -1
  514. package/out/concepts/BackendVariable__.d.ts +0 -145
  515. package/out/concepts/BackendVariable__.js +0 -502
  516. package/out/concepts/BackendVariable__.js.map +0 -1
  517. package/out/concepts/Backend__.d.ts +0 -134
  518. package/out/concepts/Backend__.js +0 -280
  519. package/out/concepts/Backend__.js.map +0 -1
  520. package/out/concepts/BatchAssignment__.d.ts +0 -255
  521. package/out/concepts/BatchAssignment__.js +0 -881
  522. package/out/concepts/BatchAssignment__.js.map +0 -1
  523. package/out/concepts/BinaryExpression__.d.ts +0 -76
  524. package/out/concepts/BinaryExpression__.js +0 -422
  525. package/out/concepts/BinaryExpression__.js.map +0 -1
  526. package/out/concepts/BindAttribute__.d.ts +0 -330
  527. package/out/concepts/BindAttribute__.js +0 -1074
  528. package/out/concepts/BindAttribute__.js.map +0 -1
  529. package/out/concepts/BindDirective__.d.ts +0 -170
  530. package/out/concepts/BindDirective__.js +0 -555
  531. package/out/concepts/BindDirective__.js.map +0 -1
  532. package/out/concepts/BindEvent__.d.ts +0 -254
  533. package/out/concepts/BindEvent__.js +0 -954
  534. package/out/concepts/BindEvent__.js.map +0 -1
  535. package/out/concepts/BindStyle__.d.ts +0 -142
  536. package/out/concepts/BindStyle__.js +0 -436
  537. package/out/concepts/BindStyle__.js.map +0 -1
  538. package/out/concepts/Block__.d.ts +0 -84
  539. package/out/concepts/Block__.js +0 -215
  540. package/out/concepts/Block__.js.map +0 -1
  541. package/out/concepts/BooleanLiteral__.d.ts +0 -38
  542. package/out/concepts/BooleanLiteral__.js +0 -97
  543. package/out/concepts/BooleanLiteral__.js.map +0 -1
  544. package/out/concepts/BusinessComponent__.d.ts +0 -641
  545. package/out/concepts/BusinessComponent__.js +0 -1921
  546. package/out/concepts/BusinessComponent__.js.map +0 -1
  547. package/out/concepts/BusinessLogic__.d.ts +0 -38
  548. package/out/concepts/BusinessLogic__.js +0 -358
  549. package/out/concepts/BusinessLogic__.js.map +0 -1
  550. package/out/concepts/CallAuthInterface__.d.ts +0 -130
  551. package/out/concepts/CallAuthInterface__.js +0 -438
  552. package/out/concepts/CallAuthInterface__.js.map +0 -1
  553. package/out/concepts/CallConnector__.d.ts +0 -49
  554. package/out/concepts/CallConnector__.js +0 -257
  555. package/out/concepts/CallConnector__.js.map +0 -1
  556. package/out/concepts/CallEvent__.d.ts +0 -101
  557. package/out/concepts/CallEvent__.js +0 -280
  558. package/out/concepts/CallEvent__.js.map +0 -1
  559. package/out/concepts/CallFunction__.d.ts +0 -162
  560. package/out/concepts/CallFunction__.js +0 -600
  561. package/out/concepts/CallFunction__.js.map +0 -1
  562. package/out/concepts/CallInterface__.d.ts +0 -136
  563. package/out/concepts/CallInterface__.js +0 -814
  564. package/out/concepts/CallInterface__.js.map +0 -1
  565. package/out/concepts/CallLogic__.d.ts +0 -235
  566. package/out/concepts/CallLogic__.js +0 -1351
  567. package/out/concepts/CallLogic__.js.map +0 -1
  568. package/out/concepts/CallQueryComponent__.d.ts +0 -435
  569. package/out/concepts/CallQueryComponent__.js +0 -1235
  570. package/out/concepts/CallQueryComponent__.js.map +0 -1
  571. package/out/concepts/Comment__.d.ts +0 -35
  572. package/out/concepts/Comment__.js +0 -94
  573. package/out/concepts/Comment__.js.map +0 -1
  574. package/out/concepts/CompletionProperty__.d.ts +0 -107
  575. package/out/concepts/CompletionProperty__.js +0 -239
  576. package/out/concepts/CompletionProperty__.js.map +0 -1
  577. package/out/concepts/ConfigGroup__.d.ts +0 -127
  578. package/out/concepts/ConfigGroup__.js +0 -258
  579. package/out/concepts/ConfigGroup__.js.map +0 -1
  580. package/out/concepts/ConfigPropertyValue__.d.ts +0 -47
  581. package/out/concepts/ConfigPropertyValue__.js +0 -93
  582. package/out/concepts/ConfigPropertyValue__.js.map +0 -1
  583. package/out/concepts/ConfigProperty__.d.ts +0 -153
  584. package/out/concepts/ConfigProperty__.js +0 -321
  585. package/out/concepts/ConfigProperty__.js.map +0 -1
  586. package/out/concepts/Configuration__.d.ts +0 -126
  587. package/out/concepts/Configuration__.js +0 -236
  588. package/out/concepts/Configuration__.js.map +0 -1
  589. package/out/concepts/Connection__.d.ts +0 -165
  590. package/out/concepts/Connection__.js +0 -330
  591. package/out/concepts/Connection__.js.map +0 -1
  592. package/out/concepts/ConnectorTrigger__.d.ts +0 -81
  593. package/out/concepts/ConnectorTrigger__.js +0 -138
  594. package/out/concepts/ConnectorTrigger__.js.map +0 -1
  595. package/out/concepts/Connector__.d.ts +0 -929
  596. package/out/concepts/Connector__.js +0 -1343
  597. package/out/concepts/Connector__.js.map +0 -1
  598. package/out/concepts/Constant__.d.ts +0 -121
  599. package/out/concepts/Constant__.js +0 -331
  600. package/out/concepts/Constant__.js.map +0 -1
  601. package/out/concepts/CountersignPolicy__.d.ts +0 -28
  602. package/out/concepts/CountersignPolicy__.js +0 -62
  603. package/out/concepts/CountersignPolicy__.js.map +0 -1
  604. package/out/concepts/DataSource__.d.ts +0 -168
  605. package/out/concepts/DataSource__.js +0 -460
  606. package/out/concepts/DataSource__.js.map +0 -1
  607. package/out/concepts/DatabaseTypeAnnotation__.d.ts +0 -34
  608. package/out/concepts/DatabaseTypeAnnotation__.js +0 -65
  609. package/out/concepts/DatabaseTypeAnnotation__.js.map +0 -1
  610. package/out/concepts/DefaultValue__.d.ts +0 -104
  611. package/out/concepts/DefaultValue__.js +0 -242
  612. package/out/concepts/DefaultValue__.js.map +0 -1
  613. package/out/concepts/Destination__.d.ts +0 -160
  614. package/out/concepts/Destination__.js +0 -799
  615. package/out/concepts/Destination__.js.map +0 -1
  616. package/out/concepts/End__.d.ts +0 -27
  617. package/out/concepts/End__.js +0 -115
  618. package/out/concepts/End__.js.map +0 -1
  619. package/out/concepts/EntityIndex__.d.ts +0 -98
  620. package/out/concepts/EntityIndex__.js +0 -201
  621. package/out/concepts/EntityIndex__.js.map +0 -1
  622. package/out/concepts/EntityProperty__.d.ts +0 -293
  623. package/out/concepts/EntityProperty__.js +0 -824
  624. package/out/concepts/EntityProperty__.js.map +0 -1
  625. package/out/concepts/Entity__.d.ts +0 -339
  626. package/out/concepts/Entity__.js +0 -764
  627. package/out/concepts/Entity__.js.map +0 -1
  628. package/out/concepts/EnumItem__.d.ts +0 -67
  629. package/out/concepts/EnumItem__.js +0 -131
  630. package/out/concepts/EnumItem__.js.map +0 -1
  631. package/out/concepts/Enum__.d.ts +0 -138
  632. package/out/concepts/Enum__.js +0 -321
  633. package/out/concepts/Enum__.js.map +0 -1
  634. package/out/concepts/Event__.d.ts +0 -160
  635. package/out/concepts/Event__.js +0 -294
  636. package/out/concepts/Event__.js.map +0 -1
  637. package/out/concepts/ExternalDestination__.d.ts +0 -78
  638. package/out/concepts/ExternalDestination__.js +0 -309
  639. package/out/concepts/ExternalDestination__.js.map +0 -1
  640. package/out/concepts/ForEachStatement__.d.ts +0 -173
  641. package/out/concepts/ForEachStatement__.js +0 -497
  642. package/out/concepts/ForEachStatement__.js.map +0 -1
  643. package/out/concepts/FrontendLibrary__.d.ts +0 -216
  644. package/out/concepts/FrontendLibrary__.js +0 -364
  645. package/out/concepts/FrontendLibrary__.js.map +0 -1
  646. package/out/concepts/FrontendType__.d.ts +0 -308
  647. package/out/concepts/FrontendType__.js +0 -606
  648. package/out/concepts/FrontendType__.js.map +0 -1
  649. package/out/concepts/FrontendVariable__.d.ts +0 -36
  650. package/out/concepts/FrontendVariable__.js +0 -77
  651. package/out/concepts/FrontendVariable__.js.map +0 -1
  652. package/out/concepts/Frontend__.d.ts +0 -420
  653. package/out/concepts/Frontend__.js +0 -915
  654. package/out/concepts/Frontend__.js.map +0 -1
  655. package/out/concepts/Function__.d.ts +0 -420
  656. package/out/concepts/Function__.js +0 -805
  657. package/out/concepts/Function__.js.map +0 -1
  658. package/out/concepts/I18nInfo__.d.ts +0 -46
  659. package/out/concepts/I18nInfo__.js +0 -90
  660. package/out/concepts/I18nInfo__.js.map +0 -1
  661. package/out/concepts/Identifier__.d.ts +0 -59
  662. package/out/concepts/Identifier__.js +0 -326
  663. package/out/concepts/Identifier__.js.map +0 -1
  664. package/out/concepts/IfStatement__.d.ts +0 -161
  665. package/out/concepts/IfStatement__.js +0 -372
  666. package/out/concepts/IfStatement__.js.map +0 -1
  667. package/out/concepts/ImportedInterface__.d.ts +0 -20
  668. package/out/concepts/ImportedInterface__.js +0 -48
  669. package/out/concepts/ImportedInterface__.js.map +0 -1
  670. package/out/concepts/Integration__.d.ts +0 -146
  671. package/out/concepts/Integration__.js +0 -296
  672. package/out/concepts/Integration__.js.map +0 -1
  673. package/out/concepts/InterfaceParam__.d.ts +0 -146
  674. package/out/concepts/InterfaceParam__.js +0 -342
  675. package/out/concepts/InterfaceParam__.js.map +0 -1
  676. package/out/concepts/Interface__.d.ts +0 -328
  677. package/out/concepts/Interface__.js +0 -892
  678. package/out/concepts/Interface__.js.map +0 -1
  679. package/out/concepts/JSBlock__.d.ts +0 -37
  680. package/out/concepts/JSBlock__.js +0 -104
  681. package/out/concepts/JSBlock__.js.map +0 -1
  682. package/out/concepts/JavaLogic__.d.ts +0 -45
  683. package/out/concepts/JavaLogic__.js +0 -109
  684. package/out/concepts/JavaLogic__.js.map +0 -1
  685. package/out/concepts/LogicItem__.d.ts +0 -155
  686. package/out/concepts/LogicItem__.js +0 -284
  687. package/out/concepts/LogicItem__.js.map +0 -1
  688. package/out/concepts/Logic__.d.ts +0 -649
  689. package/out/concepts/Logic__.js +0 -1939
  690. package/out/concepts/Logic__.js.map +0 -1
  691. package/out/concepts/MatchCase__.d.ts +0 -261
  692. package/out/concepts/MatchCase__.js +0 -706
  693. package/out/concepts/MatchCase__.js.map +0 -1
  694. package/out/concepts/Match__.d.ts +0 -127
  695. package/out/concepts/Match__.js +0 -731
  696. package/out/concepts/Match__.js.map +0 -1
  697. package/out/concepts/MemberExpression__.d.ts +0 -78
  698. package/out/concepts/MemberExpression__.js +0 -514
  699. package/out/concepts/MemberExpression__.js.map +0 -1
  700. package/out/concepts/MetadataType__.d.ts +0 -236
  701. package/out/concepts/MetadataType__.js +0 -464
  702. package/out/concepts/MetadataType__.js.map +0 -1
  703. package/out/concepts/MicroApp__.d.ts +0 -54
  704. package/out/concepts/MicroApp__.js +0 -80
  705. package/out/concepts/MicroApp__.js.map +0 -1
  706. package/out/concepts/Module__.d.ts +0 -1171
  707. package/out/concepts/Module__.js +0 -1747
  708. package/out/concepts/Module__.js.map +0 -1
  709. package/out/concepts/MsgTriggerEvent__.d.ts +0 -140
  710. package/out/concepts/MsgTriggerEvent__.js +0 -236
  711. package/out/concepts/MsgTriggerEvent__.js.map +0 -1
  712. package/out/concepts/MsgTriggerLauncher__.d.ts +0 -129
  713. package/out/concepts/MsgTriggerLauncher__.js +0 -226
  714. package/out/concepts/MsgTriggerLauncher__.js.map +0 -1
  715. package/out/concepts/MultiApprovalPolicy__.d.ts +0 -26
  716. package/out/concepts/MultiApprovalPolicy__.js +0 -59
  717. package/out/concepts/MultiApprovalPolicy__.js.map +0 -1
  718. package/out/concepts/Namespace__.d.ts +0 -1086
  719. package/out/concepts/Namespace__.js +0 -1555
  720. package/out/concepts/Namespace__.js.map +0 -1
  721. package/out/concepts/NewComposite__.d.ts +0 -353
  722. package/out/concepts/NewComposite__.js +0 -1277
  723. package/out/concepts/NewComposite__.js.map +0 -1
  724. package/out/concepts/NewList__.d.ts +0 -141
  725. package/out/concepts/NewList__.js +0 -470
  726. package/out/concepts/NewList__.js.map +0 -1
  727. package/out/concepts/NewMap__.d.ts +0 -231
  728. package/out/concepts/NewMap__.js +0 -604
  729. package/out/concepts/NewMap__.js.map +0 -1
  730. package/out/concepts/New__.d.ts +0 -23
  731. package/out/concepts/New__.js +0 -65
  732. package/out/concepts/New__.js.map +0 -1
  733. package/out/concepts/NullLiteral__.d.ts +0 -29
  734. package/out/concepts/NullLiteral__.js +0 -77
  735. package/out/concepts/NullLiteral__.js.map +0 -1
  736. package/out/concepts/NumericLiteral__.d.ts +0 -59
  737. package/out/concepts/NumericLiteral__.js +0 -177
  738. package/out/concepts/NumericLiteral__.js.map +0 -1
  739. package/out/concepts/OqlQueryComponent__.d.ts +0 -76
  740. package/out/concepts/OqlQueryComponent__.js +0 -351
  741. package/out/concepts/OqlQueryComponent__.js.map +0 -1
  742. package/out/concepts/OverriddenLogic__.d.ts +0 -634
  743. package/out/concepts/OverriddenLogic__.js +0 -1661
  744. package/out/concepts/OverriddenLogic__.js.map +0 -1
  745. package/out/concepts/Paginate__.d.ts +0 -97
  746. package/out/concepts/Paginate__.js +0 -267
  747. package/out/concepts/Paginate__.js.map +0 -1
  748. package/out/concepts/ParamWithGroup__.d.ts +0 -39
  749. package/out/concepts/ParamWithGroup__.js +0 -85
  750. package/out/concepts/ParamWithGroup__.js.map +0 -1
  751. package/out/concepts/Param__.d.ts +0 -182
  752. package/out/concepts/Param__.js +0 -524
  753. package/out/concepts/Param__.js.map +0 -1
  754. package/out/concepts/Point__.d.ts +0 -34
  755. package/out/concepts/Point__.js +0 -65
  756. package/out/concepts/Point__.js.map +0 -1
  757. package/out/concepts/ProcessComponent__.d.ts +0 -222
  758. package/out/concepts/ProcessComponent__.js +0 -340
  759. package/out/concepts/ProcessComponent__.js.map +0 -1
  760. package/out/concepts/ProcessElement__.d.ts +0 -665
  761. package/out/concepts/ProcessElement__.js +0 -1354
  762. package/out/concepts/ProcessElement__.js.map +0 -1
  763. package/out/concepts/ProcessOutcome__.d.ts +0 -34
  764. package/out/concepts/ProcessOutcome__.js +0 -97
  765. package/out/concepts/ProcessOutcome__.js.map +0 -1
  766. package/out/concepts/ProcessOutcomes__.d.ts +0 -34
  767. package/out/concepts/ProcessOutcomes__.js +0 -104
  768. package/out/concepts/ProcessOutcomes__.js.map +0 -1
  769. package/out/concepts/Process__.d.ts +0 -615
  770. package/out/concepts/Process__.js +0 -1117
  771. package/out/concepts/Process__.js.map +0 -1
  772. package/out/concepts/QueryAggregateExpression__.d.ts +0 -54
  773. package/out/concepts/QueryAggregateExpression__.js +0 -140
  774. package/out/concepts/QueryAggregateExpression__.js.map +0 -1
  775. package/out/concepts/QueryFieldExpression__.d.ts +0 -56
  776. package/out/concepts/QueryFieldExpression__.js +0 -142
  777. package/out/concepts/QueryFieldExpression__.js.map +0 -1
  778. package/out/concepts/QueryFromExpression__.d.ts +0 -101
  779. package/out/concepts/QueryFromExpression__.js +0 -227
  780. package/out/concepts/QueryFromExpression__.js.map +0 -1
  781. package/out/concepts/QueryGroupByExpression__.d.ts +0 -50
  782. package/out/concepts/QueryGroupByExpression__.js +0 -142
  783. package/out/concepts/QueryGroupByExpression__.js.map +0 -1
  784. package/out/concepts/QueryJoinExpression__.d.ts +0 -188
  785. package/out/concepts/QueryJoinExpression__.js +0 -327
  786. package/out/concepts/QueryJoinExpression__.js.map +0 -1
  787. package/out/concepts/QueryLimitExpression__.d.ts +0 -60
  788. package/out/concepts/QueryLimitExpression__.js +0 -159
  789. package/out/concepts/QueryLimitExpression__.js.map +0 -1
  790. package/out/concepts/QueryOrderByExpression__.d.ts +0 -71
  791. package/out/concepts/QueryOrderByExpression__.js +0 -172
  792. package/out/concepts/QueryOrderByExpression__.js.map +0 -1
  793. package/out/concepts/QuerySelectExpression__.d.ts +0 -206
  794. package/out/concepts/QuerySelectExpression__.js +0 -308
  795. package/out/concepts/QuerySelectExpression__.js.map +0 -1
  796. package/out/concepts/Rect__.d.ts +0 -42
  797. package/out/concepts/Rect__.js +0 -71
  798. package/out/concepts/Rect__.js.map +0 -1
  799. package/out/concepts/Return__.d.ts +0 -147
  800. package/out/concepts/Return__.js +0 -429
  801. package/out/concepts/Return__.js.map +0 -1
  802. package/out/concepts/Role__.d.ts +0 -62
  803. package/out/concepts/Role__.js +0 -151
  804. package/out/concepts/Role__.js.map +0 -1
  805. package/out/concepts/SelectMembers__.d.ts +0 -145
  806. package/out/concepts/SelectMembers__.js +0 -300
  807. package/out/concepts/SelectMembers__.js.map +0 -1
  808. package/out/concepts/SequentialPolicy__.d.ts +0 -20
  809. package/out/concepts/SequentialPolicy__.js +0 -48
  810. package/out/concepts/SequentialPolicy__.js.map +0 -1
  811. package/out/concepts/Slot__.d.ts +0 -77
  812. package/out/concepts/Slot__.js +0 -141
  813. package/out/concepts/Slot__.js.map +0 -1
  814. package/out/concepts/SqlQueryComponent__.d.ts +0 -74
  815. package/out/concepts/SqlQueryComponent__.js +0 -269
  816. package/out/concepts/SqlQueryComponent__.js.map +0 -1
  817. package/out/concepts/Start__.d.ts +0 -27
  818. package/out/concepts/Start__.js +0 -69
  819. package/out/concepts/Start__.js.map +0 -1
  820. package/out/concepts/StaticString__.d.ts +0 -49
  821. package/out/concepts/StaticString__.js +0 -91
  822. package/out/concepts/StaticString__.js.map +0 -1
  823. package/out/concepts/StringInterpolation__.d.ts +0 -118
  824. package/out/concepts/StringInterpolation__.js +0 -284
  825. package/out/concepts/StringInterpolation__.js.map +0 -1
  826. package/out/concepts/StringLiteral__.d.ts +0 -45
  827. package/out/concepts/StringLiteral__.js +0 -159
  828. package/out/concepts/StringLiteral__.js.map +0 -1
  829. package/out/concepts/StructureProperty__.d.ts +0 -154
  830. package/out/concepts/StructureProperty__.js +0 -338
  831. package/out/concepts/StructureProperty__.js.map +0 -1
  832. package/out/concepts/Structure__.d.ts +0 -250
  833. package/out/concepts/Structure__.js +0 -508
  834. package/out/concepts/Structure__.js.map +0 -1
  835. package/out/concepts/SwitchCase__.d.ts +0 -97
  836. package/out/concepts/SwitchCase__.js +0 -305
  837. package/out/concepts/SwitchCase__.js.map +0 -1
  838. package/out/concepts/SwitchStatement__.d.ts +0 -87
  839. package/out/concepts/SwitchStatement__.js +0 -234
  840. package/out/concepts/SwitchStatement__.js.map +0 -1
  841. package/out/concepts/Theme__.d.ts +0 -40
  842. package/out/concepts/Theme__.js +0 -84
  843. package/out/concepts/Theme__.js.map +0 -1
  844. package/out/concepts/Transactional__.d.ts +0 -90
  845. package/out/concepts/Transactional__.js +0 -149
  846. package/out/concepts/Transactional__.js.map +0 -1
  847. package/out/concepts/TriggerEvent__.d.ts +0 -54
  848. package/out/concepts/TriggerEvent__.js +0 -137
  849. package/out/concepts/TriggerEvent__.js.map +0 -1
  850. package/out/concepts/TriggerLauncher__.d.ts +0 -81
  851. package/out/concepts/TriggerLauncher__.js +0 -197
  852. package/out/concepts/TriggerLauncher__.js.map +0 -1
  853. package/out/concepts/TypeAnnotation__.d.ts +0 -305
  854. package/out/concepts/TypeAnnotation__.js +0 -1095
  855. package/out/concepts/TypeAnnotation__.js.map +0 -1
  856. package/out/concepts/TypeParam__.d.ts +0 -28
  857. package/out/concepts/TypeParam__.js +0 -71
  858. package/out/concepts/TypeParam__.js.map +0 -1
  859. package/out/concepts/UnaryExpression__.d.ts +0 -52
  860. package/out/concepts/UnaryExpression__.js +0 -191
  861. package/out/concepts/UnaryExpression__.js.map +0 -1
  862. package/out/concepts/Unparsed__.d.ts +0 -36
  863. package/out/concepts/Unparsed__.js +0 -91
  864. package/out/concepts/Unparsed__.js.map +0 -1
  865. package/out/concepts/UseComponent__.d.ts +0 -34
  866. package/out/concepts/UseComponent__.js +0 -65
  867. package/out/concepts/UseComponent__.js.map +0 -1
  868. package/out/concepts/ValidationRule__.d.ts +0 -152
  869. package/out/concepts/ValidationRule__.js +0 -535
  870. package/out/concepts/ValidationRule__.js.map +0 -1
  871. package/out/concepts/Variable__.d.ts +0 -164
  872. package/out/concepts/Variable__.js +0 -505
  873. package/out/concepts/Variable__.js.map +0 -1
  874. package/out/concepts/ViewBlock__.d.ts +0 -38
  875. package/out/concepts/ViewBlock__.js +0 -68
  876. package/out/concepts/ViewBlock__.js.map +0 -1
  877. package/out/concepts/ViewComponent__.d.ts +0 -568
  878. package/out/concepts/ViewComponent__.js +0 -809
  879. package/out/concepts/ViewComponent__.js.map +0 -1
  880. package/out/concepts/ViewElement__.d.ts +0 -648
  881. package/out/concepts/ViewElement__.js +0 -2482
  882. package/out/concepts/ViewElement__.js.map +0 -1
  883. package/out/concepts/View__.d.ts +0 -739
  884. package/out/concepts/View__.js +0 -2298
  885. package/out/concepts/View__.js.map +0 -1
  886. package/out/concepts/WhileStatement__.d.ts +0 -100
  887. package/out/concepts/WhileStatement__.js +0 -269
  888. package/out/concepts/WhileStatement__.js.map +0 -1
  889. package/out/concepts/basics/constants.d.ts +0 -1
  890. package/out/concepts/basics/constants.js +0 -6
  891. package/out/concepts/basics/constants.js.map +0 -1
  892. package/out/concepts/basics/stdlib/index.d.ts +0 -16
  893. package/out/concepts/basics/stdlib/index.js +0 -90
  894. package/out/concepts/basics/stdlib/index.js.map +0 -1
  895. package/out/concepts/basics/stdlib/nasl.auth.d.ts +0 -9
  896. package/out/concepts/basics/stdlib/nasl.auth.js +0 -206
  897. package/out/concepts/basics/stdlib/nasl.auth.js.map +0 -1
  898. package/out/concepts/basics/stdlib/nasl.browser.d.ts +0 -5
  899. package/out/concepts/basics/stdlib/nasl.browser.js +0 -158
  900. package/out/concepts/basics/stdlib/nasl.browser.js.map +0 -1
  901. package/out/concepts/basics/stdlib/nasl.collection.d.ts +0 -9
  902. package/out/concepts/basics/stdlib/nasl.collection.js +0 -57
  903. package/out/concepts/basics/stdlib/nasl.collection.js.map +0 -1
  904. package/out/concepts/basics/stdlib/nasl.configuration.d.ts +0 -5
  905. package/out/concepts/basics/stdlib/nasl.configuration.js +0 -65
  906. package/out/concepts/basics/stdlib/nasl.configuration.js.map +0 -1
  907. package/out/concepts/basics/stdlib/nasl.core.d.ts +0 -7
  908. package/out/concepts/basics/stdlib/nasl.core.js +0 -47
  909. package/out/concepts/basics/stdlib/nasl.core.js.map +0 -1
  910. package/out/concepts/basics/stdlib/nasl.event.d.ts +0 -5
  911. package/out/concepts/basics/stdlib/nasl.event.js +0 -34
  912. package/out/concepts/basics/stdlib/nasl.event.js.map +0 -1
  913. package/out/concepts/basics/stdlib/nasl.http.d.ts +0 -9
  914. package/out/concepts/basics/stdlib/nasl.http.js +0 -174
  915. package/out/concepts/basics/stdlib/nasl.http.js.map +0 -1
  916. package/out/concepts/basics/stdlib/nasl.interface.d.ts +0 -9
  917. package/out/concepts/basics/stdlib/nasl.interface.js +0 -49
  918. package/out/concepts/basics/stdlib/nasl.interface.js.map +0 -1
  919. package/out/concepts/basics/stdlib/nasl.io.d.ts +0 -5
  920. package/out/concepts/basics/stdlib/nasl.io.js +0 -61
  921. package/out/concepts/basics/stdlib/nasl.io.js.map +0 -1
  922. package/out/concepts/basics/stdlib/nasl.logging.d.ts +0 -5
  923. package/out/concepts/basics/stdlib/nasl.logging.js +0 -65
  924. package/out/concepts/basics/stdlib/nasl.logging.js.map +0 -1
  925. package/out/concepts/basics/stdlib/nasl.process.d.ts +0 -9
  926. package/out/concepts/basics/stdlib/nasl.process.js +0 -643
  927. package/out/concepts/basics/stdlib/nasl.process.js.map +0 -1
  928. package/out/concepts/basics/stdlib/nasl.ui.d.ts +0 -9
  929. package/out/concepts/basics/stdlib/nasl.ui.js +0 -1038
  930. package/out/concepts/basics/stdlib/nasl.ui.js.map +0 -1
  931. package/out/concepts/basics/stdlib/nasl.util.d.ts +0 -6
  932. package/out/concepts/basics/stdlib/nasl.util.js +0 -2285
  933. package/out/concepts/basics/stdlib/nasl.util.js.map +0 -1
  934. package/out/concepts/basics/stdlib/nasl.validation.d.ts +0 -5
  935. package/out/concepts/basics/stdlib/nasl.validation.js +0 -574
  936. package/out/concepts/basics/stdlib/nasl.validation.js.map +0 -1
  937. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.d.ts +0 -4
  938. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js +0 -47
  939. package/out/concepts/basics/stdlib/reference2TypeAnnotationList.js.map +0 -1
  940. package/out/concepts/basics/stdlib/timeZone.d.ts +0 -5
  941. package/out/concepts/basics/stdlib/timeZone.js +0 -196
  942. package/out/concepts/basics/stdlib/timeZone.js.map +0 -1
  943. package/out/concepts/basics/types/coreTypeList.d.ts +0 -2
  944. package/out/concepts/basics/types/coreTypeList.js +0 -15
  945. package/out/concepts/basics/types/coreTypeList.js.map +0 -1
  946. package/out/concepts/basics/types/index.d.ts +0 -16
  947. package/out/concepts/basics/types/index.js +0 -35
  948. package/out/concepts/basics/types/index.js.map +0 -1
  949. package/out/concepts/index.d.ts +0 -7
  950. package/out/concepts/index.js +0 -41
  951. package/out/concepts/index.js.map +0 -1
  952. package/out/concepts/index__.d.ts +0 -138
  953. package/out/concepts/index__.js +0 -155
  954. package/out/concepts/index__.js.map +0 -1
  955. package/out/concepts/types__.d.ts +0 -0
  956. package/out/concepts/types__.js +0 -1
  957. package/out/concepts/types__.js.map +0 -1
  958. package/out/concepts/utils/asserts.d.ts +0 -6982
  959. package/out/concepts/utils/asserts.js +0 -9276
  960. package/out/concepts/utils/asserts.js.map +0 -1
  961. package/out/concepts/utils/quick-info.d.ts +0 -13
  962. package/out/concepts/utils/quick-info.js +0 -51
  963. package/out/concepts/utils/quick-info.js.map +0 -1
  964. package/out/concepts/utils/types.d.ts +0 -450
  965. package/out/concepts/utils/types.js +0 -3
  966. package/out/concepts/utils/types.js.map +0 -1
  967. package/out/config.d.ts +0 -43
  968. package/out/config.js +0 -72
  969. package/out/config.js.map +0 -1
  970. package/out/decorators/index.d.ts +0 -67
  971. package/out/decorators/index.js +0 -213
  972. package/out/decorators/index.js.map +0 -1
  973. package/out/decorators/promise.d.ts +0 -7
  974. package/out/decorators/promise.js +0 -28
  975. package/out/decorators/promise.js.map +0 -1
  976. package/out/enums/KEYWORDS.d.ts +0 -6
  977. package/out/enums/KEYWORDS.js +0 -1248
  978. package/out/enums/KEYWORDS.js.map +0 -1
  979. package/out/enums/LEVEL_NAME_MAP.d.ts +0 -26
  980. package/out/enums/LEVEL_NAME_MAP.js +0 -30
  981. package/out/enums/LEVEL_NAME_MAP.js.map +0 -1
  982. package/out/eventBus.d.ts +0 -3
  983. package/out/eventBus.js +0 -7
  984. package/out/eventBus.js.map +0 -1
  985. package/out/generator/compileComponent.d.ts +0 -11
  986. package/out/generator/compileComponent.js +0 -12
  987. package/out/generator/compileComponent.js.map +0 -1
  988. package/out/generator/genBundleFiles.d.ts +0 -37
  989. package/out/generator/genBundleFiles.js +0 -678
  990. package/out/generator/genBundleFiles.js.map +0 -1
  991. package/out/generator/genHash.d.ts +0 -7
  992. package/out/generator/genHash.js +0 -39
  993. package/out/generator/genHash.js.map +0 -1
  994. package/out/generator/genMetaData.d.ts +0 -31
  995. package/out/generator/genMetaData.js +0 -365
  996. package/out/generator/genMetaData.js.map +0 -1
  997. package/out/generator/genReleaseBody.d.ts +0 -72
  998. package/out/generator/genReleaseBody.js +0 -333
  999. package/out/generator/genReleaseBody.js.map +0 -1
  1000. package/out/generator/icestark.d.ts +0 -2
  1001. package/out/generator/icestark.js +0 -50
  1002. package/out/generator/icestark.js.map +0 -1
  1003. package/out/generator/index.d.ts +0 -7
  1004. package/out/generator/index.js +0 -24
  1005. package/out/generator/index.js.map +0 -1
  1006. package/out/generator/microApp.d.ts +0 -2
  1007. package/out/generator/microApp.js +0 -36
  1008. package/out/generator/microApp.js.map +0 -1
  1009. package/out/generator/permission.d.ts +0 -14
  1010. package/out/generator/permission.js +0 -296
  1011. package/out/generator/permission.js.map +0 -1
  1012. package/out/generator/qiankun.d.ts +0 -2
  1013. package/out/generator/qiankun.js +0 -54
  1014. package/out/generator/qiankun.js.map +0 -1
  1015. package/out/generator/styleReplacer.d.ts +0 -3
  1016. package/out/generator/styleReplacer.js +0 -68
  1017. package/out/generator/styleReplacer.js.map +0 -1
  1018. package/out/index.d.ts +0 -13
  1019. package/out/index.js +0 -67
  1020. package/out/index.js.map +0 -1
  1021. package/out/manager/diagnostic.d.ts +0 -35
  1022. package/out/manager/diagnostic.js +0 -64
  1023. package/out/manager/diagnostic.js.map +0 -1
  1024. package/out/manager/stepRecorder.d.ts +0 -20
  1025. package/out/manager/stepRecorder.js +0 -114
  1026. package/out/manager/stepRecorder.js.map +0 -1
  1027. package/out/natural/componentData.d.ts +0 -31
  1028. package/out/natural/componentData.js +0 -85
  1029. package/out/natural/componentData.js.map +0 -1
  1030. package/out/natural/genNaturalTS.d.ts +0 -3
  1031. package/out/natural/genNaturalTS.js +0 -87
  1032. package/out/natural/genNaturalTS.js.map +0 -1
  1033. package/out/natural/index.d.ts +0 -4
  1034. package/out/natural/index.js +0 -21
  1035. package/out/natural/index.js.map +0 -1
  1036. package/out/natural/naslStdlibMap.d.ts +0 -1
  1037. package/out/natural/naslStdlibMap.js +0 -35
  1038. package/out/natural/naslStdlibMap.js.map +0 -1
  1039. package/out/natural/prompt/analyzeClaims.d.ts +0 -1
  1040. package/out/natural/prompt/analyzeClaims.js +0 -21
  1041. package/out/natural/prompt/analyzeClaims.js.map +0 -1
  1042. package/out/natural/prompt/executeClaims.d.ts +0 -1
  1043. package/out/natural/prompt/executeClaims.js +0 -73
  1044. package/out/natural/prompt/executeClaims.js.map +0 -1
  1045. package/out/natural/transformTSCode.d.ts +0 -7
  1046. package/out/natural/transformTSCode.js +0 -931
  1047. package/out/natural/transformTSCode.js.map +0 -1
  1048. package/out/sentry/index.d.ts +0 -34
  1049. package/out/sentry/index.js +0 -149
  1050. package/out/sentry/index.js.map +0 -1
  1051. package/out/server/createUiTs.d.ts +0 -16
  1052. package/out/server/createUiTs.js +0 -296
  1053. package/out/server/createUiTs.js.map +0 -1
  1054. package/out/server/entity2LogicNamespace.d.ts +0 -10
  1055. package/out/server/entity2LogicNamespace.js +0 -382
  1056. package/out/server/entity2LogicNamespace.js.map +0 -1
  1057. package/out/server/event.d.ts +0 -30
  1058. package/out/server/event.js +0 -151
  1059. package/out/server/event.js.map +0 -1
  1060. package/out/server/extendBaseNode.d.ts +0 -1
  1061. package/out/server/extendBaseNode.js +0 -605
  1062. package/out/server/extendBaseNode.js.map +0 -1
  1063. package/out/server/formatTsUtils.d.ts +0 -36
  1064. package/out/server/formatTsUtils.js +0 -854
  1065. package/out/server/formatTsUtils.js.map +0 -1
  1066. package/out/server/getConnector.d.ts +0 -14
  1067. package/out/server/getConnector.js +0 -101
  1068. package/out/server/getConnector.js.map +0 -1
  1069. package/out/server/getExtensionModules.d.ts +0 -3
  1070. package/out/server/getExtensionModules.js +0 -34
  1071. package/out/server/getExtensionModules.js.map +0 -1
  1072. package/out/server/getFunctions.d.ts +0 -3
  1073. package/out/server/getFunctions.js +0 -20
  1074. package/out/server/getFunctions.js.map +0 -1
  1075. package/out/server/getInterfaces.d.ts +0 -2
  1076. package/out/server/getInterfaces.js +0 -48
  1077. package/out/server/getInterfaces.js.map +0 -1
  1078. package/out/server/getLogging.d.ts +0 -1
  1079. package/out/server/getLogging.js +0 -9
  1080. package/out/server/getLogging.js.map +0 -1
  1081. package/out/server/getLogics.d.ts +0 -5
  1082. package/out/server/getLogics.js +0 -430
  1083. package/out/server/getLogics.js.map +0 -1
  1084. package/out/server/getMemberIdentifier.d.ts +0 -17
  1085. package/out/server/getMemberIdentifier.js +0 -535
  1086. package/out/server/getMemberIdentifier.js.map +0 -1
  1087. package/out/server/getProcessComponents.d.ts +0 -2
  1088. package/out/server/getProcessComponents.js +0 -13
  1089. package/out/server/getProcessComponents.js.map +0 -1
  1090. package/out/server/getProcesses.d.ts +0 -33
  1091. package/out/server/getProcesses.js +0 -647
  1092. package/out/server/getProcesses.js.map +0 -1
  1093. package/out/server/getScope.d.ts +0 -13
  1094. package/out/server/getScope.js +0 -61
  1095. package/out/server/getScope.js.map +0 -1
  1096. package/out/server/getValidates.d.ts +0 -3
  1097. package/out/server/getValidates.js +0 -14
  1098. package/out/server/getValidates.js.map +0 -1
  1099. package/out/server/index.d.ts +0 -5
  1100. package/out/server/index.js +0 -43
  1101. package/out/server/index.js.map +0 -1
  1102. package/out/server/naslServer.d.ts +0 -372
  1103. package/out/server/naslServer.js +0 -4719
  1104. package/out/server/naslServer.js.map +0 -1
  1105. package/out/server/naslStdlibMap.d.ts +0 -2
  1106. package/out/server/naslStdlibMap.js +0 -54
  1107. package/out/server/naslStdlibMap.js.map +0 -1
  1108. package/out/server/process2LogicNamespace.d.ts +0 -26
  1109. package/out/server/process2LogicNamespace.js +0 -109
  1110. package/out/server/process2LogicNamespace.js.map +0 -1
  1111. package/out/server/translator.d.ts +0 -26
  1112. package/out/server/translator.js +0 -847
  1113. package/out/server/translator.js.map +0 -1
  1114. package/out/service/creator/add.configs.d.ts +0 -1
  1115. package/out/service/creator/add.configs.js +0 -103
  1116. package/out/service/creator/add.configs.js.map +0 -1
  1117. package/out/service/creator/errHandles.d.ts +0 -18
  1118. package/out/service/creator/errHandles.js +0 -71
  1119. package/out/service/creator/errHandles.js.map +0 -1
  1120. package/out/service/creator/index.d.ts +0 -1
  1121. package/out/service/creator/index.js +0 -87
  1122. package/out/service/creator/index.js.map +0 -1
  1123. package/out/service/datasource/api.d.ts +0 -12
  1124. package/out/service/datasource/api.js +0 -14
  1125. package/out/service/datasource/api.js.map +0 -1
  1126. package/out/service/datasource/index.d.ts +0 -2
  1127. package/out/service/datasource/index.js +0 -10
  1128. package/out/service/datasource/index.js.map +0 -1
  1129. package/out/service/defaultErrorMessage.json +0 -98
  1130. package/out/service/logic/api.d.ts +0 -9
  1131. package/out/service/logic/api.js +0 -11
  1132. package/out/service/logic/api.js.map +0 -1
  1133. package/out/service/logic/checktypeSocket.d.ts +0 -5
  1134. package/out/service/logic/checktypeSocket.js +0 -55
  1135. package/out/service/logic/checktypeSocket.js.map +0 -1
  1136. package/out/service/logic/index.d.ts +0 -2
  1137. package/out/service/logic/index.js +0 -10
  1138. package/out/service/logic/index.js.map +0 -1
  1139. package/out/service/storage/api.d.ts +0 -54
  1140. package/out/service/storage/api.js +0 -42
  1141. package/out/service/storage/api.js.map +0 -1
  1142. package/out/service/storage/index.d.ts +0 -2
  1143. package/out/service/storage/index.js +0 -10
  1144. package/out/service/storage/index.js.map +0 -1
  1145. package/out/service/storage/init.d.ts +0 -105
  1146. package/out/service/storage/init.js +0 -1232
  1147. package/out/service/storage/init.js.map +0 -1
  1148. package/out/service/storage/jsoner.d.ts +0 -36
  1149. package/out/service/storage/jsoner.js +0 -148
  1150. package/out/service/storage/jsoner.js.map +0 -1
  1151. package/out/service/storage/map.d.ts +0 -4
  1152. package/out/service/storage/map.js +0 -54
  1153. package/out/service/storage/map.js.map +0 -1
  1154. package/out/service/storage/service.d.ts +0 -25
  1155. package/out/service/storage/service.js +0 -80
  1156. package/out/service/storage/service.js.map +0 -1
  1157. package/out/service/storage/storagePoint.d.ts +0 -17
  1158. package/out/service/storage/storagePoint.js +0 -76
  1159. package/out/service/storage/storagePoint.js.map +0 -1
  1160. package/out/service/video/BaseService.d.ts +0 -7
  1161. package/out/service/video/BaseService.js +0 -61
  1162. package/out/service/video/BaseService.js.map +0 -1
  1163. package/out/service/video/MainCallbackService.d.ts +0 -12
  1164. package/out/service/video/MainCallbackService.js +0 -183
  1165. package/out/service/video/MainCallbackService.js.map +0 -1
  1166. package/out/service/video/VideoTranscribe.d.ts +0 -15
  1167. package/out/service/video/VideoTranscribe.js +0 -96
  1168. package/out/service/video/VideoTranscribe.js.map +0 -1
  1169. package/out/service/video/publishService.d.ts +0 -1
  1170. package/out/service/video/publishService.js +0 -58
  1171. package/out/service/video/publishService.js.map +0 -1
  1172. package/out/templator/genCallComponentLogic.d.ts +0 -17
  1173. package/out/templator/genCallComponentLogic.js +0 -29
  1174. package/out/templator/genCallComponentLogic.js.map +0 -1
  1175. package/out/templator/genCreateBlock.d.ts +0 -10
  1176. package/out/templator/genCreateBlock.js +0 -372
  1177. package/out/templator/genCreateBlock.js.map +0 -1
  1178. package/out/templator/genCurdEditMultipleKeyBlock.d.ts +0 -8
  1179. package/out/templator/genCurdEditMultipleKeyBlock.js +0 -527
  1180. package/out/templator/genCurdEditMultipleKeyBlock.js.map +0 -1
  1181. package/out/templator/genCurdMultipleKeyBlock.d.ts +0 -61
  1182. package/out/templator/genCurdMultipleKeyBlock.js +0 -1378
  1183. package/out/templator/genCurdMultipleKeyBlock.js.map +0 -1
  1184. package/out/templator/genEditTableBlock.d.ts +0 -51
  1185. package/out/templator/genEditTableBlock.js +0 -325
  1186. package/out/templator/genEditTableBlock.js.map +0 -1
  1187. package/out/templator/genEnumSelectBlock.d.ts +0 -10
  1188. package/out/templator/genEnumSelectBlock.js +0 -53
  1189. package/out/templator/genEnumSelectBlock.js.map +0 -1
  1190. package/out/templator/genGetBlock.d.ts +0 -6
  1191. package/out/templator/genGetBlock.js +0 -139
  1192. package/out/templator/genGetBlock.js.map +0 -1
  1193. package/out/templator/genGridViewBlock.d.ts +0 -55
  1194. package/out/templator/genGridViewBlock.js +0 -359
  1195. package/out/templator/genGridViewBlock.js.map +0 -1
  1196. package/out/templator/genListViewBlock.d.ts +0 -19
  1197. package/out/templator/genListViewBlock.js +0 -148
  1198. package/out/templator/genListViewBlock.js.map +0 -1
  1199. package/out/templator/genQueryComponent.d.ts +0 -34
  1200. package/out/templator/genQueryComponent.js +0 -344
  1201. package/out/templator/genQueryComponent.js.map +0 -1
  1202. package/out/templator/genSelectBlock.d.ts +0 -45
  1203. package/out/templator/genSelectBlock.js +0 -415
  1204. package/out/templator/genSelectBlock.js.map +0 -1
  1205. package/out/templator/genTableBlock.d.ts +0 -55
  1206. package/out/templator/genTableBlock.js +0 -417
  1207. package/out/templator/genTableBlock.js.map +0 -1
  1208. package/out/templator/genUpdateBlock.d.ts +0 -6
  1209. package/out/templator/genUpdateBlock.js +0 -414
  1210. package/out/templator/genUpdateBlock.js.map +0 -1
  1211. package/out/templator/index.d.ts +0 -19
  1212. package/out/templator/index.js +0 -38
  1213. package/out/templator/index.js.map +0 -1
  1214. package/out/templator/utils.d.ts +0 -683
  1215. package/out/templator/utils.js +0 -472
  1216. package/out/templator/utils.js.map +0 -1
  1217. package/out/translator/constant.d.ts +0 -6
  1218. package/out/translator/constant.js +0 -10
  1219. package/out/translator/constant.js.map +0 -1
  1220. package/out/translator/index.d.ts +0 -3
  1221. package/out/translator/index.js +0 -20
  1222. package/out/translator/index.js.map +0 -1
  1223. package/out/translator/types.d.ts +0 -48
  1224. package/out/translator/types.js +0 -3
  1225. package/out/translator/types.js.map +0 -1
  1226. package/out/translator/utils.d.ts +0 -44
  1227. package/out/translator/utils.js +0 -241
  1228. package/out/translator/utils.js.map +0 -1
  1229. package/out/utils/cookie.d.ts +0 -9
  1230. package/out/utils/cookie.js +0 -62
  1231. package/out/utils/cookie.js.map +0 -1
  1232. package/out/utils/env.d.ts +0 -2
  1233. package/out/utils/env.js +0 -6
  1234. package/out/utils/env.js.map +0 -1
  1235. package/out/utils/i18nInfo.d.ts +0 -5
  1236. package/out/utils/i18nInfo.js +0 -36
  1237. package/out/utils/i18nInfo.js.map +0 -1
  1238. package/out/utils/index.d.ts +0 -61
  1239. package/out/utils/index.js +0 -386
  1240. package/out/utils/index.js.map +0 -1
  1241. package/out/utils/logger.d.ts +0 -7
  1242. package/out/utils/logger.js +0 -23
  1243. package/out/utils/logger.js.map +0 -1
  1244. package/out/utils/sortTsString.d.ts +0 -1
  1245. package/out/utils/sortTsString.js +0 -44
  1246. package/out/utils/sortTsString.js.map +0 -1
  1247. package/out/utils/string.d.ts +0 -52
  1248. package/out/utils/string.js +0 -139
  1249. package/out/utils/string.js.map +0 -1
  1250. package/out/utils/time-slicing/constant.d.ts +0 -35
  1251. package/out/utils/time-slicing/constant.js +0 -40
  1252. package/out/utils/time-slicing/constant.js.map +0 -1
  1253. package/out/utils/time-slicing/controller.d.ts +0 -53
  1254. package/out/utils/time-slicing/controller.js +0 -294
  1255. package/out/utils/time-slicing/controller.js.map +0 -1
  1256. package/out/utils/time-slicing/index.d.ts +0 -5
  1257. package/out/utils/time-slicing/index.js +0 -26
  1258. package/out/utils/time-slicing/index.js.map +0 -1
  1259. package/out/utils/time-slicing/page-state.d.ts +0 -2
  1260. package/out/utils/time-slicing/page-state.js +0 -14
  1261. package/out/utils/time-slicing/page-state.js.map +0 -1
  1262. package/out/utils/time-slicing/performance.d.ts +0 -11
  1263. package/out/utils/time-slicing/performance.js +0 -50
  1264. package/out/utils/time-slicing/performance.js.map +0 -1
  1265. package/out/utils/time-slicing/runner.d.ts +0 -12
  1266. package/out/utils/time-slicing/runner.js +0 -52
  1267. package/out/utils/time-slicing/runner.js.map +0 -1
  1268. package/out/utils/time-slicing/tool.d.ts +0 -24
  1269. package/out/utils/time-slicing/tool.js +0 -47
  1270. package/out/utils/time-slicing/tool.js.map +0 -1
  1271. package/out/utils/time-slicing/utils.d.ts +0 -62
  1272. package/out/utils/time-slicing/utils.js +0 -47
  1273. package/out/utils/time-slicing/utils.js.map +0 -1
  1274. package/out/utils/time-slicing/wrapper.d.ts +0 -18
  1275. package/out/utils/time-slicing/wrapper.js +0 -55
  1276. package/out/utils/time-slicing/wrapper.js.map +0 -1
  1277. package/out/utils/traverse.d.ts +0 -36
  1278. package/out/utils/traverse.js +0 -143
  1279. package/out/utils/traverse.js.map +0 -1
  1280. package/out/utils/types.d.ts +0 -13
  1281. package/out/utils/types.js +0 -3
  1282. package/out/utils/types.js.map +0 -1
  1283. package/out/utils/window.d.ts +0 -7
  1284. package/out/utils/window.js +0 -14
  1285. package/out/utils/window.js.map +0 -1
@@ -1,3895 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/service/storage/init.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/service/storage</a> init.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">6.8% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>47/691</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">1.69% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>7/414</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">2.97% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/101</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">6.92% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>46/664</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>
935
- <a name='L870'></a><a href='#L870'>870</a>
936
- <a name='L871'></a><a href='#L871'>871</a>
937
- <a name='L872'></a><a href='#L872'>872</a>
938
- <a name='L873'></a><a href='#L873'>873</a>
939
- <a name='L874'></a><a href='#L874'>874</a>
940
- <a name='L875'></a><a href='#L875'>875</a>
941
- <a name='L876'></a><a href='#L876'>876</a>
942
- <a name='L877'></a><a href='#L877'>877</a>
943
- <a name='L878'></a><a href='#L878'>878</a>
944
- <a name='L879'></a><a href='#L879'>879</a>
945
- <a name='L880'></a><a href='#L880'>880</a>
946
- <a name='L881'></a><a href='#L881'>881</a>
947
- <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a>
949
- <a name='L884'></a><a href='#L884'>884</a>
950
- <a name='L885'></a><a href='#L885'>885</a>
951
- <a name='L886'></a><a href='#L886'>886</a>
952
- <a name='L887'></a><a href='#L887'>887</a>
953
- <a name='L888'></a><a href='#L888'>888</a>
954
- <a name='L889'></a><a href='#L889'>889</a>
955
- <a name='L890'></a><a href='#L890'>890</a>
956
- <a name='L891'></a><a href='#L891'>891</a>
957
- <a name='L892'></a><a href='#L892'>892</a>
958
- <a name='L893'></a><a href='#L893'>893</a>
959
- <a name='L894'></a><a href='#L894'>894</a>
960
- <a name='L895'></a><a href='#L895'>895</a>
961
- <a name='L896'></a><a href='#L896'>896</a>
962
- <a name='L897'></a><a href='#L897'>897</a>
963
- <a name='L898'></a><a href='#L898'>898</a>
964
- <a name='L899'></a><a href='#L899'>899</a>
965
- <a name='L900'></a><a href='#L900'>900</a>
966
- <a name='L901'></a><a href='#L901'>901</a>
967
- <a name='L902'></a><a href='#L902'>902</a>
968
- <a name='L903'></a><a href='#L903'>903</a>
969
- <a name='L904'></a><a href='#L904'>904</a>
970
- <a name='L905'></a><a href='#L905'>905</a>
971
- <a name='L906'></a><a href='#L906'>906</a>
972
- <a name='L907'></a><a href='#L907'>907</a>
973
- <a name='L908'></a><a href='#L908'>908</a>
974
- <a name='L909'></a><a href='#L909'>909</a>
975
- <a name='L910'></a><a href='#L910'>910</a>
976
- <a name='L911'></a><a href='#L911'>911</a>
977
- <a name='L912'></a><a href='#L912'>912</a>
978
- <a name='L913'></a><a href='#L913'>913</a>
979
- <a name='L914'></a><a href='#L914'>914</a>
980
- <a name='L915'></a><a href='#L915'>915</a>
981
- <a name='L916'></a><a href='#L916'>916</a>
982
- <a name='L917'></a><a href='#L917'>917</a>
983
- <a name='L918'></a><a href='#L918'>918</a>
984
- <a name='L919'></a><a href='#L919'>919</a>
985
- <a name='L920'></a><a href='#L920'>920</a>
986
- <a name='L921'></a><a href='#L921'>921</a>
987
- <a name='L922'></a><a href='#L922'>922</a>
988
- <a name='L923'></a><a href='#L923'>923</a>
989
- <a name='L924'></a><a href='#L924'>924</a>
990
- <a name='L925'></a><a href='#L925'>925</a>
991
- <a name='L926'></a><a href='#L926'>926</a>
992
- <a name='L927'></a><a href='#L927'>927</a>
993
- <a name='L928'></a><a href='#L928'>928</a>
994
- <a name='L929'></a><a href='#L929'>929</a>
995
- <a name='L930'></a><a href='#L930'>930</a>
996
- <a name='L931'></a><a href='#L931'>931</a>
997
- <a name='L932'></a><a href='#L932'>932</a>
998
- <a name='L933'></a><a href='#L933'>933</a>
999
- <a name='L934'></a><a href='#L934'>934</a>
1000
- <a name='L935'></a><a href='#L935'>935</a>
1001
- <a name='L936'></a><a href='#L936'>936</a>
1002
- <a name='L937'></a><a href='#L937'>937</a>
1003
- <a name='L938'></a><a href='#L938'>938</a>
1004
- <a name='L939'></a><a href='#L939'>939</a>
1005
- <a name='L940'></a><a href='#L940'>940</a>
1006
- <a name='L941'></a><a href='#L941'>941</a>
1007
- <a name='L942'></a><a href='#L942'>942</a>
1008
- <a name='L943'></a><a href='#L943'>943</a>
1009
- <a name='L944'></a><a href='#L944'>944</a>
1010
- <a name='L945'></a><a href='#L945'>945</a>
1011
- <a name='L946'></a><a href='#L946'>946</a>
1012
- <a name='L947'></a><a href='#L947'>947</a>
1013
- <a name='L948'></a><a href='#L948'>948</a>
1014
- <a name='L949'></a><a href='#L949'>949</a>
1015
- <a name='L950'></a><a href='#L950'>950</a>
1016
- <a name='L951'></a><a href='#L951'>951</a>
1017
- <a name='L952'></a><a href='#L952'>952</a>
1018
- <a name='L953'></a><a href='#L953'>953</a>
1019
- <a name='L954'></a><a href='#L954'>954</a>
1020
- <a name='L955'></a><a href='#L955'>955</a>
1021
- <a name='L956'></a><a href='#L956'>956</a>
1022
- <a name='L957'></a><a href='#L957'>957</a>
1023
- <a name='L958'></a><a href='#L958'>958</a>
1024
- <a name='L959'></a><a href='#L959'>959</a>
1025
- <a name='L960'></a><a href='#L960'>960</a>
1026
- <a name='L961'></a><a href='#L961'>961</a>
1027
- <a name='L962'></a><a href='#L962'>962</a>
1028
- <a name='L963'></a><a href='#L963'>963</a>
1029
- <a name='L964'></a><a href='#L964'>964</a>
1030
- <a name='L965'></a><a href='#L965'>965</a>
1031
- <a name='L966'></a><a href='#L966'>966</a>
1032
- <a name='L967'></a><a href='#L967'>967</a>
1033
- <a name='L968'></a><a href='#L968'>968</a>
1034
- <a name='L969'></a><a href='#L969'>969</a>
1035
- <a name='L970'></a><a href='#L970'>970</a>
1036
- <a name='L971'></a><a href='#L971'>971</a>
1037
- <a name='L972'></a><a href='#L972'>972</a>
1038
- <a name='L973'></a><a href='#L973'>973</a>
1039
- <a name='L974'></a><a href='#L974'>974</a>
1040
- <a name='L975'></a><a href='#L975'>975</a>
1041
- <a name='L976'></a><a href='#L976'>976</a>
1042
- <a name='L977'></a><a href='#L977'>977</a>
1043
- <a name='L978'></a><a href='#L978'>978</a>
1044
- <a name='L979'></a><a href='#L979'>979</a>
1045
- <a name='L980'></a><a href='#L980'>980</a>
1046
- <a name='L981'></a><a href='#L981'>981</a>
1047
- <a name='L982'></a><a href='#L982'>982</a>
1048
- <a name='L983'></a><a href='#L983'>983</a>
1049
- <a name='L984'></a><a href='#L984'>984</a>
1050
- <a name='L985'></a><a href='#L985'>985</a>
1051
- <a name='L986'></a><a href='#L986'>986</a>
1052
- <a name='L987'></a><a href='#L987'>987</a>
1053
- <a name='L988'></a><a href='#L988'>988</a>
1054
- <a name='L989'></a><a href='#L989'>989</a>
1055
- <a name='L990'></a><a href='#L990'>990</a>
1056
- <a name='L991'></a><a href='#L991'>991</a>
1057
- <a name='L992'></a><a href='#L992'>992</a>
1058
- <a name='L993'></a><a href='#L993'>993</a>
1059
- <a name='L994'></a><a href='#L994'>994</a>
1060
- <a name='L995'></a><a href='#L995'>995</a>
1061
- <a name='L996'></a><a href='#L996'>996</a>
1062
- <a name='L997'></a><a href='#L997'>997</a>
1063
- <a name='L998'></a><a href='#L998'>998</a>
1064
- <a name='L999'></a><a href='#L999'>999</a>
1065
- <a name='L1000'></a><a href='#L1000'>1000</a>
1066
- <a name='L1001'></a><a href='#L1001'>1001</a>
1067
- <a name='L1002'></a><a href='#L1002'>1002</a>
1068
- <a name='L1003'></a><a href='#L1003'>1003</a>
1069
- <a name='L1004'></a><a href='#L1004'>1004</a>
1070
- <a name='L1005'></a><a href='#L1005'>1005</a>
1071
- <a name='L1006'></a><a href='#L1006'>1006</a>
1072
- <a name='L1007'></a><a href='#L1007'>1007</a>
1073
- <a name='L1008'></a><a href='#L1008'>1008</a>
1074
- <a name='L1009'></a><a href='#L1009'>1009</a>
1075
- <a name='L1010'></a><a href='#L1010'>1010</a>
1076
- <a name='L1011'></a><a href='#L1011'>1011</a>
1077
- <a name='L1012'></a><a href='#L1012'>1012</a>
1078
- <a name='L1013'></a><a href='#L1013'>1013</a>
1079
- <a name='L1014'></a><a href='#L1014'>1014</a>
1080
- <a name='L1015'></a><a href='#L1015'>1015</a>
1081
- <a name='L1016'></a><a href='#L1016'>1016</a>
1082
- <a name='L1017'></a><a href='#L1017'>1017</a>
1083
- <a name='L1018'></a><a href='#L1018'>1018</a>
1084
- <a name='L1019'></a><a href='#L1019'>1019</a>
1085
- <a name='L1020'></a><a href='#L1020'>1020</a>
1086
- <a name='L1021'></a><a href='#L1021'>1021</a>
1087
- <a name='L1022'></a><a href='#L1022'>1022</a>
1088
- <a name='L1023'></a><a href='#L1023'>1023</a>
1089
- <a name='L1024'></a><a href='#L1024'>1024</a>
1090
- <a name='L1025'></a><a href='#L1025'>1025</a>
1091
- <a name='L1026'></a><a href='#L1026'>1026</a>
1092
- <a name='L1027'></a><a href='#L1027'>1027</a>
1093
- <a name='L1028'></a><a href='#L1028'>1028</a>
1094
- <a name='L1029'></a><a href='#L1029'>1029</a>
1095
- <a name='L1030'></a><a href='#L1030'>1030</a>
1096
- <a name='L1031'></a><a href='#L1031'>1031</a>
1097
- <a name='L1032'></a><a href='#L1032'>1032</a>
1098
- <a name='L1033'></a><a href='#L1033'>1033</a>
1099
- <a name='L1034'></a><a href='#L1034'>1034</a>
1100
- <a name='L1035'></a><a href='#L1035'>1035</a>
1101
- <a name='L1036'></a><a href='#L1036'>1036</a>
1102
- <a name='L1037'></a><a href='#L1037'>1037</a>
1103
- <a name='L1038'></a><a href='#L1038'>1038</a>
1104
- <a name='L1039'></a><a href='#L1039'>1039</a>
1105
- <a name='L1040'></a><a href='#L1040'>1040</a>
1106
- <a name='L1041'></a><a href='#L1041'>1041</a>
1107
- <a name='L1042'></a><a href='#L1042'>1042</a>
1108
- <a name='L1043'></a><a href='#L1043'>1043</a>
1109
- <a name='L1044'></a><a href='#L1044'>1044</a>
1110
- <a name='L1045'></a><a href='#L1045'>1045</a>
1111
- <a name='L1046'></a><a href='#L1046'>1046</a>
1112
- <a name='L1047'></a><a href='#L1047'>1047</a>
1113
- <a name='L1048'></a><a href='#L1048'>1048</a>
1114
- <a name='L1049'></a><a href='#L1049'>1049</a>
1115
- <a name='L1050'></a><a href='#L1050'>1050</a>
1116
- <a name='L1051'></a><a href='#L1051'>1051</a>
1117
- <a name='L1052'></a><a href='#L1052'>1052</a>
1118
- <a name='L1053'></a><a href='#L1053'>1053</a>
1119
- <a name='L1054'></a><a href='#L1054'>1054</a>
1120
- <a name='L1055'></a><a href='#L1055'>1055</a>
1121
- <a name='L1056'></a><a href='#L1056'>1056</a>
1122
- <a name='L1057'></a><a href='#L1057'>1057</a>
1123
- <a name='L1058'></a><a href='#L1058'>1058</a>
1124
- <a name='L1059'></a><a href='#L1059'>1059</a>
1125
- <a name='L1060'></a><a href='#L1060'>1060</a>
1126
- <a name='L1061'></a><a href='#L1061'>1061</a>
1127
- <a name='L1062'></a><a href='#L1062'>1062</a>
1128
- <a name='L1063'></a><a href='#L1063'>1063</a>
1129
- <a name='L1064'></a><a href='#L1064'>1064</a>
1130
- <a name='L1065'></a><a href='#L1065'>1065</a>
1131
- <a name='L1066'></a><a href='#L1066'>1066</a>
1132
- <a name='L1067'></a><a href='#L1067'>1067</a>
1133
- <a name='L1068'></a><a href='#L1068'>1068</a>
1134
- <a name='L1069'></a><a href='#L1069'>1069</a>
1135
- <a name='L1070'></a><a href='#L1070'>1070</a>
1136
- <a name='L1071'></a><a href='#L1071'>1071</a>
1137
- <a name='L1072'></a><a href='#L1072'>1072</a>
1138
- <a name='L1073'></a><a href='#L1073'>1073</a>
1139
- <a name='L1074'></a><a href='#L1074'>1074</a>
1140
- <a name='L1075'></a><a href='#L1075'>1075</a>
1141
- <a name='L1076'></a><a href='#L1076'>1076</a>
1142
- <a name='L1077'></a><a href='#L1077'>1077</a>
1143
- <a name='L1078'></a><a href='#L1078'>1078</a>
1144
- <a name='L1079'></a><a href='#L1079'>1079</a>
1145
- <a name='L1080'></a><a href='#L1080'>1080</a>
1146
- <a name='L1081'></a><a href='#L1081'>1081</a>
1147
- <a name='L1082'></a><a href='#L1082'>1082</a>
1148
- <a name='L1083'></a><a href='#L1083'>1083</a>
1149
- <a name='L1084'></a><a href='#L1084'>1084</a>
1150
- <a name='L1085'></a><a href='#L1085'>1085</a>
1151
- <a name='L1086'></a><a href='#L1086'>1086</a>
1152
- <a name='L1087'></a><a href='#L1087'>1087</a>
1153
- <a name='L1088'></a><a href='#L1088'>1088</a>
1154
- <a name='L1089'></a><a href='#L1089'>1089</a>
1155
- <a name='L1090'></a><a href='#L1090'>1090</a>
1156
- <a name='L1091'></a><a href='#L1091'>1091</a>
1157
- <a name='L1092'></a><a href='#L1092'>1092</a>
1158
- <a name='L1093'></a><a href='#L1093'>1093</a>
1159
- <a name='L1094'></a><a href='#L1094'>1094</a>
1160
- <a name='L1095'></a><a href='#L1095'>1095</a>
1161
- <a name='L1096'></a><a href='#L1096'>1096</a>
1162
- <a name='L1097'></a><a href='#L1097'>1097</a>
1163
- <a name='L1098'></a><a href='#L1098'>1098</a>
1164
- <a name='L1099'></a><a href='#L1099'>1099</a>
1165
- <a name='L1100'></a><a href='#L1100'>1100</a>
1166
- <a name='L1101'></a><a href='#L1101'>1101</a>
1167
- <a name='L1102'></a><a href='#L1102'>1102</a>
1168
- <a name='L1103'></a><a href='#L1103'>1103</a>
1169
- <a name='L1104'></a><a href='#L1104'>1104</a>
1170
- <a name='L1105'></a><a href='#L1105'>1105</a>
1171
- <a name='L1106'></a><a href='#L1106'>1106</a>
1172
- <a name='L1107'></a><a href='#L1107'>1107</a>
1173
- <a name='L1108'></a><a href='#L1108'>1108</a>
1174
- <a name='L1109'></a><a href='#L1109'>1109</a>
1175
- <a name='L1110'></a><a href='#L1110'>1110</a>
1176
- <a name='L1111'></a><a href='#L1111'>1111</a>
1177
- <a name='L1112'></a><a href='#L1112'>1112</a>
1178
- <a name='L1113'></a><a href='#L1113'>1113</a>
1179
- <a name='L1114'></a><a href='#L1114'>1114</a>
1180
- <a name='L1115'></a><a href='#L1115'>1115</a>
1181
- <a name='L1116'></a><a href='#L1116'>1116</a>
1182
- <a name='L1117'></a><a href='#L1117'>1117</a>
1183
- <a name='L1118'></a><a href='#L1118'>1118</a>
1184
- <a name='L1119'></a><a href='#L1119'>1119</a>
1185
- <a name='L1120'></a><a href='#L1120'>1120</a>
1186
- <a name='L1121'></a><a href='#L1121'>1121</a>
1187
- <a name='L1122'></a><a href='#L1122'>1122</a>
1188
- <a name='L1123'></a><a href='#L1123'>1123</a>
1189
- <a name='L1124'></a><a href='#L1124'>1124</a>
1190
- <a name='L1125'></a><a href='#L1125'>1125</a>
1191
- <a name='L1126'></a><a href='#L1126'>1126</a>
1192
- <a name='L1127'></a><a href='#L1127'>1127</a>
1193
- <a name='L1128'></a><a href='#L1128'>1128</a>
1194
- <a name='L1129'></a><a href='#L1129'>1129</a>
1195
- <a name='L1130'></a><a href='#L1130'>1130</a>
1196
- <a name='L1131'></a><a href='#L1131'>1131</a>
1197
- <a name='L1132'></a><a href='#L1132'>1132</a>
1198
- <a name='L1133'></a><a href='#L1133'>1133</a>
1199
- <a name='L1134'></a><a href='#L1134'>1134</a>
1200
- <a name='L1135'></a><a href='#L1135'>1135</a>
1201
- <a name='L1136'></a><a href='#L1136'>1136</a>
1202
- <a name='L1137'></a><a href='#L1137'>1137</a>
1203
- <a name='L1138'></a><a href='#L1138'>1138</a>
1204
- <a name='L1139'></a><a href='#L1139'>1139</a>
1205
- <a name='L1140'></a><a href='#L1140'>1140</a>
1206
- <a name='L1141'></a><a href='#L1141'>1141</a>
1207
- <a name='L1142'></a><a href='#L1142'>1142</a>
1208
- <a name='L1143'></a><a href='#L1143'>1143</a>
1209
- <a name='L1144'></a><a href='#L1144'>1144</a>
1210
- <a name='L1145'></a><a href='#L1145'>1145</a>
1211
- <a name='L1146'></a><a href='#L1146'>1146</a>
1212
- <a name='L1147'></a><a href='#L1147'>1147</a>
1213
- <a name='L1148'></a><a href='#L1148'>1148</a>
1214
- <a name='L1149'></a><a href='#L1149'>1149</a>
1215
- <a name='L1150'></a><a href='#L1150'>1150</a>
1216
- <a name='L1151'></a><a href='#L1151'>1151</a>
1217
- <a name='L1152'></a><a href='#L1152'>1152</a>
1218
- <a name='L1153'></a><a href='#L1153'>1153</a>
1219
- <a name='L1154'></a><a href='#L1154'>1154</a>
1220
- <a name='L1155'></a><a href='#L1155'>1155</a>
1221
- <a name='L1156'></a><a href='#L1156'>1156</a>
1222
- <a name='L1157'></a><a href='#L1157'>1157</a>
1223
- <a name='L1158'></a><a href='#L1158'>1158</a>
1224
- <a name='L1159'></a><a href='#L1159'>1159</a>
1225
- <a name='L1160'></a><a href='#L1160'>1160</a>
1226
- <a name='L1161'></a><a href='#L1161'>1161</a>
1227
- <a name='L1162'></a><a href='#L1162'>1162</a>
1228
- <a name='L1163'></a><a href='#L1163'>1163</a>
1229
- <a name='L1164'></a><a href='#L1164'>1164</a>
1230
- <a name='L1165'></a><a href='#L1165'>1165</a>
1231
- <a name='L1166'></a><a href='#L1166'>1166</a>
1232
- <a name='L1167'></a><a href='#L1167'>1167</a>
1233
- <a name='L1168'></a><a href='#L1168'>1168</a>
1234
- <a name='L1169'></a><a href='#L1169'>1169</a>
1235
- <a name='L1170'></a><a href='#L1170'>1170</a>
1236
- <a name='L1171'></a><a href='#L1171'>1171</a>
1237
- <a name='L1172'></a><a href='#L1172'>1172</a>
1238
- <a name='L1173'></a><a href='#L1173'>1173</a>
1239
- <a name='L1174'></a><a href='#L1174'>1174</a>
1240
- <a name='L1175'></a><a href='#L1175'>1175</a>
1241
- <a name='L1176'></a><a href='#L1176'>1176</a>
1242
- <a name='L1177'></a><a href='#L1177'>1177</a>
1243
- <a name='L1178'></a><a href='#L1178'>1178</a>
1244
- <a name='L1179'></a><a href='#L1179'>1179</a>
1245
- <a name='L1180'></a><a href='#L1180'>1180</a>
1246
- <a name='L1181'></a><a href='#L1181'>1181</a>
1247
- <a name='L1182'></a><a href='#L1182'>1182</a>
1248
- <a name='L1183'></a><a href='#L1183'>1183</a>
1249
- <a name='L1184'></a><a href='#L1184'>1184</a>
1250
- <a name='L1185'></a><a href='#L1185'>1185</a>
1251
- <a name='L1186'></a><a href='#L1186'>1186</a>
1252
- <a name='L1187'></a><a href='#L1187'>1187</a>
1253
- <a name='L1188'></a><a href='#L1188'>1188</a>
1254
- <a name='L1189'></a><a href='#L1189'>1189</a>
1255
- <a name='L1190'></a><a href='#L1190'>1190</a>
1256
- <a name='L1191'></a><a href='#L1191'>1191</a>
1257
- <a name='L1192'></a><a href='#L1192'>1192</a>
1258
- <a name='L1193'></a><a href='#L1193'>1193</a>
1259
- <a name='L1194'></a><a href='#L1194'>1194</a>
1260
- <a name='L1195'></a><a href='#L1195'>1195</a>
1261
- <a name='L1196'></a><a href='#L1196'>1196</a>
1262
- <a name='L1197'></a><a href='#L1197'>1197</a>
1263
- <a name='L1198'></a><a href='#L1198'>1198</a>
1264
- <a name='L1199'></a><a href='#L1199'>1199</a>
1265
- <a name='L1200'></a><a href='#L1200'>1200</a>
1266
- <a name='L1201'></a><a href='#L1201'>1201</a>
1267
- <a name='L1202'></a><a href='#L1202'>1202</a>
1268
- <a name='L1203'></a><a href='#L1203'>1203</a>
1269
- <a name='L1204'></a><a href='#L1204'>1204</a>
1270
- <a name='L1205'></a><a href='#L1205'>1205</a>
1271
- <a name='L1206'></a><a href='#L1206'>1206</a>
1272
- <a name='L1207'></a><a href='#L1207'>1207</a>
1273
- <a name='L1208'></a><a href='#L1208'>1208</a>
1274
- <a name='L1209'></a><a href='#L1209'>1209</a>
1275
- <a name='L1210'></a><a href='#L1210'>1210</a>
1276
- <a name='L1211'></a><a href='#L1211'>1211</a>
1277
- <a name='L1212'></a><a href='#L1212'>1212</a>
1278
- <a name='L1213'></a><a href='#L1213'>1213</a>
1279
- <a name='L1214'></a><a href='#L1214'>1214</a>
1280
- <a name='L1215'></a><a href='#L1215'>1215</a>
1281
- <a name='L1216'></a><a href='#L1216'>1216</a>
1282
- <a name='L1217'></a><a href='#L1217'>1217</a>
1283
- <a name='L1218'></a><a href='#L1218'>1218</a>
1284
- <a name='L1219'></a><a href='#L1219'>1219</a>
1285
- <a name='L1220'></a><a href='#L1220'>1220</a>
1286
- <a name='L1221'></a><a href='#L1221'>1221</a>
1287
- <a name='L1222'></a><a href='#L1222'>1222</a>
1288
- <a name='L1223'></a><a href='#L1223'>1223</a>
1289
- <a name='L1224'></a><a href='#L1224'>1224</a>
1290
- <a name='L1225'></a><a href='#L1225'>1225</a>
1291
- <a name='L1226'></a><a href='#L1226'>1226</a>
1292
- <a name='L1227'></a><a href='#L1227'>1227</a>
1293
- <a name='L1228'></a><a href='#L1228'>1228</a>
1294
- <a name='L1229'></a><a href='#L1229'>1229</a>
1295
- <a name='L1230'></a><a href='#L1230'>1230</a>
1296
- <a name='L1231'></a><a href='#L1231'>1231</a>
1297
- <a name='L1232'></a><a href='#L1232'>1232</a>
1298
- <a name='L1233'></a><a href='#L1233'>1233</a>
1299
- <a name='L1234'></a><a href='#L1234'>1234</a>
1300
- <a name='L1235'></a><a href='#L1235'>1235</a>
1301
- <a name='L1236'></a><a href='#L1236'>1236</a>
1302
- <a name='L1237'></a><a href='#L1237'>1237</a>
1303
- <a name='L1238'></a><a href='#L1238'>1238</a>
1304
- <a name='L1239'></a><a href='#L1239'>1239</a>
1305
- <a name='L1240'></a><a href='#L1240'>1240</a>
1306
- <a name='L1241'></a><a href='#L1241'>1241</a>
1307
- <a name='L1242'></a><a href='#L1242'>1242</a>
1308
- <a name='L1243'></a><a href='#L1243'>1243</a>
1309
- <a name='L1244'></a><a href='#L1244'>1244</a>
1310
- <a name='L1245'></a><a href='#L1245'>1245</a>
1311
- <a name='L1246'></a><a href='#L1246'>1246</a>
1312
- <a name='L1247'></a><a href='#L1247'>1247</a>
1313
- <a name='L1248'></a><a href='#L1248'>1248</a>
1314
- <a name='L1249'></a><a href='#L1249'>1249</a>
1315
- <a name='L1250'></a><a href='#L1250'>1250</a>
1316
- <a name='L1251'></a><a href='#L1251'>1251</a>
1317
- <a name='L1252'></a><a href='#L1252'>1252</a>
1318
- <a name='L1253'></a><a href='#L1253'>1253</a>
1319
- <a name='L1254'></a><a href='#L1254'>1254</a>
1320
- <a name='L1255'></a><a href='#L1255'>1255</a>
1321
- <a name='L1256'></a><a href='#L1256'>1256</a>
1322
- <a name='L1257'></a><a href='#L1257'>1257</a>
1323
- <a name='L1258'></a><a href='#L1258'>1258</a>
1324
- <a name='L1259'></a><a href='#L1259'>1259</a>
1325
- <a name='L1260'></a><a href='#L1260'>1260</a>
1326
- <a name='L1261'></a><a href='#L1261'>1261</a>
1327
- <a name='L1262'></a><a href='#L1262'>1262</a>
1328
- <a name='L1263'></a><a href='#L1263'>1263</a>
1329
- <a name='L1264'></a><a href='#L1264'>1264</a>
1330
- <a name='L1265'></a><a href='#L1265'>1265</a>
1331
- <a name='L1266'></a><a href='#L1266'>1266</a>
1332
- <a name='L1267'></a><a href='#L1267'>1267</a>
1333
- <a name='L1268'></a><a href='#L1268'>1268</a>
1334
- <a name='L1269'></a><a href='#L1269'>1269</a>
1335
- <a name='L1270'></a><a href='#L1270'>1270</a>
1336
- <a name='L1271'></a><a href='#L1271'>1271</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">413x</span>
1337
- <span class="cline-any cline-yes">1x</span>
1338
- <span class="cline-any cline-yes">1x</span>
1339
- <span class="cline-any cline-yes">1x</span>
1340
- <span class="cline-any cline-yes">1x</span>
1341
- <span class="cline-any cline-yes">1x</span>
1342
- <span class="cline-any cline-yes">1x</span>
1343
- <span class="cline-any cline-yes">1x</span>
1344
- <span class="cline-any cline-yes">1x</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-yes">1x</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-neutral">&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-yes">1x</span>
1353
- <span class="cline-any cline-yes">1x</span>
1354
- <span class="cline-any cline-yes">1x</span>
1355
- <span class="cline-any cline-yes">1x</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-neutral">&nbsp;</span>
1358
- <span class="cline-any cline-yes">1x</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-yes">1x</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-neutral">&nbsp;</span>
1363
- <span class="cline-any cline-yes">1x</span>
1364
- <span class="cline-any cline-no">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-no">&nbsp;</span>
1367
- <span class="cline-any cline-no">&nbsp;</span>
1368
- <span class="cline-any cline-no">&nbsp;</span>
1369
- <span class="cline-any cline-no">&nbsp;</span>
1370
- <span class="cline-any cline-no">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-neutral">&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-no">&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-no">&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-no">&nbsp;</span>
1383
- <span class="cline-any cline-neutral">&nbsp;</span>
1384
- <span class="cline-any cline-no">&nbsp;</span>
1385
- <span class="cline-any cline-neutral">&nbsp;</span>
1386
- <span class="cline-any cline-no">&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-neutral">&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-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-neutral">&nbsp;</span>
1395
- <span class="cline-any cline-no">&nbsp;</span>
1396
- <span class="cline-any cline-no">&nbsp;</span>
1397
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-yes">1x</span>
1402
- <span class="cline-any cline-no">&nbsp;</span>
1403
- <span class="cline-any cline-no">&nbsp;</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-no">&nbsp;</span>
1413
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1418
- <span class="cline-any cline-no">&nbsp;</span>
1419
- <span class="cline-any cline-no">&nbsp;</span>
1420
- <span class="cline-any cline-no">&nbsp;</span>
1421
- <span class="cline-any cline-no">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-no">&nbsp;</span>
1424
- <span class="cline-any cline-no">&nbsp;</span>
1425
- <span class="cline-any cline-no">&nbsp;</span>
1426
- <span class="cline-any cline-no">&nbsp;</span>
1427
- <span class="cline-any cline-no">&nbsp;</span>
1428
- <span class="cline-any cline-no">&nbsp;</span>
1429
- <span class="cline-any cline-neutral">&nbsp;</span>
1430
- <span class="cline-any cline-no">&nbsp;</span>
1431
- <span class="cline-any cline-neutral">&nbsp;</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</span>
1433
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-neutral">&nbsp;</span>
1438
- <span class="cline-any cline-neutral">&nbsp;</span>
1439
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1443
- <span class="cline-any cline-neutral">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-neutral">&nbsp;</span>
1446
- <span class="cline-any cline-yes">1x</span>
1447
- <span class="cline-any cline-no">&nbsp;</span>
1448
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1453
- <span class="cline-any cline-no">&nbsp;</span>
1454
- <span class="cline-any cline-no">&nbsp;</span>
1455
- <span class="cline-any cline-no">&nbsp;</span>
1456
- <span class="cline-any cline-no">&nbsp;</span>
1457
- <span class="cline-any cline-no">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-no">&nbsp;</span>
1460
- <span class="cline-any cline-no">&nbsp;</span>
1461
- <span class="cline-any cline-no">&nbsp;</span>
1462
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1466
- <span class="cline-any cline-no">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-no">&nbsp;</span>
1469
- <span class="cline-any cline-neutral">&nbsp;</span>
1470
- <span class="cline-any cline-no">&nbsp;</span>
1471
- <span class="cline-any cline-no">&nbsp;</span>
1472
- <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1476
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-neutral">&nbsp;</span>
1484
- <span class="cline-any cline-neutral">&nbsp;</span>
1485
- <span class="cline-any cline-neutral">&nbsp;</span>
1486
- <span class="cline-any cline-neutral">&nbsp;</span>
1487
- <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
1491
- <span class="cline-any cline-no">&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-neutral">&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-no">&nbsp;</span>
1499
- <span class="cline-any cline-no">&nbsp;</span>
1500
- <span class="cline-any cline-no">&nbsp;</span>
1501
- <span class="cline-any cline-no">&nbsp;</span>
1502
- <span class="cline-any cline-no">&nbsp;</span>
1503
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1507
- <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-no">&nbsp;</span>
1509
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1515
- <span class="cline-any cline-neutral">&nbsp;</span>
1516
- <span class="cline-any cline-yes">1x</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-no">&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-no">&nbsp;</span>
1524
- <span class="cline-any cline-no">&nbsp;</span>
1525
- <span class="cline-any cline-no">&nbsp;</span>
1526
- <span class="cline-any cline-no">&nbsp;</span>
1527
- <span class="cline-any cline-neutral">&nbsp;</span>
1528
- <span class="cline-any cline-no">&nbsp;</span>
1529
- <span class="cline-any cline-no">&nbsp;</span>
1530
- <span class="cline-any cline-no">&nbsp;</span>
1531
- <span class="cline-any cline-neutral">&nbsp;</span>
1532
- <span class="cline-any cline-no">&nbsp;</span>
1533
- <span class="cline-any cline-neutral">&nbsp;</span>
1534
- <span class="cline-any cline-no">&nbsp;</span>
1535
- <span class="cline-any cline-no">&nbsp;</span>
1536
- <span class="cline-any cline-no">&nbsp;</span>
1537
- <span class="cline-any cline-neutral">&nbsp;</span>
1538
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1542
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1546
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1550
- <span class="cline-any cline-no">&nbsp;</span>
1551
- <span class="cline-any cline-no">&nbsp;</span>
1552
- <span class="cline-any cline-no">&nbsp;</span>
1553
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1560
- <span class="cline-any cline-no">&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-neutral">&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-neutral">&nbsp;</span>
1568
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1575
- <span class="cline-any cline-neutral">&nbsp;</span>
1576
- <span class="cline-any cline-no">&nbsp;</span>
1577
- <span class="cline-any cline-neutral">&nbsp;</span>
1578
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1582
- <span class="cline-any cline-neutral">&nbsp;</span>
1583
- <span class="cline-any cline-no">&nbsp;</span>
1584
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1589
- <span class="cline-any cline-neutral">&nbsp;</span>
1590
- <span class="cline-any cline-no">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-neutral">&nbsp;</span>
1593
- <span class="cline-any cline-neutral">&nbsp;</span>
1594
- <span class="cline-any cline-no">&nbsp;</span>
1595
- <span class="cline-any cline-no">&nbsp;</span>
1596
- <span class="cline-any cline-no">&nbsp;</span>
1597
- <span class="cline-any cline-neutral">&nbsp;</span>
1598
- <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-yes">1x</span>
1600
- <span class="cline-any cline-no">&nbsp;</span>
1601
- <span class="cline-any cline-no">&nbsp;</span>
1602
- <span class="cline-any cline-no">&nbsp;</span>
1603
- <span class="cline-any cline-no">&nbsp;</span>
1604
- <span class="cline-any cline-no">&nbsp;</span>
1605
- <span class="cline-any cline-no">&nbsp;</span>
1606
- <span class="cline-any cline-no">&nbsp;</span>
1607
- <span class="cline-any cline-no">&nbsp;</span>
1608
- <span class="cline-any cline-neutral">&nbsp;</span>
1609
- <span class="cline-any cline-no">&nbsp;</span>
1610
- <span class="cline-any cline-no">&nbsp;</span>
1611
- <span class="cline-any cline-no">&nbsp;</span>
1612
- <span class="cline-any cline-no">&nbsp;</span>
1613
- <span class="cline-any cline-no">&nbsp;</span>
1614
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1619
- <span class="cline-any cline-no">&nbsp;</span>
1620
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1626
- <span class="cline-any cline-neutral">&nbsp;</span>
1627
- <span class="cline-any cline-yes">1x</span>
1628
- <span class="cline-any cline-no">&nbsp;</span>
1629
- <span class="cline-any cline-no">&nbsp;</span>
1630
- <span class="cline-any cline-neutral">&nbsp;</span>
1631
- <span class="cline-any cline-no">&nbsp;</span>
1632
- <span class="cline-any cline-no">&nbsp;</span>
1633
- <span class="cline-any cline-neutral">&nbsp;</span>
1634
- <span class="cline-any cline-no">&nbsp;</span>
1635
- <span class="cline-any cline-no">&nbsp;</span>
1636
- <span class="cline-any cline-neutral">&nbsp;</span>
1637
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1642
- <span class="cline-any cline-neutral">&nbsp;</span>
1643
- <span class="cline-any cline-no">&nbsp;</span>
1644
- <span class="cline-any cline-no">&nbsp;</span>
1645
- <span class="cline-any cline-neutral">&nbsp;</span>
1646
- <span class="cline-any cline-no">&nbsp;</span>
1647
- <span class="cline-any cline-no">&nbsp;</span>
1648
- <span class="cline-any cline-neutral">&nbsp;</span>
1649
- <span class="cline-any cline-no">&nbsp;</span>
1650
- <span class="cline-any cline-no">&nbsp;</span>
1651
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1655
- <span class="cline-any cline-no">&nbsp;</span>
1656
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1660
- <span class="cline-any cline-no">&nbsp;</span>
1661
- <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
1667
- <span class="cline-any cline-neutral">&nbsp;</span>
1668
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1678
- <span class="cline-any cline-no">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-no">&nbsp;</span>
1681
- <span class="cline-any cline-no">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-no">&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-no">&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-yes">1x</span>
1691
- <span class="cline-any cline-no">&nbsp;</span>
1692
- <span class="cline-any cline-no">&nbsp;</span>
1693
- <span class="cline-any cline-neutral">&nbsp;</span>
1694
- <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
1702
- <span class="cline-any cline-no">&nbsp;</span>
1703
- <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1707
- <span class="cline-any cline-neutral">&nbsp;</span>
1708
- <span class="cline-any cline-yes">1x</span>
1709
- <span class="cline-any cline-yes">1x</span>
1710
- <span class="cline-any cline-neutral">&nbsp;</span>
1711
- <span class="cline-any cline-yes">1x</span>
1712
- <span class="cline-any cline-no">&nbsp;</span>
1713
- <span class="cline-any cline-no">&nbsp;</span>
1714
- <span class="cline-any cline-no">&nbsp;</span>
1715
- <span class="cline-any cline-no">&nbsp;</span>
1716
- <span class="cline-any cline-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-no">&nbsp;</span>
1721
- <span class="cline-any cline-neutral">&nbsp;</span>
1722
- <span class="cline-any cline-neutral">&nbsp;</span>
1723
- <span class="cline-any cline-neutral">&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-yes">1x</span>
1728
- <span class="cline-any cline-no">&nbsp;</span>
1729
- <span class="cline-any cline-no">&nbsp;</span>
1730
- <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
1740
- <span class="cline-any cline-no">&nbsp;</span>
1741
- <span class="cline-any cline-no">&nbsp;</span>
1742
- <span class="cline-any cline-no">&nbsp;</span>
1743
- <span class="cline-any cline-neutral">&nbsp;</span>
1744
- <span class="cline-any cline-neutral">&nbsp;</span>
1745
- <span class="cline-any cline-no">&nbsp;</span>
1746
- <span class="cline-any cline-no">&nbsp;</span>
1747
- <span class="cline-any cline-no">&nbsp;</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-no">&nbsp;</span>
1750
- <span class="cline-any cline-no">&nbsp;</span>
1751
- <span class="cline-any cline-no">&nbsp;</span>
1752
- <span class="cline-any cline-no">&nbsp;</span>
1753
- <span class="cline-any cline-no">&nbsp;</span>
1754
- <span class="cline-any cline-no">&nbsp;</span>
1755
- <span class="cline-any cline-no">&nbsp;</span>
1756
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1763
- <span class="cline-any cline-no">&nbsp;</span>
1764
- <span class="cline-any cline-no">&nbsp;</span>
1765
- <span class="cline-any cline-no">&nbsp;</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-no">&nbsp;</span>
1769
- <span class="cline-any cline-neutral">&nbsp;</span>
1770
- <span class="cline-any cline-neutral">&nbsp;</span>
1771
- <span class="cline-any cline-no">&nbsp;</span>
1772
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1780
- <span class="cline-any cline-no">&nbsp;</span>
1781
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1791
- <span class="cline-any cline-no">&nbsp;</span>
1792
- <span class="cline-any cline-no">&nbsp;</span>
1793
- <span class="cline-any cline-no">&nbsp;</span>
1794
- <span class="cline-any cline-no">&nbsp;</span>
1795
- <span class="cline-any cline-no">&nbsp;</span>
1796
- <span class="cline-any cline-no">&nbsp;</span>
1797
- <span class="cline-any cline-no">&nbsp;</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-no">&nbsp;</span>
1800
- <span class="cline-any cline-no">&nbsp;</span>
1801
- <span class="cline-any cline-no">&nbsp;</span>
1802
- <span class="cline-any cline-no">&nbsp;</span>
1803
- <span class="cline-any cline-no">&nbsp;</span>
1804
- <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-neutral">&nbsp;</span>
1806
- <span class="cline-any cline-no">&nbsp;</span>
1807
- <span class="cline-any cline-no">&nbsp;</span>
1808
- <span class="cline-any cline-neutral">&nbsp;</span>
1809
- <span class="cline-any cline-neutral">&nbsp;</span>
1810
- <span class="cline-any cline-neutral">&nbsp;</span>
1811
- <span class="cline-any cline-no">&nbsp;</span>
1812
- <span class="cline-any cline-no">&nbsp;</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-neutral">&nbsp;</span>
1815
- <span class="cline-any cline-no">&nbsp;</span>
1816
- <span class="cline-any cline-no">&nbsp;</span>
1817
- <span class="cline-any cline-no">&nbsp;</span>
1818
- <span class="cline-any cline-no">&nbsp;</span>
1819
- <span class="cline-any cline-no">&nbsp;</span>
1820
- <span class="cline-any cline-neutral">&nbsp;</span>
1821
- <span class="cline-any cline-neutral">&nbsp;</span>
1822
- <span class="cline-any cline-no">&nbsp;</span>
1823
- <span class="cline-any cline-no">&nbsp;</span>
1824
- <span class="cline-any cline-no">&nbsp;</span>
1825
- <span class="cline-any cline-neutral">&nbsp;</span>
1826
- <span class="cline-any cline-neutral">&nbsp;</span>
1827
- <span class="cline-any cline-no">&nbsp;</span>
1828
- <span class="cline-any cline-no">&nbsp;</span>
1829
- <span class="cline-any cline-neutral">&nbsp;</span>
1830
- <span class="cline-any cline-no">&nbsp;</span>
1831
- <span class="cline-any cline-no">&nbsp;</span>
1832
- <span class="cline-any cline-no">&nbsp;</span>
1833
- <span class="cline-any cline-no">&nbsp;</span>
1834
- <span class="cline-any cline-no">&nbsp;</span>
1835
- <span class="cline-any cline-no">&nbsp;</span>
1836
- <span class="cline-any cline-neutral">&nbsp;</span>
1837
- <span class="cline-any cline-neutral">&nbsp;</span>
1838
- <span class="cline-any cline-no">&nbsp;</span>
1839
- <span class="cline-any cline-no">&nbsp;</span>
1840
- <span class="cline-any cline-neutral">&nbsp;</span>
1841
- <span class="cline-any cline-neutral">&nbsp;</span>
1842
- <span class="cline-any cline-no">&nbsp;</span>
1843
- <span class="cline-any cline-no">&nbsp;</span>
1844
- <span class="cline-any cline-no">&nbsp;</span>
1845
- <span class="cline-any cline-neutral">&nbsp;</span>
1846
- <span class="cline-any cline-neutral">&nbsp;</span>
1847
- <span class="cline-any cline-no">&nbsp;</span>
1848
- <span class="cline-any cline-no">&nbsp;</span>
1849
- <span class="cline-any cline-no">&nbsp;</span>
1850
- <span class="cline-any cline-no">&nbsp;</span>
1851
- <span class="cline-any cline-no">&nbsp;</span>
1852
- <span class="cline-any cline-no">&nbsp;</span>
1853
- <span class="cline-any cline-no">&nbsp;</span>
1854
- <span class="cline-any cline-neutral">&nbsp;</span>
1855
- <span class="cline-any cline-neutral">&nbsp;</span>
1856
- <span class="cline-any cline-neutral">&nbsp;</span>
1857
- <span class="cline-any cline-neutral">&nbsp;</span>
1858
- <span class="cline-any cline-neutral">&nbsp;</span>
1859
- <span class="cline-any cline-neutral">&nbsp;</span>
1860
- <span class="cline-any cline-neutral">&nbsp;</span>
1861
- <span class="cline-any cline-neutral">&nbsp;</span>
1862
- <span class="cline-any cline-neutral">&nbsp;</span>
1863
- <span class="cline-any cline-neutral">&nbsp;</span>
1864
- <span class="cline-any cline-neutral">&nbsp;</span>
1865
- <span class="cline-any cline-neutral">&nbsp;</span>
1866
- <span class="cline-any cline-neutral">&nbsp;</span>
1867
- <span class="cline-any cline-neutral">&nbsp;</span>
1868
- <span class="cline-any cline-neutral">&nbsp;</span>
1869
- <span class="cline-any cline-neutral">&nbsp;</span>
1870
- <span class="cline-any cline-no">&nbsp;</span>
1871
- <span class="cline-any cline-neutral">&nbsp;</span>
1872
- <span class="cline-any cline-no">&nbsp;</span>
1873
- <span class="cline-any cline-no">&nbsp;</span>
1874
- <span class="cline-any cline-no">&nbsp;</span>
1875
- <span class="cline-any cline-neutral">&nbsp;</span>
1876
- <span class="cline-any cline-no">&nbsp;</span>
1877
- <span class="cline-any cline-no">&nbsp;</span>
1878
- <span class="cline-any cline-no">&nbsp;</span>
1879
- <span class="cline-any cline-neutral">&nbsp;</span>
1880
- <span class="cline-any cline-no">&nbsp;</span>
1881
- <span class="cline-any cline-no">&nbsp;</span>
1882
- <span class="cline-any cline-neutral">&nbsp;</span>
1883
- <span class="cline-any cline-neutral">&nbsp;</span>
1884
- <span class="cline-any cline-no">&nbsp;</span>
1885
- <span class="cline-any cline-no">&nbsp;</span>
1886
- <span class="cline-any cline-no">&nbsp;</span>
1887
- <span class="cline-any cline-neutral">&nbsp;</span>
1888
- <span class="cline-any cline-no">&nbsp;</span>
1889
- <span class="cline-any cline-no">&nbsp;</span>
1890
- <span class="cline-any cline-neutral">&nbsp;</span>
1891
- <span class="cline-any cline-no">&nbsp;</span>
1892
- <span class="cline-any cline-neutral">&nbsp;</span>
1893
- <span class="cline-any cline-no">&nbsp;</span>
1894
- <span class="cline-any cline-no">&nbsp;</span>
1895
- <span class="cline-any cline-no">&nbsp;</span>
1896
- <span class="cline-any cline-neutral">&nbsp;</span>
1897
- <span class="cline-any cline-neutral">&nbsp;</span>
1898
- <span class="cline-any cline-no">&nbsp;</span>
1899
- <span class="cline-any cline-neutral">&nbsp;</span>
1900
- <span class="cline-any cline-no">&nbsp;</span>
1901
- <span class="cline-any cline-neutral">&nbsp;</span>
1902
- <span class="cline-any cline-no">&nbsp;</span>
1903
- <span class="cline-any cline-no">&nbsp;</span>
1904
- <span class="cline-any cline-no">&nbsp;</span>
1905
- <span class="cline-any cline-neutral">&nbsp;</span>
1906
- <span class="cline-any cline-neutral">&nbsp;</span>
1907
- <span class="cline-any cline-no">&nbsp;</span>
1908
- <span class="cline-any cline-no">&nbsp;</span>
1909
- <span class="cline-any cline-no">&nbsp;</span>
1910
- <span class="cline-any cline-no">&nbsp;</span>
1911
- <span class="cline-any cline-neutral">&nbsp;</span>
1912
- <span class="cline-any cline-no">&nbsp;</span>
1913
- <span class="cline-any cline-no">&nbsp;</span>
1914
- <span class="cline-any cline-neutral">&nbsp;</span>
1915
- <span class="cline-any cline-neutral">&nbsp;</span>
1916
- <span class="cline-any cline-neutral">&nbsp;</span>
1917
- <span class="cline-any cline-no">&nbsp;</span>
1918
- <span class="cline-any cline-no">&nbsp;</span>
1919
- <span class="cline-any cline-neutral">&nbsp;</span>
1920
- <span class="cline-any cline-neutral">&nbsp;</span>
1921
- <span class="cline-any cline-no">&nbsp;</span>
1922
- <span class="cline-any cline-no">&nbsp;</span>
1923
- <span class="cline-any cline-no">&nbsp;</span>
1924
- <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-no">&nbsp;</span>
1926
- <span class="cline-any cline-no">&nbsp;</span>
1927
- <span class="cline-any cline-no">&nbsp;</span>
1928
- <span class="cline-any cline-neutral">&nbsp;</span>
1929
- <span class="cline-any cline-neutral">&nbsp;</span>
1930
- <span class="cline-any cline-neutral">&nbsp;</span>
1931
- <span class="cline-any cline-neutral">&nbsp;</span>
1932
- <span class="cline-any cline-neutral">&nbsp;</span>
1933
- <span class="cline-any cline-no">&nbsp;</span>
1934
- <span class="cline-any cline-no">&nbsp;</span>
1935
- <span class="cline-any cline-neutral">&nbsp;</span>
1936
- <span class="cline-any cline-neutral">&nbsp;</span>
1937
- <span class="cline-any cline-neutral">&nbsp;</span>
1938
- <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-neutral">&nbsp;</span>
1940
- <span class="cline-any cline-neutral">&nbsp;</span>
1941
- <span class="cline-any cline-neutral">&nbsp;</span>
1942
- <span class="cline-any cline-no">&nbsp;</span>
1943
- <span class="cline-any cline-neutral">&nbsp;</span>
1944
- <span class="cline-any cline-neutral">&nbsp;</span>
1945
- <span class="cline-any cline-neutral">&nbsp;</span>
1946
- <span class="cline-any cline-neutral">&nbsp;</span>
1947
- <span class="cline-any cline-neutral">&nbsp;</span>
1948
- <span class="cline-any cline-neutral">&nbsp;</span>
1949
- <span class="cline-any cline-neutral">&nbsp;</span>
1950
- <span class="cline-any cline-neutral">&nbsp;</span>
1951
- <span class="cline-any cline-neutral">&nbsp;</span>
1952
- <span class="cline-any cline-no">&nbsp;</span>
1953
- <span class="cline-any cline-no">&nbsp;</span>
1954
- <span class="cline-any cline-neutral">&nbsp;</span>
1955
- <span class="cline-any cline-neutral">&nbsp;</span>
1956
- <span class="cline-any cline-neutral">&nbsp;</span>
1957
- <span class="cline-any cline-neutral">&nbsp;</span>
1958
- <span class="cline-any cline-neutral">&nbsp;</span>
1959
- <span class="cline-any cline-no">&nbsp;</span>
1960
- <span class="cline-any cline-neutral">&nbsp;</span>
1961
- <span class="cline-any cline-neutral">&nbsp;</span>
1962
- <span class="cline-any cline-no">&nbsp;</span>
1963
- <span class="cline-any cline-no">&nbsp;</span>
1964
- <span class="cline-any cline-neutral">&nbsp;</span>
1965
- <span class="cline-any cline-neutral">&nbsp;</span>
1966
- <span class="cline-any cline-neutral">&nbsp;</span>
1967
- <span class="cline-any cline-neutral">&nbsp;</span>
1968
- <span class="cline-any cline-no">&nbsp;</span>
1969
- <span class="cline-any cline-neutral">&nbsp;</span>
1970
- <span class="cline-any cline-neutral">&nbsp;</span>
1971
- <span class="cline-any cline-neutral">&nbsp;</span>
1972
- <span class="cline-any cline-neutral">&nbsp;</span>
1973
- <span class="cline-any cline-neutral">&nbsp;</span>
1974
- <span class="cline-any cline-no">&nbsp;</span>
1975
- <span class="cline-any cline-no">&nbsp;</span>
1976
- <span class="cline-any cline-neutral">&nbsp;</span>
1977
- <span class="cline-any cline-neutral">&nbsp;</span>
1978
- <span class="cline-any cline-neutral">&nbsp;</span>
1979
- <span class="cline-any cline-neutral">&nbsp;</span>
1980
- <span class="cline-any cline-neutral">&nbsp;</span>
1981
- <span class="cline-any cline-neutral">&nbsp;</span>
1982
- <span class="cline-any cline-neutral">&nbsp;</span>
1983
- <span class="cline-any cline-neutral">&nbsp;</span>
1984
- <span class="cline-any cline-neutral">&nbsp;</span>
1985
- <span class="cline-any cline-neutral">&nbsp;</span>
1986
- <span class="cline-any cline-no">&nbsp;</span>
1987
- <span class="cline-any cline-neutral">&nbsp;</span>
1988
- <span class="cline-any cline-no">&nbsp;</span>
1989
- <span class="cline-any cline-no">&nbsp;</span>
1990
- <span class="cline-any cline-no">&nbsp;</span>
1991
- <span class="cline-any cline-no">&nbsp;</span>
1992
- <span class="cline-any cline-neutral">&nbsp;</span>
1993
- <span class="cline-any cline-no">&nbsp;</span>
1994
- <span class="cline-any cline-neutral">&nbsp;</span>
1995
- <span class="cline-any cline-no">&nbsp;</span>
1996
- <span class="cline-any cline-neutral">&nbsp;</span>
1997
- <span class="cline-any cline-no">&nbsp;</span>
1998
- <span class="cline-any cline-neutral">&nbsp;</span>
1999
- <span class="cline-any cline-no">&nbsp;</span>
2000
- <span class="cline-any cline-neutral">&nbsp;</span>
2001
- <span class="cline-any cline-neutral">&nbsp;</span>
2002
- <span class="cline-any cline-neutral">&nbsp;</span>
2003
- <span class="cline-any cline-no">&nbsp;</span>
2004
- <span class="cline-any cline-no">&nbsp;</span>
2005
- <span class="cline-any cline-no">&nbsp;</span>
2006
- <span class="cline-any cline-no">&nbsp;</span>
2007
- <span class="cline-any cline-neutral">&nbsp;</span>
2008
- <span class="cline-any cline-no">&nbsp;</span>
2009
- <span class="cline-any cline-neutral">&nbsp;</span>
2010
- <span class="cline-any cline-no">&nbsp;</span>
2011
- <span class="cline-any cline-neutral">&nbsp;</span>
2012
- <span class="cline-any cline-neutral">&nbsp;</span>
2013
- <span class="cline-any cline-neutral">&nbsp;</span>
2014
- <span class="cline-any cline-neutral">&nbsp;</span>
2015
- <span class="cline-any cline-neutral">&nbsp;</span>
2016
- <span class="cline-any cline-neutral">&nbsp;</span>
2017
- <span class="cline-any cline-neutral">&nbsp;</span>
2018
- <span class="cline-any cline-neutral">&nbsp;</span>
2019
- <span class="cline-any cline-neutral">&nbsp;</span>
2020
- <span class="cline-any cline-neutral">&nbsp;</span>
2021
- <span class="cline-any cline-neutral">&nbsp;</span>
2022
- <span class="cline-any cline-neutral">&nbsp;</span>
2023
- <span class="cline-any cline-neutral">&nbsp;</span>
2024
- <span class="cline-any cline-neutral">&nbsp;</span>
2025
- <span class="cline-any cline-neutral">&nbsp;</span>
2026
- <span class="cline-any cline-yes">2x</span>
2027
- <span class="cline-any cline-yes">1x</span>
2028
- <span class="cline-any cline-yes">1x</span>
2029
- <span class="cline-any cline-neutral">&nbsp;</span>
2030
- <span class="cline-any cline-neutral">&nbsp;</span>
2031
- <span class="cline-any cline-neutral">&nbsp;</span>
2032
- <span class="cline-any cline-neutral">&nbsp;</span>
2033
- <span class="cline-any cline-neutral">&nbsp;</span>
2034
- <span class="cline-any cline-neutral">&nbsp;</span>
2035
- <span class="cline-any cline-neutral">&nbsp;</span>
2036
- <span class="cline-any cline-neutral">&nbsp;</span>
2037
- <span class="cline-any cline-yes">1x</span>
2038
- <span class="cline-any cline-yes">1x</span>
2039
- <span class="cline-any cline-yes">1x</span>
2040
- <span class="cline-any cline-yes">1x</span>
2041
- <span class="cline-any cline-yes">1x</span>
2042
- <span class="cline-any cline-yes">1x</span>
2043
- <span class="cline-any cline-neutral">&nbsp;</span>
2044
- <span class="cline-any cline-neutral">&nbsp;</span>
2045
- <span class="cline-any cline-no">&nbsp;</span>
2046
- <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-no">&nbsp;</span>
2048
- <span class="cline-any cline-no">&nbsp;</span>
2049
- <span class="cline-any cline-no">&nbsp;</span>
2050
- <span class="cline-any cline-neutral">&nbsp;</span>
2051
- <span class="cline-any cline-neutral">&nbsp;</span>
2052
- <span class="cline-any cline-no">&nbsp;</span>
2053
- <span class="cline-any cline-neutral">&nbsp;</span>
2054
- <span class="cline-any cline-neutral">&nbsp;</span>
2055
- <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-no">&nbsp;</span>
2057
- <span class="cline-any cline-no">&nbsp;</span>
2058
- <span class="cline-any cline-no">&nbsp;</span>
2059
- <span class="cline-any cline-no">&nbsp;</span>
2060
- <span class="cline-any cline-neutral">&nbsp;</span>
2061
- <span class="cline-any cline-neutral">&nbsp;</span>
2062
- <span class="cline-any cline-neutral">&nbsp;</span>
2063
- <span class="cline-any cline-no">&nbsp;</span>
2064
- <span class="cline-any cline-no">&nbsp;</span>
2065
- <span class="cline-any cline-no">&nbsp;</span>
2066
- <span class="cline-any cline-no">&nbsp;</span>
2067
- <span class="cline-any cline-neutral">&nbsp;</span>
2068
- <span class="cline-any cline-no">&nbsp;</span>
2069
- <span class="cline-any cline-no">&nbsp;</span>
2070
- <span class="cline-any cline-no">&nbsp;</span>
2071
- <span class="cline-any cline-no">&nbsp;</span>
2072
- <span class="cline-any cline-no">&nbsp;</span>
2073
- <span class="cline-any cline-neutral">&nbsp;</span>
2074
- <span class="cline-any cline-no">&nbsp;</span>
2075
- <span class="cline-any cline-no">&nbsp;</span>
2076
- <span class="cline-any cline-no">&nbsp;</span>
2077
- <span class="cline-any cline-no">&nbsp;</span>
2078
- <span class="cline-any cline-no">&nbsp;</span>
2079
- <span class="cline-any cline-no">&nbsp;</span>
2080
- <span class="cline-any cline-no">&nbsp;</span>
2081
- <span class="cline-any cline-neutral">&nbsp;</span>
2082
- <span class="cline-any cline-neutral">&nbsp;</span>
2083
- <span class="cline-any cline-no">&nbsp;</span>
2084
- <span class="cline-any cline-no">&nbsp;</span>
2085
- <span class="cline-any cline-no">&nbsp;</span>
2086
- <span class="cline-any cline-neutral">&nbsp;</span>
2087
- <span class="cline-any cline-neutral">&nbsp;</span>
2088
- <span class="cline-any cline-no">&nbsp;</span>
2089
- <span class="cline-any cline-no">&nbsp;</span>
2090
- <span class="cline-any cline-neutral">&nbsp;</span>
2091
- <span class="cline-any cline-neutral">&nbsp;</span>
2092
- <span class="cline-any cline-neutral">&nbsp;</span>
2093
- <span class="cline-any cline-neutral">&nbsp;</span>
2094
- <span class="cline-any cline-neutral">&nbsp;</span>
2095
- <span class="cline-any cline-neutral">&nbsp;</span>
2096
- <span class="cline-any cline-no">&nbsp;</span>
2097
- <span class="cline-any cline-no">&nbsp;</span>
2098
- <span class="cline-any cline-neutral">&nbsp;</span>
2099
- <span class="cline-any cline-neutral">&nbsp;</span>
2100
- <span class="cline-any cline-no">&nbsp;</span>
2101
- <span class="cline-any cline-neutral">&nbsp;</span>
2102
- <span class="cline-any cline-no">&nbsp;</span>
2103
- <span class="cline-any cline-no">&nbsp;</span>
2104
- <span class="cline-any cline-neutral">&nbsp;</span>
2105
- <span class="cline-any cline-no">&nbsp;</span>
2106
- <span class="cline-any cline-neutral">&nbsp;</span>
2107
- <span class="cline-any cline-no">&nbsp;</span>
2108
- <span class="cline-any cline-neutral">&nbsp;</span>
2109
- <span class="cline-any cline-neutral">&nbsp;</span>
2110
- <span class="cline-any cline-no">&nbsp;</span>
2111
- <span class="cline-any cline-neutral">&nbsp;</span>
2112
- <span class="cline-any cline-no">&nbsp;</span>
2113
- <span class="cline-any cline-neutral">&nbsp;</span>
2114
- <span class="cline-any cline-neutral">&nbsp;</span>
2115
- <span class="cline-any cline-neutral">&nbsp;</span>
2116
- <span class="cline-any cline-no">&nbsp;</span>
2117
- <span class="cline-any cline-no">&nbsp;</span>
2118
- <span class="cline-any cline-neutral">&nbsp;</span>
2119
- <span class="cline-any cline-no">&nbsp;</span>
2120
- <span class="cline-any cline-no">&nbsp;</span>
2121
- <span class="cline-any cline-no">&nbsp;</span>
2122
- <span class="cline-any cline-no">&nbsp;</span>
2123
- <span class="cline-any cline-neutral">&nbsp;</span>
2124
- <span class="cline-any cline-neutral">&nbsp;</span>
2125
- <span class="cline-any cline-neutral">&nbsp;</span>
2126
- <span class="cline-any cline-no">&nbsp;</span>
2127
- <span class="cline-any cline-neutral">&nbsp;</span>
2128
- <span class="cline-any cline-neutral">&nbsp;</span>
2129
- <span class="cline-any cline-no">&nbsp;</span>
2130
- <span class="cline-any cline-neutral">&nbsp;</span>
2131
- <span class="cline-any cline-neutral">&nbsp;</span>
2132
- <span class="cline-any cline-no">&nbsp;</span>
2133
- <span class="cline-any cline-neutral">&nbsp;</span>
2134
- <span class="cline-any cline-neutral">&nbsp;</span>
2135
- <span class="cline-any cline-neutral">&nbsp;</span>
2136
- <span class="cline-any cline-neutral">&nbsp;</span>
2137
- <span class="cline-any cline-neutral">&nbsp;</span>
2138
- <span class="cline-any cline-neutral">&nbsp;</span>
2139
- <span class="cline-any cline-neutral">&nbsp;</span>
2140
- <span class="cline-any cline-no">&nbsp;</span>
2141
- <span class="cline-any cline-neutral">&nbsp;</span>
2142
- <span class="cline-any cline-no">&nbsp;</span>
2143
- <span class="cline-any cline-no">&nbsp;</span>
2144
- <span class="cline-any cline-neutral">&nbsp;</span>
2145
- <span class="cline-any cline-neutral">&nbsp;</span>
2146
- <span class="cline-any cline-neutral">&nbsp;</span>
2147
- <span class="cline-any cline-no">&nbsp;</span>
2148
- <span class="cline-any cline-neutral">&nbsp;</span>
2149
- <span class="cline-any cline-no">&nbsp;</span>
2150
- <span class="cline-any cline-no">&nbsp;</span>
2151
- <span class="cline-any cline-no">&nbsp;</span>
2152
- <span class="cline-any cline-neutral">&nbsp;</span>
2153
- <span class="cline-any cline-no">&nbsp;</span>
2154
- <span class="cline-any cline-no">&nbsp;</span>
2155
- <span class="cline-any cline-no">&nbsp;</span>
2156
- <span class="cline-any cline-neutral">&nbsp;</span>
2157
- <span class="cline-any cline-neutral">&nbsp;</span>
2158
- <span class="cline-any cline-neutral">&nbsp;</span>
2159
- <span class="cline-any cline-neutral">&nbsp;</span>
2160
- <span class="cline-any cline-yes">1x</span>
2161
- <span class="cline-any cline-yes">1x</span>
2162
- <span class="cline-any cline-no">&nbsp;</span>
2163
- <span class="cline-any cline-neutral">&nbsp;</span>
2164
- <span class="cline-any cline-neutral">&nbsp;</span>
2165
- <span class="cline-any cline-yes">1x</span>
2166
- <span class="cline-any cline-neutral">&nbsp;</span>
2167
- <span class="cline-any cline-neutral">&nbsp;</span>
2168
- <span class="cline-any cline-neutral">&nbsp;</span>
2169
- <span class="cline-any cline-neutral">&nbsp;</span>
2170
- <span class="cline-any cline-neutral">&nbsp;</span>
2171
- <span class="cline-any cline-neutral">&nbsp;</span>
2172
- <span class="cline-any cline-neutral">&nbsp;</span>
2173
- <span class="cline-any cline-neutral">&nbsp;</span>
2174
- <span class="cline-any cline-neutral">&nbsp;</span>
2175
- <span class="cline-any cline-neutral">&nbsp;</span>
2176
- <span class="cline-any cline-neutral">&nbsp;</span>
2177
- <span class="cline-any cline-neutral">&nbsp;</span>
2178
- <span class="cline-any cline-neutral">&nbsp;</span>
2179
- <span class="cline-any cline-neutral">&nbsp;</span>
2180
- <span class="cline-any cline-neutral">&nbsp;</span>
2181
- <span class="cline-any cline-neutral">&nbsp;</span>
2182
- <span class="cline-any cline-yes">1x</span>
2183
- <span class="cline-any cline-no">&nbsp;</span>
2184
- <span class="cline-any cline-no">&nbsp;</span>
2185
- <span class="cline-any cline-no">&nbsp;</span>
2186
- <span class="cline-any cline-no">&nbsp;</span>
2187
- <span class="cline-any cline-neutral">&nbsp;</span>
2188
- <span class="cline-any cline-no">&nbsp;</span>
2189
- <span class="cline-any cline-no">&nbsp;</span>
2190
- <span class="cline-any cline-no">&nbsp;</span>
2191
- <span class="cline-any cline-no">&nbsp;</span>
2192
- <span class="cline-any cline-neutral">&nbsp;</span>
2193
- <span class="cline-any cline-no">&nbsp;</span>
2194
- <span class="cline-any cline-no">&nbsp;</span>
2195
- <span class="cline-any cline-neutral">&nbsp;</span>
2196
- <span class="cline-any cline-no">&nbsp;</span>
2197
- <span class="cline-any cline-no">&nbsp;</span>
2198
- <span class="cline-any cline-neutral">&nbsp;</span>
2199
- <span class="cline-any cline-no">&nbsp;</span>
2200
- <span class="cline-any cline-no">&nbsp;</span>
2201
- <span class="cline-any cline-neutral">&nbsp;</span>
2202
- <span class="cline-any cline-no">&nbsp;</span>
2203
- <span class="cline-any cline-neutral">&nbsp;</span>
2204
- <span class="cline-any cline-neutral">&nbsp;</span>
2205
- <span class="cline-any cline-neutral">&nbsp;</span>
2206
- <span class="cline-any cline-neutral">&nbsp;</span>
2207
- <span class="cline-any cline-no">&nbsp;</span>
2208
- <span class="cline-any cline-neutral">&nbsp;</span>
2209
- <span class="cline-any cline-neutral">&nbsp;</span>
2210
- <span class="cline-any cline-yes">1x</span>
2211
- <span class="cline-any cline-no">&nbsp;</span>
2212
- <span class="cline-any cline-no">&nbsp;</span>
2213
- <span class="cline-any cline-no">&nbsp;</span>
2214
- <span class="cline-any cline-no">&nbsp;</span>
2215
- <span class="cline-any cline-no">&nbsp;</span>
2216
- <span class="cline-any cline-no">&nbsp;</span>
2217
- <span class="cline-any cline-no">&nbsp;</span>
2218
- <span class="cline-any cline-no">&nbsp;</span>
2219
- <span class="cline-any cline-no">&nbsp;</span>
2220
- <span class="cline-any cline-neutral">&nbsp;</span>
2221
- <span class="cline-any cline-neutral">&nbsp;</span>
2222
- <span class="cline-any cline-neutral">&nbsp;</span>
2223
- <span class="cline-any cline-neutral">&nbsp;</span>
2224
- <span class="cline-any cline-no">&nbsp;</span>
2225
- <span class="cline-any cline-no">&nbsp;</span>
2226
- <span class="cline-any cline-no">&nbsp;</span>
2227
- <span class="cline-any cline-no">&nbsp;</span>
2228
- <span class="cline-any cline-no">&nbsp;</span>
2229
- <span class="cline-any cline-no">&nbsp;</span>
2230
- <span class="cline-any cline-neutral">&nbsp;</span>
2231
- <span class="cline-any cline-neutral">&nbsp;</span>
2232
- <span class="cline-any cline-neutral">&nbsp;</span>
2233
- <span class="cline-any cline-neutral">&nbsp;</span>
2234
- <span class="cline-any cline-neutral">&nbsp;</span>
2235
- <span class="cline-any cline-neutral">&nbsp;</span>
2236
- <span class="cline-any cline-neutral">&nbsp;</span>
2237
- <span class="cline-any cline-no">&nbsp;</span>
2238
- <span class="cline-any cline-no">&nbsp;</span>
2239
- <span class="cline-any cline-no">&nbsp;</span>
2240
- <span class="cline-any cline-no">&nbsp;</span>
2241
- <span class="cline-any cline-no">&nbsp;</span>
2242
- <span class="cline-any cline-no">&nbsp;</span>
2243
- <span class="cline-any cline-no">&nbsp;</span>
2244
- <span class="cline-any cline-no">&nbsp;</span>
2245
- <span class="cline-any cline-no">&nbsp;</span>
2246
- <span class="cline-any cline-neutral">&nbsp;</span>
2247
- <span class="cline-any cline-no">&nbsp;</span>
2248
- <span class="cline-any cline-neutral">&nbsp;</span>
2249
- <span class="cline-any cline-no">&nbsp;</span>
2250
- <span class="cline-any cline-neutral">&nbsp;</span>
2251
- <span class="cline-any cline-neutral">&nbsp;</span>
2252
- <span class="cline-any cline-neutral">&nbsp;</span>
2253
- <span class="cline-any cline-no">&nbsp;</span>
2254
- <span class="cline-any cline-neutral">&nbsp;</span>
2255
- <span class="cline-any cline-no">&nbsp;</span>
2256
- <span class="cline-any cline-neutral">&nbsp;</span>
2257
- <span class="cline-any cline-no">&nbsp;</span>
2258
- <span class="cline-any cline-neutral">&nbsp;</span>
2259
- <span class="cline-any cline-neutral">&nbsp;</span>
2260
- <span class="cline-any cline-neutral">&nbsp;</span>
2261
- <span class="cline-any cline-neutral">&nbsp;</span>
2262
- <span class="cline-any cline-neutral">&nbsp;</span>
2263
- <span class="cline-any cline-neutral">&nbsp;</span>
2264
- <span class="cline-any cline-neutral">&nbsp;</span>
2265
- <span class="cline-any cline-neutral">&nbsp;</span>
2266
- <span class="cline-any cline-neutral">&nbsp;</span>
2267
- <span class="cline-any cline-no">&nbsp;</span>
2268
- <span class="cline-any cline-no">&nbsp;</span>
2269
- <span class="cline-any cline-neutral">&nbsp;</span>
2270
- <span class="cline-any cline-no">&nbsp;</span>
2271
- <span class="cline-any cline-no">&nbsp;</span>
2272
- <span class="cline-any cline-no">&nbsp;</span>
2273
- <span class="cline-any cline-neutral">&nbsp;</span>
2274
- <span class="cline-any cline-neutral">&nbsp;</span>
2275
- <span class="cline-any cline-neutral">&nbsp;</span>
2276
- <span class="cline-any cline-neutral">&nbsp;</span>
2277
- <span class="cline-any cline-neutral">&nbsp;</span>
2278
- <span class="cline-any cline-neutral">&nbsp;</span>
2279
- <span class="cline-any cline-neutral">&nbsp;</span>
2280
- <span class="cline-any cline-neutral">&nbsp;</span>
2281
- <span class="cline-any cline-neutral">&nbsp;</span>
2282
- <span class="cline-any cline-neutral">&nbsp;</span>
2283
- <span class="cline-any cline-no">&nbsp;</span>
2284
- <span class="cline-any cline-neutral">&nbsp;</span>
2285
- <span class="cline-any cline-neutral">&nbsp;</span>
2286
- <span class="cline-any cline-no">&nbsp;</span>
2287
- <span class="cline-any cline-neutral">&nbsp;</span>
2288
- <span class="cline-any cline-no">&nbsp;</span>
2289
- <span class="cline-any cline-no">&nbsp;</span>
2290
- <span class="cline-any cline-no">&nbsp;</span>
2291
- <span class="cline-any cline-neutral">&nbsp;</span>
2292
- <span class="cline-any cline-neutral">&nbsp;</span>
2293
- <span class="cline-any cline-no">&nbsp;</span>
2294
- <span class="cline-any cline-no">&nbsp;</span>
2295
- <span class="cline-any cline-neutral">&nbsp;</span>
2296
- <span class="cline-any cline-neutral">&nbsp;</span>
2297
- <span class="cline-any cline-neutral">&nbsp;</span>
2298
- <span class="cline-any cline-no">&nbsp;</span>
2299
- <span class="cline-any cline-no">&nbsp;</span>
2300
- <span class="cline-any cline-neutral">&nbsp;</span>
2301
- <span class="cline-any cline-neutral">&nbsp;</span>
2302
- <span class="cline-any cline-neutral">&nbsp;</span>
2303
- <span class="cline-any cline-neutral">&nbsp;</span>
2304
- <span class="cline-any cline-neutral">&nbsp;</span>
2305
- <span class="cline-any cline-neutral">&nbsp;</span>
2306
- <span class="cline-any cline-neutral">&nbsp;</span>
2307
- <span class="cline-any cline-neutral">&nbsp;</span>
2308
- <span class="cline-any cline-neutral">&nbsp;</span>
2309
- <span class="cline-any cline-neutral">&nbsp;</span>
2310
- <span class="cline-any cline-neutral">&nbsp;</span>
2311
- <span class="cline-any cline-neutral">&nbsp;</span>
2312
- <span class="cline-any cline-neutral">&nbsp;</span>
2313
- <span class="cline-any cline-neutral">&nbsp;</span>
2314
- <span class="cline-any cline-neutral">&nbsp;</span>
2315
- <span class="cline-any cline-yes">1x</span>
2316
- <span class="cline-any cline-no">&nbsp;</span>
2317
- <span class="cline-any cline-no">&nbsp;</span>
2318
- <span class="cline-any cline-no">&nbsp;</span>
2319
- <span class="cline-any cline-no">&nbsp;</span>
2320
- <span class="cline-any cline-no">&nbsp;</span>
2321
- <span class="cline-any cline-no">&nbsp;</span>
2322
- <span class="cline-any cline-neutral">&nbsp;</span>
2323
- <span class="cline-any cline-no">&nbsp;</span>
2324
- <span class="cline-any cline-no">&nbsp;</span>
2325
- <span class="cline-any cline-no">&nbsp;</span>
2326
- <span class="cline-any cline-neutral">&nbsp;</span>
2327
- <span class="cline-any cline-neutral">&nbsp;</span>
2328
- <span class="cline-any cline-no">&nbsp;</span>
2329
- <span class="cline-any cline-no">&nbsp;</span>
2330
- <span class="cline-any cline-no">&nbsp;</span>
2331
- <span class="cline-any cline-neutral">&nbsp;</span>
2332
- <span class="cline-any cline-neutral">&nbsp;</span>
2333
- <span class="cline-any cline-neutral">&nbsp;</span>
2334
- <span class="cline-any cline-neutral">&nbsp;</span>
2335
- <span class="cline-any cline-neutral">&nbsp;</span>
2336
- <span class="cline-any cline-no">&nbsp;</span>
2337
- <span class="cline-any cline-no">&nbsp;</span>
2338
- <span class="cline-any cline-no">&nbsp;</span>
2339
- <span class="cline-any cline-no">&nbsp;</span>
2340
- <span class="cline-any cline-neutral">&nbsp;</span>
2341
- <span class="cline-any cline-no">&nbsp;</span>
2342
- <span class="cline-any cline-no">&nbsp;</span>
2343
- <span class="cline-any cline-neutral">&nbsp;</span>
2344
- <span class="cline-any cline-no">&nbsp;</span>
2345
- <span class="cline-any cline-no">&nbsp;</span>
2346
- <span class="cline-any cline-no">&nbsp;</span>
2347
- <span class="cline-any cline-no">&nbsp;</span>
2348
- <span class="cline-any cline-neutral">&nbsp;</span>
2349
- <span class="cline-any cline-neutral">&nbsp;</span>
2350
- <span class="cline-any cline-neutral">&nbsp;</span>
2351
- <span class="cline-any cline-neutral">&nbsp;</span>
2352
- <span class="cline-any cline-neutral">&nbsp;</span>
2353
- <span class="cline-any cline-neutral">&nbsp;</span>
2354
- <span class="cline-any cline-no">&nbsp;</span>
2355
- <span class="cline-any cline-no">&nbsp;</span>
2356
- <span class="cline-any cline-no">&nbsp;</span>
2357
- <span class="cline-any cline-neutral">&nbsp;</span>
2358
- <span class="cline-any cline-no">&nbsp;</span>
2359
- <span class="cline-any cline-neutral">&nbsp;</span>
2360
- <span class="cline-any cline-neutral">&nbsp;</span>
2361
- <span class="cline-any cline-neutral">&nbsp;</span>
2362
- <span class="cline-any cline-neutral">&nbsp;</span>
2363
- <span class="cline-any cline-neutral">&nbsp;</span>
2364
- <span class="cline-any cline-no">&nbsp;</span>
2365
- <span class="cline-any cline-no">&nbsp;</span>
2366
- <span class="cline-any cline-no">&nbsp;</span>
2367
- <span class="cline-any cline-no">&nbsp;</span>
2368
- <span class="cline-any cline-no">&nbsp;</span>
2369
- <span class="cline-any cline-no">&nbsp;</span>
2370
- <span class="cline-any cline-neutral">&nbsp;</span>
2371
- <span class="cline-any cline-neutral">&nbsp;</span>
2372
- <span class="cline-any cline-no">&nbsp;</span>
2373
- <span class="cline-any cline-no">&nbsp;</span>
2374
- <span class="cline-any cline-no">&nbsp;</span>
2375
- <span class="cline-any cline-no">&nbsp;</span>
2376
- <span class="cline-any cline-no">&nbsp;</span>
2377
- <span class="cline-any cline-no">&nbsp;</span>
2378
- <span class="cline-any cline-no">&nbsp;</span>
2379
- <span class="cline-any cline-no">&nbsp;</span>
2380
- <span class="cline-any cline-no">&nbsp;</span>
2381
- <span class="cline-any cline-no">&nbsp;</span>
2382
- <span class="cline-any cline-neutral">&nbsp;</span>
2383
- <span class="cline-any cline-neutral">&nbsp;</span>
2384
- <span class="cline-any cline-no">&nbsp;</span>
2385
- <span class="cline-any cline-neutral">&nbsp;</span>
2386
- <span class="cline-any cline-neutral">&nbsp;</span>
2387
- <span class="cline-any cline-neutral">&nbsp;</span>
2388
- <span class="cline-any cline-neutral">&nbsp;</span>
2389
- <span class="cline-any cline-neutral">&nbsp;</span>
2390
- <span class="cline-any cline-no">&nbsp;</span>
2391
- <span class="cline-any cline-no">&nbsp;</span>
2392
- <span class="cline-any cline-no">&nbsp;</span>
2393
- <span class="cline-any cline-neutral">&nbsp;</span>
2394
- <span class="cline-any cline-neutral">&nbsp;</span>
2395
- <span class="cline-any cline-neutral">&nbsp;</span>
2396
- <span class="cline-any cline-neutral">&nbsp;</span>
2397
- <span class="cline-any cline-neutral">&nbsp;</span>
2398
- <span class="cline-any cline-neutral">&nbsp;</span>
2399
- <span class="cline-any cline-no">&nbsp;</span>
2400
- <span class="cline-any cline-no">&nbsp;</span>
2401
- <span class="cline-any cline-neutral">&nbsp;</span>
2402
- <span class="cline-any cline-no">&nbsp;</span>
2403
- <span class="cline-any cline-no">&nbsp;</span>
2404
- <span class="cline-any cline-neutral">&nbsp;</span>
2405
- <span class="cline-any cline-neutral">&nbsp;</span>
2406
- <span class="cline-any cline-no">&nbsp;</span>
2407
- <span class="cline-any cline-no">&nbsp;</span>
2408
- <span class="cline-any cline-no">&nbsp;</span>
2409
- <span class="cline-any cline-no">&nbsp;</span>
2410
- <span class="cline-any cline-neutral">&nbsp;</span>
2411
- <span class="cline-any cline-no">&nbsp;</span>
2412
- <span class="cline-any cline-no">&nbsp;</span>
2413
- <span class="cline-any cline-neutral">&nbsp;</span>
2414
- <span class="cline-any cline-no">&nbsp;</span>
2415
- <span class="cline-any cline-no">&nbsp;</span>
2416
- <span class="cline-any cline-neutral">&nbsp;</span>
2417
- <span class="cline-any cline-no">&nbsp;</span>
2418
- <span class="cline-any cline-no">&nbsp;</span>
2419
- <span class="cline-any cline-neutral">&nbsp;</span>
2420
- <span class="cline-any cline-no">&nbsp;</span>
2421
- <span class="cline-any cline-no">&nbsp;</span>
2422
- <span class="cline-any cline-no">&nbsp;</span>
2423
- <span class="cline-any cline-neutral">&nbsp;</span>
2424
- <span class="cline-any cline-no">&nbsp;</span>
2425
- <span class="cline-any cline-neutral">&nbsp;</span>
2426
- <span class="cline-any cline-neutral">&nbsp;</span>
2427
- <span class="cline-any cline-neutral">&nbsp;</span>
2428
- <span class="cline-any cline-neutral">&nbsp;</span>
2429
- <span class="cline-any cline-no">&nbsp;</span>
2430
- <span class="cline-any cline-neutral">&nbsp;</span>
2431
- <span class="cline-any cline-neutral">&nbsp;</span>
2432
- <span class="cline-any cline-neutral">&nbsp;</span>
2433
- <span class="cline-any cline-neutral">&nbsp;</span>
2434
- <span class="cline-any cline-neutral">&nbsp;</span>
2435
- <span class="cline-any cline-neutral">&nbsp;</span>
2436
- <span class="cline-any cline-neutral">&nbsp;</span>
2437
- <span class="cline-any cline-neutral">&nbsp;</span>
2438
- <span class="cline-any cline-neutral">&nbsp;</span>
2439
- <span class="cline-any cline-neutral">&nbsp;</span>
2440
- <span class="cline-any cline-neutral">&nbsp;</span>
2441
- <span class="cline-any cline-neutral">&nbsp;</span>
2442
- <span class="cline-any cline-neutral">&nbsp;</span>
2443
- <span class="cline-any cline-neutral">&nbsp;</span>
2444
- <span class="cline-any cline-neutral">&nbsp;</span>
2445
- <span class="cline-any cline-neutral">&nbsp;</span>
2446
- <span class="cline-any cline-yes">1x</span>
2447
- <span class="cline-any cline-no">&nbsp;</span>
2448
- <span class="cline-any cline-neutral">&nbsp;</span>
2449
- <span class="cline-any cline-no">&nbsp;</span>
2450
- <span class="cline-any cline-neutral">&nbsp;</span>
2451
- <span class="cline-any cline-neutral">&nbsp;</span>
2452
- <span class="cline-any cline-no">&nbsp;</span>
2453
- <span class="cline-any cline-no">&nbsp;</span>
2454
- <span class="cline-any cline-no">&nbsp;</span>
2455
- <span class="cline-any cline-neutral">&nbsp;</span>
2456
- <span class="cline-any cline-neutral">&nbsp;</span>
2457
- <span class="cline-any cline-neutral">&nbsp;</span>
2458
- <span class="cline-any cline-neutral">&nbsp;</span>
2459
- <span class="cline-any cline-neutral">&nbsp;</span>
2460
- <span class="cline-any cline-neutral">&nbsp;</span>
2461
- <span class="cline-any cline-neutral">&nbsp;</span>
2462
- <span class="cline-any cline-neutral">&nbsp;</span>
2463
- <span class="cline-any cline-neutral">&nbsp;</span>
2464
- <span class="cline-any cline-neutral">&nbsp;</span>
2465
- <span class="cline-any cline-neutral">&nbsp;</span>
2466
- <span class="cline-any cline-neutral">&nbsp;</span>
2467
- <span class="cline-any cline-neutral">&nbsp;</span>
2468
- <span class="cline-any cline-neutral">&nbsp;</span>
2469
- <span class="cline-any cline-neutral">&nbsp;</span>
2470
- <span class="cline-any cline-neutral">&nbsp;</span>
2471
- <span class="cline-any cline-neutral">&nbsp;</span>
2472
- <span class="cline-any cline-neutral">&nbsp;</span>
2473
- <span class="cline-any cline-neutral">&nbsp;</span>
2474
- <span class="cline-any cline-neutral">&nbsp;</span>
2475
- <span class="cline-any cline-neutral">&nbsp;</span>
2476
- <span class="cline-any cline-no">&nbsp;</span>
2477
- <span class="cline-any cline-neutral">&nbsp;</span>
2478
- <span class="cline-any cline-neutral">&nbsp;</span>
2479
- <span class="cline-any cline-no">&nbsp;</span>
2480
- <span class="cline-any cline-neutral">&nbsp;</span>
2481
- <span class="cline-any cline-no">&nbsp;</span>
2482
- <span class="cline-any cline-no">&nbsp;</span>
2483
- <span class="cline-any cline-neutral">&nbsp;</span>
2484
- <span class="cline-any cline-no">&nbsp;</span>
2485
- <span class="cline-any cline-no">&nbsp;</span>
2486
- <span class="cline-any cline-neutral">&nbsp;</span>
2487
- <span class="cline-any cline-no">&nbsp;</span>
2488
- <span class="cline-any cline-no">&nbsp;</span>
2489
- <span class="cline-any cline-neutral">&nbsp;</span>
2490
- <span class="cline-any cline-no">&nbsp;</span>
2491
- <span class="cline-any cline-no">&nbsp;</span>
2492
- <span class="cline-any cline-neutral">&nbsp;</span>
2493
- <span class="cline-any cline-no">&nbsp;</span>
2494
- <span class="cline-any cline-no">&nbsp;</span>
2495
- <span class="cline-any cline-neutral">&nbsp;</span>
2496
- <span class="cline-any cline-neutral">&nbsp;</span>
2497
- <span class="cline-any cline-neutral">&nbsp;</span>
2498
- <span class="cline-any cline-no">&nbsp;</span>
2499
- <span class="cline-any cline-no">&nbsp;</span>
2500
- <span class="cline-any cline-no">&nbsp;</span>
2501
- <span class="cline-any cline-no">&nbsp;</span>
2502
- <span class="cline-any cline-neutral">&nbsp;</span>
2503
- <span class="cline-any cline-no">&nbsp;</span>
2504
- <span class="cline-any cline-no">&nbsp;</span>
2505
- <span class="cline-any cline-neutral">&nbsp;</span>
2506
- <span class="cline-any cline-neutral">&nbsp;</span>
2507
- <span class="cline-any cline-neutral">&nbsp;</span>
2508
- <span class="cline-any cline-neutral">&nbsp;</span>
2509
- <span class="cline-any cline-neutral">&nbsp;</span>
2510
- <span class="cline-any cline-neutral">&nbsp;</span>
2511
- <span class="cline-any cline-neutral">&nbsp;</span>
2512
- <span class="cline-any cline-neutral">&nbsp;</span>
2513
- <span class="cline-any cline-neutral">&nbsp;</span>
2514
- <span class="cline-any cline-neutral">&nbsp;</span>
2515
- <span class="cline-any cline-neutral">&nbsp;</span>
2516
- <span class="cline-any cline-neutral">&nbsp;</span>
2517
- <span class="cline-any cline-neutral">&nbsp;</span>
2518
- <span class="cline-any cline-neutral">&nbsp;</span>
2519
- <span class="cline-any cline-neutral">&nbsp;</span>
2520
- <span class="cline-any cline-neutral">&nbsp;</span>
2521
- <span class="cline-any cline-neutral">&nbsp;</span>
2522
- <span class="cline-any cline-neutral">&nbsp;</span>
2523
- <span class="cline-any cline-neutral">&nbsp;</span>
2524
- <span class="cline-any cline-neutral">&nbsp;</span>
2525
- <span class="cline-any cline-no">&nbsp;</span>
2526
- <span class="cline-any cline-no">&nbsp;</span>
2527
- <span class="cline-any cline-neutral">&nbsp;</span>
2528
- <span class="cline-any cline-neutral">&nbsp;</span>
2529
- <span class="cline-any cline-no">&nbsp;</span>
2530
- <span class="cline-any cline-no">&nbsp;</span>
2531
- <span class="cline-any cline-no">&nbsp;</span>
2532
- <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-neutral">&nbsp;</span>
2534
- <span class="cline-any cline-neutral">&nbsp;</span>
2535
- <span class="cline-any cline-neutral">&nbsp;</span>
2536
- <span class="cline-any cline-yes">1x</span>
2537
- <span class="cline-any cline-no">&nbsp;</span>
2538
- <span class="cline-any cline-no">&nbsp;</span>
2539
- <span class="cline-any cline-neutral">&nbsp;</span>
2540
- <span class="cline-any cline-no">&nbsp;</span>
2541
- <span class="cline-any cline-no">&nbsp;</span>
2542
- <span class="cline-any cline-no">&nbsp;</span>
2543
- <span class="cline-any cline-no">&nbsp;</span>
2544
- <span class="cline-any cline-no">&nbsp;</span>
2545
- <span class="cline-any cline-no">&nbsp;</span>
2546
- <span class="cline-any cline-no">&nbsp;</span>
2547
- <span class="cline-any cline-neutral">&nbsp;</span>
2548
- <span class="cline-any cline-neutral">&nbsp;</span>
2549
- <span class="cline-any cline-neutral">&nbsp;</span>
2550
- <span class="cline-any cline-no">&nbsp;</span>
2551
- <span class="cline-any cline-no">&nbsp;</span>
2552
- <span class="cline-any cline-no">&nbsp;</span>
2553
- <span class="cline-any cline-neutral">&nbsp;</span>
2554
- <span class="cline-any cline-neutral">&nbsp;</span>
2555
- <span class="cline-any cline-neutral">&nbsp;</span>
2556
- <span class="cline-any cline-neutral">&nbsp;</span>
2557
- <span class="cline-any cline-no">&nbsp;</span>
2558
- <span class="cline-any cline-no">&nbsp;</span>
2559
- <span class="cline-any cline-no">&nbsp;</span>
2560
- <span class="cline-any cline-no">&nbsp;</span>
2561
- <span class="cline-any cline-no">&nbsp;</span>
2562
- <span class="cline-any cline-no">&nbsp;</span>
2563
- <span class="cline-any cline-no">&nbsp;</span>
2564
- <span class="cline-any cline-no">&nbsp;</span>
2565
- <span class="cline-any cline-neutral">&nbsp;</span>
2566
- <span class="cline-any cline-no">&nbsp;</span>
2567
- <span class="cline-any cline-no">&nbsp;</span>
2568
- <span class="cline-any cline-no">&nbsp;</span>
2569
- <span class="cline-any cline-no">&nbsp;</span>
2570
- <span class="cline-any cline-no">&nbsp;</span>
2571
- <span class="cline-any cline-no">&nbsp;</span>
2572
- <span class="cline-any cline-no">&nbsp;</span>
2573
- <span class="cline-any cline-no">&nbsp;</span>
2574
- <span class="cline-any cline-neutral">&nbsp;</span>
2575
- <span class="cline-any cline-neutral">&nbsp;</span>
2576
- <span class="cline-any cline-neutral">&nbsp;</span>
2577
- <span class="cline-any cline-neutral">&nbsp;</span>
2578
- <span class="cline-any cline-no">&nbsp;</span>
2579
- <span class="cline-any cline-neutral">&nbsp;</span>
2580
- <span class="cline-any cline-neutral">&nbsp;</span>
2581
- <span class="cline-any cline-neutral">&nbsp;</span>
2582
- <span class="cline-any cline-neutral">&nbsp;</span>
2583
- <span class="cline-any cline-neutral">&nbsp;</span>
2584
- <span class="cline-any cline-neutral">&nbsp;</span>
2585
- <span class="cline-any cline-no">&nbsp;</span>
2586
- <span class="cline-any cline-neutral">&nbsp;</span>
2587
- <span class="cline-any cline-neutral">&nbsp;</span>
2588
- <span class="cline-any cline-neutral">&nbsp;</span>
2589
- <span class="cline-any cline-no">&nbsp;</span>
2590
- <span class="cline-any cline-no">&nbsp;</span>
2591
- <span class="cline-any cline-no">&nbsp;</span>
2592
- <span class="cline-any cline-neutral">&nbsp;</span>
2593
- <span class="cline-any cline-neutral">&nbsp;</span>
2594
- <span class="cline-any cline-neutral">&nbsp;</span>
2595
- <span class="cline-any cline-neutral">&nbsp;</span>
2596
- <span class="cline-any cline-neutral">&nbsp;</span>
2597
- <span class="cline-any cline-neutral">&nbsp;</span>
2598
- <span class="cline-any cline-neutral">&nbsp;</span>
2599
- <span class="cline-any cline-neutral">&nbsp;</span>
2600
- <span class="cline-any cline-yes">1x</span>
2601
- <span class="cline-any cline-no">&nbsp;</span>
2602
- <span class="cline-any cline-no">&nbsp;</span>
2603
- <span class="cline-any cline-no">&nbsp;</span>
2604
- <span class="cline-any cline-no">&nbsp;</span>
2605
- <span class="cline-any cline-neutral">&nbsp;</span>
2606
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { cloneDeep } from 'lodash';
2607
- import { App, LogicItem, Logic, Module, View, ViewElement, Argument, SelectMembers, BindDirective, CallLogic, BindAttribute, types } from '../../concepts';
2608
- import { addBreakpointNodesFromApp } from '../../breakpoint';
2609
- import { getConceptConstructor } from '../../decorators';
2610
- import { config } from '../../config';
2611
- import storageService from './service';
2612
- import { v4 as uuidv4 } from 'uuid';
2613
- import stepRecorder from '../../manager/stepRecorder';
2614
- import * as jsoner from './jsoner';
2615
- /// #if !process.env.NODE_ENV || process.env.BUILD_TARGET === 'node'
2616
- import * as fs from 'fs-extra';
2617
- import type { NaslServer } from 'src/server/naslServer';
2618
- /// #endif
2619
- &nbsp;
2620
- &nbsp;
2621
- &nbsp;
2622
- export const batchQuery = storageService.batchQuery;
2623
- export const batchAction = storageService.batchAction;
2624
- export const batchInstruct = storageService.batchInstruct;
2625
- export const breakpoint = storageService.breakpoint;
2626
- &nbsp;
2627
- let tabTimestamp: string;
2628
- export const databaseTypes = storageService.databaseTypes;
2629
- &nbsp;
2630
- export const operationRecordInfoMap: Map&lt;string, any&gt; = new Map();
2631
- &nbsp;
2632
- // 操作栈记录
2633
- export function <span class="fstat-no" title="function not covered" >doOperationRecord(o</span>peration: Operation) {
2634
- const request = <span class="cstat-no" title="statement not covered" >indexedDB.open('naslData', 1);</span>
2635
- &nbsp;
2636
- <span class="cstat-no" title="statement not covered" > request.onupgradeneeded = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2637
- const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2638
- const objectStore = <span class="cstat-no" title="statement not covered" >db.createObjectStore('operationRecord', { autoIncrement: true });</span>
2639
- <span class="cstat-no" title="statement not covered" > objectStore.createIndex('appId', 'appId');</span>
2640
- <span class="cstat-no" title="statement not covered" > objectStore.createIndex('timestamp', 'timestamp');</span>
2641
- };
2642
- &nbsp;
2643
- <span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2644
- <span class="cstat-no" title="statement not covered" > try {</span>
2645
- const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2646
- const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readwrite');</span>
2647
- const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
2648
- <span class="cstat-no" title="statement not covered" > operation.appId = operationRecordInfoMap.get('appId');</span>
2649
- <span class="cstat-no" title="statement not covered" > operation.branchId = operationRecordInfoMap.get('branchId');</span>
2650
- <span class="cstat-no" title="statement not covered" > operation.accountId = operationRecordInfoMap.get('accountId');</span>
2651
- <span class="cstat-no" title="statement not covered" > operation.userId = operationRecordInfoMap.get('userId');</span>
2652
- <span class="cstat-no" title="statement not covered" > operation.phone = operationRecordInfoMap.get('phone');</span>
2653
- // 将时间戳添加到记录中
2654
- <span class="cstat-no" title="statement not covered" > operation.timestamp = Date.now();</span>
2655
- // 这份数据不存在向上的引用,因此用cloneDeep没有关系
2656
- <span class="cstat-no" title="statement not covered" > objectStore.put(cloneDeep(operation));</span>
2657
- <span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
2658
- <span class="cstat-no" title="statement not covered" > db.close();</span>
2659
- };
2660
- } catch(err) {
2661
- <span class="cstat-no" title="statement not covered" > console.log(err);</span>
2662
- }
2663
- };
2664
- &nbsp;
2665
- <span class="cstat-no" title="statement not covered" > request.onerror = <span class="fstat-no" title="function not covered" >function(e</span>vent) {</span>
2666
- <span class="cstat-no" title="statement not covered" > console.log('Failed to open database');</span>
2667
- };
2668
- }
2669
- &nbsp;
2670
- // 删除失效数据
2671
- async function <span class="fstat-no" title="function not covered" >deleteExpiredRecords() {</span>
2672
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) =&gt; {</span>
2673
- const request = <span class="cstat-no" title="statement not covered" >indexedDB.open('naslData', 1);</span>
2674
- &nbsp;
2675
- <span class="cstat-no" title="statement not covered" > request.onupgradeneeded = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2676
- const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2677
- const objectStore = <span class="cstat-no" title="statement not covered" >db.createObjectStore('operationRecord', { autoIncrement: true });</span>
2678
- <span class="cstat-no" title="statement not covered" > objectStore.createIndex('appId', 'appId');</span>
2679
- <span class="cstat-no" title="statement not covered" > objectStore.createIndex('timestamp', 'timestamp');</span>
2680
- };
2681
- &nbsp;
2682
- <span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2683
- const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2684
- const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readwrite');</span>
2685
- const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
2686
- const index = <span class="cstat-no" title="statement not covered" >objectStore.index('timestamp');</span>
2687
- // 设置有效期,默认7天
2688
- const localStorageExpiresAt = <span class="cstat-no" title="statement not covered" >window.localStorage.getItem('expiresAt');</span>
2689
- const expiresAt = <span class="cstat-no" title="statement not covered" >Date.now() - (localStorageExpiresAt ? +localStorageExpiresAt : 7 * 24 * 60 * 60 * 1000);</span>
2690
- const range = <span class="cstat-no" title="statement not covered" >IDBKeyRange.upperBound(expiresAt);</span>
2691
- const expiredRecordsRequest = <span class="cstat-no" title="statement not covered" >index.openCursor(range);</span>
2692
- &nbsp;
2693
- <span class="cstat-no" title="statement not covered" > expiredRecordsRequest.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2694
- const cursor = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2695
- <span class="cstat-no" title="statement not covered" > if (cursor) {</span>
2696
- <span class="cstat-no" title="statement not covered" > console.log(cursor);</span>
2697
- <span class="cstat-no" title="statement not covered" > objectStore.delete(cursor.primaryKey);</span>
2698
- <span class="cstat-no" title="statement not covered" > cursor.continue();</span>
2699
- } else {
2700
- <span class="cstat-no" title="statement not covered" > resolve(void 0);</span>
2701
- }
2702
- };
2703
- &nbsp;
2704
- <span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
2705
- <span class="cstat-no" title="statement not covered" > db.close();</span>
2706
- };
2707
- };
2708
- &nbsp;
2709
- <span class="cstat-no" title="statement not covered" > request.onerror = (<span class="fstat-no" title="function not covered" >event) =&gt; {</span></span>
2710
- <span class="cstat-no" title="statement not covered" > reject('Failed to open database');</span>
2711
- };
2712
- });
2713
- }
2714
- &nbsp;
2715
- // 操作栈查询
2716
- export function <span class="fstat-no" title="function not covered" >operationRecordQuery(a</span>pp: any) {
2717
- <span class="cstat-no" title="statement not covered" > return new Promise(<span class="fstat-no" title="function not covered" >(r</span>esolve, reject) =&gt; {</span>
2718
- const appId = <span class="cstat-no" title="statement not covered" >app?.id;</span>
2719
- const branchId = <span class="cstat-no" title="statement not covered" >app?.__branchId;</span>
2720
- const request = <span class="cstat-no" title="statement not covered" >indexedDB.open('naslData', 1);</span>
2721
- <span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2722
- const db = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2723
- const transaction = <span class="cstat-no" title="statement not covered" >db.transaction('operationRecord', 'readonly');</span>
2724
- const objectStore = <span class="cstat-no" title="statement not covered" >transaction.objectStore('operationRecord');</span>
2725
- const index = <span class="cstat-no" title="statement not covered" >objectStore.index('appId'); // 查询 'appId' 索引</span>
2726
- const range = <span class="cstat-no" title="statement not covered" >IDBKeyRange.only(appId);</span>
2727
- const result: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
2728
- &nbsp;
2729
- const request = <span class="cstat-no" title="statement not covered" >index.openCursor(range);</span>
2730
- <span class="cstat-no" title="statement not covered" > request.onsuccess = (<span class="fstat-no" title="function not covered" >event: any) =&gt; {</span></span>
2731
- const cursor = <span class="cstat-no" title="statement not covered" >event.target.result;</span>
2732
- <span class="cstat-no" title="statement not covered" > if (cursor) {</span>
2733
- const record = <span class="cstat-no" title="statement not covered" >cursor.value;</span>
2734
- const branchId = <span class="cstat-no" title="statement not covered" >operationRecordInfoMap.get('branchId');</span>
2735
- <span class="cstat-no" title="statement not covered" > if (record.branchId === branchId) {</span>
2736
- <span class="cstat-no" title="statement not covered" > result.push(record);</span>
2737
- }
2738
- <span class="cstat-no" title="statement not covered" > cursor.continue();</span>
2739
- } else {
2740
- <span class="cstat-no" title="statement not covered" > console.log('操作记录栈:', result);</span>
2741
- <span class="cstat-no" title="statement not covered" > resolve(result);</span>
2742
- }
2743
- };
2744
- &nbsp;
2745
- <span class="cstat-no" title="statement not covered" > transaction.oncomplete = <span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
2746
- <span class="cstat-no" title="statement not covered" > db.close();</span>
2747
- };
2748
- };
2749
- &nbsp;
2750
- <span class="cstat-no" title="statement not covered" > request.onerror = (<span class="fstat-no" title="function not covered" >event) =&gt; {</span></span>
2751
- <span class="cstat-no" title="statement not covered" > reject('Failed to open database');</span>
2752
- };
2753
- });
2754
- }
2755
- &nbsp;
2756
- // 获取父对象
2757
- function <span class="fstat-no" title="function not covered" >getParentInfo(a</span>ppJson: any, path: string) {
2758
- const pathArr: string[] = <span class="cstat-no" title="statement not covered" >[<span class="cstat-no" title="statement not covered" >];</span></span>
2759
- (path?.split('.') || []).forEach((<span class="fstat-no" title="function not covered" >pathItem: string) =&gt; {</span>
2760
- const arrayPropertyKey = <span class="cstat-no" title="statement not covered" >pathItem.split('[')[0];</span>
2761
- const matchArr = <span class="cstat-no" title="statement not covered" >pathItem.match(/\[(.+?)\]/);</span>
2762
- <span class="cstat-no" title="statement not covered" > if (matchArr) {</span>
2763
- <span class="cstat-no" title="statement not covered" > pathArr.push(arrayPropertyKey, matchArr[0]);</span>
2764
- } else {
2765
- <span class="cstat-no" title="statement not covered" > pathArr.push(pathItem);</span>
2766
- }
2767
- });
2768
- <span class="cstat-no" title="statement not covered" > pathArr.pop();</span>
2769
- let parentPath = <span class="cstat-no" title="statement not covered" >'';</span>
2770
- <span class="cstat-no" title="statement not covered" > pathArr.forEach(<span class="fstat-no" title="function not covered" >(p</span>athItem: string, index: number) =&gt; {</span>
2771
- const matchArr = <span class="cstat-no" title="statement not covered" >pathItem.match(/\[(.+?)\]/);</span>
2772
- <span class="cstat-no" title="statement not covered" > if (matchArr || index === 0) {</span>
2773
- <span class="cstat-no" title="statement not covered" > parentPath += pathItem;</span>
2774
- } else {
2775
- <span class="cstat-no" title="statement not covered" > parentPath += `.${pathItem}`</span>
2776
- }
2777
- });
2778
- const parentNode = <span class="cstat-no" title="statement not covered" >jsoner.queryNodeByPath(appJson, parentPath);</span>
2779
- <span class="cstat-no" title="statement not covered" > return {</span>
2780
- parentPath,
2781
- parentNode,
2782
- };
2783
- }
2784
- &nbsp;
2785
- // 操作记录回放
2786
- export async function <span class="fstat-no" title="function not covered" >operationRecordPlayback(a</span>pp: any, operationRecordAction: 'undo' | 'redo') {
2787
- const operationRecord: any = <span class="cstat-no" title="statement not covered" >await operationRecordQuery(app);</span>
2788
- let operationRecordIndex = <span class="cstat-no" title="statement not covered" >operationRecordInfoMap.get('operationRecordIndex');</span>
2789
- <span class="cstat-no" title="statement not covered" > if ([null, undefined].includes(operationRecordIndex)) {</span>
2790
- <span class="cstat-no" title="statement not covered" > operationRecordIndex = operationRecord?.length;</span>
2791
- }
2792
- const appJson = <span class="cstat-no" title="statement not covered" >app.toJSON();</span>
2793
- <span class="cstat-no" title="statement not covered" > if (operationRecordAction === 'undo') {</span>
2794
- <span class="cstat-no" title="statement not covered" > if (operationRecordIndex &gt; 0) {</span>
2795
- const currentRecordItem = <span class="cstat-no" title="statement not covered" >operationRecord?.[operationRecordIndex];</span>
2796
- const { type, action: recordItemAction } = <span class="cstat-no" title="statement not covered" >currentRecordItem || {};</span>
2797
- // 多人协作
2798
- <span class="cstat-no" title="statement not covered" > if (type === 'cooperation' &amp;&amp; recordItemAction === 'confirmPull') {</span>
2799
- <span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},已经进行了多人协作“合并”操作,无法继续对操作栈进行回放!`);</span>
2800
- <span class="cstat-no" title="statement not covered" > return;</span>
2801
- }
2802
- <span class="cstat-no" title="statement not covered" > operationRecordIndex--;</span>
2803
- } else {
2804
- <span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},无法继续回放`);</span>
2805
- <span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
2806
- <span class="cstat-no" title="statement not covered" > return;</span>
2807
- }
2808
- } else {
2809
- <span class="cstat-no" title="statement not covered" > if (operationRecordIndex &lt; operationRecord?.length) {</span>
2810
- <span class="cstat-no" title="statement not covered" > operationRecordIndex++;</span>
2811
- } else {
2812
- <span class="cstat-no" title="statement not covered" > console.log(`当前所处栈位置:${operationRecordIndex},无法继续前进`);</span>
2813
- <span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
2814
- <span class="cstat-no" title="statement not covered" > return;</span>
2815
- }
2816
- }
2817
- <span class="cstat-no" title="statement not covered" > operationRecordInfoMap.set('operationRecordIndex', operationRecordIndex);</span>
2818
- const currentIndex = <span class="cstat-no" title="statement not covered" ><span class="cstat-no" title="statement not covered" >operationRecordIndex;</span></span>
2819
- ([...operationRecord].splice(currentIndex, operationRecord?.length) || []).reverse()?.forEach((<span class="fstat-no" title="function not covered" >recordItem: any) =&gt; {</span>
2820
- const { actionItem } = <span class="cstat-no" title="statement not covered" >recordItem || {};</span>
2821
- const { list } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
2822
- <span class="cstat-no" title="statement not covered" > [...(list || [])].reverse().forEach((<span class="fstat-no" title="function not covered" >actionItem: any) =&gt; {</span></span>
2823
- const { path, action, object, oldObject, parentKey, index: oldIndex } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
2824
- const { parentNode } = <span class="cstat-no" title="statement not covered" >getParentInfo(appJson, path);</span>
2825
- let newPath = <span class="cstat-no" title="statement not covered" >path;</span>
2826
- // 如果涉及到改名操作,需要特殊处理
2827
- <span class="cstat-no" title="statement not covered" > if (operationRecordAction === 'undo' &amp;&amp; action === 'update' &amp;&amp; object?.name) {</span>
2828
- const pathArr = <span class="cstat-no" title="statement not covered" >path?.split('.') || [];</span>
2829
- const lastPathItem = <span class="cstat-no" title="statement not covered" >pathArr?.pop();</span>
2830
- <span class="cstat-no" title="statement not covered" > if (lastPathItem) {</span>
2831
- <span class="cstat-no" title="statement not covered" > pathArr.push(lastPathItem.replace(/(name=)[^\]]+/, `$1${object?.name}`));</span>
2832
- }
2833
- <span class="cstat-no" title="statement not covered" > newPath = pathArr.join('.');</span>
2834
- }
2835
- const node = <span class="cstat-no" title="statement not covered" >jsoner.queryNodeByPath(appJson, newPath);</span>
2836
- <span class="cstat-no" title="statement not covered" > switch (action) {</span>
2837
- case 'create':
2838
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(parentNode)) {</span>
2839
- const index = <span class="cstat-no" title="statement not covered" >parentNode.indexOf(node);</span>
2840
- <span class="cstat-no" title="statement not covered" > if (index !== -1) {</span>
2841
- <span class="cstat-no" title="statement not covered" > parentNode.splice(index, 1);</span>
2842
- }
2843
- } else {
2844
- <span class="cstat-no" title="statement not covered" > parentNode[parentKey] = null;</span>
2845
- }
2846
- <span class="cstat-no" title="statement not covered" > break;</span>
2847
- case 'delete':
2848
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(parentNode) &amp;&amp; oldIndex !== -1) {</span>
2849
- <span class="cstat-no" title="statement not covered" > parentNode.splice(oldIndex, 0, oldObject);</span>
2850
- } else {
2851
- <span class="cstat-no" title="statement not covered" > parentNode[parentKey] = oldObject;</span>
2852
- }
2853
- <span class="cstat-no" title="statement not covered" > break;</span>
2854
- case 'update':
2855
- <span class="cstat-no" title="statement not covered" > for (const key in oldObject) {</span>
2856
- <span class="cstat-no" title="statement not covered" > if (node) {</span>
2857
- (<span class="cstat-no" title="statement not covered" >node as any)[key] = oldObject[key] ?? null;</span>
2858
- }
2859
- }
2860
- <span class="cstat-no" title="statement not covered" > break;</span>
2861
- }
2862
- });
2863
- });
2864
- <span class="cstat-no" title="statement not covered" > console.log('当前所处栈位置:', currentIndex);</span>
2865
- <span class="cstat-no" title="statement not covered" > console.log('当前appJSON:', appJson);</span>
2866
- <span class="cstat-no" title="statement not covered" > return appJson;</span>
2867
- }
2868
- &nbsp;
2869
- function <span class="fstat-no" title="function not covered" >getLogic(k</span>ey: string, app: any, diffLogicList: string[]) {
2870
- <span class="cstat-no" title="statement not covered" > if (!diffLogicList.includes(key)) {</span>
2871
- <span class="cstat-no" title="statement not covered" > diffLogicList.push(key);</span>
2872
- <span class="cstat-no" title="statement not covered" > if (key.startsWith('app')) {</span>
2873
- const index = <span class="cstat-no" title="statement not covered" >key.lastIndexOf('.');</span>
2874
- const name = <span class="cstat-no" title="statement not covered" >key.slice(index + 1);</span>
2875
- const logic = <span class="cstat-no" title="statement not covered" >app.logics.find((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === name)</span>;</span>
2876
- <span class="cstat-no" title="statement not covered" > if (logic &amp;&amp; logic.body &amp;&amp; logic.body.length &gt; 2) {</span>
2877
- <span class="cstat-no" title="statement not covered" > logic.body.map((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >g</span>etStatement(item, app, diffLogicList))</span>;</span>
2878
- }
2879
- <span class="cstat-no" title="statement not covered" > } else if (key.startsWith('extensions')) {</span>
2880
- const _pathArr = <span class="cstat-no" title="statement not covered" >key.split('.');</span>
2881
- const _name = <span class="cstat-no" title="statement not covered" >_pathArr[1];</span>
2882
- const _path = <span class="cstat-no" title="statement not covered" >_pathArr[3];</span>
2883
- const _list = <span class="cstat-no" title="statement not covered" >app.dependencies;</span>
2884
- const _module = <span class="cstat-no" title="statement not covered" >_list.find((<span class="fstat-no" title="function not covered" >it: Module) =&gt; {</span></span>
2885
- const name = <span class="cstat-no" title="statement not covered" >it.name.replaceAll('-', '_');</span>
2886
- <span class="cstat-no" title="statement not covered" > return name === _name;</span>
2887
- });
2888
- const logic = <span class="cstat-no" title="statement not covered" >_module?.logics?.find((<span class="fstat-no" title="function not covered" >item: Logic) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === _path)</span>;</span>
2889
- <span class="cstat-no" title="statement not covered" > if (logic &amp;&amp; logic.body &amp;&amp; logic.body.length &gt; 2) {</span>
2890
- <span class="cstat-no" title="statement not covered" > logic.body.map((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >g</span>etStatement(item, app, diffLogicList))</span>;</span>
2891
- }
2892
- }
2893
- }
2894
- }
2895
- &nbsp;
2896
- /* 获取LogicITEM */
2897
- function <span class="fstat-no" title="function not covered" >getStatement(s</span>tate: any, app: any, diffLogicList: string[]) {
2898
- let logicItems = <span class="cstat-no" title="statement not covered" >[];</span>
2899
- <span class="cstat-no" title="statement not covered" > switch (state.concept) {</span>
2900
- case 'Assignment':
2901
- <span class="cstat-no" title="statement not covered" > logicItems = [state.left, state.right];</span>
2902
- <span class="cstat-no" title="statement not covered" > break;</span>
2903
- case 'IfStatement':
2904
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.consequent, ...state.alternate];</span>
2905
- <span class="cstat-no" title="statement not covered" > break;</span>
2906
- case 'ForEachStatement':
2907
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.body, state.each, state.start, state.end];</span>
2908
- <span class="cstat-no" title="statement not covered" > break;</span>
2909
- case 'Match':
2910
- <span class="cstat-no" title="statement not covered" > logicItems = [state.expression, ...state.cases.map(getStatement).flat(1)];</span>
2911
- <span class="cstat-no" title="statement not covered" > break;</span>
2912
- case 'MatchCase':
2913
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.patterns, ...state.body];</span>
2914
- <span class="cstat-no" title="statement not covered" > break;</span>
2915
- case 'SwitchStatement':
2916
- <span class="cstat-no" title="statement not covered" > logicItems = state.cases.map(getStatement).flat(1);</span>
2917
- <span class="cstat-no" title="statement not covered" > break;</span>
2918
- case 'SwitchCase':
2919
- <span class="cstat-no" title="statement not covered" > logicItems = [state.test, ...state.consequent];</span>
2920
- <span class="cstat-no" title="statement not covered" > break;</span>
2921
- case 'WhileStatement':
2922
- <span class="cstat-no" title="statement not covered" > logicItems = [state.test, ...state.body];</span>
2923
- <span class="cstat-no" title="statement not covered" > break;</span>
2924
- case 'CallLogic':
2925
- <span class="cstat-no" title="statement not covered" > logicItems = state.arguments?.map((<span class="fstat-no" title="function not covered" >item: Argument) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.expression)</span>;</span>
2926
- <span class="cstat-no" title="statement not covered" > getLogic(state.calleewholeKey, app, diffLogicList);</span>
2927
- <span class="cstat-no" title="statement not covered" > break;</span>
2928
- case 'CallFunction':
2929
- <span class="cstat-no" title="statement not covered" > logicItems = state.arguments?.map((<span class="fstat-no" title="function not covered" >item: Argument) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.expression)</span>;</span>
2930
- <span class="cstat-no" title="statement not covered" > break;</span>
2931
- case 'CallInterface':
2932
- <span class="cstat-no" title="statement not covered" > logicItems = state.arguments?.map((<span class="fstat-no" title="function not covered" >item: Argument) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.expression)</span>;</span>
2933
- <span class="cstat-no" title="statement not covered" > break;</span>
2934
- case 'ExternalDestination':
2935
- <span class="cstat-no" title="statement not covered" > logicItems = [state.anchor, state.link];</span>
2936
- <span class="cstat-no" title="statement not covered" > break;</span>
2937
- case 'BatchAssignment':
2938
- <span class="cstat-no" title="statement not covered" > logicItems = [state.left?.expression, ...state.left?.members, ...state.rights.map((<span class="fstat-no" title="function not covered" >item: SelectMembers) =&gt; <span class="cstat-no" title="statement not covered" >[</span>item?.expression, ...item?.members])</span>.flat(1)];</span>
2939
- <span class="cstat-no" title="statement not covered" > break;</span>
2940
- case 'MemberExpression':
2941
- <span class="cstat-no" title="statement not covered" > logicItems = [state.object, state.property];</span>
2942
- <span class="cstat-no" title="statement not covered" > break;</span>
2943
- case 'StringInterpolation':
2944
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.expressions];</span>
2945
- <span class="cstat-no" title="statement not covered" > break;</span>
2946
- case 'NewComposite':
2947
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.rights.map((<span class="fstat-no" title="function not covered" >item: SelectMembers) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.expression)</span>];</span>
2948
- <span class="cstat-no" title="statement not covered" > break;</span>
2949
- case 'NewList':
2950
- <span class="cstat-no" title="statement not covered" > logicItems = [...state.items];</span>
2951
- <span class="cstat-no" title="statement not covered" > break;</span>
2952
- default:
2953
- <span class="cstat-no" title="statement not covered" > break;</span>
2954
- }
2955
- &nbsp;
2956
- <span class="cstat-no" title="statement not covered" > return logicItems.filter((<span class="fstat-no" title="function not covered" >item: LogicItem) =&gt; <span class="cstat-no" title="statement not covered" >!</span>!item)</span>;</span>
2957
- }
2958
- &nbsp;
2959
- /* 小程序影响的服务端发布 */
2960
- function <span class="fstat-no" title="function not covered" >getMiniAppChange(t</span>arget: any, obj: any, action: string) {
2961
- <span class="cstat-no" title="statement not covered" > if (!target.app.miniEnable) {</span>
2962
- <span class="cstat-no" title="statement not covered" > return false;</span>
2963
- }
2964
- /* 分端以后需要改 */
2965
- const len = <span class="cstat-no" title="statement not covered" >target.nodePath?.split('.').length;</span>
2966
- <span class="cstat-no" title="statement not covered" > if (len &gt; 2) {</span>
2967
- <span class="cstat-no" title="statement not covered" > return false;</span>
2968
- }
2969
- <span class="cstat-no" title="statement not covered" > if (action === 'delete') {</span>
2970
- <span class="cstat-no" title="statement not covered" > return true;</span>
2971
- } else {
2972
- <span class="cstat-no" title="statement not covered" > if ('name' in obj || 'title' in obj) {</span>
2973
- <span class="cstat-no" title="statement not covered" > return true;</span>
2974
- }
2975
- }
2976
- }
2977
- &nbsp;
2978
- let aiExecuted = 0;
2979
- let sessionPath = '';
2980
- // AI 生成内容是否被采纳
2981
- const handleAIPoint = <span class="fstat-no" title="function not covered" >(a</span>pp: any, actionItem: any) =&gt; {
2982
- const { actionMsg, action } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
2983
- <span class="cstat-no" title="statement not covered" > if (aiExecuted &gt; 0) {</span>
2984
- <span class="cstat-no" title="statement not covered" > app.emit('logic:accepted', { ...actionItem, sessionPath });</span>
2985
- <span class="cstat-no" title="statement not covered" > aiExecuted -= 1;</span>
2986
- }
2987
- <span class="cstat-no" title="statement not covered" > if (actionMsg.includes('自然语言生成代码') &amp;&amp; !action) {</span>
2988
- <span class="cstat-no" title="statement not covered" > aiExecuted += 1;</span>
2989
- // eslint-disable-next-line prefer-destructuring
2990
- <span class="cstat-no" title="statement not covered" > sessionPath = actionMsg.match(/:(.*)/)[1];</span>
2991
- }
2992
- }
2993
- &nbsp;
2994
- /**
2995
- * 执行更新
2996
- */
2997
- async function <span class="fstat-no" title="function not covered" >doAction(a</span>pp: any, actionItem: any) {
2998
- const isOperationRecord = <span class="cstat-no" title="statement not covered" >operationRecordInfoMap.get('isOperationRecord');</span>
2999
- <span class="cstat-no" title="statement not covered" > if (isOperationRecord) {</span>
3000
- <span class="cstat-no" title="statement not covered" > console.log('正在进行操作栈回放操作,如需行任何Nasl操作请刷新页面');</span>
3001
- <span class="cstat-no" title="statement not covered" > return;</span>
3002
- }
3003
- let hasFrontEnd = <span class="cstat-no" title="statement not covered" >false;</span>
3004
- let hasBackEnd = <span class="cstat-no" title="statement not covered" >false;</span>
3005
- const actionList: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
3006
- const allRiskList: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
3007
- const { list, actionMsg, action } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
3008
- <span class="cstat-no" title="statement not covered" > handleAIPoint(app, actionItem);</span>
3009
- const itemloop = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(_</span></span>i: LogicItem, app: any, diffArr: string[]) =&gt; {
3010
- const _l = <span class="cstat-no" title="statement not covered" >getStatement(_i, app, diffArr);</span>
3011
- <span class="cstat-no" title="statement not covered" > if (_l.length) {</span>
3012
- <span class="cstat-no" title="statement not covered" > _l.map((<span class="fstat-no" title="function not covered" >_ii: LogicItem) =&gt; <span class="cstat-no" title="statement not covered" >i</span>temloop(_ii, app, diffArr))</span>;</span>
3013
- }
3014
- };
3015
- const loopEle = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >(v</span></span>iew: View | ViewElement, checkAuth: boolean) =&gt; {
3016
- <span class="cstat-no" title="statement not covered" > if (view instanceof View) {</span>
3017
- <span class="cstat-no" title="statement not covered" > view?.elements?.forEach((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >l</span>oopEle(item, checkAuth))</span>;</span>
3018
- }
3019
- <span class="cstat-no" title="statement not covered" > view?.children?.forEach((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >l</span>oopEle(item, checkAuth))</span>;</span>
3020
- <span class="cstat-no" title="statement not covered" > if (view instanceof ViewElement) {</span>
3021
- <span class="cstat-no" title="statement not covered" > if (view.bindEvents.length) {</span>
3022
- const diffArr: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
3023
- <span class="cstat-no" title="statement not covered" > view.bindEvents.forEach((<span class="fstat-no" title="function not covered" >bindEvent) =&gt; {</span></span>
3024
- <span class="cstat-no" title="statement not covered" > bindEvent.logics.forEach((<span class="fstat-no" title="function not covered" >logic) =&gt; {</span></span>
3025
- <span class="cstat-no" title="statement not covered" > logic.body.forEach((<span class="fstat-no" title="function not covered" >logicItem) =&gt; <span class="cstat-no" title="statement not covered" >i</span>temloop(logicItem, app, diffArr))</span>;</span>
3026
- });
3027
- });
3028
- const result = <span class="cstat-no" title="statement not covered" >diffArr.filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.startsWith('app') || item.startsWith('extensions'))</span>;</span>
3029
- <span class="cstat-no" title="statement not covered" > if (result.length) {</span>
3030
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3031
- }
3032
- }
3033
- <span class="cstat-no" title="statement not covered" > if (view.tag === 'u-uploader' || view.tag === 'van-uploader') {</span>
3034
- const bute = <span class="cstat-no" title="statement not covered" >view?.bindAttrs.find((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === 'url')</span>;</span>
3035
- const needUpdateBackEnd = <span class="cstat-no" title="statement not covered" >bute?.value?.endsWith('/import') || bute?.value?.includes('/upload/');</span>
3036
- <span class="cstat-no" title="statement not covered" > if (checkAuth) {</span>
3037
- <span class="cstat-no" title="statement not covered" > if (needUpdateBackEnd &amp;&amp; !view.view.parentAuth) {</span>
3038
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3039
- }
3040
- } else {
3041
- <span class="cstat-no" title="statement not covered" > if (needUpdateBackEnd) {</span>
3042
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3043
- }
3044
- }
3045
- }
3046
- }
3047
- };
3048
- &nbsp;
3049
- const loopEleAuth = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >v</span>iewElement: ViewElement) =&gt; {</span>
3050
- <span class="cstat-no" title="statement not covered" > viewElement?.children?.forEach((<span class="fstat-no" title="function not covered" >item: ViewElement) =&gt; {</span></span>
3051
- const bindDirective = <span class="cstat-no" title="statement not covered" >item?.bindDirectives?.find(</span>
3052
- (<span class="fstat-no" title="function not covered" >item: BindDirective) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === 'auth'</span>
3053
- )
3054
- <span class="cstat-no" title="statement not covered" > if (bindDirective) {</span>
3055
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3056
- }
3057
- <span class="cstat-no" title="statement not covered" > loopEleAuth(item)</span>
3058
- })
3059
- }
3060
- <span class="cstat-no" title="statement not covered" > try {</span>
3061
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(list)) {</span>
3062
- <span class="cstat-no" title="statement not covered" > list.forEach((<span class="fstat-no" title="function not covered" >event) =&gt; {</span></span>
3063
- const emitTarget = <span class="cstat-no" title="statement not covered" >event?.originEvent?.target as types.SyntaxNode;</span>
3064
- const _path: string = <span class="cstat-no" title="statement not covered" >event.originEvent.path;</span>
3065
- const _root = <span class="cstat-no" title="statement not covered" >_path.split('.')?.[1] || '';</span>
3066
- <span class="cstat-no" title="statement not covered" > if (['backend', 'overriddenLogics', 'dataSources', 'processes', 'roles', 'logics', 'enums', 'structures', 'interfaces', 'interfaceDependencies', 'configuration', 'dependencies', 'authLogics', 'authLogicsForCallInterface', 'triggerLaunchers', 'connections'].some((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >_</span>root.startsWith(item))</span>) {</span>
3067
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3068
- }
3069
- <span class="cstat-no" title="statement not covered" > if (emitTarget) {</span>
3070
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'App') {</span>
3071
- <span class="cstat-no" title="statement not covered" > if (event?.object?.preferenceMap || event?.originEvent?.object?.preferenceMap) {</span>
3072
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3073
- <span class="cstat-no" title="statement not covered" > hasFrontEnd = true</span>
3074
- }
3075
- }
3076
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'ValidationRule') {</span>
3077
- <span class="cstat-no" title="statement not covered" > if (</span>
3078
- event?.object?.enableServerValidation ||
3079
- event?.originEvent?.object?.enableServerValidation
3080
- ) {
3081
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3082
- <span class="cstat-no" title="statement not covered" > hasFrontEnd = true</span>
3083
- }
3084
- }
3085
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'Logic') {</span>
3086
- const diffArr: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
3087
- <span class="cstat-no" title="statement not covered" > if ((emitTarget as Logic).body.length &gt; 2) {</span>
3088
- (<span class="cstat-no" title="statement not covered" >emitTarget as Logic).body.forEach((<span class="fstat-no" title="function not covered" >it: LogicItem) =&gt; {</span></span>
3089
- <span class="cstat-no" title="statement not covered" > itemloop(it, app, diffArr);</span>
3090
- });
3091
- }
3092
- const result = <span class="cstat-no" title="statement not covered" >diffArr.filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.startsWith('app') || item.startsWith('extensions'))</span>;</span>
3093
- <span class="cstat-no" title="statement not covered" > if (result.length) {</span>
3094
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3095
- }
3096
- }
3097
- <span class="cstat-no" title="statement not covered" > if ('view' in emitTarget &amp;&amp; emitTarget.view) {</span>
3098
- <span class="cstat-no" title="statement not covered" > hasFrontEnd = true</span>
3099
- }
3100
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'BindDirective') {</span>
3101
- const isDelete = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'delete'</span>
3102
- <span class="cstat-no" title="statement not covered" > if (isDelete) {</span>
3103
- const isAuto = <span class="cstat-no" title="statement not covered" >~event?.originEvent?.path?.indexOf('name=auth')</span>
3104
- <span class="cstat-no" title="statement not covered" > if (isAuto) {</span>
3105
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3106
- }
3107
- }
3108
- <span class="cstat-no" title="statement not covered" > if (event?.originEvent?.object?.name === 'auth') {</span>
3109
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3110
- }
3111
- }
3112
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'View') {</span>
3113
- <span class="cstat-no" title="statement not covered" > if (getMiniAppChange(emitTarget, event?.originEvent?.object, event?.originEvent?.action)) {</span>
3114
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3115
- }
3116
- &nbsp;
3117
- const isDelete = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'delete';</span>
3118
- const isAuthView = (<span class="cstat-no" title="statement not covered" >emitTarget as View).auth &amp;&amp; event?.originEvent?.object?.name;</span>
3119
- const isUpdateAuth = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'update' &amp;&amp; "auth" in (event?.originEvent?.object || {});</span>
3120
- const isUpdateAuthDes = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'update' &amp;&amp; "authDescription" in (event?.originEvent?.object || {});</span>
3121
- const isUpdateBindRoles = <span class="cstat-no" title="statement not covered" >event?.originEvent?.action === 'update' &amp;&amp; event?.originEvent?.object &amp;&amp; event?.originEvent?.object?.bindRoles;</span>
3122
- <span class="cstat-no" title="statement not covered" > if (isDelete || isUpdateAuth || isUpdateBindRoles || isAuthView||isUpdateAuthDes) {</span>
3123
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3124
- // const app = emitTarget.app;
3125
- // const diffArr: string[] = [];
3126
- // emitTarget.logics.forEach((logic: Logic) =&gt; {
3127
- // if (logic.body.length &gt; 2) {
3128
- // logic.body.forEach((it: LogicItem) =&gt; {
3129
- // itemloop(it, app, diffArr);
3130
- // });
3131
- // }
3132
- // });
3133
- // const result = diffArr.filter((item) =&gt; item.startsWith('app') || item.startsWith('extensions'));
3134
- // if (result.length) {
3135
- // hasBackEnd = true;
3136
- // }
3137
- // emitTarget.children.forEach((item: View | ViewElement) =&gt; loopEle(item, isDelete));
3138
- // emitTarget.elements.forEach((item: View | ViewElement) =&gt; loopEle(item, isDelete));
3139
- }
3140
- <span class="cstat-no" title="statement not covered" > hasFrontEnd = true;</span>
3141
- }
3142
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'ViewElement') {</span>
3143
- <span class="cstat-no" title="statement not covered" > if ("authDescription" in (event?.originEvent?.object || {})) {</span>
3144
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3145
- } ;
3146
- <span class="cstat-no" title="statement not covered" > if (event?.originEvent?.object?.name) {</span>
3147
- const bindDirective = (<span class="cstat-no" title="statement not covered" >emitTarget as ViewElement).bindDirectives.find(</span>
3148
- (<span class="fstat-no" title="function not covered" >item: BindDirective) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === 'auth'</span>
3149
- )
3150
- <span class="cstat-no" title="statement not covered" > if (bindDirective) {</span>
3151
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3152
- }
3153
- }
3154
- <span class="cstat-no" title="statement not covered" > if (event?.originEvent?.action === 'delete') {</span>
3155
- const bindDirective = (<span class="cstat-no" title="statement not covered" >emitTarget as ViewElement)?.bindDirectives?.find(</span>
3156
- (<span class="fstat-no" title="function not covered" >item: BindDirective) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.name === 'auth'</span>
3157
- )
3158
- <span class="cstat-no" title="statement not covered" > if (bindDirective) {</span>
3159
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3160
- }
3161
- <span class="cstat-no" title="statement not covered" > loopEleAuth((emitTarget as ViewElement))</span>
3162
- }
3163
- <span class="cstat-no" title="statement not covered" > if (event?.originEvent?.action !== 'create') {</span>
3164
- <span class="cstat-no" title="statement not covered" > if (event?.originEvent?.object &amp;&amp; event?.originEvent?.object?.bindRoles) {</span>
3165
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3166
- }
3167
- }
3168
- <span class="cstat-no" title="statement not covered" > loopEle((emitTarget as ViewElement), true)</span>
3169
- }
3170
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'BindAttribute' &amp;&amp; emitTarget.name === 'url') {</span>
3171
- const needUpdateBackEnd =
3172
- (<span class="cstat-no" title="statement not covered" >emitTarget as BindAttribute)?.value?.endsWith('/import') || (emitTarget as BindAttribute)?.value?.includes('/upload/')</span>
3173
- <span class="cstat-no" title="statement not covered" > if (!(emitTarget as BindAttribute).view.parentAuth &amp;&amp; needUpdateBackEnd) {</span>
3174
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true</span>
3175
- }
3176
- }
3177
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'CallLogic') {</span>
3178
- const arrlist: string[] = <span class="cstat-no" title="statement not covered" >[];</span>
3179
- <span class="cstat-no" title="statement not covered" > getLogic((emitTarget as CallLogic).calleeKey, (emitTarget as CallLogic).app, arrlist);</span>
3180
- const result = <span class="cstat-no" title="statement not covered" >arrlist.filter((<span class="fstat-no" title="function not covered" >item) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.startsWith('app') || item.startsWith('extensions'))</span>;</span>
3181
- // console.log(result, 'CallLogic');
3182
- <span class="cstat-no" title="statement not covered" > if (result.length) {</span>
3183
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3184
- }
3185
- }
3186
- // 更新端时需要出发后端更新
3187
- <span class="cstat-no" title="statement not covered" > if (emitTarget.concept === 'Frontend') {</span>
3188
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3189
- }
3190
- }
3191
- <span class="cstat-no" title="statement not covered" > event.eventList.forEach(<span class="fstat-no" title="function not covered" >({</span> action, riskList, path, object: objItem }: { action: string; riskList: string[]; path: string; object: any }) =&gt; {</span>
3192
- <span class="cstat-no" title="statement not covered" > if (riskList) {</span>
3193
- <span class="cstat-no" title="statement not covered" > allRiskList.push(...(riskList || []));</span>
3194
- }
3195
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(objItem)) {</span>
3196
- <span class="cstat-no" title="statement not covered" > if (action === 'update') {</span>
3197
- <span class="cstat-no" title="statement not covered" > actionList.push({</span>
3198
- action,
3199
- path,
3200
- node: objItem[0],
3201
- });
3202
- } else {
3203
- <span class="cstat-no" title="statement not covered" > objItem.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem, index) =&gt; {</span>
3204
- <span class="cstat-no" title="statement not covered" > actionList.push({</span>
3205
- action,
3206
- path,
3207
- node: item,
3208
- });
3209
- });
3210
- }
3211
- } else {
3212
- <span class="cstat-no" title="statement not covered" > actionList.push({</span>
3213
- action,
3214
- path,
3215
- object: objItem,
3216
- });
3217
- }
3218
- });
3219
- });
3220
- }
3221
- } catch (error) {
3222
- <span class="cstat-no" title="statement not covered" > console.log(error);</span>
3223
- <span class="cstat-no" title="statement not covered" > taskQueue.refreshNasl(app, {</span>
3224
- errorInfo: {
3225
- message: error?.message,
3226
- stack: error?.stack,
3227
- },
3228
- });
3229
- <span class="cstat-no" title="statement not covered" > return;</span>
3230
- }
3231
- &nbsp;
3232
- const <span class="cstat-no" title="statement not covered" >uuid = uuidv4().replace(/-/g, '');</span>
3233
- const instructList = <span class="cstat-no" title="statement not covered" >[{</span>
3234
- uuid,
3235
- actions: actionList,
3236
- riskList: allRiskList
3237
- }];
3238
- const operation: Operation = <span class="cstat-no" title="statement not covered" >{</span>
3239
- type: 'doAction',
3240
- uuid,
3241
- actionItem: {
3242
- actionMsg,
3243
- list: list.map((<span class="fstat-no" title="function not covered" >item: any) =&gt; {</span>
3244
- const { path, action, object, oldObject, parentKey, index } = <span class="cstat-no" title="statement not covered" >item?.originEvent || {};</span>
3245
- <span class="cstat-no" title="statement not covered" > return {</span>
3246
- path,
3247
- action,
3248
- parentKey,
3249
- index,
3250
- object: object?.toJSON?.() || object,
3251
- oldObject: oldObject?.toJSON?.() || oldObject,
3252
- }
3253
- }),
3254
- },
3255
- };
3256
- <span class="cstat-no" title="statement not covered" > saveNasl({ app, hasFrontEnd, hasBackEnd, instructList, operationList: [operation] });</span>
3257
- // 进行nasl操作后需要将Index重置
3258
- <span class="cstat-no" title="statement not covered" > operationRecordInfoMap.set('operationRecordIndex', null);</span>
3259
- <span class="cstat-no" title="statement not covered" > if (!app._historying) {</span>
3260
- <span class="cstat-no" title="statement not covered" > if (app._historyIndex !== app._historyList.length) {</span>
3261
- <span class="cstat-no" title="statement not covered" > app._historyList = app._historyList.splice(0, app._historyIndex);</span>
3262
- }
3263
- <span class="cstat-no" title="statement not covered" > app._historyList.push({</span>
3264
- actionMsg,
3265
- list: list.map((<span class="fstat-no" title="function not covered" >item: any) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem?.originEvent)</span>,
3266
- });
3267
- <span class="cstat-no" title="statement not covered" > app._historyIndex = app._historyList.length;</span>
3268
- } else {
3269
- const actionMap = <span class="cstat-no" title="statement not covered" >{</span>
3270
- undo: '已撤销操作:',
3271
- redo: '已重做操作:',
3272
- };
3273
- let msg = <span class="cstat-no" title="statement not covered" >actionMap[action as 'undo' | 'redo'];</span>
3274
- <span class="cstat-no" title="statement not covered" > msg += actionMsg;</span>
3275
- <span class="cstat-no" title="statement not covered" > if (process.env.BUILD_TARGET !== 'node') {</span>
3276
- <span class="cstat-no" title="statement not covered" > require('element-plus').ElMessage.info(msg);</span>
3277
- }
3278
- <span class="cstat-no" title="statement not covered" > app._historying = false;</span>
3279
- }
3280
- <span class="cstat-no" title="statement not covered" > stepRecorder.initialized &amp;&amp; stepRecorder.record(actionMsg, actionItem, actionList);</span>
3281
- }
3282
- &nbsp;
3283
- type Instruct = {
3284
- uuid: string;
3285
- actions: any[];
3286
- oldUUid?: string;
3287
- riskList?: string[];
3288
- };
3289
- type TaskOption = {
3290
- app: any,
3291
- hasFrontEnd: boolean,
3292
- hasBackEnd: boolean,
3293
- instructList: Instruct[],
3294
- operationList: Operation[],
3295
- };
3296
- enum TaskQueueStatus {
3297
- ExceedMaxTaskCount,
3298
- Retrying,
3299
- }
3300
- type RefreshNaslOptions = {
3301
- errorInfo: {
3302
- message?: string,
3303
- stack?: string,
3304
- }
3305
- };
3306
- &nbsp;
3307
- class TaskQueue {
3308
- queue: TaskOption[] = []
3309
- lastQueue: TaskOption[] = []
3310
- running: Boolean = false
3311
- maxTaskCount: number = 10
3312
- status?: TaskQueueStatus = undefined
3313
- &nbsp;
3314
- <span class="fstat-no" title="function not covered" > addTask(t</span>ask: TaskOption) {
3315
- <span class="cstat-no" title="statement not covered" > this.queue.push(task);</span>
3316
- &nbsp;
3317
- <span class="cstat-no" title="statement not covered" > if (this.queue.length &gt;= this.maxTaskCount) {</span>
3318
- <span class="cstat-no" title="statement not covered" > this.status = TaskQueueStatus.ExceedMaxTaskCount;</span>
3319
- <span class="cstat-no" title="statement not covered" > task.app.emit('ExceedMaxTaskCount');</span>
3320
- }
3321
- &nbsp;
3322
- <span class="cstat-no" title="statement not covered" > this.run();</span>
3323
- }
3324
- &nbsp;
3325
- <span class="fstat-no" title="function not covered" > clear() {</span>
3326
- <span class="cstat-no" title="statement not covered" > this.queue = [];</span>
3327
- <span class="cstat-no" title="statement not covered" > this.lastQueue = [];</span>
3328
- <span class="cstat-no" title="statement not covered" > this.status = undefined;</span>
3329
- <span class="cstat-no" title="statement not covered" > this.running = false;</span>
3330
- }
3331
- &nbsp;
3332
- <span class="fstat-no" title="function not covered" > async r</span>un(queue = <span class="branch-0 cbranch-no" title="branch not covered" >this.queue) {</span>
3333
- <span class="cstat-no" title="statement not covered" > if (this.running)</span>
3334
- <span class="cstat-no" title="statement not covered" > return;</span>
3335
- <span class="cstat-no" title="statement not covered" > if (queue.length === 0)</span>
3336
- <span class="cstat-no" title="statement not covered" > return;</span>
3337
- &nbsp;
3338
- const app = <span class="cstat-no" title="statement not covered" >queue[0].app;</span>
3339
- let hasFrontEnd = <span class="cstat-no" title="statement not covered" >false;</span>
3340
- let hasBackEnd = <span class="cstat-no" title="statement not covered" >false;</span>
3341
- let instructList: Instruct[] = <span class="cstat-no" title="statement not covered" >[];</span>
3342
- let operationList: Operation[] = <span class="cstat-no" title="statement not covered" >[];</span>
3343
- &nbsp;
3344
- <span class="cstat-no" title="statement not covered" > for (const task of queue) {</span>
3345
- <span class="cstat-no" title="statement not covered" > if (task.hasFrontEnd)</span>
3346
- <span class="cstat-no" title="statement not covered" > hasFrontEnd = true;</span>
3347
- <span class="cstat-no" title="statement not covered" > if (task.hasBackEnd)</span>
3348
- <span class="cstat-no" title="statement not covered" > hasBackEnd = true;</span>
3349
- <span class="cstat-no" title="statement not covered" > instructList = instructList.concat(task.instructList);</span>
3350
- <span class="cstat-no" title="statement not covered" > operationList = operationList.concat(task.operationList);</span>
3351
- }
3352
- &nbsp;
3353
- <span class="cstat-no" title="statement not covered" > if (queue === this.queue) {</span>
3354
- <span class="cstat-no" title="statement not covered" > this.lastQueue = [...queue];</span>
3355
- <span class="cstat-no" title="statement not covered" > this.queue = [];</span>
3356
- }
3357
- &nbsp;
3358
- <span class="cstat-no" title="statement not covered" > this.running = true;</span>
3359
- const error = <span class="cstat-no" title="statement not covered" >await _saveNasl({</span>
3360
- app, hasFrontEnd, hasBackEnd, instructList, operationList
3361
- });
3362
- &nbsp;
3363
- // code: 401650, 检测到当前应用拉取操作已被强制结束, 用户确认后再刷新
3364
- // code: 500502 msg: '该应用已在新tab 页打开,请刷新!' 不重试或刷新
3365
- // code: 500505 需要刷新浏览器
3366
- <span class="cstat-no" title="statement not covered" > if (!error)</span>
3367
- <span class="cstat-no" title="statement not covered" > this.recover(app<span class="cstat-no" title="statement not covered" >);</span></span>
3368
- else if (![401650, 500502, 500505].includes(error.code)) {
3369
- // 连接失败,或超时,或后端持久化异常
3370
- <span class="cstat-no" title="statement not covered" > if ((error.message === 'Network Error' || error.message?.includes('timeout') || error.code === 500500)</span>
3371
- &amp;&amp; this.status !== TaskQueueStatus.Retrying) {
3372
- <span class="cstat-no" title="statement not covered" > this.running = false;</span>
3373
- <span class="cstat-no" title="statement not covered" > this.retry();</span>
3374
- } else
3375
- <span class="cstat-no" title="statement not covered" > this.refreshNasl(app);</span>
3376
- &nbsp;
3377
- <span class="cstat-no" title="statement not covered" > return;</span>
3378
- }
3379
- &nbsp;
3380
- <span class="cstat-no" title="statement not covered" > this.running = false;</span>
3381
- &nbsp;
3382
- <span class="cstat-no" title="statement not covered" > this.run();</span>
3383
- }
3384
- &nbsp;
3385
- <span class="fstat-no" title="function not covered" > retry() {</span>
3386
- <span class="cstat-no" title="statement not covered" > if (this.lastQueue.length === 0)</span>
3387
- <span class="cstat-no" title="statement not covered" > return;</span>
3388
- &nbsp;
3389
- const app = <span class="cstat-no" title="statement not covered" >this.lastQueue[0].app;</span>
3390
- <span class="cstat-no" title="statement not covered" > this.status = TaskQueueStatus.Retrying;</span>
3391
- <span class="cstat-no" title="statement not covered" > app.emit('Retrying');</span>
3392
- <span class="cstat-no" title="statement not covered" > this.run(this.lastQueue);</span>
3393
- }
3394
- &nbsp;
3395
- <span class="fstat-no" title="function not covered" > async r</span>efreshNasl(app: App, options: RefreshNaslOptions = <span class="branch-0 cbranch-no" title="branch not covered" >{ errorInfo: {} }) {</span>
3396
- const failedQueue = <span class="cstat-no" title="statement not covered" >this.lastQueue.map(<span class="fstat-no" title="function not covered" >({</span> hasFrontEnd, hasBackEnd, instructList }) =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
3397
- hasFrontEnd, hasBackEnd, instructList,
3398
- }));
3399
- const queue = <span class="cstat-no" title="statement not covered" >this.queue.map(<span class="fstat-no" title="function not covered" >({</span> hasFrontEnd, hasBackEnd, instructList }) =&gt; (<span class="cstat-no" title="statement not covered" >{</span></span>
3400
- hasFrontEnd, hasBackEnd, instructList,
3401
- }));
3402
- <span class="cstat-no" title="statement not covered" > await storageService.saveFrontendNasl({</span>
3403
- body: {
3404
- nasl: app?.toJSON(),
3405
- failedQueue,
3406
- queue,
3407
- errorInfo: options.errorInfo,
3408
- },
3409
- }).catch((<span class="fstat-no" title="function not covered" >err: any) =&gt; {</span>
3410
- <span class="cstat-no" title="statement not covered" > console.log('备份 nasl 失败:', err);</span>
3411
- });
3412
- <span class="cstat-no" title="statement not covered" > this.clear();</span>
3413
- <span class="cstat-no" title="statement not covered" > app.emit('refresh');</span>
3414
- }
3415
- &nbsp;
3416
- <span class="fstat-no" title="function not covered" > recover(a</span>pp: App) {
3417
- <span class="cstat-no" title="statement not covered" > switch (this.status) {</span>
3418
- case TaskQueueStatus.ExceedMaxTaskCount:
3419
- <span class="cstat-no" title="statement not covered" > app.emit('BelowMaxTaskCount');</span>
3420
- <span class="cstat-no" title="statement not covered" > this.status = undefined;</span>
3421
- <span class="cstat-no" title="statement not covered" > break;</span>
3422
- case TaskQueueStatus.Retrying:
3423
- <span class="cstat-no" title="statement not covered" > app.emit('SuccessRetry');</span>
3424
- <span class="cstat-no" title="statement not covered" > this.status = undefined;</span>
3425
- <span class="cstat-no" title="statement not covered" > break;</span>
3426
- }
3427
- }
3428
- }
3429
- &nbsp;
3430
- export const taskQueue = new TaskQueue();
3431
- async function <span class="fstat-no" title="function not covered" >saveNasl(o</span>ptions: TaskOption) {
3432
- <span class="cstat-no" title="statement not covered" > taskQueue.addTask(options);</span>
3433
- }
3434
- &nbsp;
3435
- class Operation {
3436
- appId?: string;
3437
- branchId?: string;
3438
- accountId?: string;
3439
- userId?: string;
3440
- phone?: string;
3441
- actionItem: any;
3442
- res?: any;
3443
- err?: any;
3444
- parentKey?: string;
3445
- timestamp?: any;
3446
- type?: string;
3447
- uuid?: string;
3448
- action?: string;
3449
- }
3450
- &nbsp;
3451
- // 确保操作非高危
3452
- function <span class="fstat-no" title="function not covered" >ensureSafe(i</span>nstructList: any[]) {
3453
- const riskList: any[] = <span class="cstat-no" title="statement not covered" >[]</span>
3454
- <span class="cstat-no" title="statement not covered" > instructList?.forEach((<span class="fstat-no" title="function not covered" >instruct) =&gt; {</span></span>
3455
- <span class="cstat-no" title="statement not covered" > if (instruct?.riskList) {</span>
3456
- <span class="cstat-no" title="statement not covered" > riskList.push(...(instruct.riskList || []));</span>
3457
- }
3458
- <span class="cstat-no" title="statement not covered" > instruct?.actions?.forEach((<span class="fstat-no" title="function not covered" >actionItem: any) =&gt; {</span></span>
3459
- const { path, action, object } = <span class="cstat-no" title="statement not covered" >actionItem || {};</span>
3460
- <span class="cstat-no" title="statement not covered" > if (path === 'app') {</span>
3461
- <span class="cstat-no" title="statement not covered" > switch(action) {</span>
3462
- case 'create':
3463
- <span class="cstat-no" title="statement not covered" > riskList.push('重复创建App');</span>
3464
- <span class="cstat-no" title="statement not covered" > break;</span>
3465
- case 'delete':
3466
- <span class="cstat-no" title="statement not covered" > riskList.push('删除App');</span>
3467
- <span class="cstat-no" title="statement not covered" > break;</span>
3468
- case 'update':
3469
- <span class="cstat-no" title="statement not covered" > if (object?.hasOwnProperty('id')) {</span>
3470
- <span class="cstat-no" title="statement not covered" > riskList.push('修改AppId');</span>
3471
- }
3472
- <span class="cstat-no" title="statement not covered" > break;</span>
3473
- }
3474
- }
3475
- });
3476
- });
3477
- <span class="cstat-no" title="statement not covered" > return riskList;</span>
3478
- }
3479
- &nbsp;
3480
- async function <span class="fstat-no" title="function not covered" >_saveNasl(o</span>ptions: TaskOption) {
3481
- const { app, hasFrontEnd, hasBackEnd, instructList, operationList } = <span class="cstat-no" title="statement not covered" >options;</span>
3482
- <span class="cstat-no" title="statement not covered" > app.emit('saving');</span>
3483
- let ChangedNASLType = <span class="cstat-no" title="statement not covered" >'';</span>
3484
- <span class="cstat-no" title="statement not covered" > if (hasFrontEnd &amp;&amp; hasBackEnd) {</span>
3485
- <span class="cstat-no" title="statement not covered" > ChangedNASLType = 'both';</span>
3486
- <span class="cstat-no" title="statement not covered" > } else if (hasFrontEnd) {</span>
3487
- <span class="cstat-no" title="statement not covered" > ChangedNASLType = 'web';</span>
3488
- <span class="cstat-no" title="statement not covered" > } else if (hasBackEnd) {</span>
3489
- <span class="cstat-no" title="statement not covered" > ChangedNASLType = 'backend';</span>
3490
- }
3491
- let res: any;
3492
- let err: any;
3493
- &nbsp;
3494
- <span class="cstat-no" title="statement not covered" > if (config.storage.protocol === 'http') {</span>
3495
- <span class="cstat-no" title="statement not covered" > try {</span>
3496
- const riskList = <span class="cstat-no" title="statement not covered" >ensureSafe(instructList);</span>
3497
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(riskList) &amp;&amp; riskList.length) {</span>
3498
- <span class="cstat-no" title="statement not covered" > throw Error(`存在以下高危操作:\n${riskList.map(<span class="fstat-no" title="function not covered" >(r</span>isk, index) =&gt; {</span>
3499
- <span class="cstat-no" title="statement not covered" > return `${index + 1}.${risk};`;</span>
3500
- }).join('\n')}\n请及时排查原因`);
3501
- }
3502
- /**
3503
- * 将指令列表拆分成每个指令最多200条指令的数组
3504
- * 因为服务端(孙浩然),单个actions太多,会导致服务端处理超时,事务超时
3505
- * 所以在这里把请求拆开,然后存储一下原来的 uuid,然后再请求的时候给一个新的uuid,表示事务不一样
3506
- */
3507
- <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > function <span class="cstat-no" title="statement not covered" >t</span>ransformArr(i</span>nstructList: Instruct[]) {</span>
3508
- <span class="cstat-no" title="statement not covered" > if (!Array.isArray(instructList)) <span class="cstat-no" title="statement not covered" >return instructList;</span></span>
3509
- const transformedArr: Instruct[] = <span class="cstat-no" title="statement not covered" >[];</span>
3510
- <span class="cstat-no" title="statement not covered" > instructList.forEach((<span class="fstat-no" title="function not covered" >item) =&gt; {</span></span>
3511
- let tempActions = <span class="cstat-no" title="statement not covered" >[...item.actions];</span>
3512
- <span class="cstat-no" title="statement not covered" > if (tempActions.length &gt; 200) {</span>
3513
- const { uuid: oldUUid, riskList } = <span class="cstat-no" title="statement not covered" >item;</span>
3514
- <span class="cstat-no" title="statement not covered" > while (tempActions.length &gt; 200) {</span>
3515
- <span class="cstat-no" title="statement not covered" > transformedArr.push({ oldUUid, uuid: uuidv4().replace(/-/g, ''), actions: tempActions.splice(0, 200), riskList });</span>
3516
- }
3517
- <span class="cstat-no" title="statement not covered" > transformedArr.push({ oldUUid, uuid: uuidv4().replace(/-/g, ''), actions: tempActions, riskList });</span>
3518
- } else {
3519
- <span class="cstat-no" title="statement not covered" > transformedArr.push(item);</span>
3520
- }
3521
- });
3522
- &nbsp;
3523
- <span class="cstat-no" title="statement not covered" > return transformedArr;</span>
3524
- }
3525
- const transformedInstructList = <span class="cstat-no" title="statement not covered" >transformArr(instructList);</span>
3526
- // 接口请求
3527
- <span class="cstat-no" title="statement not covered" > res = await storageService.batchInstruct({</span>
3528
- body: transformedInstructList,
3529
- headers: {
3530
- appId: app.id,
3531
- ChangedNASLType,
3532
- tabTimestamp,
3533
- // 其他封装在 storageService 里了
3534
- },
3535
- });
3536
- } catch (error) {
3537
- <span class="cstat-no" title="statement not covered" > err = error;</span>
3538
- <span class="cstat-no" title="statement not covered" > console.error(err);</span>
3539
- }
3540
- const { code, msg, result, success } = <span class="cstat-no" title="statement not covered" >err || {};</span>
3541
- <span class="cstat-no" title="statement not covered" > operationList.forEach((<span class="fstat-no" title="function not covered" >operation) =&gt; {</span></span>
3542
- <span class="cstat-no" title="statement not covered" > doOperationRecord({</span>
3543
- ...operation,
3544
- res,
3545
- err: {
3546
- code,
3547
- msg,
3548
- result,
3549
- success,
3550
- },
3551
- });
3552
- });
3553
- <span class="cstat-no" title="statement not covered" > } else if (config.storage.protocol === 'mock') {</span>
3554
- // Do nothing
3555
- } else {
3556
- const json = <span class="cstat-no" title="statement not covered" >await fs.readJSON(config.storage.basePath);</span>
3557
- &nbsp;
3558
- let actionList: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
3559
- <span class="cstat-no" title="statement not covered" > for (const { actions } of instructList) {</span>
3560
- <span class="cstat-no" title="statement not covered" > actionList = actionList.concat(actions);</span>
3561
- }
3562
- &nbsp;
3563
- <span class="cstat-no" title="statement not covered" > jsoner.batchAction(json, actionList);</span>
3564
- <span class="cstat-no" title="statement not covered" > await fs.writeJSON(config.storage.basePath, json, {</span>
3565
- spaces: 4,
3566
- });
3567
- }
3568
- <span class="cstat-no" title="statement not covered" > app.emit('saved', err);</span>
3569
- <span class="cstat-no" title="statement not covered" > return err;</span>
3570
- }
3571
- &nbsp;
3572
- export interface ProxyApp extends App {
3573
- _isCollectingCount: number;
3574
- _collectingList: number[];
3575
- _historyList: number[];
3576
- _historyIndex: number;
3577
- _historying: boolean;
3578
- _timer: NodeJS.Timeout;
3579
- _noTimer: NodeJS.Timeout;
3580
- _actionMsg: string;
3581
- _action: string;
3582
- naslServer: NaslServer;
3583
- }
3584
- &nbsp;
3585
- export function <span class="fstat-no" title="function not covered" >handleApp(a</span>pp: ProxyApp) {
3586
- <span class="cstat-no" title="statement not covered" > app._isCollectingCount = 0;</span>
3587
- <span class="cstat-no" title="statement not covered" > app._collectingList = [];</span>
3588
- <span class="cstat-no" title="statement not covered" > app._historyList = [];</span>
3589
- <span class="cstat-no" title="statement not covered" > app._historyIndex = 0;</span>
3590
- <span class="cstat-no" title="statement not covered" > app._historying = false;</span>
3591
- <span class="cstat-no" title="statement not covered" > app._timer = null;</span>
3592
- &nbsp;
3593
- <span class="cstat-no" title="statement not covered" > app.on('undo', <span class="fstat-no" title="function not covered" >function (this: ProxyApp) {</span></span>
3594
- const proxyApp = <span class="cstat-no" title="statement not covered" >this;</span>
3595
- <span class="cstat-no" title="statement not covered" > proxyApp._historying = true;</span>
3596
- });
3597
- &nbsp;
3598
- <span class="cstat-no" title="statement not covered" > app.on('redo', <span class="fstat-no" title="function not covered" >function (this: ProxyApp) {</span></span>
3599
- const proxyApp = <span class="cstat-no" title="statement not covered" >this;</span>
3600
- <span class="cstat-no" title="statement not covered" > proxyApp._historying = true;</span>
3601
- });
3602
- &nbsp;
3603
- /**
3604
- * 开启收集
3605
- */
3606
- <span class="cstat-no" title="statement not covered" > app.on('collect:start', <span class="fstat-no" title="function not covered" >function (this: ProxyApp, e</span>vent: any) {</span>
3607
- const proxyApp = <span class="cstat-no" title="statement not covered" >this;</span>
3608
- <span class="cstat-no" title="statement not covered" > if (proxyApp._timer) {</span>
3609
- <span class="cstat-no" title="statement not covered" > clearTimeout(proxyApp._timer);</span>
3610
- }
3611
- <span class="cstat-no" title="statement not covered" > if (!proxyApp._noTimer) {</span>
3612
- <span class="cstat-no" title="statement not covered" > proxyApp._noTimer = event.noTimer;</span>
3613
- }
3614
- <span class="cstat-no" title="statement not covered" > if (!proxyApp._noTimer) {</span>
3615
- <span class="cstat-no" title="statement not covered" > proxyApp._timer = setTimeout(<span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
3616
- <span class="cstat-no" title="statement not covered" > console.error('收集超时,请及时排查原因', event);</span>
3617
- <span class="cstat-no" title="statement not covered" > taskQueue.refreshNasl(proxyApp, {</span>
3618
- errorInfo: {
3619
- message: '收集超时,请及时排查原因',
3620
- },
3621
- });
3622
- }, 2500);
3623
- }
3624
- <span class="cstat-no" title="statement not covered" > if (!proxyApp._isCollectingCount) {</span>
3625
- <span class="cstat-no" title="statement not covered" > proxyApp._actionMsg = event?.actionMsg;</span>
3626
- <span class="cstat-no" title="statement not covered" > proxyApp._action = event?.action;</span>
3627
- }
3628
- <span class="cstat-no" title="statement not covered" > proxyApp._isCollectingCount++;</span>
3629
- });
3630
- &nbsp;
3631
- /**
3632
- * 结束收集
3633
- */
3634
- <span class="cstat-no" title="statement not covered" > app.on('collect:end', <span class="fstat-no" title="function not covered" >async function (this: ProxyApp) {</span></span>
3635
- const proxyApp = <span class="cstat-no" title="statement not covered" >this;</span>
3636
- <span class="cstat-no" title="statement not covered" > proxyApp._isCollectingCount--;</span>
3637
- <span class="cstat-no" title="statement not covered" > if (proxyApp._isCollectingCount === 0) {</span>
3638
- <span class="cstat-no" title="statement not covered" > if (proxyApp._timer) {</span>
3639
- <span class="cstat-no" title="statement not covered" > clearTimeout(proxyApp._timer);</span>
3640
- }
3641
- // 结束收集时,立即将全局收集变量状态重置,防止下次收集数据混乱
3642
- const collectingList = <span class="cstat-no" title="statement not covered" >proxyApp._collectingList;</span>
3643
- const actionMsg = <span class="cstat-no" title="statement not covered" >proxyApp._actionMsg;</span>
3644
- const action = <span class="cstat-no" title="statement not covered" >proxyApp._action;</span>
3645
- <span class="cstat-no" title="statement not covered" > proxyApp._collectingList = [];</span>
3646
- <span class="cstat-no" title="statement not covered" > proxyApp._actionMsg = '';</span>
3647
- <span class="cstat-no" title="statement not covered" > proxyApp._action = '';</span>
3648
- <span class="cstat-no" title="statement not covered" > proxyApp._noTimer = undefined;</span>
3649
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(collectingList) &amp;&amp; collectingList.length) {</span>
3650
- <span class="cstat-no" title="statement not covered" > mountDatabaseTypes(proxyApp);</span>
3651
- <span class="cstat-no" title="statement not covered" > proxyApp.naslServer?.embeddedTSEmitter?.emit('change', {</span>
3652
- value: collectingList,
3653
- });
3654
- <span class="cstat-no" title="statement not covered" > await doAction(proxyApp, {</span>
3655
- list: collectingList,
3656
- actionMsg,
3657
- action,
3658
- });
3659
- }
3660
- <span class="cstat-no" title="statement not covered" > } else if (proxyApp._isCollectingCount &lt; 0) {</span>
3661
- <span class="cstat-no" title="statement not covered" > proxyApp._isCollectingCount = 0;</span>
3662
- <span class="cstat-no" title="statement not covered" > throw Error('关闭收集有问题,请排查');</span>
3663
- }
3664
- });
3665
- &nbsp;
3666
- /**
3667
- * 有变更
3668
- */
3669
- <span class="cstat-no" title="statement not covered" > app.on('storage', <span class="fstat-no" title="function not covered" >function (this: ProxyApp, e</span>vent: any) {</span>
3670
- const proxyApp = <span class="cstat-no" title="statement not covered" >this;</span>
3671
- // 是否正在收集
3672
- <span class="cstat-no" title="statement not covered" > if (proxyApp._isCollectingCount === 0) {</span>
3673
- <span class="cstat-no" title="statement not covered" > proxyApp.naslServer?.embeddedTSEmitter?.emit('change', {</span>
3674
- value: [event],
3675
- });
3676
- let actionMsg = <span class="cstat-no" title="statement not covered" >'';</span>
3677
- const { action, target } = <span class="cstat-no" title="statement not covered" >event.originEvent || {};</span>
3678
- const { concept, name } = <span class="cstat-no" title="statement not covered" >target || {};</span>
3679
- <span class="cstat-no" title="statement not covered" > switch (action) {</span>
3680
- case 'create':
3681
- <span class="cstat-no" title="statement not covered" > actionMsg = '添加';</span>
3682
- <span class="cstat-no" title="statement not covered" > break;</span>
3683
- case 'delete':
3684
- <span class="cstat-no" title="statement not covered" > actionMsg = '删除';</span>
3685
- <span class="cstat-no" title="statement not covered" > break;</span>
3686
- case 'update':
3687
- <span class="cstat-no" title="statement not covered" > actionMsg = '修改';</span>
3688
- <span class="cstat-no" title="statement not covered" > break;</span>
3689
- }
3690
- <span class="cstat-no" title="statement not covered" > actionMsg += getConceptConstructor(concept).nodeTitle;</span>
3691
- <span class="cstat-no" title="statement not covered" > if (name) {</span>
3692
- <span class="cstat-no" title="statement not covered" > actionMsg += `“${name}”`;</span>
3693
- }
3694
- <span class="cstat-no" title="statement not covered" > doAction(proxyApp, {</span>
3695
- list: [event],
3696
- actionMsg,
3697
- });
3698
- } else {
3699
- <span class="cstat-no" title="statement not covered" > proxyApp._collectingList.push(event);</span>
3700
- }
3701
- });
3702
- }
3703
- &nbsp;
3704
- type BreakpointItem =
3705
- | any
3706
- | {
3707
- path: string
3708
- breakpointStatus: null | 'ENABLED' | 'DISABLED'
3709
- }
3710
- &nbsp;
3711
- /**
3712
- * 加载 app
3713
- * @param appId 如果是从文件读,就不需要传
3714
- * @returns app 对象
3715
- */
3716
- export async function <span class="fstat-no" title="function not covered" >loadApp(a</span>ppId?: string) {
3717
- <span class="cstat-no" title="statement not covered" > try {</span>
3718
- // 删除失效数据
3719
- <span class="cstat-no" title="statement not covered" > deleteExpiredRecords();</span>
3720
- } catch(err) { }
3721
- let app: App;
3722
- <span class="cstat-no" title="statement not covered" > if (config.storage.protocol === 'http') {</span>
3723
- <span class="cstat-no" title="statement not covered" > console.time('batchQuery');</span>
3724
- const promises = <span class="cstat-no" title="statement not covered" >[</span>
3725
- storageService.batchQuery({
3726
- body: [
3727
- {
3728
- path: 'app'
3729
- // excludes: ['views'],
3730
- }
3731
- ],
3732
- headers: {
3733
- appId,
3734
- checkTabOpenTime: 'true'
3735
- // 其他封装在 storageService 里了
3736
- },
3737
- config: {
3738
- shortResponse: false
3739
- }
3740
- }),
3741
- storageService.breakpoint({
3742
- body: { appId }
3743
- })
3744
- ]
3745
- &nbsp;
3746
- const [batchQueryRes, breakpointRes] = <span class="cstat-no" title="statement not covered" >await Promise.all(promises)</span>
3747
- &nbsp;
3748
- // 请求
3749
- <span class="cstat-no" title="statement not covered" > console.timeEnd('batchQuery');</span>
3750
- &nbsp;
3751
- <span class="cstat-no" title="statement not covered" > tabTimestamp = batchQueryRes?.headers?.tabtimestamp;</span>
3752
- const data = <span class="cstat-no" title="statement not covered" >batchQueryRes?.data?.result;</span>
3753
- &nbsp;
3754
- <span class="cstat-no" title="statement not covered" > console.time('new App');</span>
3755
- <span class="cstat-no" title="statement not covered" > app = new App(Object.assign(data?.[0], { id: appId }));</span>
3756
- &nbsp;
3757
- <span class="cstat-no" title="statement not covered" > breakpointRes?.forEach(<span class="fstat-no" title="function not covered" >(i</span>tem: BreakpointItem = <span class="branch-0 cbranch-no" title="branch not covered" >{}) =&gt; {</span></span>
3758
- const { path, breakpointStatus } = <span class="cstat-no" title="statement not covered" >item</span>
3759
- &nbsp;
3760
- <span class="cstat-no" title="statement not covered" > if (breakpointStatus) {</span>
3761
- const node = <span class="cstat-no" title="statement not covered" >app.findNodeByPath(path)</span>
3762
- &nbsp;
3763
- <span class="cstat-no" title="statement not covered" > if (node) {</span>
3764
- <span class="cstat-no" title="statement not covered" > node.breakpoint = breakpointStatus</span>
3765
- }
3766
- }
3767
- })
3768
- <span class="cstat-no" title="statement not covered" > console.timeEnd('new App');</span>
3769
- <span class="cstat-no" title="statement not covered" > if (!app.id) {</span>
3770
- <span class="cstat-no" title="statement not covered" > app.id = appId;</span>
3771
- <span class="cstat-no" title="statement not covered" > }</span>
3772
- addBreakpointNodesFromApp(app)
3773
- <span class="cstat-no" title="statement not covered" > } else if (config.storage.protocol === 'mock') {</span>
3774
- <span class="cstat-no" title="statement not covered" > app = new App({</span>
3775
- id: appId,
3776
- concept: 'App',
3777
- name: 'devapp',
3778
- title: '开发应用',
3779
- envs: 'dev,online',
3780
- hasAuth: true,
3781
- hasUserCenter: true,
3782
- dataSources: [],
3783
- structures: [],
3784
- enums: [],
3785
- logics: [],
3786
- interfaces: [],
3787
- processes: [],
3788
- roles: [],
3789
- dependencies: [],
3790
- interfaceDependencies: [],
3791
- frontends: [],
3792
- metadataTypes: []
3793
- });
3794
- } else {
3795
- const json = <span class="cstat-no" title="statement not covered" >await fs.readJSON(config.storage.basePath);</span>
3796
- <span class="cstat-no" title="statement not covered" > app = new App(appId ? Object.assign(json, { id: appId }) : json);</span>
3797
- }
3798
- // config.scope = app.scope;
3799
- <span class="cstat-no" title="statement not covered" > handleApp(app as ProxyApp);</span>
3800
- (<span class="cstat-no" title="statement not covered" >app as any)._isCollectingCount = 0;</span>
3801
- <span class="cstat-no" title="statement not covered" > mountDatabaseTypes(app);</span>
3802
- <span class="cstat-no" title="statement not covered" > return app as App;</span>
3803
- }
3804
- &nbsp;
3805
- // 在app上挂载所有的数据库类型
3806
- export async function <span class="fstat-no" title="function not covered" >mountDatabaseTypes(a</span>pp: App) {
3807
- <span class="cstat-no" title="statement not covered" > if (!app.__databaseTypeMap) {</span>
3808
- <span class="cstat-no" title="statement not covered" > app.__databaseTypeMap = {};</span>
3809
- }
3810
- const dataSources = <span class="cstat-no" title="statement not covered" >app?.dataSources;</span>
3811
- const dbTypeSet = <span class="cstat-no" title="statement not covered" >new Set();</span>
3812
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(dataSources)) {</span>
3813
- <span class="cstat-no" title="statement not covered" > dataSources.forEach((<span class="fstat-no" title="function not covered" >dataSource) =&gt; {</span></span>
3814
- const dataSourceSqlType = <span class="cstat-no" title="statement not covered" >JSON.parse(dataSource.dataSourceConfig?.devProperty?.value || '{}')?.type;</span>
3815
- <span class="cstat-no" title="statement not covered" > if (dataSourceSqlType &amp;&amp; !app.__databaseTypeMap[dataSourceSqlType]) {</span>
3816
- <span class="cstat-no" title="statement not covered" > dbTypeSet.add(dataSourceSqlType);</span>
3817
- }
3818
- });
3819
- }
3820
- const dbTypes = <span class="cstat-no" title="statement not covered" >[...dbTypeSet];</span>
3821
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(dbTypes) &amp;&amp; dbTypes.length) {</span>
3822
- const res: any = <span class="cstat-no" title="statement not covered" >await databaseTypes({</span>
3823
- query: {
3824
- dbTypes: dbTypes.join(','),
3825
- },
3826
- });
3827
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(res)) {</span>
3828
- <span class="cstat-no" title="statement not covered" > res.forEach((<span class="fstat-no" title="function not covered" >databaseType: any) =&gt; {</span></span>
3829
- const { dbType, columnTypes } = <span class="cstat-no" title="statement not covered" >databaseType || {};</span>
3830
- const columnTypeMap: any = <span class="cstat-no" title="statement not covered" >{};</span>
3831
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(columnTypes)) {</span>
3832
- <span class="cstat-no" title="statement not covered" > columnTypes.forEach((<span class="fstat-no" title="function not covered" >columnType) =&gt; {</span></span>
3833
- const { naslType, dataBaseTypes } = <span class="cstat-no" title="statement not covered" >columnType;</span>
3834
- const dataBaseTypeMap: any = <span class="cstat-no" title="statement not covered" >{};</span>
3835
- let defaultDataBaseType;
3836
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(dataBaseTypes)) {</span>
3837
- <span class="cstat-no" title="statement not covered" > dataBaseTypes.forEach((<span class="fstat-no" title="function not covered" >dataBaseType) =&gt; {</span></span>
3838
- const { type } = <span class="cstat-no" title="statement not covered" >dataBaseType || {};</span>
3839
- <span class="cstat-no" title="statement not covered" > if (type) {</span>
3840
- <span class="cstat-no" title="statement not covered" > dataBaseTypeMap[type] = dataBaseType;</span>
3841
- const { defaultType } = <span class="cstat-no" title="statement not covered" >dataBaseType;</span>
3842
- <span class="cstat-no" title="statement not covered" > if (defaultType) {</span>
3843
- <span class="cstat-no" title="statement not covered" > defaultDataBaseType = dataBaseType;</span>
3844
- }
3845
- }
3846
- });
3847
- }
3848
- <span class="cstat-no" title="statement not covered" > columnTypeMap[naslType] = {</span>
3849
- dataBaseTypes,
3850
- dataBaseTypeMap,
3851
- defaultDataBaseType,
3852
- };
3853
- });
3854
- }
3855
- <span class="cstat-no" title="statement not covered" > app.__databaseTypeMap[dbType] = columnTypeMap;</span>
3856
- });
3857
- }
3858
- }
3859
- <span class="cstat-no" title="statement not covered" > if (Array.isArray(dataSources)) {</span>
3860
- <span class="cstat-no" title="statement not covered" > dataSources.forEach((<span class="fstat-no" title="function not covered" >dataSource) =&gt; {</span></span>
3861
- <span class="cstat-no" title="statement not covered" > dataSource.__hasDatabaseConfig = !!(app.__databaseTypeMap?.[dataSource.dataSourceSqlType]);</span>
3862
- });
3863
- }
3864
- }
3865
- &nbsp;
3866
- /**
3867
- * 加载 app
3868
- * @returns app 对象
3869
- */
3870
- export function <span class="fstat-no" title="function not covered" >loadAppSync() {</span>
3871
- const json = <span class="cstat-no" title="statement not covered" >fs.readJSONSync(config.storage.basePath);</span>
3872
- const app = <span class="cstat-no" title="statement not covered" >new App(json);</span>
3873
- <span class="cstat-no" title="statement not covered" > handleApp(app as ProxyApp);</span>
3874
- <span class="cstat-no" title="statement not covered" > return app;</span>
3875
- }
3876
- &nbsp;</pre></td></tr></table></pre>
3877
-
3878
- <div class='push'></div><!-- for sticky footer -->
3879
- </div><!-- /wrapper -->
3880
- <div class='footer quiet pad2 space-top1 center small'>
3881
- Code coverage generated by
3882
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3883
- at 2023-12-07T14:08:08.581Z
3884
- </div>
3885
- <script src="../../../prettify.js"></script>
3886
- <script>
3887
- window.onload = function () {
3888
- prettyPrint();
3889
- };
3890
- </script>
3891
- <script src="../../../sorter.js"></script>
3892
- <script src="../../../block-navigation.js"></script>
3893
- </body>
3894
- </html>
3895
-