occam-furtle 2.0.82 → 2.0.86

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 (45) hide show
  1. package/lib/dom/every.js +5 -5
  2. package/lib/dom/label.js +6 -2
  3. package/lib/dom/parameter/named.js +5 -3
  4. package/lib/dom/parameter.js +6 -2
  5. package/lib/dom/parameters.js +4 -12
  6. package/lib/dom/procedure/anonymous.js +8 -16
  7. package/lib/dom/procedure.js +4 -4
  8. package/lib/dom/procedureCall.js +6 -2
  9. package/lib/dom/reduce.js +4 -4
  10. package/lib/dom/reference.js +6 -2
  11. package/lib/dom/some.js +4 -4
  12. package/lib/dom/step.js +8 -12
  13. package/lib/dom/ternary.js +2 -2
  14. package/lib/dom/value.js +8 -28
  15. package/lib/dom/values.js +2 -9
  16. package/lib/dom/variable.js +10 -13
  17. package/lib/index.js +1 -4
  18. package/lib/nodeProperties.js +10 -3
  19. package/lib/nodeProperty.js +2 -2
  20. package/package.json +4 -4
  21. package/src/dom/every.js +8 -12
  22. package/src/dom/label.js +9 -3
  23. package/src/dom/parameter/named.js +7 -2
  24. package/src/dom/parameter.js +9 -2
  25. package/src/dom/parameters.js +1 -1
  26. package/src/dom/procedure/anonymous.js +16 -29
  27. package/src/dom/procedure.js +7 -10
  28. package/src/dom/procedureCall.js +10 -2
  29. package/src/dom/reduce.js +8 -11
  30. package/src/dom/reference.js +8 -2
  31. package/src/dom/some.js +7 -9
  32. package/src/dom/step.js +11 -13
  33. package/src/dom/ternary.js +4 -4
  34. package/src/dom/value.js +7 -32
  35. package/src/dom/values.js +1 -10
  36. package/src/dom/variable.js +12 -17
  37. package/src/index.js +0 -3
  38. package/src/nodeProperties.js +15 -1
  39. package/src/nodeProperty.js +3 -1
  40. package/lib/dom/block.js +0 -154
  41. package/lib/dom/conditionalBlocks.js +0 -176
  42. package/lib/dom/procedureCall/anonymous.js +0 -145
  43. package/src/dom/block.js +0 -73
  44. package/src/dom/conditionalBlocks.js +0 -106
  45. package/src/dom/procedureCall/anonymous.js +0 -68
package/src/dom/value.js CHANGED
@@ -19,11 +19,10 @@ const reduceValueNodeQuery = nodeQuery("/reduce/value"),
19
19
  primitiveTerminalNodeQuery = nodeQuery("/value/@primitive"),
20
20
  returnStatementValueNodeQuery = nodeQuery("/returnStatement/value"),
21
21
  stringLiteralTerminalNodeQuery = nodeQuery("/value/@string-literal"),
22
- conditionalBlocksCValueNodeQuery = nodeQuery("/conditionalBlocks/value"),
23
22
  variableAssignmentValueNodeQuery = nodeQuery("/variableAssignment/value");
24
23
 
