@lcap/nasl 3.3.3-beta.8 → 3.3.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nyc_output/{78804420-ead6-486f-b682-ab54ccd95dc9.json → d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json} +1 -1
- package/.nyc_output/processinfo/d58d92d8-c0d6-479b-9f82-1f4da8e73ff3.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/coverage/index.html +126 -141
- package/coverage/src/automate/engine/index.html +1 -1
- package/coverage/src/automate/engine/utils.js.html +36 -36
- package/coverage/src/bak/index.html +14 -14
- package/coverage/src/bak/translator.js.html +57 -393
- package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/index.html +1 -1
- package/coverage/src/breakpoint/generator/index.ts.html +1 -1
- package/coverage/src/breakpoint/index.html +1 -1
- package/coverage/src/breakpoint/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/constants.ts.html +1 -1
- package/coverage/src/breakpoint/shared/index.html +1 -1
- package/coverage/src/breakpoint/shared/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/operations.ts.html +2 -2
- package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
- package/coverage/src/breakpoint/shared/utils.ts.html +1 -1
- package/coverage/src/breakpoint/store/core.ts.html +3 -3
- package/coverage/src/breakpoint/store/dock.ts.html +1 -1
- package/coverage/src/breakpoint/store/index.html +1 -1
- package/coverage/src/breakpoint/store/index.ts.html +1 -1
- package/coverage/src/common/BaseNode.ts.html +164 -593
- package/coverage/src/common/Command.ts.html +1 -1
- package/coverage/src/common/EventEmitter.ts.html +31 -31
- package/coverage/src/common/Messager.ts.html +1 -1
- package/coverage/src/common/asyncFuncMap.ts.html +1 -1
- package/coverage/src/common/index.html +23 -38
- package/coverage/src/common/index.ts.html +4 -7
- package/coverage/src/concepts/Abort__.ts.html +9 -39
- package/coverage/src/concepts/Anchor__.ts.html +29 -86
- package/coverage/src/concepts/AnonymousFunction__.ts.html +169 -262
- package/coverage/src/concepts/App__.ts.html +152 -1205
- package/coverage/src/concepts/Argument__.ts.html +53 -137
- package/coverage/src/concepts/Assignee__.ts.html +34 -124
- package/coverage/src/concepts/AssignmentLine__.ts.html +15 -48
- package/coverage/src/concepts/Assignment__.ts.html +81 -213
- package/coverage/src/concepts/Attribute__.ts.html +14 -41
- package/coverage/src/concepts/AuthInterface__.ts.html +6 -9
- package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +144 -108
- package/coverage/src/concepts/AuthLogic__.ts.html +6 -18
- package/coverage/src/concepts/BackendVariable__.ts.html +48 -168
- package/coverage/src/concepts/Backend__.ts.html +28 -106
- package/coverage/src/concepts/BatchAssignment__.ts.html +169 -274
- package/coverage/src/concepts/BinaryExpression__.ts.html +129 -285
- package/coverage/src/concepts/BindAttribute__.ts.html +111 -522
- package/coverage/src/concepts/BindDirective__.ts.html +26 -131
- package/coverage/src/concepts/BindEvent__.ts.html +64 -160
- package/coverage/src/concepts/BindStyle__.ts.html +21 -78
- package/coverage/src/concepts/BooleanLiteral__.ts.html +20 -47
- package/coverage/src/concepts/CallAuthInterface__.ts.html +48 -105
- package/coverage/src/concepts/CallConnector__.ts.html +35 -62
- package/coverage/src/concepts/CallFunction__.ts.html +144 -288
- package/coverage/src/concepts/CallInterface__.ts.html +60 -93
- package/coverage/src/concepts/CallLogic__.ts.html +343 -292
- package/coverage/src/concepts/CallQueryComponent__.ts.html +93 -126
- package/coverage/src/concepts/Comment__.ts.html +10 -43
- package/coverage/src/concepts/CompletionProperty__.ts.html +13 -40
- package/coverage/src/concepts/ConfigGroup__.ts.html +20 -47
- package/coverage/src/concepts/ConfigPropertyValue__.ts.html +19 -22
- package/coverage/src/concepts/ConfigProperty__.ts.html +40 -97
- package/coverage/src/concepts/Configuration__.ts.html +21 -48
- package/coverage/src/concepts/Connection__.ts.html +22 -97
- package/coverage/src/concepts/ConnectorTrigger__.ts.html +6 -9
- package/coverage/src/concepts/Connector__.ts.html +38 -161
- package/coverage/src/concepts/Constant__.ts.html +24 -84
- package/coverage/src/concepts/DataSource__.ts.html +57 -111
- package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +6 -9
- package/coverage/src/concepts/Destination__.ts.html +55 -97
- package/coverage/src/concepts/End__.ts.html +21 -51
- package/coverage/src/concepts/EntityIndex__.ts.html +10 -40
- package/coverage/src/concepts/EntityProperty__.ts.html +56 -164
- package/coverage/src/concepts/Entity__.ts.html +89 -167
- package/coverage/src/concepts/EnumItem__.ts.html +10 -40
- package/coverage/src/concepts/Enum__.ts.html +24 -84
- package/coverage/src/concepts/Event__.ts.html +14 -41
- package/coverage/src/concepts/ExternalDestination__.ts.html +21 -75
- package/coverage/src/concepts/ForEachStatement__.ts.html +64 -139
- package/coverage/src/concepts/FrontendLibrary__.ts.html +20 -71
- package/coverage/src/concepts/FrontendVariable__.ts.html +1 -1
- package/coverage/src/concepts/Frontend__.ts.html +57 -213
- package/coverage/src/concepts/Function__.ts.html +86 -239
- package/coverage/src/concepts/Identifier__.ts.html +72 -111
- package/coverage/src/concepts/IfStatement__.ts.html +75 -138
- package/coverage/src/concepts/Integration__.ts.html +19 -70
- package/coverage/src/concepts/InterfaceParam__.ts.html +21 -78
- package/coverage/src/concepts/Interface__.ts.html +60 -162
- package/coverage/src/concepts/JSBlock__.ts.html +11 -215
- package/coverage/src/concepts/JavaLogic__.ts.html +9 -42
- package/coverage/src/concepts/LogicItem__.ts.html +21 -51
- package/coverage/src/concepts/Logic__.ts.html +321 -405
- package/coverage/src/concepts/MatchCase__.ts.html +97 -181
- package/coverage/src/concepts/Match__.ts.html +59 -116
- package/coverage/src/concepts/MemberExpression__.ts.html +128 -182
- package/coverage/src/concepts/MicroApp__.ts.html +6 -9
- package/coverage/src/concepts/Module__.ts.html +18 -672
- package/coverage/src/concepts/MsgTriggerEvent__.ts.html +14 -41
- package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +14 -41
- package/coverage/src/concepts/Namespace__.ts.html +91 -358
- package/coverage/src/concepts/NewComposite__.ts.html +125 -278
- package/coverage/src/concepts/NewList__.ts.html +57 -195
- package/coverage/src/concepts/NewMap__.ts.html +63 -168
- package/coverage/src/concepts/New__.ts.html +9 -39
- package/coverage/src/concepts/NullLiteral__.ts.html +9 -36
- package/coverage/src/concepts/NumericLiteral__.ts.html +33 -90
- package/coverage/src/concepts/OqlQueryComponent__.ts.html +35 -161
- package/coverage/src/concepts/OverriddenLogic__.ts.html +201 -324
- package/coverage/src/concepts/Param__.ts.html +75 -189
- package/coverage/src/concepts/Point__.ts.html +6 -9
- package/coverage/src/concepts/ProcessComponent__.ts.html +21 -72
- package/coverage/src/concepts/ProcessElement__.ts.html +115 -316
- package/coverage/src/concepts/ProcessOutcome__.ts.html +13 -85
- package/coverage/src/concepts/ProcessOutcomes__.ts.html +13 -85
- package/coverage/src/concepts/Process__.ts.html +70 -211
- package/coverage/src/concepts/QueryAggregateExpression__.ts.html +16 -67
- package/coverage/src/concepts/QueryFieldExpression__.ts.html +11 -41
- package/coverage/src/concepts/QueryFromExpression__.ts.html +21 -81
- package/coverage/src/concepts/QueryGroupByExpression__.ts.html +19 -70
- package/coverage/src/concepts/QueryJoinExpression__.ts.html +25 -85
- package/coverage/src/concepts/QueryLimitExpression__.ts.html +20 -77
- package/coverage/src/concepts/QueryOrderByExpression__.ts.html +20 -80
- package/coverage/src/concepts/QuerySelectExpression__.ts.html +15 -42
- package/coverage/src/concepts/Rect__.ts.html +6 -9
- package/coverage/src/concepts/Return__.ts.html +44 -164
- package/coverage/src/concepts/Role__.ts.html +15 -45
- package/coverage/src/concepts/SelectMembers__.ts.html +24 -81
- package/coverage/src/concepts/Slot__.ts.html +13 -40
- package/coverage/src/concepts/SqlQueryComponent__.ts.html +24 -84
- package/coverage/src/concepts/Start__.ts.html +9 -36
- package/coverage/src/concepts/StringInterpolation__.ts.html +29 -104
- package/coverage/src/concepts/StringLiteral__.ts.html +32 -62
- package/coverage/src/concepts/StructureProperty__.ts.html +23 -80
- package/coverage/src/concepts/Structure__.ts.html +32 -116
- package/coverage/src/concepts/SwitchCase__.ts.html +36 -87
- package/coverage/src/concepts/SwitchStatement__.ts.html +33 -90
- package/coverage/src/concepts/Theme__.ts.html +12 -15
- package/coverage/src/concepts/Transactional__.ts.html +6 -9
- package/coverage/src/concepts/TriggerEvent__.ts.html +14 -41
- package/coverage/src/concepts/TriggerLauncher__.ts.html +13 -46
- package/coverage/src/concepts/TypeAnnotation__.ts.html +116 -347
- package/coverage/src/concepts/TypeParam__.ts.html +12 -42
- package/coverage/src/concepts/UnaryExpression__.ts.html +27 -105
- package/coverage/src/concepts/Unparsed__.ts.html +12 -36
- package/coverage/src/concepts/UseComponent__.ts.html +6 -9
- package/coverage/src/concepts/ValidationRule__.ts.html +40 -79
- package/coverage/src/concepts/Variable__.ts.html +37 -157
- package/coverage/src/concepts/ViewBlock__.ts.html +6 -9
- package/coverage/src/concepts/ViewComponent__.ts.html +24 -99
- package/coverage/src/concepts/ViewElement__.ts.html +278 -692
- package/coverage/src/concepts/View__.ts.html +163 -517
- package/coverage/src/concepts/WhileStatement__.ts.html +55 -118
- package/coverage/src/concepts/basics/stdlib/index.html +1 -1
- package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +3 -3
- package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
- package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
- package/coverage/src/concepts/basics/types/index.html +1 -1
- package/coverage/src/concepts/basics/types/index.ts.html +1 -1
- package/coverage/src/concepts/index.html +965 -980
- package/coverage/src/concepts/index.ts.html +1 -1
- package/coverage/src/concepts/index__.ts.html +4 -7
- package/coverage/src/config.ts.html +1 -1
- package/coverage/src/decorators/index.html +5 -5
- package/coverage/src/decorators/index.ts.html +32 -32
- package/coverage/src/decorators/promise.ts.html +10 -10
- package/coverage/src/eventBus.ts.html +1 -1
- package/coverage/src/generator/compileComponent.ts.html +4 -4
- package/coverage/src/generator/genBundleFiles.ts.html +23 -17
- package/coverage/src/generator/genHash.ts.html +3 -3
- package/coverage/src/generator/genMetaData.ts.html +16 -103
- package/coverage/src/generator/genReleaseBody.ts.html +3 -3
- package/coverage/src/generator/icestark.ts.html +4 -10
- package/coverage/src/generator/index.html +21 -21
- package/coverage/src/generator/index.ts.html +1 -1
- package/coverage/src/generator/microApp.ts.html +1 -1
- package/coverage/src/generator/permission.ts.html +20 -92
- package/coverage/src/generator/qiankun.ts.html +3 -9
- package/coverage/src/generator/styleReplacer.ts.html +1 -1
- package/coverage/src/index.html +7 -7
- package/coverage/src/index.ts.html +4 -4
- package/coverage/src/manager/diagnostic.ts.html +14 -11
- package/coverage/src/manager/index.html +13 -13
- package/coverage/src/manager/stepRecorder.ts.html +1 -1
- package/coverage/src/natural/genNaturalTS.ts.html +1 -1
- package/coverage/src/natural/index.html +15 -15
- package/coverage/src/natural/index.ts.html +1 -1
- package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
- package/coverage/src/natural/transformTSCode.ts.html +18 -78
- package/coverage/src/sentry/index.html +14 -14
- package/coverage/src/sentry/index.ts.html +32 -38
- package/coverage/src/server/createUiTs.ts.html +6 -15
- package/coverage/src/server/entity2LogicNamespace.ts.html +9 -9
- package/coverage/src/server/event.js.html +1 -1
- package/coverage/src/server/extendBaseNode.ts.html +4 -7
- package/coverage/src/server/formatTsUtils.ts.html +9 -9
- package/coverage/src/server/getConnector.ts.html +1 -1
- package/coverage/src/server/getExtensionModules.ts.html +1 -1
- package/coverage/src/server/getFunctions.ts.html +4 -4
- package/coverage/src/server/getInterfaces.ts.html +1 -1
- package/coverage/src/server/getLogging.ts.html +2 -2
- package/coverage/src/server/getLogics.ts.html +1 -1
- package/coverage/src/server/getMemberIdentifier.ts.html +119 -167
- package/coverage/src/server/getProcessComponents.ts.html +3 -3
- package/coverage/src/server/getProcesses.ts.html +1 -1
- package/coverage/src/server/getValidates.ts.html +4 -4
- package/coverage/src/server/index.html +34 -34
- package/coverage/src/server/index.ts.html +1 -1
- package/coverage/src/server/naslServer.ts.html +943 -1195
- package/coverage/src/server/naslStdlibMap.ts.html +1 -1
- package/coverage/src/server/process2LogicNamespace.ts.html +52 -52
- package/coverage/src/server/translator.ts.html +14 -50
- package/coverage/src/service/creator/add.configs.js.html +9 -27
- package/coverage/src/service/creator/errHandles.js.html +37 -19
- package/coverage/src/service/creator/index.html +22 -22
- package/coverage/src/service/creator/index.js.html +1 -1
- package/coverage/src/service/datasource/api.js.html +1 -1
- package/coverage/src/service/datasource/index.html +1 -1
- package/coverage/src/service/datasource/index.js.html +1 -1
- package/coverage/src/service/logic/api.js.html +1 -1
- package/coverage/src/service/logic/index.html +1 -1
- package/coverage/src/service/logic/index.js.html +1 -1
- package/coverage/src/service/storage/api.js.html +1 -1
- package/coverage/src/service/storage/index.html +29 -29
- package/coverage/src/service/storage/index.ts.html +1 -1
- package/coverage/src/service/storage/init.ts.html +601 -1534
- package/coverage/src/service/storage/jsoner.ts.html +13 -76
- package/coverage/src/service/storage/map.ts.html +3 -3
- package/coverage/src/service/storage/service.ts.html +1 -1
- package/coverage/src/service/storage/storagePoint.ts.html +1 -1
- package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
- package/coverage/src/templator/genCreateBlock.ts.html +56 -47
- package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +31 -49
- package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +89 -80
- package/coverage/src/templator/genEditTableBlock.ts.html +11 -80
- package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
- package/coverage/src/templator/genGetBlock.ts.html +1 -1
- package/coverage/src/templator/genGridViewBlock.ts.html +1 -1
- package/coverage/src/templator/genListViewBlock.ts.html +1 -1
- package/coverage/src/templator/genQueryComponent.ts.html +1 -1
- package/coverage/src/templator/genSelectBlock.ts.html +1 -1
- package/coverage/src/templator/genTableBlock.ts.html +3 -66
- package/coverage/src/templator/genUpdateBlock.ts.html +36 -48
- package/coverage/src/templator/index.html +39 -39
- package/coverage/src/templator/index.ts.html +1 -1
- package/coverage/src/templator/utils.ts.html +11 -77
- package/coverage/src/translator/constant.ts.html +1 -1
- package/coverage/src/translator/index.html +21 -21
- package/coverage/src/translator/index.ts.html +1 -1
- package/coverage/src/translator/utils.ts.html +68 -389
- package/coverage/src/utils/cookie.ts.html +4 -4
- package/coverage/src/utils/env.ts.html +1 -1
- package/coverage/src/utils/index.html +51 -36
- package/coverage/src/utils/index.ts.html +22 -115
- package/coverage/src/utils/logger.ts.html +13 -13
- package/coverage/src/utils/sortTsString.ts.html +10 -25
- package/coverage/src/utils/string.ts.html +8 -110
- package/coverage/src/utils/time-slicing.ts.html +1 -1
- package/coverage/src/utils/traverse.ts.html +1 -1
- package/coverage/src/utils/window.ts.html +1 -1
- package/out/bak/translator.js.map +1 -1
- package/out/common/Command.js +1 -1
- package/out/common/Command.js.map +1 -1
- package/out/concepts/Argument__.js +7 -2
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignment__.js +20 -3
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/BackendVariable__.js +24 -2
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BinaryExpression__.js +40 -13
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/CallLogic__.js +7 -12
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CountersignPolicy__.d.ts +26 -0
- package/out/concepts/CountersignPolicy__.js +73 -0
- package/out/concepts/CountersignPolicy__.js.map +1 -0
- package/out/concepts/ForEachStatement__.js +12 -26
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Identifier__.js +3 -0
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/JSBlock__.js +56 -0
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.js +2 -1
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.js +2 -0
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.js +1 -1
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MultiApprovalPolicy__.d.ts +24 -0
- package/out/concepts/MultiApprovalPolicy__.js +65 -0
- package/out/concepts/MultiApprovalPolicy__.js.map +1 -0
- package/out/concepts/NewComposite__.js +18 -10
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NumericLiteral__.js +1 -1
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.js +24 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +16 -0
- package/out/concepts/ProcessElement__.js +56 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/Return__.js +24 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/SequentialPolicy__.d.ts +18 -0
- package/out/concepts/SequentialPolicy__.js +54 -0
- package/out/concepts/SequentialPolicy__.js.map +1 -0
- package/out/concepts/Variable__.js +24 -2
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.js +2 -2
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/index__.d.ts +3 -0
- package/out/concepts/index__.js +3 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/types__.d.ts +4 -1
- package/out/generator/genReleaseBody.js +2 -2
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/server/extendBaseNode.js +32 -1
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/getLogics.d.ts +1 -0
- package/out/server/getLogics.js +6 -2
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getProcesses.js +66 -6
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.js +2 -2
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +3 -0
- package/out/server/translator.js.map +1 -1
- package/out/service/creator/errHandles.js +6 -3
- package/out/service/creator/errHandles.js.map +1 -1
- package/out/service/storage/init.js +2 -2
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +9 -5
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +18 -12
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +10 -8
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +3 -2
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +12 -9
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/nasl.core.ts +2 -0
- package/sandbox/stdlib/nasl.util.ts +3 -3
- package/src/bak/translator.js +0 -1
- package/src/common/Command.ts +1 -1
- package/src/concepts/Argument__.ts +7 -2
- package/src/concepts/Assignment__.ts +31 -13
- package/src/concepts/BackendVariable__.ts +22 -3
- package/src/concepts/BinaryExpression__.ts +39 -13
- package/src/concepts/CallLogic__.ts +13 -23
- package/src/concepts/CountersignPolicy__.ts +77 -0
- package/src/concepts/ForEachStatement__.ts +17 -26
- package/src/concepts/Identifier__.ts +4 -1
- package/src/concepts/JSBlock__.ts +58 -0
- package/src/concepts/LogicItem__.ts +2 -2
- package/src/concepts/Logic__.ts +1 -0
- package/src/concepts/Match__.ts +1 -1
- package/src/concepts/MultiApprovalPolicy__.ts +69 -0
- package/src/concepts/NewComposite__.ts +18 -9
- package/src/concepts/NumericLiteral__.ts +1 -1
- package/src/concepts/Param__.ts +24 -2
- package/src/concepts/ProcessElement__.ts +70 -1
- package/src/concepts/Return__.ts +23 -3
- package/src/concepts/SequentialPolicy__.ts +58 -0
- package/src/concepts/Variable__.ts +23 -3
- package/src/concepts/ViewElement__.ts +6 -4
- package/src/concepts/View__.ts +5 -5
- package/src/concepts/index__.ts +3 -0
- package/src/concepts/types__.ts +6 -0
- package/src/generator/genReleaseBody.ts +40 -40
- package/src/server/extendBaseNode.ts +30 -2
- package/src/server/getLogics.ts +4 -0
- package/src/server/getProcesses.ts +66 -6
- package/src/server/index.ts +2 -1
- package/src/server/naslServer.ts +2 -2
- package/src/server/translator.ts +3 -0
- package/src/service/creator/errHandles.js +7 -4
- package/src/service/storage/init.ts +2 -2
- package/src/templator/genCreateBlock.ts +9 -5
- package/src/templator/genCurdEditMultipleKeyBlock.ts +19 -13
- package/src/templator/genCurdMultipleKeyBlock.ts +14 -11
- package/src/templator/genEditTableBlock.ts +4 -2
- package/src/templator/genUpdateBlock.ts +15 -12
- package/src/templator/utils.ts +8 -7
- package/test/concepts/anonymous-function/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/assignment/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/batch-assignment/__snapshots__/toJS.spec.ts.snap +2 -2
- package/test/concepts/binary-expression/__snapshots__/toJS.spec.ts.snap +3 -2
- package/test/concepts/call-interface/__snapshots__/toJS.spec.ts.snap +2 -2
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +3 -3
- package/test/concepts/match/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/numeric-literal/__snapshots__/toJS.spec.ts.snap +1 -1
- package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +3 -3
- package/.nyc_output/processinfo/78804420-ead6-486f-b682-ab54ccd95dc9.json +0 -1
- package/coverage/cobertura-coverage.xml +0 -71878
- package/coverage/src/automate/engine/index.js.html +0 -1471
- package/coverage/src/automate/engine/operators.js.html +0 -862
- package/coverage/src/automate/engine/uniqueName.js.html +0 -412
- package/coverage/src/automate/engine/viewCache.js.html +0 -214
- package/coverage/src/automate/template/index.html +0 -116
- package/coverage/src/automate/template/myProcess.js.html +0 -34645
- package/coverage/src/common/utils.ts.html +0 -136
- package/coverage/src/concepts/DataElement__.ts.html +0 -118
- package/coverage/src/concepts/MetadataType__.ts.html +0 -2053
- package/coverage/src/utils/time-slicing/constant.ts.html +0 -196
- package/coverage/src/utils/time-slicing/controller.ts.html +0 -1111
- package/coverage/src/utils/time-slicing/index.html +0 -236
- package/coverage/src/utils/time-slicing/index.ts.html +0 -103
- package/coverage/src/utils/time-slicing/page-state.ts.html +0 -121
- package/coverage/src/utils/time-slicing/performance.ts.html +0 -253
- package/coverage/src/utils/time-slicing/runner.ts.html +0 -247
- package/coverage/src/utils/time-slicing/tool.ts.html +0 -220
- package/coverage/src/utils/time-slicing/utils.ts.html +0 -355
- package/coverage/src/utils/time-slicing/wrapper.ts.html +0 -259
- package/coverage/src/utils/time.ts.html +0 -118
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">27.
|
|
26
|
+
<span class="strong">27.43% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>62/226</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">19.
|
|
33
|
+
<span class="strong">19.38% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>19/98</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">24.24% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>8/
|
|
42
|
+
<span class='fraction'>8/33</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">26.38% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>57/216</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -648,32 +648,10 @@
|
|
|
648
648
|
<a name='L583'></a><a href='#L583'>583</a>
|
|
649
649
|
<a name='L584'></a><a href='#L584'>584</a>
|
|
650
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
651
|
+
<a name='L586'></a><a href='#L586'>586</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
665
652
|
<span class="cline-any cline-yes">1x</span>
|
|
666
653
|
<span class="cline-any cline-neutral"> </span>
|
|
667
654
|
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
655
|
<span class="cline-any cline-yes">1x</span>
|
|
678
656
|
<span class="cline-any cline-yes">1x</span>
|
|
679
657
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -687,7 +665,6 @@
|
|
|
687
665
|
<span class="cline-any cline-neutral"> </span>
|
|
688
666
|
<span class="cline-any cline-neutral"> </span>
|
|
689
667
|
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
668
|
<span class="cline-any cline-yes">1x</span>
|
|
692
669
|
<span class="cline-any cline-yes">1x</span>
|
|
693
670
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -706,7 +683,6 @@
|
|
|
706
683
|
<span class="cline-any cline-neutral"> </span>
|
|
707
684
|
<span class="cline-any cline-neutral"> </span>
|
|
708
685
|
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-yes">1x</span>
|
|
710
686
|
<span class="cline-any cline-neutral"> </span>
|
|
711
687
|
<span class="cline-any cline-neutral"> </span>
|
|
712
688
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -981,23 +957,15 @@
|
|
|
981
957
|
<span class="cline-any cline-neutral"> </span>
|
|
982
958
|
<span class="cline-any cline-no"> </span>
|
|
983
959
|
<span class="cline-any cline-no"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
960
|
<span class="cline-any cline-no"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
961
|
<span class="cline-any cline-no"> </span>
|
|
988
962
|
<span class="cline-any cline-no"> </span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-no"> </span>
|
|
991
|
-
<span class="cline-any cline-no"> </span>
|
|
992
|
-
<span class="cline-any cline-no"> </span>
|
|
993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
994
963
|
<span class="cline-any cline-no"> </span>
|
|
995
964
|
<span class="cline-any cline-no"> </span>
|
|
996
965
|
<span class="cline-any cline-no"> </span>
|
|
997
966
|
<span class="cline-any cline-no"> </span>
|
|
998
967
|
<span class="cline-any cline-neutral"> </span>
|
|
999
968
|
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
969
|
<span class="cline-any cline-no"> </span>
|
|
1002
970
|
<span class="cline-any cline-neutral"> </span>
|
|
1003
971
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1149,14 +1117,16 @@
|
|
|
1149
1117
|
<span class="cline-any cline-neutral"> </span>
|
|
1150
1118
|
<span class="cline-any cline-yes">1x</span>
|
|
1151
1119
|
<span class="cline-any cline-yes">8x</span>
|
|
1120
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1152
1121
|
<span class="cline-any cline-yes">8x</span>
|
|
1153
|
-
<span class="cline-any cline-
|
|
1122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1154
1123
|
<span class="cline-any cline-yes">8x</span>
|
|
1155
1124
|
<span class="cline-any cline-neutral"> </span>
|
|
1156
1125
|
<span class="cline-any cline-yes">7x</span>
|
|
1157
1126
|
<span class="cline-any cline-yes">7x</span>
|
|
1158
1127
|
<span class="cline-any cline-yes">7x</span>
|
|
1159
1128
|
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1160
1130
|
<span class="cline-any cline-yes">7x</span>
|
|
1161
1131
|
<span class="cline-any cline-yes">6x</span>
|
|
1162
1132
|
<span class="cline-any cline-yes">6x</span>
|
|
@@ -1164,10 +1134,12 @@
|
|
|
1164
1134
|
<span class="cline-any cline-yes">6x</span>
|
|
1165
1135
|
<span class="cline-any cline-yes">6x</span>
|
|
1166
1136
|
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1167
1138
|
<span class="cline-any cline-yes">6x</span>
|
|
1168
1139
|
<span class="cline-any cline-yes">2x</span>
|
|
1169
1140
|
<span class="cline-any cline-neutral"> </span>
|
|
1170
1141
|
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1171
1143
|
<span class="cline-any cline-yes">6x</span>
|
|
1172
1144
|
<span class="cline-any cline-yes">6x</span>
|
|
1173
1145
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1175,12 +1147,14 @@
|
|
|
1175
1147
|
<span class="cline-any cline-neutral"> </span>
|
|
1176
1148
|
<span class="cline-any cline-no"> </span>
|
|
1177
1149
|
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1178
1151
|
<span class="cline-any cline-yes">6x</span>
|
|
1179
1152
|
<span class="cline-any cline-no"> </span>
|
|
1180
1153
|
<span class="cline-any cline-neutral"> </span>
|
|
1181
1154
|
<span class="cline-any cline-neutral"> </span>
|
|
1182
1155
|
<span class="cline-any cline-yes">6x</span>
|
|
1183
1156
|
<span class="cline-any cline-neutral"> </span>
|
|
1157
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1184
1158
|
<span class="cline-any cline-yes">7x</span>
|
|
1185
1159
|
<span class="cline-any cline-no"> </span>
|
|
1186
1160
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1259,17 +1233,8 @@
|
|
|
1259
1233
|
<span class="cline-any cline-neutral"> </span>
|
|
1260
1234
|
<span class="cline-any cline-neutral"> </span>
|
|
1261
1235
|
<span class="cline-any cline-neutral"> </span>
|
|
1262
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
1263
|
-
import {
|
|
1264
|
-
TranslatorState,
|
|
1265
|
-
shiftState,
|
|
1266
|
-
withSourceMap,
|
|
1267
|
-
indent,
|
|
1268
|
-
createCompilerState,
|
|
1269
|
-
withSourceMapGenerator,
|
|
1270
|
-
withGenerator,
|
|
1271
|
-
TranslatorGenerator,
|
|
1272
|
-
} from '../translator';
|
|
1236
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { v4 as uuidv4 } from 'uuid';
|
|
1237
|
+
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState } from '../translator';
|
|
1273
1238
|
import Function from './Function__';
|
|
1274
1239
|
import { ElementToVueOptions } from './ViewElement__';
|
|
1275
1240
|
import { getValidationInFunction } from '../server/getFunctions';
|
|
@@ -1284,7 +1249,6 @@ import { EventPayload, Params } from '../common/EventEmitter';
|
|
|
1284
1249
|
import { concept, excludedInJSON, property, className } from '../decorators';
|
|
1285
1250
|
|
|
1286
1251
|
import * as utils from '../utils';
|
|
1287
|
-
import { v4 as uuidv4 } from 'uuid';
|
|
1288
1252
|
import BaseNode from '../common/BaseNode';
|
|
1289
1253
|
import Argument from './Argument__';
|
|
1290
1254
|
import LogicItem from './LogicItem__';
|
|
@@ -1302,7 +1266,6 @@ export class ValidationRule extends LogicItem {
|
|
|
1302
1266
|
/**
|
|
1303
1267
|
* 产品概念
|
|
1304
1268
|
*/
|
|
1305
|
-
@property('concept')
|
|
1306
1269
|
// @ts-ignore
|
|
1307
1270
|
readonly concept!: 'ValidationRule';
|
|
1308
1271
|
|
|
@@ -1579,21 +1542,13 @@ export class ValidationRule extends LogicItem {
|
|
|
1579
1542
|
};
|
|
1580
1543
|
<span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
|
|
1581
1544
|
<span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
// @ts-ignore
|
|
1585
|
-
const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
|
|
1586
|
-
<span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
|
|
1587
|
-
// @ts-ignore
|
|
1588
|
-
const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) => <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
|
|
1545
|
+
<span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
|
|
1546
|
+
const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
|
|
1589
1547
|
<span class="cstat-no" title="statement not covered" > ~index && (this as any)[parentKey].splice(index, 1);</span>
|
|
1590
1548
|
<span class="cstat-no" title="statement not covered" > params.index = index;</span>
|
|
1591
|
-
} else {
|
|
1592
|
-
|
|
1593
|
-
<span class="cstat-no" title="statement not covered" >
|
|
1594
|
-
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
1595
|
-
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
1596
|
-
}
|
|
1549
|
+
} else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
|
|
1550
|
+
<span class="cstat-no" title="statement not covered" > params.index = 0;</span>
|
|
1551
|
+
(<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
|
|
1597
1552
|
}
|
|
1598
1553
|
}
|
|
1599
1554
|
<span class="cstat-no" title="statement not covered" > return params;</span>
|
|
@@ -1744,44 +1699,50 @@ export class ValidationRule extends LogicItem {
|
|
|
1744
1699
|
return code;
|
|
1745
1700
|
}
|
|
1746
1701
|
|
|
1747
|
-
@
|
|
1748
|
-
|
|
1749
|
-
const self = this;
|
|
1702
|
+
@withSourceMap()
|
|
1703
|
+
toEmbeddedTS(state?: TranslatorState): string {
|
|
1750
1704
|
let code = '';
|
|
1751
|
-
|
|
1705
|
+
|
|
1706
|
+
const { calleeName, target, calleeKey, arguments: args, errorMessage, view } = this;
|
|
1707
|
+
|
|
1752
1708
|
if (calleeName) {
|
|
1753
1709
|
// 调用逻辑时绑定的验证器
|
|
1754
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (
|
|
1755
|
-
code +=
|
|
1710
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.getAncestor('CallLogic') || !view) {
|
|
1711
|
+
code += target.toEmbeddedTS(shiftState(state, code));
|
|
1756
1712
|
code += ';\n';
|
|
1757
1713
|
}
|
|
1714
|
+
|
|
1758
1715
|
if (args.length > 0) {
|
|
1759
1716
|
const validationInFunction = getValidationInFunction(calleeName);
|
|
1760
1717
|
code += calleeKey;
|
|
1761
1718
|
code += '(';
|
|
1762
|
-
|
|
1719
|
+
args.forEach((arg, index) => {
|
|
1763
1720
|
const param = validationInFunction?.params?.[index];
|
|
1721
|
+
|
|
1764
1722
|
// 当前参数缺失 keyword,且原始形参中有名称,则补充参数
|
|
1765
1723
|
if (!arg.keyword && param.name) {
|
|
1766
1724
|
arg.keyword = param.name;
|
|
1767
1725
|
}
|
|
1726
|
+
|
|
1768
1727
|
// 如果找到函数而且有参数,就用参数的必填非必填
|
|
1769
1728
|
<span class="missing-if-branch" title="else path not taken" >E</span>if (validationInFunction && param) {
|
|
1770
|
-
code +=
|
|
1729
|
+
code += arg.toEmbeddedTS(shiftState(state, code), param.required, false);
|
|
1771
1730
|
}
|
|
1772
1731
|
// 如果没有就默认不必填
|
|
1773
1732
|
else {
|
|
1774
|
-
<span class="cstat-no" title="statement not covered" > code +=
|
|
1733
|
+
<span class="cstat-no" title="statement not covered" > code += arg.toEmbeddedTS(shiftState(state, code), false, false);</span>
|
|
1775
1734
|
}
|
|
1735
|
+
|
|
1776
1736
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (index !== args.length - 1) {
|
|
1777
1737
|
<span class="cstat-no" title="statement not covered" > code += ', ';</span>
|
|
1778
1738
|
}
|
|
1779
1739
|
});
|
|
1780
1740
|
code += ');';
|
|
1781
1741
|
}
|
|
1742
|
+
|
|
1782
1743
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (errorMessage) {
|
|
1783
1744
|
<span class="cstat-no" title="statement not covered" > code += 'nasl.validation.errorMessage(';</span>
|
|
1784
|
-
<span class="cstat-no" title="statement not covered" > code +=
|
|
1745
|
+
<span class="cstat-no" title="statement not covered" > code += errorMessage.toEmbeddedTS(shiftState(state, code));</span>
|
|
1785
1746
|
<span class="cstat-no" title="statement not covered" > code += ')';</span>
|
|
1786
1747
|
}
|
|
1787
1748
|
} else {
|
|
@@ -1864,7 +1825,7 @@ export default ValidationRule;
|
|
|
1864
1825
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1865
1826
|
Code coverage generated by
|
|
1866
1827
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1867
|
-
at 2023-
|
|
1828
|
+
at 2023-10-18T11:36:07.885Z
|
|
1868
1829
|
</div>
|
|
1869
1830
|
<script src="../../prettify.js"></script>
|
|
1870
1831
|
<script>
|