occam-furtle 2.0.279 → 2.0.282

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 (133) hide show
  1. package/README.md +0 -11
  2. package/lib/constants.js +29 -1
  3. package/lib/context/block.js +15 -1
  4. package/lib/context/file.js +127 -50
  5. package/lib/element/assignment/array.js +186 -0
  6. package/lib/element/assignment/object.js +244 -0
  7. package/lib/element/assignment/variable.js +144 -0
  8. package/lib/element/assignments/variable.js +158 -0
  9. package/lib/element/block/return.js +198 -0
  10. package/lib/element/comparison.js +179 -0
  11. package/lib/element/declaration/procedure.js +139 -0
  12. package/lib/{dom → element}/error.js +12 -4
  13. package/lib/element/every.js +179 -0
  14. package/lib/element/expression/bitwise.js +186 -0
  15. package/lib/element/expression/bracketed.js +149 -0
  16. package/lib/element/expression/negated.js +166 -0
  17. package/lib/element/expression.js +578 -0
  18. package/lib/element/expressions.js +210 -0
  19. package/lib/{dom → element}/label.js +4 -4
  20. package/lib/element/parameter/named.js +198 -0
  21. package/lib/element/parameter.js +165 -0
  22. package/lib/element/parameters/named.js +220 -0
  23. package/lib/element/parameters.js +198 -0
  24. package/lib/element/procedure/anonymous.js +181 -0
  25. package/lib/element/procedure.js +212 -0
  26. package/lib/element/procedureCall.js +166 -0
  27. package/lib/element/query/node.js +186 -0
  28. package/lib/element/query/nodes.js +179 -0
  29. package/lib/element/reduce.js +181 -0
  30. package/lib/element/reference.js +138 -0
  31. package/lib/element/some.js +179 -0
  32. package/lib/element/statement/return.js +138 -0
  33. package/lib/element/step.js +154 -0
  34. package/lib/element/ternary.js +171 -0
  35. package/lib/element/variable.js +279 -0
  36. package/lib/elements.js +27 -0
  37. package/lib/index.js +10 -2
  38. package/lib/log.js +202 -0
  39. package/lib/preamble.js +32 -32
  40. package/lib/process/verify.js +289 -0
  41. package/lib/utilities/context.js +46 -5
  42. package/package.json +3 -1
  43. package/src/constants.js +16 -0
  44. package/src/context/block.js +10 -0
  45. package/src/context/file.js +96 -54
  46. package/src/{dom → element}/assignment/array.js +6 -6
  47. package/src/{dom → element}/assignment/object.js +8 -8
  48. package/src/{dom → element}/assignment/variable.js +4 -4
  49. package/src/{dom → element}/assignments/variable.js +5 -5
  50. package/src/{dom → element}/block/return.js +5 -5
  51. package/src/{dom → element}/comparison.js +5 -5
  52. package/src/{dom → element}/declaration/procedure.js +22 -4
  53. package/src/{dom → element}/error.js +13 -4
  54. package/src/{dom → element}/every.js +6 -6
  55. package/src/{dom → element}/expression/bitwise.js +5 -5
  56. package/src/{dom → element}/expression/bracketed.js +4 -4
  57. package/src/{dom → element}/expression/negated.js +5 -5
  58. package/src/{dom → element}/expression.js +4 -4
  59. package/src/{dom → element}/expressions.js +6 -6
  60. package/src/{dom → element}/label.js +4 -4
  61. package/src/{dom → element}/parameter/named.js +4 -4
  62. package/src/{dom → element}/parameter.js +4 -4
  63. package/src/{dom → element}/parameters/named.js +5 -5
  64. package/src/{dom → element}/parameters.js +5 -5
  65. package/src/{dom → element}/procedure/anonymous.js +4 -4
  66. package/src/{dom → element}/procedure.js +5 -5
  67. package/src/{dom → element}/procedureCall.js +4 -4
  68. package/src/{dom → element}/query/node.js +5 -5
  69. package/src/{dom → element}/query/nodes.js +5 -5
  70. package/src/{dom → element}/reduce.js +5 -5
  71. package/src/{dom → element}/reference.js +4 -4
  72. package/src/{dom → element}/some.js +6 -6
  73. package/src/{dom → element}/statement/return.js +4 -4
  74. package/src/{dom → element}/step.js +4 -4
  75. package/src/{dom → element}/ternary.js +4 -4
  76. package/src/{dom → element}/variable.js +5 -5
  77. package/src/elements.js +13 -0
  78. package/src/index.js +5 -1
  79. package/src/log.js +139 -0
  80. package/src/preamble.js +31 -31
  81. package/src/process/verify.js +157 -0
  82. package/src/utilities/context.js +45 -2
  83. package/test/Free and bound variables.ftl +112 -0
  84. package/test/context/file.js +127 -0
  85. package/{src/example → test}/context/release.js +60 -12
  86. package/test/helpers/constants.js +17 -0
  87. package/{src/example/utilities → test/helpers}/expressions.js +8 -4
  88. package/{src/example/utilities → test/helpers}/furtle.js +8 -4
  89. package/{src/example/utilities → test/helpers}/grammar.js +8 -4
  90. package/{src/example/utilities → test/helpers}/nominal.js +10 -5
  91. package/{src/example/utilities → test/helpers}/procedure.js +6 -2
  92. package/test/main.js +55 -0
  93. package/example/Free and bound variables.ftl +0 -75
  94. package/lib/dom/assignment/array.js +0 -186
  95. package/lib/dom/assignment/object.js +0 -244
  96. package/lib/dom/assignment/variable.js +0 -144
  97. package/lib/dom/assignments/variable.js +0 -158
  98. package/lib/dom/block/return.js +0 -198
  99. package/lib/dom/comparison.js +0 -179
  100. package/lib/dom/declaration/procedure.js +0 -125
  101. package/lib/dom/every.js +0 -179
  102. package/lib/dom/expression/bitwise.js +0 -186
  103. package/lib/dom/expression/bracketed.js +0 -149
  104. package/lib/dom/expression/negated.js +0 -166
  105. package/lib/dom/expression.js +0 -578
  106. package/lib/dom/expressions.js +0 -210
  107. package/lib/dom/parameter/named.js +0 -198
  108. package/lib/dom/parameter.js +0 -165
  109. package/lib/dom/parameters/named.js +0 -220
  110. package/lib/dom/parameters.js +0 -198
  111. package/lib/dom/procedure/anonymous.js +0 -181
  112. package/lib/dom/procedure.js +0 -212
  113. package/lib/dom/procedureCall.js +0 -166
  114. package/lib/dom/query/node.js +0 -186
  115. package/lib/dom/query/nodes.js +0 -179
  116. package/lib/dom/reduce.js +0 -181
  117. package/lib/dom/reference.js +0 -138
  118. package/lib/dom/some.js +0 -179
  119. package/lib/dom/statement/return.js +0 -138
  120. package/lib/dom/step.js +0 -154
  121. package/lib/dom/ternary.js +0 -171
  122. package/lib/dom/variable.js +0 -279
  123. package/lib/dom.js +0 -27
  124. package/lib/example/context/file.js +0 -130
  125. package/lib/example/context/release.js +0 -160
  126. package/lib/example/utilities/expressions.js +0 -29
  127. package/lib/example/utilities/furtle.js +0 -19
  128. package/lib/example/utilities/grammar.js +0 -26
  129. package/lib/example/utilities/nominal.js +0 -25
  130. package/lib/example/utilities/procedure.js +0 -18
  131. package/src/dom.js +0 -13
  132. package/src/example/context/file.js +0 -69
  133. /package/{example → test}/customGrammars.json +0 -0