25
24
  export default domAssigned(class Value {
26
- constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall) {
25
+ constructor(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall) {
27
26
  this.node = node;
28
27
  this.nodes = nodes;
29
28
  this.number = number;
@@ -41,7 +40,6 @@ export default domAssigned(class Value {
41
40
  this.bitwiseValue = bitwiseValue;
42
41
  this.bracketedValue = bracketedValue;
43
42
  this.procedureCall = procedureCall;
44
- this.anonymousProcedureCall = anonymousProcedureCall;
45
43
  }
46
44
 
47
45
  getNode() {
@@ -112,10 +110,6 @@ export default domAssigned(class Value {
112
110
  return this.procedureCall;
113
111
  }
114
112
 
115
- getAnonymousProcedureCall() {
116
- return this.anonymousProcedureCall;
117
- }
118
-
119
113
  getType() {
120
114
  let type;
121
115
 
@@ -155,8 +149,6 @@ export default domAssigned(class Value {
155
149
  type = this.bracketedValue.getType();
156
150
  } else if (this.procedureCall !== null) {
157
151
  type = this.procedureCall.getType();
158
- } else if (this.anonymousProcedureCall !== null) {
159
- type = this.anonymousProcedureCall.getType();
160
152
  }
161
153
 
162
154
  return type;
@@ -201,8 +193,6 @@ export default domAssigned(class Value {
201
193
  string = this.bracketedValue.getString();
202
194
  } else if (this.procedureCall !== null) {
203
195
  string = this.procedureCall.getString();
204
- } else if (this.anonymousProcedureCall !== null) {
205
- string = this.anonymousProcedureCall.getString();
206
196
  }
207
197
 
208
198
  return string;
@@ -243,8 +233,6 @@ export default domAssigned(class Value {
243
233
  value = this.bracketedValue.evaluate(context);
244
234
  } else if (this.procedureCall !== null) {
245
235
  value = this.procedureCall.evaluate(context);
246
- } else if (this.anonymousProcedureCall !== null) {
247
- value = this.anonymousProcedureCall.evaluate(context);
248
236
  }
249
237
 
250
238
  return value;
@@ -321,8 +309,7 @@ export default domAssigned(class Value {
321
309
  bitwiseValue = null,
322
310
  bracketedValue = null,
323
311
  procedureCall = null,
324
- anonymousProcedureCall = null,
325
- value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
312
+ value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
326
313
 
327
314
  return value;
328
315
  }
@@ -344,8 +331,7 @@ export default domAssigned(class Value {
344
331
  bitwiseValue = null,
345
332
  bracketedValue = null,
346
333
  procedureCall = null,
347
- anonymousProcedureCall = null,
348
- value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
334
+ value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
349
335
 
350
336
  return value;
351
337
  }
@@ -367,8 +353,7 @@ export default domAssigned(class Value {
367
353
  bitwiseValue = null,
368
354
  bracketedValue = null,
369
355
  procedureCall = null,
370
- anonymousProcedureCall = null,
371
- value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
356
+ value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
372
357
 
373
358
  return value;
374
359
  }
@@ -390,8 +375,7 @@ export default domAssigned(class Value {
390
375
  bitwiseValue = null,
391
376
  bracketedValue = null,
392
377
  procedureCall = null,
393
- anonymousProcedureCall = null,
394
- value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
378
+ value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
395
379
 
396
380
  return value;
397
381
  }
@@ -446,14 +430,6 @@ export default domAssigned(class Value {
446
430
  return value;
447
431
  }
448
432
 
449
- static fromConditionalBlocksNode(conditionalBlocksNode, context) {
450
- const conditionalBlocksCValueNode = conditionalBlocksCValueNodeQuery(conditionalBlocksNode),
451
- valueNode = conditionalBlocksCValueNode, ///
452
- value = valueFromValueNode(valueNode, context);
453
-
454
- return value;
455
- }
456
-
457
433
  static fromVariableAssignmentNode(variableAssigmentNode, context) {
458
434
  const variableAssignmentValueNode = variableAssignmentValueNodeQuery(variableAssigmentNode),
459
435
  valueNode = variableAssignmentValueNode, ///
@@ -536,7 +512,7 @@ function booleanAsString(boolean) {
536
512
  }
537
513
 
538
514
  function valueFromValueNode(valueNode, context) {
539
- const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall, AnonymousProcedureCall } = dom,
515
+ const { Some, Every, Reduce, Value, Ternary, Variable, NodeQuery, NodesQuery, Comparison, NegatedValue, BitwiseValue, BracketedValue, ProcedureCall } = dom,
540
516
  node = nodeFromValueNode(valueNode, context),
541
517
  nodes = nodesFromValueNode(valueNode, context),
542
518
  number = numberFromValueNode(valueNode, context),
@@ -554,8 +530,7 @@ function valueFromValueNode(valueNode, context) {
554
530
  bitwiseValue = BitwiseValue.fromValueNode(valueNode, context),
555
531
  bracketedValue = BracketedValue.fromValueNode(valueNode, context),
556
532
  procedureCall = ProcedureCall.fromValueNode(valueNode, context),
557
- anonymousProcedureCall = AnonymousProcedureCall.fromValueNode(valueNode, context),
558
- value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall);
533
+ value = new Value(node, nodes, number, string, boolean, some, every, reduce, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall);
559
534
 
560
535
  return value;
561
536
  }
package/src/dom/values.js CHANGED
@@ -6,8 +6,7 @@ import { domAssigned } from "../dom";
6
6
  import { nodeQuery, nodesQuery } from "../utilities/query";
7
7
 
8
8
  const valuesNodeQuery = nodeQuery("/value/procedureCall/values"),
9
- valueNodesQuery = nodesQuery("/values/value"),
10
- anonymousProcedureCallValuesNodeQuery = nodeQuery("/anonymousProcedureCall/values");
9
+ valueNodesQuery = nodesQuery("/values/value");
11
10
 
12
11
  export default domAssigned(class Values {
13
12
  constructor(string, array) {
@@ -102,14 +101,6 @@ export default domAssigned(class Values {
102
101
 
103
102
  return values;
104
103
  }
105
-
106
- static fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context) {
107
- const anonymousProcedureCallValuesNode = anonymousProcedureCallValuesNodeQuery(anonymousProcedureCallNode),
108
- valuesNode = anonymousProcedureCallValuesNode, ///
109
- values = valuesFromValuesNode(valuesNode, context);
110
-
111
- return values;
112
- }
113
104
  });
114
105
 
115
106
  function arrayFromNodes(nodes, context) {
@@ -141,7 +141,7 @@ export default domAssigned(class Variable {
141
141
  const type = parameter.getType(),
142
142
  name = parameter.getName(),
143
143
  value = null,
144
- string = name, ///
144
+ string = stringFromName(name, context),
145
145
  variable = new Variable(string, type, name, value);
146
146
 
147
147
  return variable;
@@ -178,7 +178,7 @@ export default domAssigned(class Variable {
178
178
  asName : ///
179
179
  namedParameter.getName(),
180
180
  value = null,
181
- string = name, ///
181
+ string = stringFromName(name, context),
182
182
  variable = new Variable(string, type, name, value);
183
183
 
184
184
  return variable;
@@ -187,17 +187,7 @@ export default domAssigned(class Variable {
187
187
  static fromValueAndParameter(value, parameter, context) {
188
188
  const type = parameter.getType(),
189
189
  name = parameter.getName(),
190
- string = name, ///
191
- variable = new Variable(string, type, name, value);
192
-
193
- return variable;
194
- }
195
-
196
- static fromVariableNodeAndType(variableNode, type, context) {
197
- const node = variableNode, ///
198
- string = context.nodeAsString(node),
199
- name = nameFromVariableNode(variableNode),
200
- value = null,
190
+ string = stringFromName(name, context),
201
191
  variable = new Variable(string, type, name, value);
202
192
 
203
193
  return variable;
@@ -230,10 +220,9 @@ export default domAssigned(class Variable {
230
220
 
231
221
  function variableFromTypeAndVariableNode(type, variableNode, context) {
232
222
  const { Variable } = dom,
233
- node = variableNode, ///
234
- string = context.nodeAsString(node),
235
223
  name = nameFromVariableNode(variableNode),
236
224
  value = null,
225
+ string = stringFromName(name, context),
237
226
  variable = new Variable(string, type, name, value);
238
227
 
239
228
  return variable;
@@ -241,11 +230,10 @@ function variableFromTypeAndVariableNode(type, variableNode, context) {
241
230
 
242
231
  function variableFromVariableNode(variableNode, context) {
243
232
  const { Variable } = dom,
244
- node = variableNode, ///
245
- string = context.nodeAsString(node),
246
233
  type = null,
247
234
  name = nameFromVariableNode(variableNode),
248
235
  value = null,
236
+ string = stringFromName(name, context),
249
237
  variable = new Variable(string, type, name, value);
250
238
 
251
239
  return variable;
@@ -258,3 +246,10 @@ function nameFromVariableNode(variableNode) {
258
246
 
259
247
  return name;
260
248
  }
249
+
250
+ function stringFromName(name, context) {
251
+ const nameString = name, ///
252
+ string = nameString; ///
253
+
254
+ return string;
255
+ }
package/src/index.js CHANGED
@@ -3,7 +3,6 @@
3
3
  import Step from "./dom/step";
4
4
  import Some from "./dom/some";
5
5
  import Label from "./dom/label";
6
- import Block from "./dom/block";
7
6
  import Error from "./dom/error";
8
7
  import Value from "./dom/value";
9
8
  import Every from "./dom/every";
@@ -28,12 +27,10 @@ import ArrayAssigment from "./dom/assignment/array";
28
27
  import ReturnStatement from "./dom/statement/return";
29
28
  import NamedParameters from "./dom/parameters/named";
30
29
  import ObjectAssignment from "./dom/assignment/object";
31
- import ConditionalBlocks from "./dom/conditionalBlocks";
32
30
  import AnonymousProcedure from "./dom/procedure/anonymous";
33
31
  import VariableAssignment from "./dom/assignment/variable";
34
32
  import VariableAssignments from "./dom/assignments/variable";
35
33
  import ProcedureDeclaration from "./dom/declaration/procedure";
36
- import AnonymousProcedureCall from "./dom/procedureCall/anonymous";
37
34
 
38
35
  export { default as Values } from "./dom/values";
39
36
  export { default as FileContext } from "./context/file";
@@ -3,7 +3,6 @@
3
3
  import Exception from "./exception";
4
4
  import NodeProperty from "./nodeProperty";
5
5
 
6
- import { stringFromArray } from "./dom/parameters";
7
6
  import { NODES_TYPE, STRING_TYPE, BOOLEAN_TYPE } from "./types";
8
7
  import { CONTENT_PARAMETER_NAME, TERMINAL_PARAMETER_NAME, CHILD_NODES_PARAMETER_NAME } from "./parameterNames";
9
8
 
@@ -82,3 +81,18 @@ class NodeProperties {
82
81
  const nodeProperties = NodeProperties.fromNothing();
83
82
 
84
83
  export default nodeProperties;
84
+
85
+ function stringFromArray(array, context) {
86
+ const nodePropertiesString = array.reduce((nodePropertiesString, nodeProperty) => {
87
+ const nodePropertyString = nodeProperty.getString();
88
+
89
+ nodePropertiesString = (nodePropertiesString === null) ?
90
+ nodePropertyString :
91
+ `${nodePropertiesString}, ${nodePropertyString}`;
92
+
93
+ return nodePropertiesString;
94
+ }, null),
95
+ string = nodePropertiesString; ///
96
+
97
+ return string;
98
+ }
@@ -50,7 +50,9 @@ export default class NodeProperty {
50
50
  };
51
51
 
52
52
  function stringFromNameAndType(name, type, context) {
53
- const string = `${type} ${name}`;
53
+ const typeString = type, ///
54
+ nameString = name, ///
55
+ string = `${typeString} ${nameString}`;
54
56
 
55
57
  return string;
56
58
  }
package/lib/dom/block.js DELETED
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _block = /*#__PURE__*/ _interop_require_default(require("../context/block"));
13
- var _query = require("../utilities/query");
14
- function _class_call_check(instance, Constructor) {
15
- if (!(instance instanceof Constructor)) {
16
- throw new TypeError("Cannot call a class as a function");
17
- }
18
- }
19
- function _defineProperties(target, props) {
20
- for(var i = 0; i < props.length; i++){
21
- var descriptor = props[i];
22
- descriptor.enumerable = descriptor.enumerable || false;
23
- descriptor.configurable = true;
24
- if ("value" in descriptor) descriptor.writable = true;
25
- Object.defineProperty(target, descriptor.key, descriptor);
26
- }
27
- }
28
- function _create_class(Constructor, protoProps, staticProps) {
29
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
- if (staticProps) _defineProperties(Constructor, staticProps);
31
- return Constructor;
32
- }
33
- function _define_property(obj, key, value) {
34
- if (key in obj) {
35
- Object.defineProperty(obj, key, {
36
- value: value,
37
- enumerable: true,
38
- configurable: true,
39
- writable: true
40
- });
41
- } else {
42
- obj[key] = value;
43
- }
44
- return obj;
45
- }
46
- function _interop_require_default(obj) {
47
- return obj && obj.__esModule ? obj : {
48
- default: obj
49
- };
50
- }
51
- function _getRequireWildcardCache(nodeInterop) {
52
- if (typeof WeakMap !== "function") return null;
53
- var cacheBabelInterop = new WeakMap();
54
- var cacheNodeInterop = new WeakMap();
55
- return (_getRequireWildcardCache = function(nodeInterop) {
56
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
57
- })(nodeInterop);
58
- }
59
- function _interop_require_wildcard(obj, nodeInterop) {
60
- if (!nodeInterop && obj && obj.__esModule) {
61
- return obj;
62
- }
63
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
64
- return {
65
- default: obj
66
- };
67
- }
68
- var cache = _getRequireWildcardCache(nodeInterop);
69
- if (cache && cache.has(obj)) {
70
- return cache.get(obj);
71
- }
72
- var newObj = {
73
- __proto__: null
74
- };
75
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
76
- for(var key in obj){
77
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
78
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
79
- if (desc && (desc.get || desc.set)) {
80
- Object.defineProperty(newObj, key, desc);
81
- } else {
82
- newObj[key] = obj[key];
83
- }
84
- }
85
- }
86
- newObj.default = obj;
87
- if (cache) {
88
- cache.set(obj, newObj);
89
- }
90
- return newObj;
91
- }
92
- var _Block;
93
- var stepNodesQuery = (0, _query.nodesQuery)("/block/step");
94
- var _default = (0, _dom.domAssigned)((_Block = /*#__PURE__*/ function() {
95
- function Block(string, steps) {
96
- _class_call_check(this, Block);
97
- this.string = string;
98
- this.steps = steps;
99
- }
100
- _create_class(Block, [
101
- {
102
- key: "getString",
103
- value: function getString() {
104
- return this.string;
105
- }
106
- },
107
- {
108
- key: "getSteps",
109
- value: function getSteps() {
110
- return this.steps;
111
- }
112
- },
113
- {
114
- key: "evaluate",
115
- value: function evaluate(variables, context) {
116
- if (context === undefined) {
117
- context = variables; ///
118
- variables = [];
119
- }
120
- var blockContext = _block.default.fromVariables(variables, context);
121
- context = blockContext; ///
122
- this.steps.forEach(function(step) {
123
- step.evaluate(context);
124
- });
125
- }
126
- }
127
- ], [
128
- {
129
- key: "fromBlockNode",
130
- value: function fromBlockNode(blockNode, context) {
131
- var block = null;
132
- if (blockNode !== null) {
133
- var stepNodes = stepNodesQuery(blockNode), steps = stepsFromStepNodes(stepNodes, context), string = stringFromSteps(steps, context);
134
- block = new Block(string, steps);
135
- }
136
- return block;
137
- }
138
- }
139
- ]);
140
- return Block;
141
- }(), _define_property(_Block, "name", "Block"), _Block));
142
- function stringFromSteps(steps, context) {
143
- var string = "{ ... }";
144
- return string;
145
- }
146
- function stepsFromStepNodes(stepNodes, context) {
147
- var Step = _dom.default.Step, steps = stepNodes.map(function(stepNode) {
148
- var step = Step.fromStepNode(stepNode, context);
149
- return step;
150
- });
151
- return steps;
152
- }
153
-
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vYmxvY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEJsb2NrQ29udGV4dCBmcm9tIFwiLi4vY29udGV4dC9ibG9ja1wiO1xuXG5pbXBvcnQgeyBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHN0ZXBOb2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9ibG9jay9zdGVwXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBCbG9jayB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgc3RlcHMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnN0ZXBzID0gc3RlcHM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0U3RlcHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHM7XG4gIH1cblxuICBldmFsdWF0ZSh2YXJpYWJsZXMsIGNvbnRleHQpIHtcbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gdmFyaWFibGVzOyAgLy8vXG5cbiAgICAgIHZhcmlhYmxlcyA9IFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGJsb2NrQ29udGV4dCA9IEJsb2NrQ29udGV4dC5mcm9tVmFyaWFibGVzKHZhcmlhYmxlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gYmxvY2tDb250ZXh0OyAvLy9cblxuICAgIHRoaXMuc3RlcHMuZm9yRWFjaCgoc3RlcCkgPT4ge1xuICAgICAgc3RlcC5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJCbG9ja1wiO1xuXG4gIHN0YXRpYyBmcm9tQmxvY2tOb2RlKGJsb2NrTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBibG9jayA9IG51bGw7XG5cbiAgICBpZiAoYmxvY2tOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzdGVwTm9kZXMgPSBzdGVwTm9kZXNRdWVyeShibG9ja05vZGUpLFxuICAgICAgICAgICAgc3RlcHMgPSBzdGVwc0Zyb21TdGVwTm9kZXMoc3RlcE5vZGVzLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21TdGVwcyhzdGVwcywgY29udGV4dCk7XG5cbiAgICAgIGJsb2NrID0gbmV3IEJsb2NrKHN0cmluZywgc3RlcHMpO1xuICAgIH1cblxuICAgIHJldHVybiBibG9jaztcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21TdGVwcyhzdGVwcywgY29udGV4dCkge1xuICBjb25zdCBzdHJpbmcgPSBgeyAuLi4gfWA7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RlcHNGcm9tU3RlcE5vZGVzKHN0ZXBOb2RlcywgY29udGV4dCkge1xuICBjb25zdCB7IFN0ZXAgfSA9IGRvbSxcbiAgICAgICAgc3RlcHMgPSBzdGVwTm9kZXMubWFwKChzdGVwTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0ZXAgPSBTdGVwLmZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICByZXR1cm4gc3RlcDtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN0ZXBzO1xufVxuIl0sIm5hbWVzIjpbInN0ZXBOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImRvbUFzc2lnbmVkIiwiQmxvY2siLCJzdHJpbmciLCJzdGVwcyIsImdldFN0cmluZyIsImdldFN0ZXBzIiwiZXZhbHVhdGUiLCJ2YXJpYWJsZXMiLCJjb250ZXh0IiwidW5kZWZpbmVkIiwiYmxvY2tDb250ZXh0IiwiQmxvY2tDb250ZXh0IiwiZnJvbVZhcmlhYmxlcyIsImZvckVhY2giLCJzdGVwIiwiZnJvbUJsb2NrTm9kZSIsImJsb2NrTm9kZSIsImJsb2NrIiwic3RlcE5vZGVzIiwic3RlcHNGcm9tU3RlcE5vZGVzIiwic3RyaW5nRnJvbVN0ZXBzIiwibmFtZSIsIlN0ZXAiLCJkb20iLCJtYXAiLCJzdGVwTm9kZSIsImZyb21TdGVwTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUFBOzs7MkRBUmdCOzREQUNTO3FCQUVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUczQixJQUFNQSxpQkFBaUJDLElBQUFBLGlCQUFVLEVBQUM7SUFFbEMsV0FBZUMsSUFBQUEsZ0JBQVcsMEJBQUM7YUFBTUMsTUFDbkJDLE1BQU0sRUFBRUMsS0FBSztnQ0FETUY7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxLQUFLLEdBQUdBOzs7O1lBR2ZDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsS0FBSztZQUNuQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxTQUFTLEVBQUVDLE9BQU87Z0JBQ3pCLElBQUlBLFlBQVlDLFdBQVc7b0JBQ3pCRCxVQUFVRCxXQUFZLEdBQUc7b0JBRXpCQSxZQUFZLEVBQUU7Z0JBQ2hCO2dCQUVBLElBQU1HLGVBQWVDLGNBQVksQ0FBQ0MsYUFBYSxDQUFDTCxXQUFXQztnQkFFM0RBLFVBQVVFLGNBQWMsR0FBRztnQkFFM0IsSUFBSSxDQUFDUCxLQUFLLENBQUNVLE9BQU8sQ0FBQyxTQUFDQztvQkFDbEJBLEtBQUtSLFFBQVEsQ0FBQ0U7Z0JBQ2hCO1lBQ0Y7Ozs7WUFJT08sS0FBQUE7bUJBQVAsU0FBT0EsY0FBY0MsU0FBUyxFQUFFUixPQUFPO2dCQUNyQyxJQUFJUyxRQUFRO2dCQUVaLElBQUlELGNBQWMsTUFBTTtvQkFDdEIsSUFBTUUsWUFBWXBCLGVBQWVrQixZQUMzQmIsUUFBUWdCLG1CQUFtQkQsV0FBV1YsVUFDdENOLFNBQVNrQixnQkFBZ0JqQixPQUFPSztvQkFFdENTLFFBQVEsSUFBSWhCLE1BQU1DLFFBQVFDO2dCQUM1QjtnQkFFQSxPQUFPYztZQUNUOzs7O0tBZEEseUJBQU9JLFFBQU87QUFpQmhCLFNBQVNELGdCQUFnQmpCLEtBQUssRUFBRUssT0FBTztJQUNyQyxJQUFNTixTQUFVO0lBRWhCLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTaUIsbUJBQW1CRCxTQUFTLEVBQUVWLE9BQU87SUFDNUMsSUFBTSxBQUFFYyxPQUFTQyxZQUFHLENBQVpELE1BQ0ZuQixRQUFRZSxVQUFVTSxHQUFHLENBQUMsU0FBQ0M7UUFDckIsSUFBTVgsT0FBT1EsS0FBS0ksWUFBWSxDQUFDRCxVQUFVakI7UUFFekMsT0FBT007SUFDVDtJQUVOLE9BQU9YO0FBQ1QifQ==
@@ -1,176 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
- var _query = require("../utilities/query");
14
- var _types = require("../types");
15
- function _class_call_check(instance, Constructor) {
16
- if (!(instance instanceof Constructor)) {
17
- throw new TypeError("Cannot call a class as a function");
18
- }
19
- }
20
- function _defineProperties(target, props) {
21
- for(var i = 0; i < props.length; i++){
22
- var descriptor = props[i];
23
- descriptor.enumerable = descriptor.enumerable || false;
24
- descriptor.configurable = true;
25
- if ("value" in descriptor) descriptor.writable = true;
26
- Object.defineProperty(target, descriptor.key, descriptor);
27
- }
28
- }
29
- function _create_class(Constructor, protoProps, staticProps) {
30
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
- if (staticProps) _defineProperties(Constructor, staticProps);
32
- return Constructor;
33
- }
34
- function _define_property(obj, key, value) {
35
- if (key in obj) {
36
- Object.defineProperty(obj, key, {
37
- value: value,
38
- enumerable: true,
39
- configurable: true,
40
- writable: true
41
- });
42
- } else {
43
- obj[key] = value;
44
- }
45
- return obj;
46
- }
47
- function _interop_require_default(obj) {
48
- return obj && obj.__esModule ? obj : {
49
- default: obj
50
- };
51
- }
52
- function _getRequireWildcardCache(nodeInterop) {
53
- if (typeof WeakMap !== "function") return null;
54
- var cacheBabelInterop = new WeakMap();
55
- var cacheNodeInterop = new WeakMap();
56
- return (_getRequireWildcardCache = function(nodeInterop) {
57
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
58
- })(nodeInterop);
59
- }
60
- function _interop_require_wildcard(obj, nodeInterop) {
61
- if (!nodeInterop && obj && obj.__esModule) {
62
- return obj;
63
- }
64
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
65
- return {
66
- default: obj
67
- };
68
- }
69
- var cache = _getRequireWildcardCache(nodeInterop);
70
- if (cache && cache.has(obj)) {
71
- return cache.get(obj);
72
- }
73
- var newObj = {
74
- __proto__: null
75
- };
76
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
77
- for(var key in obj){
78
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
79
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
80
- if (desc && (desc.get || desc.set)) {
81
- Object.defineProperty(newObj, key, desc);
82
- } else {
83
- newObj[key] = obj[key];
84
- }
85
- }
86
- }
87
- newObj.default = obj;
88
- if (cache) {
89
- cache.set(obj, newObj);
90
- }
91
- return newObj;
92
- }
93
- var _ConditionalBlocks;
94
- var valueNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/value"), ifBlockNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/block[0]"), elseBlockNodeQuery = (0, _query.nodeQuery)("/conditionalBlocks/block[1]"), conditionalBlocksNodeQuery = (0, _query.nodeQuery)("/step/conditionalBlocks");
95
- var _default = (0, _dom.domAssigned)((_ConditionalBlocks = /*#__PURE__*/ function() {
96
- function ConditionalBlocks(string, value, ifBlock, elseBlock) {
97
- _class_call_check(this, ConditionalBlocks);
98
- this.string = string;
99
- this.value = value;
100
- this.ifBlock = ifBlock;
101
- this.elseBlock = elseBlock;
102
- }
103
- _create_class(ConditionalBlocks, [
104
- {
105
- key: "getString",
106
- value: function getString() {
107
- return this.string;
108
- }
109
- },
110
- {
111
- key: "getValue",
112
- value: function getValue() {
113
- return this.value;
114
- }
115
- },
116
- {
117
- key: "getConditionBlock",
118
- value: function getConditionBlock() {
119
- return this.ifBlock;
120
- }
121
- },
122
- {
123
- key: "getElseBlock",
124
- value: function getElseBlock() {
125
- return this.elseBlock;
126
- }
127
- },
128
- {
129
- key: "evaluate",
130
- value: function evaluate(context) {
131
- var conditionalBlocksString = this.string; ///
132
- context.trace("Evaluating the '".concat(conditionalBlocksString, "' conditional blocks..."));
133
- var value = this.value.evaluate(context), valueType = value.getType();
134
- if (valueType !== _types.BOOLEAN_TYPE) {
135
- var valueString = value.asString(context), message = "The ".concat(valueString, " value's type is '").concat(valueType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
136
- throw exception;
137
- }
138
- var boolean = value.getBoolean();
139
- if (boolean) {
140
- this.ifBlock.evaluate(context);
141
- } else {
142
- if (this.elseBlock !== null) {
143
- this.elseBlock.evaluate(context);
144
- }
145
- }
146
- context.debug("...evaluated the '".concat(conditionalBlocksString, "' conditional blocks."));
147
- }
148
- }
149
- ], [
150
- {
151
- key: "fromStepNode",
152
- value: function fromStepNode(stepNode, context) {
153
- var conditionalBlocks = null;
154
- var conditionalBlocksNode = conditionalBlocksNodeQuery(stepNode);
155
- if (conditionalBlocksNode !== null) {
156
- var Block = _dom.default.Block, Value = _dom.default.Value, ifBlockNode = ifBlockNodeQuery(conditionalBlocksNode), elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode), value = Value.fromConditionalBlocksNode(conditionalBlocksNode, context), ifBlock = Block.fromBlockNode(ifBlockNode, context), elseBlock = Block.fromBlockNode(elseBlockNode, context), string = stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context);
157
- conditionalBlocks = new ConditionalBlocks(string, value, ifBlock, elseBlock);
158
- }
159
- return conditionalBlocks;
160
- }
161
- }
162
- ]);
163
- return ConditionalBlocks;
164
- }(), _define_property(_ConditionalBlocks, "name", "ConditionalBlocks"), _ConditionalBlocks));
165
- function stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context) {
166
- var string;
167
- var valueString = value.asString(context), ifBlockString = ifBlock.getString();
168
- string = "If (".concat(valueString, ") ").concat(ifBlockString);
169
- if (elseBlock !== null) {
170
- var elseBlockString = elseBlock.getString();
171
- string = "".concat(string, " Else ").concat(elseBlockString);
172
- }
173
- return string;
174
- }
175
-
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29uZGl0aW9uYWxCbG9ja3MuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmNvbnN0IHZhbHVlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbmRpdGlvbmFsQmxvY2tzL3ZhbHVlXCIpLFxuICAgICAgaWZCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1swXVwiKSxcbiAgICAgIGVsc2VCbG9ja05vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25kaXRpb25hbEJsb2Nrcy9ibG9ja1sxXVwiKSxcbiAgICAgIGNvbmRpdGlvbmFsQmxvY2tzTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0ZXAvY29uZGl0aW9uYWxCbG9ja3NcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIENvbmRpdGlvbmFsQmxvY2tzIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YWx1ZSwgaWZCbG9jaywgZWxzZUJsb2NrKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuaWZCbG9jayA9IGlmQmxvY2s7XG4gICAgdGhpcy5lbHNlQmxvY2sgPSBlbHNlQmxvY2s7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBnZXRDb25kaXRpb25CbG9jaygpIHtcbiAgICByZXR1cm4gdGhpcy5pZkJsb2NrO1xuICB9XG5cbiAgZ2V0RWxzZUJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmVsc2VCbG9jaztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBjb25kaXRpb25hbEJsb2Nrc1N0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2NvbmRpdGlvbmFsQmxvY2tzU3RyaW5nfScgY29uZGl0aW9uYWwgYmxvY2tzLi4uYCk7XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5nZXRCb29sZWFuKCk7XG5cbiAgICBpZiAoYm9vbGVhbikge1xuICAgICAgdGhpcy5pZkJsb2NrLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5lbHNlQmxvY2sgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5lbHNlQmxvY2suZXZhbHVhdGUoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtjb25kaXRpb25hbEJsb2Nrc1N0cmluZ30nIGNvbmRpdGlvbmFsIGJsb2Nrcy5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb25kaXRpb25hbEJsb2Nrc1wiO1xuXG4gIHN0YXRpYyBmcm9tU3RlcE5vZGUoc3RlcE5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgY29uZGl0aW9uYWxCbG9ja3MgPSBudWxsO1xuXG4gICAgY29uc3QgY29uZGl0aW9uYWxCbG9ja3NOb2RlID0gY29uZGl0aW9uYWxCbG9ja3NOb2RlUXVlcnkoc3RlcE5vZGUpO1xuXG4gICAgaWYgKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBCbG9jaywgVmFsdWUgfSA9IGRvbSxcbiAgICAgICAgICAgIGlmQmxvY2tOb2RlID0gaWZCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgZWxzZUJsb2NrTm9kZSA9IGVsc2VCbG9ja05vZGVRdWVyeShjb25kaXRpb25hbEJsb2Nrc05vZGUpLFxuICAgICAgICAgICAgdmFsdWUgPSBWYWx1ZS5mcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlKGNvbmRpdGlvbmFsQmxvY2tzTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBpZkJsb2NrID0gQmxvY2suZnJvbUJsb2NrTm9kZShpZkJsb2NrTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBlbHNlQmxvY2sgPSBCbG9jay5mcm9tQmxvY2tOb2RlKGVsc2VCbG9ja05vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVZhbHVlSWZCb2NrQW5kRWxzZUJvY2sodmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jaywgY29udGV4dCk7XG5cbiAgICAgIGNvbmRpdGlvbmFsQmxvY2tzID0gbmV3IENvbmRpdGlvbmFsQmxvY2tzKHN0cmluZywgdmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsQmxvY2tzO1xuICB9XG59KTtcblxuZnVuY3Rpb24gc3RyaW5nRnJvbVZhbHVlSWZCb2NrQW5kRWxzZUJvY2sodmFsdWUsIGlmQmxvY2ssIGVsc2VCbG9jaywgY29udGV4dCkge1xuICBsZXQgc3RyaW5nO1xuXG4gIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIGlmQmxvY2tTdHJpbmcgPSBpZkJsb2NrLmdldFN0cmluZygpO1xuXG4gIHN0cmluZyA9IGBJZiAoJHt2YWx1ZVN0cmluZ30pICR7aWZCbG9ja1N0cmluZ31gO1xuXG4gIGlmIChlbHNlQmxvY2sgIT09IG51bGwpIHtcbiAgICBjb25zdCBlbHNlQmxvY2tTdHJpbmcgPSBlbHNlQmxvY2suZ2V0U3RyaW5nKCk7XG5cbiAgICBzdHJpbmcgPSBgJHtzdHJpbmd9IEVsc2UgJHtlbHNlQmxvY2tTdHJpbmd9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59Il0sIm5hbWVzIjpbInZhbHVlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiaWZCbG9ja05vZGVRdWVyeSIsImVsc2VCbG9ja05vZGVRdWVyeSIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJDb25kaXRpb25hbEJsb2NrcyIsInN0cmluZyIsInZhbHVlIiwiaWZCbG9jayIsImVsc2VCbG9jayIsImdldFN0cmluZyIsImdldFZhbHVlIiwiZ2V0Q29uZGl0aW9uQmxvY2siLCJnZXRFbHNlQmxvY2siLCJldmFsdWF0ZSIsImNvbnRleHQiLCJjb25kaXRpb25hbEJsb2Nrc1N0cmluZyIsInRyYWNlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIkJPT0xFQU5fVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJib29sZWFuIiwiZ2V0Qm9vbGVhbiIsImRlYnVnIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJjb25kaXRpb25hbEJsb2NrcyIsImNvbmRpdGlvbmFsQmxvY2tzTm9kZSIsIkJsb2NrIiwiZG9tIiwiVmFsdWUiLCJpZkJsb2NrTm9kZSIsImVsc2VCbG9ja05vZGUiLCJmcm9tQ29uZGl0aW9uYWxCbG9ja3NOb2RlIiwiZnJvbUJsb2NrTm9kZSIsInN0cmluZ0Zyb21WYWx1ZUlmQm9ja0FuZEVsc2VCb2NrIiwibmFtZSIsImlmQmxvY2tTdHJpbmciLCJlbHNlQmxvY2tTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzJEQVpnQjtnRUFDTTtxQkFFSTtxQkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTUEsaUJBQWlCQyxJQUFBQSxnQkFBUyxFQUFDLDZCQUMzQkMsbUJBQW1CRCxJQUFBQSxnQkFBUyxFQUFDLGdDQUM3QkUscUJBQXFCRixJQUFBQSxnQkFBUyxFQUFDLGdDQUMvQkcsNkJBQTZCSCxJQUFBQSxnQkFBUyxFQUFDO0lBRTdDLFdBQWVJLElBQUFBLGdCQUFXLHNDQUFDO2FBQU1DLGtCQUNuQkMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsU0FBUztnQ0FEZEo7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBOzs7O1lBR25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLE1BQU07WUFDcEI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNKLEtBQUs7WUFDbkI7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJ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