@@ -1,186 +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 _ArrayAssigment;
94
- var stepArrayAssignmentNodeQuery = (0, _query.nodeQuery)("/step/arrayAssignment");
95
- var _default = (0, _dom.domAssigned)((_ArrayAssigment = /*#__PURE__*/ function() {
96
- function ArrayAssigment(string, variable, parameters) {
97
- _class_call_check(this, ArrayAssigment);
98
- this.string = string;
99
- this.variable = variable;
100
- this.parameters = parameters;
101
- }
102
- _create_class(ArrayAssigment, [
103
- {
104
- key: "getString",
105
- value: function getString() {
106
- return this.string;
107
- }
108
- },
109
- {
110
- key: "getVariable",
111
- value: function getVariable() {
112
- return this.variable;
113
- }
114
- },
115
- {
116
- key: "getVariables",
117
- value: function getVariables() {
118
- return this.parameters;
119
- }
120
- },
121
- {
122
- key: "evaluate",
123
- value: function evaluate(context) {
124
- var _this = this;
125
- var arrayAssignmentString = this.string; ///
126
- context.trace("Evaluating the '".concat(arrayAssignmentString, "' array assignment..."));
127
- var expression = this.variable.evaluate(context), expressionType = expression.getType();
128
- if (expressionType !== _types.NODES_TYPE) {
129
- var expressionString = expression.asString(context), message = "The ".concat(expressionString, " expression's '").concat(expressionType, "' type should be '").concat(_types.NODES_TYPE, "'."), exception = _exception.default.fromMessage(message);
130
- throw exception;
131
- }
132
- var nodes = expression.getNodes(), nodesLength = nodes.length, parametersLength = this.parameters.getLength();
133
- if (parametersLength > nodesLength) {
134
- var parametersString = this.parameters.getString(), nodesString = context.nodesAsString(nodex), message1 = "The length of the '".concat(parametersString, "' parameters is greater than the length of the '").concat(nodesString, "' nodes."), exception1 = _exception.default.fromMessage(message1);
135
- throw exception1;
136
- }
137
- this.parameters.forEachParameter(function(parameter, index) {
138
- if (parameter !== null) {
139
- var Expression = _dom.default.Expression, node = nodes[index], expression = Expression.fromNode(node, context);
140
- _this.evaluateParameter(parameter, expression, context);
141
- }
142
- });
143
- context.debug("...evaluated the '".concat(arrayAssignmentString, "' array assignment."));
144
- }
145
- },
146
- {
147
- key: "evaluateParameter",
148
- value: function evaluateParameter(parameter, expression, context) {
149
- var expressionString = expression.asString(context), parameterString = parameter.getString();
150
- context.trace("Evaluating the '".concat(parameterString, "' parameter against the ").concat(expressionString, " expression..."));
151
- var parameterType = parameter.getType();
152
- if (parameterType !== _types.NODE_TYPE) {
153
- var message = "The type of the '".concat(parameterString, "' parameter should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
154
- throw exception;
155
- }
156
- var Variable = _dom.default.Variable, variable = Variable.fromParameter(parameter, context);
157
- variable.assign(expression, context);
158
- context.debug("...evaluated the '".concat(parameterString, "' parameter against the ").concat(expressionString, " expression."));
159
- }
160
- }
161
- ], [
162
- {
163
- key: "fromStepNode",
164
- value: function fromStepNode(stepNode, context) {
165
- var arrayAssignment = null;
166
- var stepArrayAssignmentNode = stepArrayAssignmentNodeQuery(stepNode);
167
- if (stepArrayAssignmentNode !== null) {
168
- var arrayAssignmentNode = stepArrayAssignmentNode; ///
169
- arrayAssignment = arrayAssignmentFromArrayAssignmentNode(arrayAssignmentNode, context);
170
- }
171
- return arrayAssignment;
172
- }
173
- }
174
- ]);
175
- return ArrayAssigment;
176
- }(), _define_property(_ArrayAssigment, "name", "ArrayAssignment"), _ArrayAssigment));
177
- function arrayAssignmentFromArrayAssignmentNode(arrayAssignmentNode, context) {
178
- var Variable = _dom.default.Variable, Parameters = _dom.default.Parameters, ArrayAssignment = _dom.default.ArrayAssignment, parameters = Parameters.fromArrayAssignmentNode(arrayAssignmentNode, context), variable = Variable.fromArrayAssignmentNode(arrayAssignmentNode, context), string = stringFromVariableAndParameters(variable, parameters, context), arrayAssignment = new ArrayAssignment(string, variable, parameters);
179
- return arrayAssignment;
180
- }
181
- function stringFromVariableAndParameters(variable, parameters, context) {
182
- var variableString = variable.getString(), parametersString = parameters.getString(), string = "[ ".concat(parametersString, " ] = ").concat(variableString, ";");
183
- return string;
184
- }
185
-
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9hcnJheS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5pbXBvcnQgeyBOT0RFX1RZUEUsIE5PREVTX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcblxuY29uc3Qgc3RlcEFycmF5QXNzaWdubWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGVwL2FycmF5QXNzaWdubWVudFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQXJyYXlBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBhcnJheUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHthcnJheUFzc2lnbm1lbnRTdHJpbmd9JyBhcnJheSBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICBleHByZXNzaW9uVHlwZSA9IGV4cHJlc3Npb24uZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSBOT0RFU19UWVBFKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzICcke2V4cHJlc3Npb25UeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERVNfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IGV4cHJlc3Npb24uZ2V0Tm9kZXMoKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aCxcbiAgICAgICAgICBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmdldExlbmd0aCgpO1xuXG4gICAgaWYgKHBhcmFtZXRlcnNMZW5ndGggPiBub2Rlc0xlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1ldGVyc1N0cmluZyA9IHRoaXMucGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG5vZGVzU3RyaW5nID0gY29udGV4dC5ub2Rlc0FzU3RyaW5nKG5vZGV4KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlIGxlbmd0aCBvZiB0aGUgJyR7cGFyYW1ldGVyc1N0cmluZ30nIHBhcmFtZXRlcnMgaXMgZ3JlYXRlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlICcke25vZGVzU3RyaW5nfScgbm9kZXMuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGFyYW1ldGVycy5mb3JFYWNoUGFyYW1ldGVyKChwYXJhbWV0ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAocGFyYW1ldGVyICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZG9tLFxuICAgICAgICAgICAgICBub2RlID0gbm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgICBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgICAgICB0aGlzLmV2YWx1YXRlUGFyYW1ldGVyKHBhcmFtZXRlciwgZXhwcmVzc2lvbiwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2FycmF5QXNzaWdubWVudFN0cmluZ30nIGFycmF5IGFzc2lnbm1lbnQuYCk7XG4gIH1cblxuICBldmFsdWF0ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtwYXJhbWV0ZXJTdHJpbmd9JyBwYXJhbWV0ZXIgYWdhaW5zdCB0aGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uLi4uYCk7XG5cbiAgICBjb25zdCBwYXJhbWV0ZXJUeXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmIChwYXJhbWV0ZXJUeXBlICE9PSBOT0RFX1RZUEUpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlIHR5cGUgb2YgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21QYXJhbWV0ZXIocGFyYW1ldGVyLCBjb250ZXh0KTtcblxuICAgIHZhcmlhYmxlLmFzc2lnbihleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyIGFnYWluc3QgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbi5gKTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJBcnJheUFzc2lnbm1lbnRcIjtcblxuICBzdGF0aWMgZnJvbVN0ZXBOb2RlKHN0ZXBOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGFycmF5QXNzaWdubWVudCA9IG51bGw7XG5cbiAgICBjb25zdCBzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZSA9IHN0ZXBBcnJheUFzc2lnbm1lbnROb2RlUXVlcnkoc3RlcE5vZGUpO1xuXG4gICAgaWYgKHN0ZXBBcnJheUFzc2lnbm1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBhcnJheUFzc2lnbm1lbnROb2RlID0gc3RlcEFycmF5QXNzaWdubWVudE5vZGU7ICAvLy9cblxuICAgICAgYXJyYXlBc3NpZ25tZW50ID0gYXJyYXlBc3NpZ25tZW50RnJvbUFycmF5QXNzaWdubWVudE5vZGUoYXJyYXlBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFycmF5QXNzaWdubWVudDtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGFycmF5QXNzaWdubWVudEZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgUGFyYW1ldGVycywgQXJyYXlBc3NpZ25tZW50IH0gPSBkb20sXG4gICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzLmZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzKHZhcmlhYmxlLCBwYXJhbWV0ZXJzLCBjb250ZXh0KSxcbiAgICAgICAgYXJyYXlBc3NpZ25tZW50ID0gbmV3IEFycmF5QXNzaWdubWVudChzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKTtcblxuICByZXR1cm4gYXJyYXlBc3NpZ25tZW50O1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzKHZhcmlhYmxlLCBwYXJhbWV0ZXJzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgWyAke3BhcmFtZXRlcnNTdHJpbmd9IF0gPSAke3ZhcmlhYmxlU3RyaW5nfTtgO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsic3RlcEFycmF5QXNzaWdubWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQXJyYXlBc3NpZ21lbnQiLCJzdHJpbmciLCJ2YXJpYWJsZSIsInBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFZhcmlhYmxlcyIsImV2YWx1YXRlIiwiY29udGV4dCIsImFycmF5QXNzaWdubWVudFN0cmluZyIsInRyYWNlIiwiZXhwcmVzc2lvbiIsImV4cHJlc3Npb25UeXBlIiwiZ2V0VHlwZSIsIk5PREVTX1RZUEUiLCJleHByZXNzaW9uU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlcyIsImdldE5vZGVzIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJwYXJhbWV0ZXJzTGVuZ3RoIiwiZ2V0TGVuZ3RoIiwicGFyYW1ldGVyc1N0cmluZyIsIm5vZGVzU3RyaW5nIiwibm9kZXNBc1N0cmluZyIsIm5vZGV4IiwiZm9yRWFjaFBhcmFtZXRlciIsInBhcmFtZXRlciIsImluZGV4IiwiRXhwcmVzc2lvbiIsImRvbSIsIm5vZGUiLCJmcm9tTm9kZSIsImV2YWx1YXRlUGFyYW1ldGVyIiwiZGVidWciLCJwYXJhbWV0ZXJTdHJpbmciLCJwYXJhbWV0ZXJUeXBlIiwiTk9ERV9UWVBFIiwiVmFyaWFibGUiLCJmcm9tUGFyYW1ldGVyIiwiYXNzaWduIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJhcnJheUFzc2lnbm1lbnQiLCJzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZSIsImFycmF5QXNzaWdubWVudE5vZGUiLCJhcnJheUFzc2lnbm1lbnRGcm9tQXJyYXlBc3NpZ25tZW50Tm9kZSIsIm5hbWUiLCJQYXJhbWV0ZXJzIiwiQXJyYXlBc3NpZ25tZW50IiwiZnJvbUFycmF5QXNzaWdubWVudE5vZGUiLCJzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzIiwidmFyaWFibGVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7OzJEQVRnQjtnRUFDTTtxQkFFSTtxQkFFWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
@@ -1,244 +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 _nodeProperties = /*#__PURE__*/ _interop_require_default(require("../../nodeProperties"));
14
- var _query = require("../../utilities/query");
15
- var _types = require("../../types");
16
- var _parameterNames = require("../../parameterNames");
17
- function _class_call_check(instance, Constructor) {
18
- if (!(instance instanceof Constructor)) {
19
- throw new TypeError("Cannot call a class as a function");
20
- }
21
- }
22
- function _defineProperties(target, props) {
23
- for(var i = 0; i < props.length; i++){
24
- var descriptor = props[i];
25
- descriptor.enumerable = descriptor.enumerable || false;
26
- descriptor.configurable = true;
27
- if ("value" in descriptor) descriptor.writable = true;
28
- Object.defineProperty(target, descriptor.key, descriptor);
29
- }
30
- }
31
- function _create_class(Constructor, protoProps, staticProps) {
32
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33
- if (staticProps) _defineProperties(Constructor, staticProps);
34
- return Constructor;
35
- }
36
- function _define_property(obj, key, value) {
37
- if (key in obj) {
38
- Object.defineProperty(obj, key, {
39
- value: value,
40
- enumerable: true,
41
- configurable: true,
42
- writable: true
43
- });
44
- } else {
45
- obj[key] = value;
46
- }
47
- return obj;
48
- }
49
- function _interop_require_default(obj) {
50
- return obj && obj.__esModule ? obj : {
51
- default: obj
52
- };
53
- }
54
- function _getRequireWildcardCache(nodeInterop) {
55
- if (typeof WeakMap !== "function") return null;
56
- var cacheBabelInterop = new WeakMap();
57
- var cacheNodeInterop = new WeakMap();
58
- return (_getRequireWildcardCache = function(nodeInterop) {
59
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
60
- })(nodeInterop);
61
- }
62
- function _interop_require_wildcard(obj, nodeInterop) {
63
- if (!nodeInterop && obj && obj.__esModule) {
64
- return obj;
65
- }
66
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
67
- return {
68
- default: obj
69
- };
70
- }
71
- var cache = _getRequireWildcardCache(nodeInterop);
72
- if (cache && cache.has(obj)) {
73
- return cache.get(obj);
74
- }
75
- var newObj = {
76
- __proto__: null
77
- };
78
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
79
- for(var key in obj){
80
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
81
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
82
- if (desc && (desc.get || desc.set)) {
83
- Object.defineProperty(newObj, key, desc);
84
- } else {
85
- newObj[key] = obj[key];
86
- }
87
- }
88
- }
89
- newObj.default = obj;
90
- if (cache) {
91
- cache.set(obj, newObj);
92
- }
93
- return newObj;
94
- }
95
- var _ObjectAssigment;
96
- var stepObjectAssignmentNodeQuery = (0, _query.nodeQuery)("/step/objectAssignment");
97
- var _default = (0, _dom.domAssigned)((_ObjectAssigment = /*#__PURE__*/ function() {
98
- function ObjectAssigment(string, variable, namedParameters) {
99
- _class_call_check(this, ObjectAssigment);
100
- this.string = string;
101
- this.variable = variable;
102
- this.namedParameters = namedParameters;
103
- }
104
- _create_class(ObjectAssigment, [
105
- {
106
- key: "getString",
107
- value: function getString() {
108
- return this.string;
109
- }
110
- },
111
- {
112
- key: "getVariable",
113
- value: function getVariable() {
114
- return this.variable;
115
- }
116
- },
117
- {
118
- key: "getNamedParameters",
119
- value: function getNamedParameters() {
120
- return this.namedParameters;
121
- }
122
- },
123
- {
124
- key: "evaluate",
125
- value: function evaluate(context) {
126
- var _this = this;
127
- var objectAssignmentString = this.string; ///
128
- context.trace("Evaluating the '".concat(objectAssignmentString, "' object assignment..."));
129
- var expression = this.variable.evaluate(context), expressionType = expression.getType();
130
- if (expressionType !== _types.NODE_TYPE) {
131
- var expressionString = expression.asString(context), message = "The ".concat(expressionString, " expression's '").concat(expressionType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
132
- throw exception;
133
- }
134
- _nodeProperties.default.matchNamedParameters(this.namedParameters, context);
135
- this.namedParameters.forEachNamedParameter(function(namedParameter) {
136
- _this.evaluateNamedParameter(namedParameter, expression, context);
137
- });
138
- context.debug("...evaluated the '".concat(objectAssignmentString, "' object assignment."));
139
- }
140
- },
141
- {
142
- key: "evaluateNamedParameter",
143
- value: function evaluateNamedParameter(namedParameter, expression, context) {
144
- var expressionString = expression.asString(context), namedParameterString = namedParameter.getString();
145
- context.trace("Evaluating the '".concat(namedParameterString, "' named parameter against the ").concat(expressionString, " expression..."));
146
- var name = namedParameter.getName();
147
- switch(name){
148
- case _parameterNames.CONTENT_PARAMETER_NAME:
149
- {
150
- expression = this.evaluateContentNamedParameter(namedParameter, expression, context);
151
- break;
152
- }
153
- case _parameterNames.TERMINAL_PARAMETER_NAME:
154
- {
155
- expression = this.evaluateTerminalNamedParameter(namedParameter, expression, context);
156
- break;
157
- }
158
- case _parameterNames.CHILD_NODES_PARAMETER_NAME:
159
- {
160
- expression = this.evaluateChildNodesNamedParameter(namedParameter, expression, context);
161
- break;
162
- }
163
- }
164
- var Variable = _dom.default.Variable, variable = Variable.fromNamedParameter(namedParameter, context);
165
- variable.assign(expression, context);
166
- context.debug("...evaluated the '".concat(namedParameterString, "' parameter named against the ").concat(expressionString, " expression."));
167
- }
168
- },
169
- {
170
- key: "evaluateContentNamedParameter",
171
- value: function evaluateContentNamedParameter(namedParameter, expression, context) {
172
- var type = namedParameter.getType();
173
- if (type !== _types.STRING_TYPE) {
174
- var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.STRING_TYPE, "'."), exception = _exception.default.fromMessage(message);
175
- throw exception;
176
- }
177
- var node = expression.getNode(), nodeTerminalNode = node.isTerminalNode();
178
- if (!nodeTerminalNode) {
179
- var expressionString = expression.asString(context), message1 = "The ".concat(expressionString, " expression's node must be terminal."), exception1 = _exception.default.fromMessage(message1);
180
- throw exception1;
181
- }
182
- var Expression = _dom.default.Expression, terminalNode = node, content = terminalNode.getContent(), string = content; ///
183
- expression = Expression.fromString(string, context); ///
184
- return expression;
185
- }
186
- },
187
- {
188
- key: "evaluateTerminalNamedParameter",
189
- value: function evaluateTerminalNamedParameter(namedParameter, expression, context) {
190
- var type = namedParameter.getType();
191
- if (type !== _types.BOOLEAN_TYPE) {
192
- var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
193
- throw exception;
194
- }
195
- var node = expression.getNode(), nodeTerminalNode = node.isTerminalNode(), terminal = nodeTerminalNode; ///
196
- var Expression = _dom.default.Expression, boolean = terminal; ///
197
- expression = Expression.fromBoolean(boolean, context); ///
198
- return expression;
199
- }
200
- },
201
- {
202
- key: "evaluateChildNodesNamedParameter",
203
- value: function evaluateChildNodesNamedParameter(namedParameter, expression, context) {
204
- var type = namedParameter.getType();
205
- if (type !== _types.NODES_TYPE) {
206
- var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.NODES_TYPE, "'."), exception = _exception.default.fromMessage(message);
207
- throw exception;
208
- }
209
- var node = expression.getNode(), nodeNonTerminalNode = node.isNonTerminalNode();
210
- if (!nodeNonTerminalNode) {
211
- var expressionString = expression.asString(context), message1 = "The ".concat(expressionString, " expression's node must be non-terminal."), exception1 = _exception.default.fromMessage(message1);
212
- throw exception1;
213
- }
214
- var Expression = _dom.default.Expression, nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes; ///
215
- expression = Expression.fromNodes(nodes, context); ///
216
- return expression;
217
- }
218
- }
219
- ], [
220
- {
221
- key: "fromStepNode",
222
- value: function fromStepNode(stepNode, context) {
223
- var objectAssignment = null;
224
- var stepObjectAssignmentNode = stepObjectAssignmentNodeQuery(stepNode);
225
- if (stepObjectAssignmentNode !== null) {
226
- var objectAssignmentNode = stepObjectAssignmentNode; ///
227
- objectAssignment = objectAssignmentFromObjectAssignmentNode(objectAssignmentNode, context);
228
- }
229
- return objectAssignment;
230
- }
231
- }
232
- ]);
233
- return ObjectAssigment;
234
- }(), _define_property(_ObjectAssigment, "name", "ObjectAssigment"), _ObjectAssigment));
235
- function objectAssignmentFromObjectAssignmentNode(objectAssignmentNode, context) {
236
- var Variable = _dom.default.Variable, NamedParameters = _dom.default.NamedParameters, ObjectAssigment = _dom.default.ObjectAssigment, namedParameters = NamedParameters.fromObjectAssignmentNode(objectAssignmentNode, context), variable = Variable.fromObjectAssignmentNode(objectAssignmentNode, context), string = stringFromVariableAndNamesParameters(variable, namedParameters, context), objectAssignment = new ObjectAssigment(string, variable, namedParameters);
237
- return objectAssignment;
238
- }
239
- function stringFromVariableAndNamesParameters(variable, namedParameters, context) {
240
- var namedParametersString = namedParameters.getString(), variableString = variable.getString(), string = "{ ".concat(namedParametersString, " } = ").concat(variableString, ";");
241
- return string;
242
- }
243
-
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC9vYmplY3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5pbXBvcnQgbm9kZVByb3BlcnRpZXMgZnJvbSBcIi4uLy4uL25vZGVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgTk9ERV9UWVBFLCBOT0RFU19UWVBFLCBTVFJJTkdfVFlQRSwgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDT05URU5UX1BBUkFNRVRFUl9OQU1FLCBURVJNSU5BTF9QQVJBTUVURVJfTkFNRSwgQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUgfSBmcm9tIFwiLi4vLi4vcGFyYW1ldGVyTmFtZXNcIjtcblxuY29uc3Qgc3RlcE9iamVjdEFzc2lnbm1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RlcC9vYmplY3RBc3NpZ25tZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBPYmplY3RBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBuYW1lZFBhcmFtZXRlcnMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZFBhcmFtZXRlcnMgPSBuYW1lZFBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXROYW1lZFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZWRQYXJhbWV0ZXJzO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBub2RlUHJvcGVydGllcy5tYXRjaE5hbWVkUGFyYW1ldGVycyh0aGlzLm5hbWVkUGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICB0aGlzLm5hbWVkUGFyYW1ldGVycy5mb3JFYWNoTmFtZWRQYXJhbWV0ZXIoKG5hbWVkUGFyYW1ldGVyKSA9PiB7XG4gICAgICB0aGlzLmV2YWx1YXRlTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG4gIH1cblxuICBldmFsdWF0ZU5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgbmFtZWRQYXJhbWV0ZXJTdHJpbmcgPSBuYW1lZFBhcmFtZXRlci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgbmFtZWQgcGFyYW1ldGVyIGFnYWluc3QgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbi4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkUGFyYW1ldGVyLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmV2YWx1YXRlQ29udGVudE5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBleHByZXNzaW9uID0gdGhpcy5ldmFsdWF0ZVRlcm1pbmFsTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGNvbnRleHQpO1xuXG4gICAgdmFyaWFibGUuYXNzaWduKGV4cHJlc3Npb24sIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtuYW1lZFBhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBuYW1lZCBhZ2FpbnN0IHRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24uYCk7XG4gIH1cblxuICBldmFsdWF0ZUNvbnRlbnROYW1lZFBhcmFtZXRlcihuYW1lZFBhcmFtZXRlciwgZXhwcmVzc2lvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZFBhcmFtZXRlci5nZXRUeXBlKCk7XG5cbiAgICBpZiAodHlwZSAhPT0gU1RSSU5HX1RZUEUpIHtcbiAgICAgIGNvbnN0IG5hbWVkUGFyYW1ldGVyU3RyaW5nID0gbmFtZWRQYXJhbWV0ZXIuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZFBhcmFtZXRlclN0cmluZ30nIG5hbWVkIHBhcmFtZXRlcidzIHR5cGUgc2hvdWxkIGJlICcke1NUUklOR19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBleHByZXNzaW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIG5vZGUgbXVzdCBiZSB0ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgeyBFeHByZXNzaW9uIH0gPSBkb20sXG4gICAgICAgICAgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQ7ICAvLy9cblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21TdHJpbmcoc3RyaW5nLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBldmFsdWF0ZVRlcm1pbmFsTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRQYXJhbWV0ZXIuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgY29uc3QgbmFtZWRQYXJhbWV0ZXJTdHJpbmcgPSBuYW1lZFBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgbmFtZWQgcGFyYW1ldGVyJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBleHByZXNzaW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHRlcm1pbmFsID0gbm9kZVRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgY29uc3QgeyBFeHByZXNzaW9uIH0gPSBkb20sXG4gICAgICAgICAgYm9vbGVhbiA9IHRlcm1pbmFsOyAvLy9cblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpOyAgLy8vXG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBOT0RFU19UWVBFKSB7XG4gICAgICBjb25zdCBuYW1lZFBhcmFtZXRlclN0cmluZyA9IG5hbWVkUGFyYW1ldGVyLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRQYXJhbWV0ZXJTdHJpbmd9JyBuYW1lZCBwYXJhbWV0ZXIncyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBleHByZXNzaW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZG9tLFxuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXM7ICAvLy9cblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Ob2Rlcyhub2RlcywgY29udGV4dCk7ICAvLy9cblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbWVudFwiO1xuXG4gIHN0YXRpYyBmcm9tU3RlcE5vZGUoc3RlcE5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgb2JqZWN0QXNzaWdubWVudCA9IG51bGw7XG5cbiAgICBjb25zdCBzdGVwT2JqZWN0QXNzaWdubWVudE5vZGUgPSBzdGVwT2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeShzdGVwTm9kZSk7XG5cbiAgICBpZiAoc3RlcE9iamVjdEFzc2lnbm1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50Tm9kZSA9IHN0ZXBPYmplY3RBc3NpZ25tZW50Tm9kZTsgIC8vL1xuXG4gICAgICBvYmplY3RBc3NpZ25tZW50ID0gb2JqZWN0QXNzaWdubWVudEZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdEFzc2lnbm1lbnQ7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBvYmplY3RBc3NpZ25tZW50RnJvbU9iamVjdEFzc2lnbm1lbnROb2RlKG9iamVjdEFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUsIE5hbWVkUGFyYW1ldGVycywgT2JqZWN0QXNzaWdtZW50IH0gPSBkb20sXG4gICAgICAgIG5hbWVkUGFyYW1ldGVycyA9IE5hbWVkUGFyYW1ldGVycy5mcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21WYXJpYWJsZUFuZE5hbWVzUGFyYW1ldGVycyh2YXJpYWJsZSwgbmFtZWRQYXJhbWV0ZXJzLCBjb250ZXh0KSxcbiAgICAgICAgb2JqZWN0QXNzaWdubWVudCA9IG5ldyBPYmplY3RBc3NpZ21lbnQoc3RyaW5nLCB2YXJpYWJsZSwgbmFtZWRQYXJhbWV0ZXJzKTtcblxuICByZXR1cm4gb2JqZWN0QXNzaWdubWVudDtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVZhcmlhYmxlQW5kTmFtZXNQYXJhbWV0ZXJzKHZhcmlhYmxlLCBuYW1lZFBhcmFtZXRlcnMsIGNvbnRleHQpIHtcbiAgY29uc3QgbmFtZWRQYXJhbWV0ZXJzU3RyaW5nID0gbmFtZWRQYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgeyAke25hbWVkUGFyYW1ldGVyc1N0cmluZ30gfSA9ICR7dmFyaWFibGVTdHJpbmd9O2A7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJzdGVwT2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiT2JqZWN0QXNzaWdtZW50Iiwic3RyaW5nIiwidmFyaWFibGUiLCJuYW1lZFBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldE5hbWVkUGFyYW1ldGVycyIsImV2YWx1YXRlIiwiY29udGV4dCIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJ0cmFjZSIsImV4cHJlc3Npb24iLCJleHByZXNzaW9uVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJleHByZXNzaW9uU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlUHJvcGVydGllcyIsIm1hdGNoTmFtZWRQYXJhbWV0ZXJzIiwiZm9yRWFjaE5hbWVkUGFyYW1ldGVyIiwibmFtZWRQYXJhbWV0ZXIiLCJldmFsdWF0ZU5hbWVkUGFyYW1ldGVyIiwiZGVidWciLCJuYW1lZFBhcmFtZXRlclN0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiQ09OVEVOVF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ29udGVudE5hbWVkUGFyYW1ldGVyIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRQYXJhbWV0ZXIiLCJDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkUGFyYW1ldGVyIiwiVmFyaWFibGUiLCJkb20iLCJmcm9tTmFtZWRQYXJhbWV0ZXIiLCJhc3NpZ24iLCJ0eXBlIiwiU1RSSU5HX1RZUEUiLCJub2RlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsIkV4cHJlc3Npb24iLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImZyb21TdHJpbmciLCJCT09MRUFOX1RZUEUiLCJ0ZXJtaW5hbCIsImJvb2xlYW4iLCJmcm9tQm9vbGVhbiIsIk5PREVTX1RZUEUiLCJub2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vZGVzIiwiZnJvbU5vZGVzIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJvYmplY3RBc3NpZ25tZW50Iiwic3RlcE9iamVjdEFzc2lnbm1lbnROb2RlIiwib2JqZWN0QXNzaWdubWVudE5vZGUiLCJvYmplY3RBc3NpZ25tZW50RnJvbU9iamVjdEFzc2lnbm1lbnROb2RlIiwiTmFtZWRQYXJhbWV0ZXJzIiwiZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlIiwic3RyaW5nRnJvbVZhcmlhYmxlQW5kTmFtZXNQYXJhbWV0ZXJzIiwibmFtZWRQYXJhbWV0ZXJzU3RyaW5nIiwidmFyaWFibGVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWFBOzs7ZUFBQTs7OzJEQVhnQjtnRUFDTTtxRUFDSztxQkFFRDtxQkFFdUM7OEJBQzJCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1RixJQUFNQSxnQ0FBZ0NDLElBQUFBLGdCQUFTLEVBQUM7SUFFaEQsV0FBZUMsSUFBQUEsZ0JBQVcsb0NBQUM7YUFBTUMsZ0JBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsZUFBZTtnQ0FEZEg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsZUFBZSxHQUFHQTs7OztZQUd6QkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxRQUFRO1lBQ3RCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxlQUFlO1lBQzdCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNDLE9BQU87O2dCQUNkLElBQU1DLHlCQUF5QixJQUFJLENBQUNSLE1BQU0sRUFBRSxHQUFHO2dCQUUvQ08sUUFBUUUsS0FBSyxDQUFDLEFBQUMsbUJBQXlDLE9BQXZCRCx3QkFBdUI7Z0JBRXhELElBQU1FLGFBQWEsSUFBSSxDQUFDVCxRQUFRLENBQUNLLFFBQVEsQ0FBQ0MsVUFDcENJLGlCQUFpQkQsV0FBV0UsT0FBTztnQkFFekMsSUFBSUQsbUJBQW1CRSxnQkFBUyxFQUFFO29CQUNoQyxJQUFNQyxtQkFBbUJKLFdBQVdLLFFBQVEsQ0FBQ1IsVUFDdkNTLFVBQVUsQUFBQyxPQUF3Q0wsT0FBbENHLGtCQUFpQixtQkFBb0RELE9BQW5DRixnQkFBZSxzQkFBOEIsT0FBVkUsZ0JBQVMsRUFBQyxPQUNoR0ksWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUFHLHVCQUFjLENBQUNDLG9CQUFvQixDQUFDLElBQUksQ0FBQ25CLGVBQWUsRUFBRUs7Z0JBRTFELElBQUksQ0FBQ0wsZUFBZSxDQUFDb0IscUJBQXFCLENBQUMsU0FBQ0M7b0JBQzFDLE1BQUtDLHNCQUFzQixDQUFDRCxnQkFBZ0JiLFlBQVlIO2dCQUMxRDtnQkFFQUEsUUFBUWtCLEtBQUssQ0FBQyxBQUFDLHFCQUEyQyxPQUF2QmpCLHdCQUF1QjtZQUM1RDs7O1lBRUFnQixLQUFBQTttQkFBQUEsU0FBQUEsdUJBQXVCRCxjQUFjLEVBQUViLFVBQVUsRUFBRUgsT0FBTztnQkFDeEQsSUFBTU8sbUJBQW1CSixXQUFXSyxRQUFRLENBQUNSLFVBQ3ZDbUIsdUJBQXVCSCxlQUFlcEIsU0FBUztnQkFFckRJLFFBQVFFLEtBQUssQ0FBQyxBQUFDLG1CQUF1RUssT0FBckRZLHNCQUFxQixrQ0FBaUQsT0FBakJaLGtCQUFpQjtnQkFFdkcsSUFBTWEsT0FBT0osZUFBZUssT0FBTztnQkFFbkMsT0FBUUQ7b0JBQ04sS0FBS0Usc0NBQXNCO3dCQUFFOzRCQUMzQm5CLGFBQWEsSUFBSSxDQUFDb0IsNkJBQTZCLENBQUNQLGdCQUFnQmIsWUFBWUg7NEJBRTVFO3dCQUNGO29CQUVBLEtBQUt3Qix1Q0FBdUI7d0JBQUU7NEJBQzVCckIsYUFBYSxJQUFJLENBQUNzQiw4QkFBOEIsQ0FBQ1QsZ0JBQWdCYixZQUFZSDs0QkFFN0U7d0JBQ0Y7b0JBRUEsS0FBSzBCLDBDQUEwQjt3QkFBRTs0QkFDL0J2QixhQUFhLElBQUksQ0FBQ3dCLGdDQUFnQyxDQUFDWCxnQkFBZ0JiLFlBQVlIOzRCQUUvRTt3QkFDRjtnQkFDRjtnQkFFQSxJQUFNLEFBQUU0QixXQUFhQyxZQUFHLENBQWhCRCxVQUNGbEMsV0FBV2tDLFNBQVNFLGtCQUFrQixDQUFDZCxnQkFBZ0JoQjtnQkFFN0ROLFNBQVNxQyxNQUFNLENBQUM1QixZQUFZSDtnQkFFNUJBLFFBQVFrQixLQUFLLENBQUMsQUFBQyxxQkFBeUVYLE9BQXJEWSxzQkFBcUIsa0NBQWlELE9BQWpCWixrQkFBaUI7WUFDM0c7OztZQUVBZ0IsS0FBQUE7bUJBQUFBLFNBQUFBLDhCQUE4QlAsY0FBYyxFQUFFYixVQUFVLEVBQUVILE9BQU87Z0JBQy9ELElBQU1nQyxPQUFPaEIsZUFBZVgsT0FBTztnQkFFbkMsSUFBSTJCLFNBQVNDLGtCQUFXLEVBQUU7b0JBQ3hCLElBQU1kLHVCQUF1QkgsZUFBZXBCLFNBQVMsSUFDL0NhLFVBQVUsQUFBQyxRQUFrRXdCLE9BQTNEZCxzQkFBcUIsd0NBQWtELE9BQVpjLGtCQUFXLEVBQUMsT0FDekZ2QixZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxNQUFNQztnQkFDUjtnQkFFQSxJQUFNd0IsT0FBTy9CLFdBQVdnQyxPQUFPLElBQ3pCQyxtQkFBbUJGLEtBQUtHLGNBQWM7Z0JBRTVDLElBQUksQ0FBQ0Qsa0JBQWtCO29CQUNyQixJQUFNN0IsbUJBQW1CSixXQUFXSyxRQUFRLENBQUNSLFVBQ3ZDUyxXQUFVLEFBQUMsT0FBdUIsT0FBakJGLGtCQUFpQix5Q0FDbENHLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQU0sQUFBRTRCLGFBQWVULFlBQUcsQ0FBbEJTLFlBQ0ZDLGVBQWVMLE1BQ2ZNLFVBQVVELGFBQWFFLFVBQVUsSUFDakNoRCxTQUFTK0MsU0FBVSxHQUFHO2dCQUU1QnJDLGFBQWFtQyxXQUFXSSxVQUFVLENBQUNqRCxRQUFRTyxVQUFXLEdBQUc7Z0JBRXpELE9BQU9HO1lBQ1Q7OztZQUVBc0IsS0FBQUE7bUJBQUFBLFNBQUFBLCtCQUErQlQsY0FBYyxFQUFFYixVQUFVLEVBQUVILE9BQU87Z0JBQ2hFLElBQU1nQyxPQUFPaEIsZUFBZVgsT0FBTztnQkFFbkMsSUFBSTJCLFNBQVNXLG1CQUFZLEVBQUU7b0JBQ3pCLElBQU14Qix1QkFBdUJILGVBQWVwQixTQUFTLElBQy9DYSxVQUFVLEFBQUMsUUFBa0VrQyxPQUEzRHhCLHNCQUFxQix3Q0FBbUQsT0FBYndCLG1CQUFZLEVBQUMsT0FDMUZqQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxNQUFNQztnQkFDUjtnQkFFQSxJQUFNd0IsT0FBTy9CLFdBQVdnQyxPQUFPLElBQ3pCQyxtQkFBbUJGLEtBQUtHLGNBQWMsSUFDdENPLFdBQVdSLGtCQUFtQixHQUFHO2dCQUV2QyxJQUFNLEFBQUVFLGFBQWVULFlBQUcsQ0FBbEJTLFlBQ0ZPLFVBQVVELFVBQVUsR0FBRztnQkFFN0J6QyxhQUFhbUMsV0FBV1EsV0FBVyxDQUFDRCxTQUFTN0MsVUFBVyxHQUFHO2dCQUUzRCxPQUFPRztZQUNUOzs7WUFFQXdCLEtBQUFBO21CQUFBQSxTQUFBQSxpQ0FBaUNYLGNBQWMsRUFBRWIsVUFBVSxFQUFFSCxPQUFPO2dCQUNsRSxJQUFNZ0MsT0FBT2hCLGVBQWVYLE9BQU87Z0JBRW5DLElBQUkyQixTQUFTZSxpQkFBVSxFQUFFO29CQUN2QixJQUFNNUIsdUJBQXVCSCxlQUFlcEIsU0FBUyxJQUMvQ2EsVUFBVSxBQUFDLFFBQWtFc0MsT0FBM0Q1QixzQkFBcUIsd0NBQWlELE9BQVg0QixpQkFBVSxFQUFDLE9BQ3hGckMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTXdCLE9BQU8vQixXQUFXZ0MsT0FBTyxJQUN6QmEsc0JBQXNCZCxLQUFLZSxpQkFBaUI7Z0JBRWxELElBQUksQ0FBQ0QscUJBQXFCO29CQUN4QixJQUFNekMsbUJBQW1CSixXQUFXSyxRQUFRLENBQUNSLFVBQ3ZDUyxXQUFVLEFBQUMsT0FBdUIsT0FBakJGLGtCQUFpQiw2Q0FDbENHLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQU0sQUFBRTRCLGFBQWVULFlBQUcsQ0FBbEJTLFlBQ0ZZLGtCQUFrQmhCLE1BQ2xCaUIsYUFBYUQsZ0JBQWdCRSxhQUFhLElBQzFDQyxRQUFRRixZQUFhLEdBQUc7Z0JBRTlCaEQsYUFBYW1DLFdBQVdnQixTQUFTLENBQUNELE9BQU9yRCxVQUFXLEdBQUc7Z0JBRXZELE9BQU9HO1lBQ1Q7Ozs7WUFJT29ELEtBQUFBO21CQUFQLFNBQU9BLGFBQWFDLFFBQVEsRUFBRXhELE9BQU87Z0JBQ25DLElBQUl5RCxtQkFBbUI7Z0JBRXZCLElBQU1DLDJCQUEyQnJFLDhCQUE4Qm1FO2dCQUUvRCxJQUFJRSw2QkFBNkIsTUFBTTtvQkFDckMsSUFBTUMsdUJBQXVCRCwwQkFBMkIsR0FBRztvQkFFM0RELG1CQUFtQkcseUNBQXlDRCxzQkFBc0IzRDtnQkFDcEY7Z0JBRUEsT0FBT3lEO1lBQ1Q7Ozs7S0FkQSxtQ0FBT3JDLFFBQU87QUFpQmhCLFNBQVN3Qyx5Q0FBeUNELG9CQUFvQixFQUFFM0QsT0FBTztJQUM3RSxJQUFRNEIsV0FBK0NDLFlBQUcsQ0FBbERELFVBQVVpQyxrQkFBcUNoQyxZQUFHLENBQXhDZ0MsaUJBQWlCckUsa0JBQW9CcUMsWUFBRyxDQUF2QnJDLGlCQUM3Qkcsa0JBQWtCa0UsZ0JBQWdCQyx3QkFBd0IsQ0FBQ0gsc0JBQXNCM0QsVUFDakZOLFdBQVdrQyxTQUFTa0Msd0JBQXdCLENBQUNILHNCQUFzQjNELFVBQ25FUCxTQUFTc0UscUNBQXFDckUsVUFBVUMsaUJBQWlCSyxVQUN6RXlELG1CQUFtQixJQUFJakUsZ0JBQWdCQyxRQUFRQyxVQUFVQztJQUUvRCxPQUFPOEQ7QUFDVDtBQUVBLFNBQVNNLHFDQUFxQ3JFLFFBQVEsRUFBRUMsZUFBZSxFQUFFSyxPQUFPO0lBQzlFLElBQU1nRSx3QkFBd0JyRSxnQkFBZ0JDLFNBQVMsSUFDakRxRSxpQkFBaUJ2RSxTQUFTRSxTQUFTLElBQ25DSCxTQUFTLEFBQUMsS0FBaUN3RSxPQUE3QkQsdUJBQXNCLFNBQXNCLE9BQWZDLGdCQUFlO0lBRWhFLE9BQU94RTtBQUNUIn0=
@@ -1,144 +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
- function _class_call_check(instance, Constructor) {
13
- if (!(instance instanceof Constructor)) {
14
- throw new TypeError("Cannot call a class as a function");
15
- }
16
- }
17
- function _defineProperties(target, props) {
18
- for(var i = 0; i < props.length; i++){
19
- var descriptor = props[i];
20
- descriptor.enumerable = descriptor.enumerable || false;
21
- descriptor.configurable = true;
22
- if ("value" in descriptor) descriptor.writable = true;
23
- Object.defineProperty(target, descriptor.key, descriptor);
24
- }
25
- }
26
- function _create_class(Constructor, protoProps, staticProps) {
27
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
28
- if (staticProps) _defineProperties(Constructor, staticProps);
29
- return Constructor;
30
- }
31
- function _define_property(obj, key, value) {
32
- if (key in obj) {
33
- Object.defineProperty(obj, key, {
34
- value: value,
35
- enumerable: true,
36
- configurable: true,
37
- writable: true
38
- });
39
- } else {
40
- obj[key] = value;
41
- }
42
- return obj;
43
- }
44
- function _getRequireWildcardCache(nodeInterop) {
45
- if (typeof WeakMap !== "function") return null;
46
- var cacheBabelInterop = new WeakMap();
47
- var cacheNodeInterop = new WeakMap();
48
- return (_getRequireWildcardCache = function(nodeInterop) {
49
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
50
- })(nodeInterop);
51
- }
52
- function _interop_require_wildcard(obj, nodeInterop) {
53
- if (!nodeInterop && obj && obj.__esModule) {
54
- return obj;
55
- }
56
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
57
- return {
58
- default: obj
59
- };
60
- }
61
- var cache = _getRequireWildcardCache(nodeInterop);
62
- if (cache && cache.has(obj)) {
63
- return cache.get(obj);
64
- }
65
- var newObj = {
66
- __proto__: null
67
- };
68
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
69
- for(var key in obj){
70
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
71
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
72
- if (desc && (desc.get || desc.set)) {
73
- Object.defineProperty(newObj, key, desc);
74
- } else {
75
- newObj[key] = obj[key];
76
- }
77
- }
78
- }
79
- newObj.default = obj;
80
- if (cache) {
81
- cache.set(obj, newObj);
82
- }
83
- return newObj;
84
- }
85
- var _VariableAssignment;
86
- var _default = (0, _dom.domAssigned)((_VariableAssignment = /*#__PURE__*/ function() {
87
- function VariableAssignment(string, variable, expression) {
88
- _class_call_check(this, VariableAssignment);
89
- this.string = string;
90
- this.variable = variable;
91
- this.expression = expression;
92
- }
93
- _create_class(VariableAssignment, [
94
- {
95
- key: "getString",
96
- value: function getString() {
97
- return this.string;
98
- }
99
- },
100
- {
101
- key: "getVariable",
102
- value: function getVariable() {
103
- return this.variable;
104
- }
105
- },
106
- {
107
- key: "getExpression",
108
- value: function getExpression() {
109
- return this.expression;
110
- }
111
- },
112
- {
113
- key: "evaluate",
114
- value: function evaluate(context) {
115
- var expression;
116
- var variableAssignmentString = this.string; ///
117
- context.trace("Evaluating the '".concat(variableAssignmentString, "' variable assignment..."));
118
- expression = this.expression.evaluate(context);
119
- this.variable.assign(expression, context);
120
- context.debug("...evaluated the '".concat(variableAssignmentString, "' variable assignment."));
121
- return expression;
122
- }
123
- }
124
- ], [
125
- {
126
- key: "fromTypeAndVariableAssignmentNode",
127
- value: function fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
128
- var variableAssignment = variableAssignmentFromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context);
129
- return variableAssignment;
130
- }
131
- }
132
- ]);
133
- return VariableAssignment;
134
- }(), _define_property(_VariableAssignment, "name", "VariableAssignment"), _VariableAssignment));
135
- function variableAssignmentFromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
136
- var Variable = _dom.default.Variable, Expression = _dom.default.Expression, VariableAssignment = _dom.default.VariableAssignment, expression = Expression.fromVariableAssignmentNode(variableAssignmentNode, context), variable = Variable.fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context), string = stringFromExpressionAndVariable(expression, variable, context), assignment = new VariableAssignment(string, variable, expression);
137
- return assignment;
138
- }
139
- function stringFromExpressionAndVariable(expression, variable, context) {
140
- var variableString = variable.getString(), expressionString = expression.asString(context), string = "".concat(variableString, " = ").concat(expressionString, ";");
141
- return string;
142
- }
143
-
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vYXNzaWdubWVudC92YXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBleHByZXNzaW9uKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb247XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgdGhpcy52YXJpYWJsZS5hc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuYCk7XG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRcIjtcblxuICBzdGF0aWMgZnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnQgPSB2YXJpYWJsZUFzc2lnbm1lbnRGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUodHlwZSwgdmFyaWFibGVBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50O1xuICB9XG59KTtcblxuZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50RnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgRXhwcmVzc2lvbiwgVmFyaWFibGVBc3NpZ25tZW50IH0gPSBkb20sXG4gICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21WYXJpYWJsZUFzc2lnbm1lbnROb2RlKHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbUV4cHJlc3Npb25BbmRWYXJpYWJsZShleHByZXNzaW9uLCB2YXJpYWJsZSwgY29udGV4dCksXG4gICAgICAgIGFzc2lnbm1lbnQgPSBuZXcgVmFyaWFibGVBc3NpZ25tZW50KHN0cmluZywgdmFyaWFibGUsIGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBhc3NpZ25tZW50O1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tRXhwcmVzc2lvbkFuZFZhcmlhYmxlKGV4cHJlc3Npb24sIHZhcmlhYmxlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBgJHt2YXJpYWJsZVN0cmluZ30gPSAke2V4cHJlc3Npb25TdHJpbmd9O2A7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlQXNzaWdubWVudCIsInN0cmluZyIsInZhcmlhYmxlIiwiZXhwcmVzc2lvbiIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0RXhwcmVzc2lvbiIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZyIsInRyYWNlIiwiYXNzaWduIiwiZGVidWciLCJmcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUiLCJ0eXBlIiwidmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsInZhcmlhYmxlQXNzaWdubWVudCIsInZhcmlhYmxlQXNzaWdubWVudEZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsIm5hbWUiLCJWYXJpYWJsZSIsImRvbSIsIkV4cHJlc3Npb24iLCJmcm9tVmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsInN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUiLCJhc3NpZ25tZW50IiwidmFyaWFibGVTdHJpbmciLCJleHByZXNzaW9uU3RyaW5nIiwiYXNTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7OzJEQUpnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBSWhCLFdBQWVBLElBQUFBLGdCQUFXLHVDQUFDO2FBQU1DLG1CQUNuQkMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVU7Z0NBRFRIO1FBRTdCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7Ozs7WUFHcEJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsVUFBVTtZQUN4Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxPQUFPO2dCQUNkLElBQUlMO2dCQUVKLElBQU1NLDJCQUEyQixJQUFJLENBQUNSLE1BQU0sRUFBRSxHQUFHO2dCQUVqRE8sUUFBUUUsS0FBSyxDQUFDLEFBQUMsbUJBQTJDLE9BQXpCRCwwQkFBeUI7Z0JBRTFETixhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDSSxRQUFRLENBQUNDO2dCQUV0QyxJQUFJLENBQUNOLFFBQVEsQ0FBQ1MsTUFBTSxDQUFDUixZQUFZSztnQkFFakNBLFFBQVFJLEtBQUssQ0FBQyxBQUFDLHFCQUE2QyxPQUF6QkgsMEJBQXlCO2dCQUU1RCxPQUFPTjtZQUNUOzs7O1lBSU9VLEtBQUFBO21CQUFQLFNBQU9BLGtDQUFrQ0MsSUFBSSxFQUFFQyxzQkFBc0IsRUFBRVAsT0FBTztnQkFDNUUsSUFBTVEscUJBQXFCQyxvREFBb0RILE1BQU1DLHdCQUF3QlA7Z0JBRTdHLE9BQU9RO1lBQ1Q7Ozs7S0FOQSxzQ0FBT0UsUUFBTztBQVNoQixTQUFTRCxvREFBb0RILElBQUksRUFBRUMsc0JBQXNCLEVBQUVQLE9BQU87SUFDaEcsSUFBUVcsV0FBNkNDLFlBQUcsQ0FBaERELFVBQVVFLGFBQW1DRCxZQUFHLENBQXRDQyxZQUFZckIscUJBQXVCb0IsWUFBRyxDQUExQnBCLG9CQUN4QkcsYUFBYWtCLFdBQVdDLDBCQUEwQixDQUFDUCx3QkFBd0JQLFVBQzNFTixXQUFXaUIsU0FBU04saUNBQWlDLENBQUNDLE1BQU1DLHdCQUF3QlAsVUFDcEZQLFNBQVNzQixnQ0FBZ0NwQixZQUFZRCxVQUFVTSxVQUMvRGdCLGFBQWEsSUFBSXhCLG1CQUFtQkMsUUFBUUMsVUFBVUM7SUFFNUQsT0FBT3FCO0FBQ1Q7QUFFQSxTQUFTRCxnQ0FBZ0NwQixVQUFVLEVBQUVELFFBQVEsRUFBRU0sT0FBTztJQUNwRSxJQUFNaUIsaUJBQWlCdkIsU0FBU0UsU0FBUyxJQUNuQ3NCLG1CQUFtQnZCLFdBQVd3QixRQUFRLENBQUNuQixVQUN2Q1AsU0FBUyxBQUFDLEdBQXNCeUIsT0FBcEJELGdCQUFlLE9BQXNCLE9BQWpCQyxrQkFBaUI7SUFFdkQsT0FBT3pCO0FBQ1QifQ==