occam-verify-cli 1.0.396 → 1.0.405

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 (251) hide show
  1. package/lib/assignment/equality.js +2 -2
  2. package/lib/context/file.js +4 -5
  3. package/lib/context/local.js +17 -6
  4. package/lib/context/partial.js +10 -10
  5. package/lib/context/temporary.js +102 -52
  6. package/lib/mixins/step/unify.js +5 -6
  7. package/lib/node/argument.js +4 -4
  8. package/lib/node/assertion/contained.js +6 -6
  9. package/lib/node/assertion/defined.js +6 -6
  10. package/lib/node/assertion/property.js +6 -6
  11. package/lib/node/assertion/satisfies.js +6 -6
  12. package/lib/node/assertion/subproof.js +6 -6
  13. package/lib/node/assertion/type.js +6 -6
  14. package/lib/node/assertion.js +107 -0
  15. package/lib/node/assumption.js +134 -0
  16. package/lib/node/axiom.js +6 -6
  17. package/lib/node/{topLevelAssertion.js → axiomLemmaTheoremConjecture.js} +12 -12
  18. package/lib/node/body.js +4 -5
  19. package/lib/node/combinator.js +4 -4
  20. package/lib/node/conclusion.js +4 -4
  21. package/lib/node/conjecture.js +6 -6
  22. package/lib/node/constructor.js +4 -4
  23. package/lib/node/declaration/combinator.js +6 -6
  24. package/lib/node/declaration/complexType.js +6 -6
  25. package/lib/node/declaration/constructor.js +6 -6
  26. package/lib/node/declaration/metavariable.js +6 -6
  27. package/lib/node/declaration/property.js +6 -6
  28. package/lib/node/declaration/simpleType.js +6 -6
  29. package/lib/node/declaration/typePrefix.js +6 -6
  30. package/lib/node/declaration/variable.js +6 -6
  31. package/lib/node/declaration.js +6 -22
  32. package/lib/node/deduction.js +4 -4
  33. package/lib/node/derivation.js +4 -4
  34. package/lib/node/document.js +107 -0
  35. package/lib/node/equality.js +4 -4
  36. package/lib/node/error.js +4 -4
  37. package/lib/node/frame.js +25 -14
  38. package/lib/node/header.js +4 -4
  39. package/lib/node/hypothesis.js +4 -4
  40. package/lib/node/judgement.js +8 -8
  41. package/lib/node/label.js +4 -4
  42. package/lib/node/labels.js +4 -4
  43. package/lib/node/lemma.js +6 -6
  44. package/lib/node/metaArgument.js +4 -4
  45. package/lib/node/metaLemma.js +6 -6
  46. package/lib/node/{topLevelMetaAssertion.js → metaLemmaMetaTheorem.js} +12 -12
  47. package/lib/node/metaType.js +4 -4
  48. package/lib/node/metatheorem.js +6 -6
  49. package/lib/node/metavariable.js +4 -4
  50. package/lib/node/nonsense.js +4 -4
  51. package/lib/node/parameter.js +4 -4
  52. package/lib/node/parenthesisedLabel.js +4 -4
  53. package/lib/node/parenthesisedLabels.js +4 -4
  54. package/lib/node/placeholder.js +107 -0
  55. package/lib/node/premise.js +4 -4
  56. package/lib/node/procedureCall.js +4 -4
  57. package/lib/node/procedureReference.js +4 -4
  58. package/lib/node/proof.js +4 -4
  59. package/lib/node/property.js +4 -4
  60. package/lib/node/propertyRelation.js +4 -4
  61. package/lib/node/qualification.js +4 -4
  62. package/lib/node/reference.js +4 -4
  63. package/lib/node/rule.js +4 -4
  64. package/lib/node/section.js +4 -4
  65. package/lib/node/signature.js +4 -4
  66. package/lib/node/statement.js +15 -4
  67. package/lib/node/step.js +4 -4
  68. package/lib/node/subDerivation.js +4 -4
  69. package/lib/node/subproof.js +4 -4
  70. package/lib/node/substitution/frame.js +6 -6
  71. package/lib/node/substitution/statement.js +6 -6
  72. package/lib/node/substitution/term.js +6 -6
  73. package/lib/node/substitution.js +107 -0
  74. package/lib/node/supposition.js +4 -4
  75. package/lib/node/term.js +27 -4
  76. package/lib/node/theorem.js +6 -6
  77. package/lib/node/type.js +4 -4
  78. package/lib/node/typePrefix.js +4 -4
  79. package/lib/node/types.js +4 -4
  80. package/lib/node/variable.js +4 -4
  81. package/lib/nominal/parser.js +3 -3
  82. package/lib/nonTerminalNode.js +222 -0
  83. package/lib/nonTerminalNodeMap.js +5 -3
  84. package/lib/ontology/assertion/contained.js +8 -9
  85. package/lib/ontology/assertion/defined.js +9 -10
  86. package/lib/ontology/assertion/satisfies.js +4 -4
  87. package/lib/ontology/assumption.js +379 -0
  88. package/lib/ontology/declaration/combinator.js +75 -33
  89. package/lib/ontology/declaration/complexType.js +110 -63
  90. package/lib/ontology/declaration/constructor.js +81 -38
  91. package/lib/ontology/declaration/metavariable.js +87 -39
  92. package/lib/ontology/declaration/simpleType.js +95 -48
  93. package/lib/ontology/declaration/typePrefix.js +87 -40
  94. package/lib/ontology/declaration/variable.js +87 -39
  95. package/lib/ontology/declaration.js +13 -338
  96. package/lib/ontology/equivalence.js +295 -0
  97. package/lib/ontology/equivalences.js +264 -0
  98. package/lib/ontology/frame.js +49 -54
  99. package/lib/ontology/judgement.js +8 -8
  100. package/lib/ontology/metavariable.js +4 -4
  101. package/lib/ontology/premise.js +14 -5
  102. package/lib/ontology/reference.js +3 -9
  103. package/lib/ontology/rule.js +3 -4
  104. package/lib/ontology/statement.js +28 -24
  105. package/lib/ontology/step.js +2 -3
  106. package/lib/ontology/subproof.js +2 -3
  107. package/lib/ontology/substitution/statement.js +77 -36
  108. package/lib/ontology/substitution/term.js +14 -34
  109. package/lib/ontology/substitution.js +18 -19
  110. package/lib/ontology/substitutions.js +425 -0
  111. package/lib/ontology/supposition.js +14 -5
  112. package/lib/ontology/term.js +33 -36
  113. package/lib/ontology/topLevelAssertion.js +2 -3
  114. package/lib/ontology/topLevelMetaAssertion.js +2 -3
  115. package/lib/ontology/variable.js +1 -34
  116. package/lib/preamble.js +7 -4
  117. package/lib/ruleNames.js +20 -12
  118. package/lib/unifier/intrinsicLevel.js +4 -12
  119. package/lib/unifier/metaLevel.js +14 -22
  120. package/lib/utilities/frame.js +18 -0
  121. package/lib/utilities/statement.js +18 -0
  122. package/lib/utilities/substitutions.js +43 -30
  123. package/lib/utilities/variable.js +5 -17
  124. package/package.json +10 -10
  125. package/src/assignment/equality.js +1 -1
  126. package/src/context/file.js +5 -4
  127. package/src/context/local.js +28 -5
  128. package/src/context/partial.js +9 -14
  129. package/src/context/temporary.js +120 -51
  130. package/src/mixins/step/unify.js +4 -4
  131. package/src/node/argument.js +1 -1
  132. package/src/node/assertion/contained.js +3 -3
  133. package/src/node/assertion/defined.js +3 -3
  134. package/src/node/assertion/property.js +3 -3
  135. package/src/node/assertion/satisfies.js +3 -3
  136. package/src/node/assertion/subproof.js +3 -3
  137. package/src/node/assertion/type.js +3 -3
  138. package/src/node/assertion.js +7 -0
  139. package/src/node/assumption.js +35 -0
  140. package/src/node/axiom.js +3 -3
  141. package/src/node/{topLevelAssertion.js → axiomLemmaTheoremConjecture.js} +2 -2
  142. package/src/node/body.js +1 -3
  143. package/src/node/combinator.js +1 -1
  144. package/src/node/conclusion.js +1 -1
  145. package/src/node/conjecture.js +3 -3
  146. package/src/node/constructor.js +1 -1
  147. package/src/node/declaration/combinator.js +3 -3
  148. package/src/node/declaration/complexType.js +3 -3
  149. package/src/node/declaration/constructor.js +3 -3
  150. package/src/node/declaration/metavariable.js +3 -3
  151. package/src/node/declaration/property.js +3 -3
  152. package/src/node/declaration/simpleType.js +3 -3
  153. package/src/node/declaration/typePrefix.js +3 -3
  154. package/src/node/declaration/variable.js +3 -3
  155. package/src/node/declaration.js +2 -18
  156. package/src/node/deduction.js +1 -1
  157. package/src/node/derivation.js +1 -1
  158. package/src/node/document.js +7 -0
  159. package/src/node/equality.js +1 -1
  160. package/src/node/error.js +1 -1
  161. package/src/node/frame.js +23 -11
  162. package/src/node/header.js +1 -1
  163. package/src/node/hypothesis.js +1 -1
  164. package/src/node/judgement.js +6 -6
  165. package/src/node/label.js +1 -1
  166. package/src/node/labels.js +1 -1
  167. package/src/node/lemma.js +3 -3
  168. package/src/node/metaArgument.js +1 -1
  169. package/src/node/metaLemma.js +3 -3
  170. package/src/node/{topLevelMetaAssertion.js → metaLemmaMetaTheorem.js} +2 -2
  171. package/src/node/metaType.js +1 -1
  172. package/src/node/metatheorem.js +3 -3
  173. package/src/node/metavariable.js +1 -1
  174. package/src/node/nonsense.js +1 -1
  175. package/src/node/parameter.js +1 -1
  176. package/src/node/parenthesisedLabel.js +1 -1
  177. package/src/node/parenthesisedLabels.js +1 -1
  178. package/src/node/placeholder.js +7 -0
  179. package/src/node/premise.js +1 -1
  180. package/src/node/procedureCall.js +1 -1
  181. package/src/node/procedureReference.js +1 -1
  182. package/src/node/proof.js +1 -1
  183. package/src/node/property.js +1 -1
  184. package/src/node/propertyRelation.js +1 -1
  185. package/src/node/qualification.js +1 -1
  186. package/src/node/reference.js +1 -1
  187. package/src/node/rule.js +2 -2
  188. package/src/node/section.js +1 -1
  189. package/src/node/signature.js +1 -1
  190. package/src/node/statement.js +13 -1
  191. package/src/node/step.js +1 -1
  192. package/src/node/subDerivation.js +1 -1
  193. package/src/node/subproof.js +1 -1
  194. package/src/node/substitution/frame.js +3 -3
  195. package/src/node/substitution/statement.js +3 -3
  196. package/src/node/substitution/term.js +3 -3
  197. package/src/node/substitution.js +7 -0
  198. package/src/node/supposition.js +1 -1
  199. package/src/node/term.js +27 -1
  200. package/src/node/theorem.js +3 -3
  201. package/src/node/type.js +1 -1
  202. package/src/node/typePrefix.js +1 -1
  203. package/src/node/types.js +1 -1
  204. package/src/node/variable.js +1 -1
  205. package/src/nominal/parser.js +2 -2
  206. package/src/{node/nonTerminal.js → nonTerminalNode.js} +31 -25
  207. package/src/nonTerminalNodeMap.js +10 -5
  208. package/src/ontology/assertion/contained.js +14 -14
  209. package/src/ontology/assertion/defined.js +13 -13
  210. package/src/ontology/assertion/satisfies.js +2 -1
  211. package/src/ontology/assumption.js +385 -0
  212. package/src/ontology/declaration/combinator.js +15 -24
  213. package/src/ontology/declaration/complexType.js +57 -53
  214. package/src/ontology/declaration/constructor.js +25 -31
  215. package/src/ontology/declaration/metavariable.js +25 -30
  216. package/src/ontology/declaration/simpleType.js +34 -38
  217. package/src/ontology/declaration/typePrefix.js +23 -31
  218. package/src/ontology/declaration/variable.js +26 -31
  219. package/src/ontology/declaration.js +8 -372
  220. package/src/{equivalence.js → ontology/equivalence.js} +4 -3
  221. package/src/{equivalences.js → ontology/equivalences.js} +14 -12
  222. package/src/ontology/frame.js +53 -63
  223. package/src/ontology/judgement.js +8 -8
  224. package/src/ontology/metavariable.js +2 -2
  225. package/src/ontology/premise.js +18 -4
  226. package/src/ontology/reference.js +4 -3
  227. package/src/ontology/rule.js +4 -3
  228. package/src/ontology/statement.js +31 -27
  229. package/src/ontology/step.js +2 -2
  230. package/src/ontology/subproof.js +2 -2
  231. package/src/ontology/substitution/statement.js +56 -53
  232. package/src/ontology/substitution/term.js +9 -35
  233. package/src/ontology/substitution.js +11 -15
  234. package/src/{substitutions.js → ontology/substitutions.js} +4 -3
  235. package/src/ontology/supposition.js +18 -4
  236. package/src/ontology/term.js +27 -39
  237. package/src/ontology/topLevelAssertion.js +2 -2
  238. package/src/ontology/topLevelMetaAssertion.js +2 -2
  239. package/src/ontology/variable.js +0 -54
  240. package/src/preamble.js +6 -3
  241. package/src/ruleNames.js +10 -8
  242. package/src/unifier/intrinsicLevel.js +3 -14
  243. package/src/unifier/metaLevel.js +14 -25
  244. package/src/utilities/frame.js +13 -0
  245. package/src/utilities/statement.js +13 -0
  246. package/src/utilities/substitutions.js +59 -31
  247. package/src/utilities/variable.js +1 -10
  248. package/lib/equivalence.js +0 -294
  249. package/lib/equivalences.js +0 -263
  250. package/lib/node/nonTerminal.js +0 -218
  251. package/lib/substitutions.js +0 -424
@@ -0,0 +1,222 @@
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 NonTerminalNode;
9
+ }
10
+ });
11
+ var _necessary = require("necessary");
12
+ var _occamparsers = require("occam-parsers");
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _call_super(_this, derived, args) {
20
+ derived = _get_prototype_of(derived);
21
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
+ }
23
+ function _class_call_check(instance, Constructor) {
24
+ if (!(instance instanceof Constructor)) {
25
+ throw new TypeError("Cannot call a class as a function");
26
+ }
27
+ }
28
+ function _defineProperties(target, props) {
29
+ for(var i = 0; i < props.length; i++){
30
+ var descriptor = props[i];
31
+ descriptor.enumerable = descriptor.enumerable || false;
32
+ descriptor.configurable = true;
33
+ if ("value" in descriptor) descriptor.writable = true;
34
+ Object.defineProperty(target, descriptor.key, descriptor);
35
+ }
36
+ }
37
+ function _create_class(Constructor, protoProps, staticProps) {
38
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
39
+ if (staticProps) _defineProperties(Constructor, staticProps);
40
+ return Constructor;
41
+ }
42
+ function _get_prototype_of(o) {
43
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
44
+ return o.__proto__ || Object.getPrototypeOf(o);
45
+ };
46
+ return _get_prototype_of(o);
47
+ }
48
+ function _inherits(subClass, superClass) {
49
+ if (typeof superClass !== "function" && superClass !== null) {
50
+ throw new TypeError("Super expression must either be null or a function");
51
+ }
52
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
53
+ constructor: {
54
+ value: subClass,
55
+ writable: true,
56
+ configurable: true
57
+ }
58
+ });
59
+ if (superClass) _set_prototype_of(subClass, superClass);
60
+ }
61
+ function _possible_constructor_return(self, call) {
62
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
63
+ return call;
64
+ }
65
+ return _assert_this_initialized(self);
66
+ }
67
+ function _set_prototype_of(o, p) {
68
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
69
+ o.__proto__ = p;
70
+ return o;
71
+ };
72
+ return _set_prototype_of(o, p);
73
+ }
74
+ function _type_of(obj) {
75
+ "@swc/helpers - typeof";
76
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
77
+ }
78
+ function _is_native_reflect_construct() {
79
+ try {
80
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
81
+ } catch (_) {}
82
+ return (_is_native_reflect_construct = function() {
83
+ return !!result;
84
+ })();
85
+ }
86
+ var first = _necessary.arrayUtilities.first;
87
+ var NonTerminalNode = /*#__PURE__*/ function(NonTerminalNodeBase) {
88
+ _inherits(NonTerminalNode, NonTerminalNodeBase);
89
+ function NonTerminalNode() {
90
+ _class_call_check(this, NonTerminalNode);
91
+ return _call_super(this, NonTerminalNode, arguments);
92
+ }
93
+ _create_class(NonTerminalNode, [
94
+ {
95
+ key: "getNodeByRuleName",
96
+ value: function getNodeByRuleName() {
97
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
98
+ ruleNames[_key] = arguments[_key];
99
+ }
100
+ var node = this.findChildNode(function(childNode) {
101
+ var childNodeNonTerminalNode = childNode.isNonTerminalNode();
102
+ if (childNodeNonTerminalNode) {
103
+ var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
104
+ if (ruleNamesIncludesRuleName) {
105
+ return true;
106
+ }
107
+ }
108
+ }) || null;
109
+ return node;
110
+ }
111
+ },
112
+ {
113
+ key: "getNodesByRuleName",
114
+ value: function getNodesByRuleName() {
115
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
116
+ ruleNames[_key] = arguments[_key];
117
+ }
118
+ var nodes = this.filterChildNode(function(childNode) {
119
+ var childNodeNonTerminalNode = childNode.isNonTerminalNode();
120
+ if (childNodeNonTerminalNode) {
121
+ var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
122
+ if (ruleNamesIncludesRuleName) {
123
+ return true;
124
+ }
125
+ }
126
+ });
127
+ return nodes;
128
+ }
129
+ },
130
+ {
131
+ key: "getLastNodeByRuleName",
132
+ value: function getLastNodeByRuleName() {
133
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
134
+ ruleNames[_key] = arguments[_key];
135
+ }
136
+ var lastNode = null;
137
+ this.backwardsSomeChildNode(function(childNode) {
138
+ var childNodeNonTerminalNode = childNode.isNonTerminalNode();
139
+ if (childNodeNonTerminalNode) {
140
+ var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
141
+ if (ruleNamesIncludesRuleName) {
142
+ lastNode = childNode; ///
143
+ return true;
144
+ }
145
+ }
146
+ });
147
+ return lastNode;
148
+ }
149
+ },
150
+ {
151
+ key: "getFirstNodeByRuleName",
152
+ value: function getFirstNodeByRuleName() {
153
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
154
+ ruleNames[_key] = arguments[_key];
155
+ }
156
+ var firstNode = null;
157
+ this.forwardsSomeChildNode(function(childNode) {
158
+ var childNodeNonTerminalNode = childNode.isNonTerminalNode();
159
+ if (childNodeNonTerminalNode) {
160
+ var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
161
+ if (ruleNamesIncludesRuleName) {
162
+ firstNode = childNode; ///
163
+ return true;
164
+ }
165
+ }
166
+ });
167
+ return firstNode;
168
+ }
169
+ },
170
+ {
171
+ key: "getSingularTNodeByRuleName",
172
+ value: function getSingularTNodeByRuleName() {
173
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
174
+ ruleNames[_key] = arguments[_key];
175
+ }
176
+ var singularNode = null;
177
+ var nodes = this.filterChildNode(function(childNode) {
178
+ var childNodeNonTerminalNode = childNode.isNonTerminalNode();
179
+ if (childNodeNonTerminalNode) {
180
+ var nonTerminalNode = childNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
181
+ if (ruleNamesIncludesRuleName) {
182
+ return true;
183
+ }
184
+ }
185
+ }), nodesLength = nodes.length;
186
+ if (nodesLength === 1) {
187
+ var firstNode = first(nodes);
188
+ singularNode = firstNode; ///
189
+ }
190
+ return singularNode;
191
+ }
192
+ },
193
+ {
194
+ key: "getDescendantNodesByRuleName",
195
+ value: function getDescendantNodesByRuleName() {
196
+ for(var _len = arguments.length, ruleNames = new Array(_len), _key = 0; _key < _len; _key++){
197
+ ruleNames[_key] = arguments[_key];
198
+ }
199
+ var nodes = this.filterDescendantNode(function(descendantNode) {
200
+ var descendantNodeNonTerminalNode = descendantNode.isNonTerminalNode();
201
+ if (descendantNodeNonTerminalNode) {
202
+ var nonTerminalNode = descendantNode, ruleName = nonTerminalNode.getRuleName(), ruleNamesIncludesRuleName = ruleNames.includes(ruleName);
203
+ if (ruleNamesIncludesRuleName) {
204
+ return true;
205
+ }
206
+ }
207
+ });
208
+ return nodes;
209
+ }
210
+ }
211
+ ], [
212
+ {
213
+ key: "fromRuleNameChildNodesOpacityAndPrecedence",
214
+ value: function fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
215
+ return _occamparsers.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence);
216
+ }
217
+ }
218
+ ]);
219
+ return NonTerminalNode;
220
+ }(_occamparsers.NonTerminalNode);
221
+
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgYXMgTm9uVGVybWluYWxOb2RlQmFzZSB9IGZyb20gXCJvY2NhbS1wYXJzZXJzXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb25UZXJtaW5hbE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGVCYXNlIHtcbiAgZ2V0Tm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZENoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsIC8vL1xuICAgICAgICAgICAgICBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgICBydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lID0gcnVsZU5hbWVzLmluY2x1ZGVzKHJ1bGVOYW1lKTtcblxuICAgICAgICBpZiAocnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkgfHwgbnVsbDtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgZ2V0Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGxldCBsYXN0Tm9kZSA9IG51bGw7XG5cbiAgICB0aGlzLmJhY2t3YXJkc1NvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlTm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVOb25UZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICBsYXN0Tm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGxhc3ROb2RlO1xuICB9XG5cbiAgZ2V0Rmlyc3ROb2RlQnlSdWxlTmFtZSguLi5ydWxlTmFtZXMpIHtcbiAgICBsZXQgZmlyc3ROb2RlID0gbnVsbDtcblxuICAgIHRoaXMuZm9yd2FyZHNTb21lQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgZmlyc3ROb2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlyc3ROb2RlO1xuICB9XG5cbiAgZ2V0U2luZ3VsYXJUTm9kZUJ5UnVsZU5hbWUoLi4ucnVsZU5hbWVzKSB7XG4gICAgbGV0IHNpbmd1bGFyTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBub2RlcyA9IHRoaXMuZmlsdGVyQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCksXG4gICAgICAgICAgICAgICAgICAgIHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUgPSBydWxlTmFtZXMuaW5jbHVkZXMocnVsZU5hbWUpO1xuXG4gICAgICAgICAgICAgIGlmIChydWxlTmFtZXNJbmNsdWRlc1J1bGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3ROb2RlID0gZmlyc3Qobm9kZXMpO1xuXG4gICAgICBzaW5ndWxhck5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzaW5ndWxhck5vZGU7XG4gIH1cblxuICBnZXREZXNjZW5kYW50Tm9kZXNCeVJ1bGVOYW1lKC4uLnJ1bGVOYW1lcykge1xuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5maWx0ZXJEZXNjZW5kYW50Tm9kZSgoZGVzY2VuZGFudE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlID0gZGVzY2VuZGFudE5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IGRlc2NlbmRhbnROb2RlLCAvLy9cbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKSxcbiAgICAgICAgICAgICAgcnVsZU5hbWVzSW5jbHVkZXNSdWxlTmFtZSA9IHJ1bGVOYW1lcy5pbmNsdWRlcyhydWxlTmFtZSk7XG5cbiAgICAgICAgaWYgKHJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZUJhc2UuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKENsYXNzLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJOb25UZXJtaW5hbE5vZGUiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiZ2V0Tm9kZUJ5UnVsZU5hbWUiLCJydWxlTmFtZXMiLCJub2RlIiwiZmluZENoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsInJ1bGVOYW1lc0luY2x1ZGVzUnVsZU5hbWUiLCJpbmNsdWRlcyIsImdldE5vZGVzQnlSdWxlTmFtZSIsIm5vZGVzIiwiZmlsdGVyQ2hpbGROb2RlIiwiZ2V0TGFzdE5vZGVCeVJ1bGVOYW1lIiwibGFzdE5vZGUiLCJiYWNrd2FyZHNTb21lQ2hpbGROb2RlIiwiZ2V0Rmlyc3ROb2RlQnlSdWxlTmFtZSIsImZpcnN0Tm9kZSIsImZvcndhcmRzU29tZUNoaWxkTm9kZSIsImdldFNpbmd1bGFyVE5vZGVCeVJ1bGVOYW1lIiwic2luZ3VsYXJOb2RlIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJnZXREZXNjZW5kYW50Tm9kZXNCeVJ1bGVOYW1lIiwiZmlsdGVyRGVzY2VuZGFudE5vZGUiLCJkZXNjZW5kYW50Tm9kZSIsImRlc2NlbmRhbnROb2RlTm9uVGVybWluYWxOb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwiQ2xhc3MiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJOb25UZXJtaW5hbE5vZGVCYXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTs0QkFFd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZELElBQU0sQUFBRUMsUUFBVUMseUJBQWMsQ0FBeEJEO0FBRU8sSUFBQSxBQUFNRCxnQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFrQixJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MsWUFBSCxVQUFBLE9BQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsVUFBSCxRQUFBLFNBQUEsQ0FBQSxLQUFZOztnQkFDNUIsSUFBTUMsT0FBTyxJQUFJLENBQUNDLGFBQWEsQ0FBQyxTQUFDQztvQkFDL0IsSUFBTUMsMkJBQTJCRCxVQUFVRSxpQkFBaUI7b0JBRTVELElBQUlELDBCQUEwQjt3QkFDNUIsSUFBTUUsa0JBQWtCSCxXQUNsQkksV0FBV0QsZ0JBQWdCRSxXQUFXLElBQ3RDQyw0QkFBNEJULFVBQVVVLFFBQVEsQ0FBQ0g7d0JBRXJELElBQUlFLDJCQUEyQjs0QkFDN0IsT0FBTzt3QkFDVDtvQkFDRjtnQkFDRixNQUFNO2dCQUVOLE9BQU9SO1lBQ1Q7OztZQUVBVSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQW1CLElBQUEsSUFB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
@@ -31,6 +31,7 @@ var _metaType = /*#__PURE__*/ _interop_require_default(require("./node/metaType"
31
31
  var _equality = /*#__PURE__*/ _interop_require_default(require("./node/equality"));
32
32
  var _variable = /*#__PURE__*/ _interop_require_default(require("./node/variable"));
33
33
  var _rule1 = /*#__PURE__*/ _interop_require_default(require("./node/body/rule"));
34
+ var _document = /*#__PURE__*/ _interop_require_default(require("./node/document"));
34
35
  var _statement = /*#__PURE__*/ _interop_require_default(require("./node/statement"));
35
36
  var _reference = /*#__PURE__*/ _interop_require_default(require("./node/reference"));
36
37
  var _deduction = /*#__PURE__*/ _interop_require_default(require("./node/deduction"));
@@ -46,10 +47,11 @@ var _conclusion = /*#__PURE__*/ _interop_require_default(require("./node/conclus
46
47
  var _conjecture = /*#__PURE__*/ _interop_require_default(require("./node/conjecture"));
47
48
  var _hypothesis = /*#__PURE__*/ _interop_require_default(require("./node/hypothesis"));
48
49
  var _typePrefix = /*#__PURE__*/ _interop_require_default(require("./node/typePrefix"));
50
+ var _assumption = /*#__PURE__*/ _interop_require_default(require("./node/assumption"));
49
51
  var _rule2 = /*#__PURE__*/ _interop_require_default(require("./node/header/rule"));
50
52
  var _supposition = /*#__PURE__*/ _interop_require_default(require("./node/supposition"));
53
+ var _placeholder = /*#__PURE__*/ _interop_require_default(require("./node/placeholder"));
51
54
  var _constructor = /*#__PURE__*/ _interop_require_default(require("./node/constructor"));
52
- var _declaration = /*#__PURE__*/ _interop_require_default(require("./node/declaration"));
53
55
  var _metatheorem = /*#__PURE__*/ _interop_require_default(require("./node/metatheorem"));
54
56
  var _theorem1 = /*#__PURE__*/ _interop_require_default(require("./node/body/theorem"));
55
57
  var _axiom2 = /*#__PURE__*/ _interop_require_default(require("./node/header/axiom"));
@@ -107,7 +109,7 @@ function _interop_require_default(obj) {
107
109
  };
108
110
  }
109
111
  var _obj;
110
- var NonTerminalNodeMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.TYPES_RULE_NAME, _types.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LABELS_RULE_NAME, _labels.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.SECTION_RULE_NAME, _section.default), _define_property(_obj, _ruleNames.ARGUMENT_RULE_NAME, _argument.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.VARIABLE_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.NONSENSE_RULE_NAME, _nonsense.default), _define_property(_obj, _ruleNames.RULE_BODY_RULE_NAME, _rule1.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.SIGNATURE_RULE_NAME, _signature.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.AXIOM_BODY_RULE_NAME, _axiom1.default), _define_property(_obj, _ruleNames.LEMMA_BODY_RULE_NAME, _lemma1.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.HYPOTHESIS_RULE_NAME, _hypothesis.default), _define_property(_obj, _ruleNames.RULE_HEADER_RULE_NAME, _rule2.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_RULE_NAME, _typePrefix.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.DECLARATION_RULE_NAME, _declaration.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.AXIOM_HEADER_RULE_NAME, _axiom2.default), _define_property(_obj, _ruleNames.LEMMA_HEADER_RULE_NAME, _lemma2.default), _define_property(_obj, _ruleNames.THEOREM_BODY_RULE_NAME, _theorem1.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.META_ARGUMENT_RULE_NAME, _metaArgument.default), _define_property(_obj, _ruleNames.QUALIFICATION_RULE_NAME, _qualification.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.THEOREM_HEADER_RULE_NAME, _theorem2.default), _define_property(_obj, _ruleNames.META_LEMMA_BODY_RULE_NAME, _metaLemma1.default), _define_property(_obj, _ruleNames.CONJECTURE_BODY_RULE_NAME, _conjecture1.default), _define_property(_obj, _ruleNames.METATHEOREM_BODY_RULE_NAME, _metatheorem1.default), _define_property(_obj, _ruleNames.META_LEMMA_HEADER_RULE_NAME, _metaLemma2.default), _define_property(_obj, _ruleNames.CONJECTURE_HEADER_RULE_NAME, _conjecture2.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.TERM_SUBSTITUTION_RULE_NAME, _term1.default), _define_property(_obj, _ruleNames.METATHEOREM_HEADER_RULE_NAME, _metatheorem2.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.FRAME_SUBSTITUTION_RULE_NAME, _frame1.default), _define_property(_obj, _ruleNames.PROCEDURE_REFERENCE_RULE_NAME, _procedureReference.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABEL_RULE_NAME, _parenthesisedLabel.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABELS_RULE_NAME, _parenthesisedLabels.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable1.default), _define_property(_obj, _ruleNames.PROPERTY_DECLARATION_RULE_NAME, _property2.default), _define_property(_obj, _ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME, _statement1.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.SIMPLE_TYPE_DECLARATION_RULE_NAME, _simpleType.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_DECLARATION_RULE_NAME, _typePrefix1.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
112
+ var NonTerminalNodeMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.TYPES_RULE_NAME, _types.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LABELS_RULE_NAME, _labels.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.SECTION_RULE_NAME, _section.default), _define_property(_obj, _ruleNames.ARGUMENT_RULE_NAME, _argument.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.VARIABLE_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.NONSENSE_RULE_NAME, _nonsense.default), _define_property(_obj, _ruleNames.DOCUMENT_RULE_NAME, _document.default), _define_property(_obj, _ruleNames.RULE_BODY_RULE_NAME, _rule1.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.SIGNATURE_RULE_NAME, _signature.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.AXIOM_BODY_RULE_NAME, _axiom1.default), _define_property(_obj, _ruleNames.LEMMA_BODY_RULE_NAME, _lemma1.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.HYPOTHESIS_RULE_NAME, _hypothesis.default), _define_property(_obj, _ruleNames.ASSUMPTION_RULE_NAME, _assumption.default), _define_property(_obj, _ruleNames.RULE_HEADER_RULE_NAME, _rule2.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_RULE_NAME, _typePrefix.default), _define_property(_obj, _ruleNames.PLACEHOLDER_RULE_NAME, _placeholder.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.AXIOM_HEADER_RULE_NAME, _axiom2.default), _define_property(_obj, _ruleNames.LEMMA_HEADER_RULE_NAME, _lemma2.default), _define_property(_obj, _ruleNames.THEOREM_BODY_RULE_NAME, _theorem1.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.META_ARGUMENT_RULE_NAME, _metaArgument.default), _define_property(_obj, _ruleNames.QUALIFICATION_RULE_NAME, _qualification.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.THEOREM_HEADER_RULE_NAME, _theorem2.default), _define_property(_obj, _ruleNames.META_LEMMA_BODY_RULE_NAME, _metaLemma1.default), _define_property(_obj, _ruleNames.CONJECTURE_BODY_RULE_NAME, _conjecture1.default), _define_property(_obj, _ruleNames.METATHEOREM_BODY_RULE_NAME, _metatheorem1.default), _define_property(_obj, _ruleNames.META_LEMMA_HEADER_RULE_NAME, _metaLemma2.default), _define_property(_obj, _ruleNames.CONJECTURE_HEADER_RULE_NAME, _conjecture2.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.TERM_SUBSTITUTION_RULE_NAME, _term1.default), _define_property(_obj, _ruleNames.METATHEOREM_HEADER_RULE_NAME, _metatheorem2.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.FRAME_SUBSTITUTION_RULE_NAME, _frame1.default), _define_property(_obj, _ruleNames.PROCEDURE_REFERENCE_RULE_NAME, _procedureReference.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABEL_RULE_NAME, _parenthesisedLabel.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABELS_RULE_NAME, _parenthesisedLabels.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable1.default), _define_property(_obj, _ruleNames.PROPERTY_DECLARATION_RULE_NAME, _property2.default), _define_property(_obj, _ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME, _statement1.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.SIMPLE_TYPE_DECLARATION_RULE_NAME, _simpleType.default), _define_property(_obj, _ruleNames.TYPE_PREFIX_DECLARATION_RULE_NAME, _typePrefix1.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
111
113
  var _default = NonTerminalNodeMap;
112
114
 
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBTZWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3NlY3Rpb25cIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFJ1bGVCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvcnVsZVwiO1xuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcmVmZXJlbmNlXCI7XG5pbXBvcnQgRGVkdWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlZHVjdGlvblwiO1xuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIjtcbmltcG9ydCBNZXRhTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUGFyYW1ldGVyTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmFtZXRlclwiO1xuaW1wb3J0IFNpZ25hdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9zaWduYXR1cmVcIjtcbmltcG9ydCBBeGlvbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9heGlvbVwiO1xuaW1wb3J0IExlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2xlbW1hXCI7XG5pbXBvcnQgRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZXJpdmF0aW9uXCI7XG5pbXBvcnQgQ29tYmluYXRvck5vZGUgZnJvbSBcIi4vbm9kZS9jb21iaW5hdG9yXCI7XG5pbXBvcnQgQ29uY2x1c2lvbk5vZGUgZnJvbSBcIi4vbm9kZS9jb25jbHVzaW9uXCI7XG5pbXBvcnQgQ29uamVjdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9jb25qZWN0dXJlXCI7XG5pbXBvcnQgSHlwb3RoZXNpc05vZGUgZnJvbSBcIi4vbm9kZS9oeXBvdGhlc2lzXCI7XG5pbXBvcnQgVHlwZVByZWZpeE5vZGUgZnJvbSBcIi4vbm9kZS90eXBlUHJlZml4XCI7XG5pbXBvcnQgUnVsZUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvcnVsZVwiO1xuaW1wb3J0IFN1cHBvc2l0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1cHBvc2l0aW9uXCI7XG5pbXBvcnQgQ29uc3RydWN0b3JOb2RlIGZyb20gXCIuL25vZGUvY29uc3RydWN0b3JcIjtcbmltcG9ydCBEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvblwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgVGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS90aGVvcmVtXCI7XG5pbXBvcnQgQXhpb21IZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2F4aW9tXCI7XG5pbXBvcnQgTGVtbWFIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2xlbW1hXCI7XG5pbXBvcnQgTWV0YUFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL21ldGFBcmd1bWVudFwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdmFyaWFibGVcIjtcbmltcG9ydCBRdWFsaWZpY2F0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3F1YWxpZmljYXRpb25cIjtcbmltcG9ydCBQcm9jZWR1cmVDYWxsTm9kZSBmcm9tIFwiLi9ub2RlL3Byb2NlZHVyZUNhbGxcIjtcbmltcG9ydCBTdWJEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YkRlcml2YXRpb25cIjtcbmltcG9ydCBUaGVvcmVtSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci90aGVvcmVtXCI7XG5pbXBvcnQgTWV0YUxlbW1hQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L21ldGFMZW1tYVwiO1xuaW1wb3J0IFR5cGVBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL3R5cGVcIjtcbmltcG9ydCBDb25qZWN0dXJlQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUJvZHlOb2RlIGZyb20gXCIuL25vZGUvYm9keS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGFMZW1tYUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgVGVybVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vdGVybVwiO1xuaW1wb3J0IENvbmplY3R1cmVIZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL2NvbmplY3R1cmVcIjtcbmltcG9ydCBNZXRhdGhlb3JlbUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCBQcm9wZXJ0eUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBTdWJwcm9vZkFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc3VicHJvb2ZcIjtcbmltcG9ydCBGcmFtZVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vZnJhbWVcIjtcbmltcG9ydCBQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlUmVmZXJlbmNlXCI7XG5pbXBvcnQgUGFyZW50aGVzaXNlZExhYmVsTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbFwiO1xuaW1wb3J0IENvbnRhaW5lZEFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vY29udGFpbmVkXCI7XG5pbXBvcnQgU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zYXRpc2ZpZXNcIjtcbmltcG9ydCBQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmVudGhlc2lzZWRMYWJlbHNcIlxuaW1wb3J0IFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vcHJvcGVydHlcIjtcbmltcG9ydCBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3ZhcmlhYmxlXCI7XG5pbXBvcnQgU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9zdGF0ZW1lbnRcIjtcbmltcG9ydCBTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vc2ltcGxlVHlwZVwiO1xuaW1wb3J0IENvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb21iaW5hdG9yXCI7XG5pbXBvcnQgVHlwZVByZWZpeERlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3R5cGVQcmVmaXhcIjtcbmltcG9ydCBDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbXBsZXhUeXBlXCI7XG5pbXBvcnQgRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9jb25zdHJ1Y3RvclwiO1xuaW1wb3J0IE1ldGF2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL21ldGF2YXJpYWJsZVwiO1xuXG5pbXBvcnQge1xuICBSVUxFX1JVTEVfTkFNRSxcbiAgU1RFUF9SVUxFX05BTUUsXG4gIFRFUk1fUlVMRV9OQU1FLFxuICBUWVBFX1JVTEVfTkFNRSxcbiAgVFlQRVNfUlVMRV9OQU1FLFxuICBQUk9PRl9SVUxFX05BTUUsXG4gIEVSUk9SX1JVTEVfTkFNRSxcbiAgRlJBTUVfUlVMRV9OQU1FLFxuICBBWElPTV9SVUxFX05BTUUsXG4gIExFTU1BX1JVTEVfTkFNRSxcbiAgTEFCRUxfUlVMRV9OQU1FLFxuICBMQUJFTFNfUlVMRV9OQU1FLFxuICBUSEVPUkVNX1JVTEVfTkFNRSxcbiAgUFJFTUlTRV9SVUxFX05BTUUsXG4gIFNFQ1RJT05fUlVMRV9OQU1FLFxuICBOT05TRU5TRV9SVUxFX05BTUUsXG4gIEFSR1VNRU5UX1JVTEVfTkFNRSxcbiAgU1VCUFJPT0ZfUlVMRV9OQU1FLFxuICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gIEVRVUFMSVRZX1JVTEVfTkFNRSxcbiAgVkFSSUFCTEVfUlVMRV9OQU1FLFxuICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICBTSUdOQVRVUkVfUlVMRV9OQU1FLFxuICBERURVQ1RJT05fUlVMRV9OQU1FLFxuICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICBQQVJBTUVURVJfUlVMRV9OQU1FLFxuICBSRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICBSVUxFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX1JVTEVfTkFNRSxcbiAgREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICBDT05DTFVTSU9OX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9SVUxFX05BTUUsXG4gIEhZUE9USEVTSVNfUlVMRV9OQU1FLFxuICBBWElPTV9CT0RZX1JVTEVfTkFNRSxcbiAgTEVNTUFfQk9EWV9SVUxFX05BTUUsXG4gIFRZUEVfUFJFRklYX1JVTEVfTkFNRSxcbiAgU1VQUE9TSVRJT05fUlVMRV9OQU1FLFxuICBSVUxFX0hFQURFUl9SVUxFX05BTUUsXG4gIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9SVUxFX05BTUUsXG4gIEFYSU9NX0hFQURFUl9SVUxFX05BTUUsXG4gIExFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFRIRU9SRU1fQk9EWV9SVUxFX05BTUUsXG4gIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gIFFVQUxJRklDQVRJT05fUlVMRV9OQU1FLFxuICBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSxcbiAgVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FLFxuICBTVUJfREVSSVZBVElPTl9SVUxFX05BTUUsXG4gIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FLFxuICBDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FLFxuICBNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSxcbiAgQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FLFxuICBNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIE1FVEFUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUsXG4gIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIEZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gIFBST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FLFxuICBDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FLFxuICBQQVJFTlRIRVNJU0VEX0xBQkVMU19SVUxFX05BTUUsXG4gIFBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBTVEFURU1FTlRfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFNJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBUWVBFX1BSRUZJWF9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIENPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVcbn0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IE5vblRlcm1pbmFsTm9kZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtUWVBFU19SVUxFX05BTUVdOiBUeXBlc05vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMQUJFTFNfUlVMRV9OQU1FXTogTGFiZWxzTm9kZSxcbiAgW1RIRU9SRU1fUlVMRV9OQU1FXTogVGhlb3JlbU5vZGUsXG4gIFtQUkVNSVNFX1JVTEVfTkFNRV06IFByZW1pc2VOb2RlLFxuICBbU0VDVElPTl9SVUxFX05BTUVdOiBTZWN0aW9uTm9kZSxcbiAgW0FSR1VNRU5UX1JVTEVfTkFNRV06IEFyZ3VtZW50Tm9kZSxcbiAgW1BST1BFUlRZX1JVTEVfTkFNRV06IFByb3BlcnR5Tm9kZSxcbiAgW1NVQlBST09GX1JVTEVfTkFNRV06IFN1YnByb29mTm9kZSxcbiAgW0VRVUFMSVRZX1JVTEVfTkFNRV06IEVxdWFsaXR5Tm9kZSxcbiAgW1ZBUklBQkxFX1JVTEVfTkFNRV06IFZhcmlhYmxlTm9kZSxcbiAgW05PTlNFTlNFX1JVTEVfTkFNRV06IE5vbnNlbnNlTm9kZSxcbiAgW1JVTEVfQk9EWV9SVUxFX05BTUVdOiBSdWxlQm9keU5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbU0lHTkFUVVJFX1JVTEVfTkFNRV06IFNpZ25hdHVyZU5vZGUsXG4gIFtSRUZFUkVOQ0VfUlVMRV9OQU1FXTogUmVmZXJlbmNlTm9kZSxcbiAgW0pVREdFTUVOVF9SVUxFX05BTUVdOiBKdWRnZW1lbnROb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbQVhJT01fQk9EWV9SVUxFX05BTUVdOiBBeGlvbUJvZHlOb2RlLFxuICBbTEVNTUFfQk9EWV9SVUxFX05BTUVdOiBMZW1tYUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9SVUxFX05BTUVdOiBNZXRhTGVtbWFOb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW0hZUE9USEVTSVNfUlVMRV9OQU1FXTogSHlwb3RoZXNpc05vZGUsXG4gIFtSVUxFX0hFQURFUl9SVUxFX05BTUVdOiBSdWxlSGVhZGVyTm9kZSxcbiAgW1RZUEVfUFJFRklYX1JVTEVfTkFNRV06IFR5cGVQcmVmaXhOb2RlLFxuICBbU1VQUE9TSVRJT05fUlVMRV9OQU1FXTogU3VwcG9zaXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfUlVMRV9OQU1FXTogQ29uc3RydWN0b3JOb2RlLFxuICBbREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRGVjbGFyYXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fUlVMRV9OQU1FXTogTWV0YXRoZW9yZW1Ob2RlLFxuICBbQVhJT01fSEVBREVSX1JVTEVfTkFNRV06IEF4aW9tSGVhZGVyTm9kZSxcbiAgW0xFTU1BX0hFQURFUl9SVUxFX05BTUVdOiBMZW1tYUhlYWRlck5vZGUsXG4gIFtUSEVPUkVNX0JPRFlfUlVMRV9OQU1FXTogVGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQVZBUklBQkxFX1JVTEVfTkFNRV06IE1ldGF2YXJpYWJsZU5vZGUsXG4gIFtNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRV06IE1ldGFBcmd1bWVudE5vZGUsXG4gIFtRVUFMSUZJQ0FUSU9OX1JVTEVfTkFNRV06IFF1YWxpZmljYXRpb25Ob2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FXTogVGhlb3JlbUhlYWRlck5vZGUsXG4gIFtNRVRBX0xFTU1BX0JPRFlfUlVMRV9OQU1FXTogTWV0YUxlbW1hQm9keU5vZGUsXG4gIFtDT05KRUNUVVJFX0JPRFlfUlVMRV9OQU1FXTogQ29uamVjdHVyZUJvZHlOb2RlLFxuICBbTUVUQVRIRU9SRU1fQk9EWV9SVUxFX05BTUVdOiBNZXRhdGhlb3JlbUJvZHlOb2RlLFxuICBbTUVUQV9MRU1NQV9IRUFERVJfUlVMRV9OQU1FXTogTWV0YUxlbW1hSGVhZGVyTm9kZSxcbiAgW0NPTkpFQ1RVUkVfSEVBREVSX1JVTEVfTkFNRV06IENvbmplY3R1cmVIZWFkZXJOb2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1RFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IFRlcm1TdWJzdGl0dXRpb25Ob2RlLFxuICBbTUVUQVRIRU9SRU1fSEVBREVSX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtSGVhZGVyTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSxcbiAgW1BST0NFRFVSRV9SRUZFUkVOQ0VfUlVMRV9OQU1FXTogUHJvY2VkdXJlUmVmZXJlbmNlTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsTm9kZSxcbiAgW1NBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FXTogU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSxcbiAgW0NPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FXTogQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRV06IFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogVmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSxcbiAgW1NUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSxcbiAgW0NPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgW1NJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtUWVBFX1BSRUZJWF9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBUeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogRG9uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb25UZXJtaW5hbE5vZGVNYXA7XG4iXSwibmFtZXMiOlsiTm9uVGVybWluYWxOb2RlTWFwIiwiUlVMRV9SVUxFX05BTUUiLCJSdWxlTm9kZSIsIlNURVBfUlVMRV9OQU1FIiwiU3RlcE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsIlRlcm1Ob2RlIiwiVFlQRV9SVUxFX05BTUUiLCJUeXBlTm9kZSIsIlRZUEVTX1JVTEVfTkFNRSIsIlR5cGVzTm9kZSIsIkVSUk9SX1JVTEVfTkFNRSIsIkVycm9yTm9kZSIsIkZSQU1FX1JVTEVfTkFNRSIsIkZyYW1lTm9kZSIsIkxFTU1BX1JVTEVfTkFNRSIsIkxlbW1hTm9kZSIsIkFYSU9NX1JVTEVfTkFNRSIsIkF4aW9tTm9kZSIsIlBST09GX1JVTEVfTkFNRSIsIlByb29mTm9kZSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxhYmVsTm9kZSIsIkxBQkVMU19SVUxFX05BTUUiLCJMYWJlbHNOb2RlIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUaGVvcmVtTm9kZSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUHJlbWlzZU5vZGUiLCJTRUNUSU9OX1JVTEVfTkFNRSIsIlNlY3Rpb25Ob2RlIiwiQVJHVU1FTlRfUlVMRV9OQU1FIiwiQXJndW1lbnROb2RlIiwiUFJPUEVSVFlfUlVMRV9OQU1FIiwiUHJvcGVydHlOb2RlIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwiU3VicHJvb2ZOb2RlIiwiRVFVQUxJVFlfUlVMRV9OQU1FIiwiRXF1YWxpdHlOb2RlIiwiVkFSSUFCTEVfUlVMRV9OQU1FIiwiVmFyaWFibGVOb2RlIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiTm9uc2Vuc2VOb2RlIiwiUlVMRV9CT0RZX1JVTEVfTkFNRSIsIlJ1bGVCb2R5Tm9kZSIsIk1FVEFfVFlQRV9SVUxFX05BTUUiLCJNZXRhVHlwZU5vZGUiLCJTSUdOQVRVUkVfUlVMRV9OQU1FIiwiU2lnbmF0dXJlTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwiRGVkdWN0aW9uTm9kZSIsIlBBUkFNRVRFUl9SVUxFX05BTUUiLCJQYXJhbWV0ZXJOb2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlN0YXRlbWVudE5vZGUiLCJBWElPTV9CT0RZX1JVTEVfTkFNRSIsIkF4aW9tQm9keU5vZGUiLCJMRU1NQV9CT0RZX1JVTEVfTkFNRSIsIkxlbW1hQm9keU5vZGUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIk1ldGFMZW1tYU5vZGUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsIkNvbWJpbmF0b3JOb2RlIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDb25jbHVzaW9uTm9kZSIsIkNPTkpFQ1RVUkVfUlVMRV9OQU1FIiwiQ29uamVjdHVyZU5vZGUiLCJERVJJVkFUSU9OX1JVTEVfTkFNRSIsIkRlcml2YXRpb25Ob2RlIiwiSFlQT1RIRVNJU19SVUxFX05BTUUiLCJIeXBvdGhlc2lzTm9kZSIsIlJVTEVfSEVBREVSX1JVTEVfTkFNRSIsIlJ1bGVIZWFkZXJOb2RlIiwiVFlQRV9QUkVGSVhfUlVMRV9OQU1FIiwiVHlwZVByZWZpeE5vZGUiLCJTVVBQT1NJVElPTl9SVUxFX05BTUUiLCJTdXBwb3NpdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9SVUxFX05BTUUiLCJDb25zdHJ1Y3Rvck5vZGUiLCJERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEZWNsYXJhdGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9SVUxFX05BTUUiLCJNZXRhdGhlb3JlbU5vZGUiLCJBWElPTV9IRUFERVJfUlVMRV9OQU1FIiwiQXhpb21IZWFkZXJOb2RlIiwiTEVNTUFfSEVBREVSX1JVTEVfTkFNRSIsIkxlbW1hSGVhZGVyTm9kZSIsIlRIRU9SRU1fQk9EWV9SVUxFX05BTUUiLCJUaGVvcmVtQm9keU5vZGUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTWV0YXZhcmlhYmxlTm9kZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiTWV0YUFyZ3VtZW50Tm9kZSIsIlFVQUxJRklDQVRJT05fUlVMRV9OQU1FIiwiUXVhbGlmaWNhdGlvbk5vZGUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUeXBlQXNzZXJ0aW9uTm9kZSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlByb2NlZHVyZUNhbGxOb2RlIiwiU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FIiwiU3ViRGVyaXZhdGlvbk5vZGUiLCJUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUiLCJUaGVvcmVtSGVhZGVyTm9kZSIsIk1FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUUiLCJNZXRhTGVtbWFCb2R5Tm9kZSIsIkNPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUUiLCJDb25qZWN0dXJlQm9keU5vZGUiLCJNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtQm9keU5vZGUiLCJNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUiLCJNZXRhTGVtbWFIZWFkZXJOb2RlIiwiQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FIiwiQ29uamVjdHVyZUhlYWRlck5vZGUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eVJlbGF0aW9uTm9kZSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRlZmluZWRBc3NlcnRpb25Ob2RlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVGVybVN1YnN0aXR1dGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FIiwiTWV0YXRoZW9yZW1IZWFkZXJOb2RlIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiRnJhbWVTdWJzdGl0dXRpb25Ob2RlIiwiUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUUiLCJQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNQQTs7O2VBQUE7OzsyREFwUHFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzhEQUNDOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOzREQUNBO2dFQUNDO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBO2dFQUNBOzZEQUNBOzZEQUNBO2lFQUNDO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBO2lFQUNBOzREQUNBO2tFQUNDO2tFQUNBO2tFQUNBO2tFQUNBOytEQUNBOzZEQUNBOzZEQUNBO21FQUNDO21FQUNBO29FQUNDO29FQUNBO29FQUNBOytEQUNBO2lFQUNBOzREQUNBO2tFQUNDO21FQUNDO2lFQUNBO3VFQUNDOzhEQUNBOzREQUNBO2tFQUNBO21FQUNDO2dFQUNBO2dFQUNBOzZEQUNBO3lFQUNDO3lFQUNBO2dFQUNBO2dFQUNBOzBFQUNDO2dFQUNBO2dFQUNB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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBTZWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3NlY3Rpb25cIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFJ1bGVCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvcnVsZVwiO1xuaW1wb3J0IERvY3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2RvY3VtZW50XCI7XG5pbXBvcnQgU3RhdGVtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL3N0YXRlbWVudFwiO1xuaW1wb3J0IFJlZmVyZW5jZU5vZGUgZnJvbSBcIi4vbm9kZS9yZWZlcmVuY2VcIjtcbmltcG9ydCBEZWR1Y3Rpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVkdWN0aW9uXCI7XG5pbXBvcnQgSnVkZ2VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2p1ZGdlbWVudFwiO1xuaW1wb3J0IE1ldGFMZW1tYU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhTGVtbWFcIjtcbmltcG9ydCBQYXJhbWV0ZXJOb2RlIGZyb20gXCIuL25vZGUvcGFyYW1ldGVyXCI7XG5pbXBvcnQgU2lnbmF0dXJlTm9kZSBmcm9tIFwiLi9ub2RlL3NpZ25hdHVyZVwiO1xuaW1wb3J0IEF4aW9tQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L2F4aW9tXCI7XG5pbXBvcnQgTGVtbWFCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvbGVtbWFcIjtcbmltcG9ydCBEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Rlcml2YXRpb25cIjtcbmltcG9ydCBDb21iaW5hdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBDb25jbHVzaW9uTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmNsdXNpb25cIjtcbmltcG9ydCBDb25qZWN0dXJlTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmplY3R1cmVcIjtcbmltcG9ydCBIeXBvdGhlc2lzTm9kZSBmcm9tIFwiLi9ub2RlL2h5cG90aGVzaXNcIjtcbmltcG9ydCBUeXBlUHJlZml4Tm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVQcmVmaXhcIjtcbmltcG9ydCBBc3N1bXB0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc3VtcHRpb25cIjtcbmltcG9ydCBSdWxlSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci9ydWxlXCI7XG5pbXBvcnQgU3VwcG9zaXRpb25Ob2RlIGZyb20gXCIuL25vZGUvc3VwcG9zaXRpb25cIjtcbmltcG9ydCBQbGFjZWhvbGRlck5vZGUgZnJvbSBcIi4vbm9kZS9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IENvbnN0cnVjdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgTWV0YXRoZW9yZW1Ob2RlIGZyb20gXCIuL25vZGUvbWV0YXRoZW9yZW1cIjtcbmltcG9ydCBUaGVvcmVtQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L3RoZW9yZW1cIjtcbmltcG9ydCBBeGlvbUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvYXhpb21cIjtcbmltcG9ydCBMZW1tYUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvbGVtbWFcIjtcbmltcG9ydCBNZXRhQXJndW1lbnROb2RlIGZyb20gXCIuL25vZGUvbWV0YUFyZ3VtZW50XCI7XG5pbXBvcnQgTWV0YXZhcmlhYmxlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGF2YXJpYWJsZVwiO1xuaW1wb3J0IFF1YWxpZmljYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvcXVhbGlmaWNhdGlvblwiO1xuaW1wb3J0IFByb2NlZHVyZUNhbGxOb2RlIGZyb20gXCIuL25vZGUvcHJvY2VkdXJlQ2FsbFwiO1xuaW1wb3J0IFN1YkRlcml2YXRpb25Ob2RlIGZyb20gXCIuL25vZGUvc3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IFRoZW9yZW1IZWFkZXJOb2RlIGZyb20gXCIuL25vZGUvaGVhZGVyL3RoZW9yZW1cIjtcbmltcG9ydCBNZXRhTGVtbWFCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvbWV0YUxlbW1hXCI7XG5pbXBvcnQgVHlwZUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vdHlwZVwiO1xuaW1wb3J0IENvbmplY3R1cmVCb2R5Tm9kZSBmcm9tIFwiLi9ub2RlL2JvZHkvY29uamVjdHVyZVwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtQm9keU5vZGUgZnJvbSBcIi4vbm9kZS9ib2R5L21ldGF0aGVvcmVtXCI7XG5pbXBvcnQgTWV0YUxlbW1hSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci9tZXRhTGVtbWFcIjtcbmltcG9ydCBQcm9wZXJ0eVJlbGF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3Byb3BlcnR5UmVsYXRpb25cIlxuaW1wb3J0IERlZmluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2RlZmluZWRcIjtcbmltcG9ydCBUZXJtU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi90ZXJtXCI7XG5pbXBvcnQgQ29uamVjdHVyZUhlYWRlck5vZGUgZnJvbSBcIi4vbm9kZS9oZWFkZXIvY29uamVjdHVyZVwiO1xuaW1wb3J0IE1ldGF0aGVvcmVtSGVhZGVyTm9kZSBmcm9tIFwiLi9ub2RlL2hlYWRlci9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IFByb3BlcnR5QXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9wcm9wZXJ0eVwiO1xuaW1wb3J0IFN1YnByb29mQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zdWJwcm9vZlwiO1xuaW1wb3J0IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFByb2NlZHVyZVJlZmVyZW5jZU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9jZWR1cmVSZWZlcmVuY2VcIjtcbmltcG9ydCBQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIGZyb20gXCIuL25vZGUvcGFyZW50aGVzaXNlZExhYmVsXCI7XG5pbXBvcnQgQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9jb250YWluZWRcIjtcbmltcG9ydCBTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL3NhdGlzZmllc1wiO1xuaW1wb3J0IFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlIGZyb20gXCIuL25vZGUvcGFyZW50aGVzaXNlZExhYmVsc1wiXG5pbXBvcnQgUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9wcm9wZXJ0eVwiO1xuaW1wb3J0IFZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vdmFyaWFibGVcIjtcbmltcG9ydCBTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIGZyb20gXCIuL25vZGUvc3Vic3RpdHV0aW9uL3N0YXRlbWVudFwiO1xuaW1wb3J0IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9zaW1wbGVUeXBlXCI7XG5pbXBvcnQgQ29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBUeXBlUHJlZml4RGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vdHlwZVByZWZpeFwiO1xuaW1wb3J0IENvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29tcGxleFR5cGVcIjtcbmltcG9ydCBEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgTWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7XG4gIFJVTEVfUlVMRV9OQU1FLFxuICBTVEVQX1JVTEVfTkFNRSxcbiAgVEVSTV9SVUxFX05BTUUsXG4gIFRZUEVfUlVMRV9OQU1FLFxuICBUWVBFU19SVUxFX05BTUUsXG4gIFBST09GX1JVTEVfTkFNRSxcbiAgRVJST1JfUlVMRV9OQU1FLFxuICBGUkFNRV9SVUxFX05BTUUsXG4gIEFYSU9NX1JVTEVfTkFNRSxcbiAgTEVNTUFfUlVMRV9OQU1FLFxuICBMQUJFTF9SVUxFX05BTUUsXG4gIExBQkVMU19SVUxFX05BTUUsXG4gIFRIRU9SRU1fUlVMRV9OQU1FLFxuICBQUkVNSVNFX1JVTEVfTkFNRSxcbiAgU0VDVElPTl9SVUxFX05BTUUsXG4gIE5PTlNFTlNFX1JVTEVfTkFNRSxcbiAgQVJHVU1FTlRfUlVMRV9OQU1FLFxuICBTVUJQUk9PRl9SVUxFX05BTUUsXG4gIFBST1BFUlRZX1JVTEVfTkFNRSxcbiAgRVFVQUxJVFlfUlVMRV9OQU1FLFxuICBWQVJJQUJMRV9SVUxFX05BTUUsXG4gIERPQ1VNRU5UX1JVTEVfTkFNRSxcbiAgTUVUQV9UWVBFX1JVTEVfTkFNRSxcbiAgU0lHTkFUVVJFX1JVTEVfTkFNRSxcbiAgREVEVUNUSU9OX1JVTEVfTkFNRSxcbiAgSlVER0VNRU5UX1JVTEVfTkFNRSxcbiAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgUkVGRVJFTkNFX1JVTEVfTkFNRSxcbiAgU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgUlVMRV9CT0RZX1JVTEVfTkFNRSxcbiAgTUVUQV9MRU1NQV9SVUxFX05BTUUsXG4gIERFUklWQVRJT05fUlVMRV9OQU1FLFxuICBDT01CSU5BVE9SX1JVTEVfTkFNRSxcbiAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gIENPTkpFQ1RVUkVfUlVMRV9OQU1FLFxuICBIWVBPVEhFU0lTX1JVTEVfTkFNRSxcbiAgQVhJT01fQk9EWV9SVUxFX05BTUUsXG4gIExFTU1BX0JPRFlfUlVMRV9OQU1FLFxuICBBU1NVTVBUSU9OX1JVTEVfTkFNRSxcbiAgUExBQ0VIT0xERVJfUlVMRV9OQU1FLFxuICBUWVBFX1BSRUZJWF9SVUxFX05BTUUsXG4gIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgUlVMRV9IRUFERVJfUlVMRV9OQU1FLFxuICBDT05TVFJVQ1RPUl9SVUxFX05BTUUsXG4gIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSxcbiAgQVhJT01fSEVBREVSX1JVTEVfTkFNRSxcbiAgTEVNTUFfSEVBREVSX1JVTEVfTkFNRSxcbiAgVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSxcbiAgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSxcbiAgUVVBTElGSUNBVElPTl9SVUxFX05BTUUsXG4gIE1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FLFxuICBUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUsXG4gIFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUsXG4gIENPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUUsXG4gIE1FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUUsXG4gIE1FVEFUSEVPUkVNX0JPRFlfUlVMRV9OQU1FLFxuICBDT05KRUNUVVJFX0hFQURFUl9SVUxFX05BTUUsXG4gIE1FVEFfTEVNTUFfSEVBREVSX1JVTEVfTkFNRSxcbiAgUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FLFxuICBERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gIFRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgTUVUQVRIRU9SRU1fSEVBREVSX1JVTEVfTkFNRSxcbiAgU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUUsXG4gIENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUsXG4gIFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSxcbiAgUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICBDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gIFRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgTUVUQVZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuL3J1bGVOYW1lc1wiO1xuXG5jb25zdCBOb25UZXJtaW5hbE5vZGVNYXAgPSB7XG4gIFtSVUxFX1JVTEVfTkFNRV06IFJ1bGVOb2RlLFxuICBbU1RFUF9SVUxFX05BTUVdOiBTdGVwTm9kZSxcbiAgW1RFUk1fUlVMRV9OQU1FXTogVGVybU5vZGUsXG4gIFtUWVBFX1JVTEVfTkFNRV06IFR5cGVOb2RlLFxuICBbVFlQRVNfUlVMRV9OQU1FXTogVHlwZXNOb2RlLFxuICBbRVJST1JfUlVMRV9OQU1FXTogRXJyb3JOb2RlLFxuICBbRlJBTUVfUlVMRV9OQU1FXTogRnJhbWVOb2RlLFxuICBbTEVNTUFfUlVMRV9OQU1FXTogTGVtbWFOb2RlLFxuICBbQVhJT01fUlVMRV9OQU1FXTogQXhpb21Ob2RlLFxuICBbUFJPT0ZfUlVMRV9OQU1FXTogUHJvb2ZOb2RlLFxuICBbTEFCRUxfUlVMRV9OQU1FXTogTGFiZWxOb2RlLFxuICBbTEFCRUxTX1JVTEVfTkFNRV06IExhYmVsc05vZGUsXG4gIFtUSEVPUkVNX1JVTEVfTkFNRV06IFRoZW9yZW1Ob2RlLFxuICBbUFJFTUlTRV9SVUxFX05BTUVdOiBQcmVtaXNlTm9kZSxcbiAgW1NFQ1RJT05fUlVMRV9OQU1FXTogU2VjdGlvbk5vZGUsXG4gIFtBUkdVTUVOVF9SVUxFX05BTUVdOiBBcmd1bWVudE5vZGUsXG4gIFtQUk9QRVJUWV9SVUxFX05BTUVdOiBQcm9wZXJ0eU5vZGUsXG4gIFtTVUJQUk9PRl9SVUxFX05BTUVdOiBTdWJwcm9vZk5vZGUsXG4gIFtFUVVBTElUWV9SVUxFX05BTUVdOiBFcXVhbGl0eU5vZGUsXG4gIFtWQVJJQUJMRV9SVUxFX05BTUVdOiBWYXJpYWJsZU5vZGUsXG4gIFtOT05TRU5TRV9SVUxFX05BTUVdOiBOb25zZW5zZU5vZGUsXG4gIFtET0NVTUVOVF9SVUxFX05BTUVdOiBEb2N1bWVudE5vZGUsXG4gIFtSVUxFX0JPRFlfUlVMRV9OQU1FXTogUnVsZUJvZHlOb2RlLFxuICBbTUVUQV9UWVBFX1JVTEVfTkFNRV06IE1ldGFUeXBlTm9kZSxcbiAgW1NJR05BVFVSRV9SVUxFX05BTUVdOiBTaWduYXR1cmVOb2RlLFxuICBbUkVGRVJFTkNFX1JVTEVfTkFNRV06IFJlZmVyZW5jZU5vZGUsXG4gIFtKVURHRU1FTlRfUlVMRV9OQU1FXTogSnVkZ2VtZW50Tm9kZSxcbiAgW0RFRFVDVElPTl9SVUxFX05BTUVdOiBEZWR1Y3Rpb25Ob2RlLFxuICBbUEFSQU1FVEVSX1JVTEVfTkFNRV06IFBhcmFtZXRlck5vZGUsXG4gIFtTVEFURU1FTlRfUlVMRV9OQU1FXTogU3RhdGVtZW50Tm9kZSxcbiAgW0FYSU9NX0JPRFlfUlVMRV9OQU1FXTogQXhpb21Cb2R5Tm9kZSxcbiAgW0xFTU1BX0JPRFlfUlVMRV9OQU1FXTogTGVtbWFCb2R5Tm9kZSxcbiAgW01FVEFfTEVNTUFfUlVMRV9OQU1FXTogTWV0YUxlbW1hTm9kZSxcbiAgW0NPTUJJTkFUT1JfUlVMRV9OQU1FXTogQ29tYmluYXRvck5vZGUsXG4gIFtDT05DTFVTSU9OX1JVTEVfTkFNRV06IENvbmNsdXNpb25Ob2RlLFxuICBbQ09OSkVDVFVSRV9SVUxFX05BTUVdOiBDb25qZWN0dXJlTm9kZSxcbiAgW0RFUklWQVRJT05fUlVMRV9OQU1FXTogRGVyaXZhdGlvbk5vZGUsXG4gIFtIWVBPVEhFU0lTX1JVTEVfTkFNRV06IEh5cG90aGVzaXNOb2RlLFxuICBbQVNTVU1QVElPTl9SVUxFX05BTUVdOiBBc3N1bXB0aW9uTm9kZSxcbiAgW1JVTEVfSEVBREVSX1JVTEVfTkFNRV06IFJ1bGVIZWFkZXJOb2RlLFxuICBbVFlQRV9QUkVGSVhfUlVMRV9OQU1FXTogVHlwZVByZWZpeE5vZGUsXG4gIFtQTEFDRUhPTERFUl9SVUxFX05BTUVdOiBQbGFjZWhvbGRlck5vZGUsXG4gIFtTVVBQT1NJVElPTl9SVUxFX05BTUVdOiBTdXBwb3NpdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9SVUxFX05BTUVdOiBDb25zdHJ1Y3Rvck5vZGUsXG4gIFtNRVRBVEhFT1JFTV9SVUxFX05BTUVdOiBNZXRhdGhlb3JlbU5vZGUsXG4gIFtBWElPTV9IRUFERVJfUlVMRV9OQU1FXTogQXhpb21IZWFkZXJOb2RlLFxuICBbTEVNTUFfSEVBREVSX1JVTEVfTkFNRV06IExlbW1hSGVhZGVyTm9kZSxcbiAgW1RIRU9SRU1fQk9EWV9SVUxFX05BTUVdOiBUaGVvcmVtQm9keU5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfUlVMRV9OQU1FXTogTWV0YXZhcmlhYmxlTm9kZSxcbiAgW01FVEFfQVJHVU1FTlRfUlVMRV9OQU1FXTogTWV0YUFyZ3VtZW50Tm9kZSxcbiAgW1FVQUxJRklDQVRJT05fUlVMRV9OQU1FXTogUXVhbGlmaWNhdGlvbk5vZGUsXG4gIFtUWVBFX0FTU0VSVElPTl9SVUxFX05BTUVdOiBUeXBlQXNzZXJ0aW9uTm9kZSxcbiAgW1BST0NFRFVSRV9DQUxMX1JVTEVfTkFNRV06IFByb2NlZHVyZUNhbGxOb2RlLFxuICBbU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FXTogU3ViRGVyaXZhdGlvbk5vZGUsXG4gIFtUSEVPUkVNX0hFQURFUl9SVUxFX05BTUVdOiBUaGVvcmVtSGVhZGVyTm9kZSxcbiAgW01FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUVdOiBNZXRhTGVtbWFCb2R5Tm9kZSxcbiAgW0NPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUVdOiBDb25qZWN0dXJlQm9keU5vZGUsXG4gIFtNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtQm9keU5vZGUsXG4gIFtNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUVdOiBNZXRhTGVtbWFIZWFkZXJOb2RlLFxuICBbQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FXTogQ29uamVjdHVyZUhlYWRlck5vZGUsXG4gIFtQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eVJlbGF0aW9uTm9kZSxcbiAgW0RFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRV06IERlZmluZWRBc3NlcnRpb25Ob2RlLFxuICBbVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogVGVybVN1YnN0aXR1dGlvbk5vZGUsXG4gIFtNRVRBVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FXTogTWV0YXRoZW9yZW1IZWFkZXJOb2RlLFxuICBbU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRV06IFN1YnByb29mQXNzZXJ0aW9uTm9kZSxcbiAgW1BST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eUFzc2VydGlvbk5vZGUsXG4gIFtGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogRnJhbWVTdWJzdGl0dXRpb25Ob2RlLFxuICBbUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUVdOiBQcm9jZWR1cmVSZWZlcmVuY2VOb2RlLFxuICBbUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUVdOiBQYXJlbnRoZXNpc2VkTGFiZWxOb2RlLFxuICBbU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlLFxuICBbQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBDb250YWluZWRBc3NlcnRpb25Ob2RlLFxuICBbUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsc05vZGUsXG4gIFtWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSxcbiAgW1BST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLFxuICBbU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUVdOiBTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlLFxuICBbQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBDb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLFxuICBbU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSxcbiAgW1RZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSxcbiAgW0NPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBNZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE5vblRlcm1pbmFsTm9kZU1hcDtcbiJdLCJuYW1lcyI6WyJOb25UZXJtaW5hbE5vZGVNYXAiLCJSVUxFX1JVTEVfTkFNRSIsIlJ1bGVOb2RlIiwiU1RFUF9SVUxFX05BTUUiLCJTdGVwTm9kZSIsIlRFUk1fUlVMRV9OQU1FIiwiVGVybU5vZGUiLCJUWVBFX1JVTEVfTkFNRSIsIlR5cGVOb2RlIiwiVFlQRVNfUlVMRV9OQU1FIiwiVHlwZXNOb2RlIiwiRVJST1JfUlVMRV9OQU1FIiwiRXJyb3JOb2RlIiwiRlJBTUVfUlVMRV9OQU1FIiwiRnJhbWVOb2RlIiwiTEVNTUFfUlVMRV9OQU1FIiwiTGVtbWFOb2RlIiwiQVhJT01fUlVMRV9OQU1FIiwiQXhpb21Ob2RlIiwiUFJPT0ZfUlVMRV9OQU1FIiwiUHJvb2ZOb2RlIiwiTEFCRUxfUlVMRV9OQU1FIiwiTGFiZWxOb2RlIiwiTEFCRUxTX1JVTEVfTkFNRSIsIkxhYmVsc05vZGUiLCJUSEVPUkVNX1JVTEVfTkFNRSIsIlRoZW9yZW1Ob2RlIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQcmVtaXNlTm9kZSIsIlNFQ1RJT05fUlVMRV9OQU1FIiwiU2VjdGlvbk5vZGUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJBcmd1bWVudE5vZGUiLCJQUk9QRVJUWV9SVUxFX05BTUUiLCJQcm9wZXJ0eU5vZGUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJTdWJwcm9vZk5vZGUiLCJFUVVBTElUWV9SVUxFX05BTUUiLCJFcXVhbGl0eU5vZGUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJWYXJpYWJsZU5vZGUiLCJOT05TRU5TRV9SVUxFX05BTUUiLCJOb25zZW5zZU5vZGUiLCJET0NVTUVOVF9SVUxFX05BTUUiLCJEb2N1bWVudE5vZGUiLCJSVUxFX0JPRFlfUlVMRV9OQU1FIiwiUnVsZUJvZHlOb2RlIiwiTUVUQV9UWVBFX1JVTEVfTkFNRSIsIk1ldGFUeXBlTm9kZSIsIlNJR05BVFVSRV9SVUxFX05BTUUiLCJTaWduYXR1cmVOb2RlIiwiUkVGRVJFTkNFX1JVTEVfTkFNRSIsIlJlZmVyZW5jZU5vZGUiLCJKVURHRU1FTlRfUlVMRV9OQU1FIiwiSnVkZ2VtZW50Tm9kZSIsIkRFRFVDVElPTl9SVUxFX05BTUUiLCJEZWR1Y3Rpb25Ob2RlIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIlBhcmFtZXRlck5vZGUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiU3RhdGVtZW50Tm9kZSIsIkFYSU9NX0JPRFlfUlVMRV9OQU1FIiwiQXhpb21Cb2R5Tm9kZSIsIkxFTU1BX0JPRFlfUlVMRV9OQU1FIiwiTGVtbWFCb2R5Tm9kZSIsIk1FVEFfTEVNTUFfUlVMRV9OQU1FIiwiTWV0YUxlbW1hTm9kZSIsIkNPTUJJTkFUT1JfUlVMRV9OQU1FIiwiQ29tYmluYXRvck5vZGUiLCJDT05DTFVTSU9OX1JVTEVfTkFNRSIsIkNvbmNsdXNpb25Ob2RlIiwiQ09OSkVDVFVSRV9SVUxFX05BTUUiLCJDb25qZWN0dXJlTm9kZSIsIkRFUklWQVRJT05fUlVMRV9OQU1FIiwiRGVyaXZhdGlvbk5vZGUiLCJIWVBPVEhFU0lTX1JVTEVfTkFNRSIsIkh5cG90aGVzaXNOb2RlIiwiQVNTVU1QVElPTl9SVUxFX05BTUUiLCJBc3N1bXB0aW9uTm9kZSIsIlJVTEVfSEVBREVSX1JVTEVfTkFNRSIsIlJ1bGVIZWFkZXJOb2RlIiwiVFlQRV9QUkVGSVhfUlVMRV9OQU1FIiwiVHlwZVByZWZpeE5vZGUiLCJQTEFDRUhPTERFUl9SVUxFX05BTUUiLCJQbGFjZWhvbGRlck5vZGUiLCJTVVBQT1NJVElPTl9SVUxFX05BTUUiLCJTdXBwb3NpdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9SVUxFX05BTUUiLCJDb25zdHJ1Y3Rvck5vZGUiLCJNRVRBVEhFT1JFTV9SVUxFX05BTUUiLCJNZXRhdGhlb3JlbU5vZGUiLCJBWElPTV9IRUFERVJfUlVMRV9OQU1FIiwiQXhpb21IZWFkZXJOb2RlIiwiTEVNTUFfSEVBREVSX1JVTEVfTkFNRSIsIkxlbW1hSGVhZGVyTm9kZSIsIlRIRU9SRU1fQk9EWV9SVUxFX05BTUUiLCJUaGVvcmVtQm9keU5vZGUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTWV0YXZhcmlhYmxlTm9kZSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiTWV0YUFyZ3VtZW50Tm9kZSIsIlFVQUxJRklDQVRJT05fUlVMRV9OQU1FIiwiUXVhbGlmaWNhdGlvbk5vZGUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUeXBlQXNzZXJ0aW9uTm9kZSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlByb2NlZHVyZUNhbGxOb2RlIiwiU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FIiwiU3ViRGVyaXZhdGlvbk5vZGUiLCJUSEVPUkVNX0hFQURFUl9SVUxFX05BTUUiLCJUaGVvcmVtSGVhZGVyTm9kZSIsIk1FVEFfTEVNTUFfQk9EWV9SVUxFX05BTUUiLCJNZXRhTGVtbWFCb2R5Tm9kZSIsIkNPTkpFQ1RVUkVfQk9EWV9SVUxFX05BTUUiLCJDb25qZWN0dXJlQm9keU5vZGUiLCJNRVRBVEhFT1JFTV9CT0RZX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtQm9keU5vZGUiLCJNRVRBX0xFTU1BX0hFQURFUl9SVUxFX05BTUUiLCJNZXRhTGVtbWFIZWFkZXJOb2RlIiwiQ09OSkVDVFVSRV9IRUFERVJfUlVMRV9OQU1FIiwiQ29uamVjdHVyZUhlYWRlck5vZGUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eVJlbGF0aW9uTm9kZSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRlZmluZWRBc3NlcnRpb25Ob2RlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVGVybVN1YnN0aXR1dGlvbk5vZGUiLCJNRVRBVEhFT1JFTV9IRUFERVJfUlVMRV9OQU1FIiwiTWV0YXRoZW9yZW1IZWFkZXJOb2RlIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiRnJhbWVTdWJzdGl0dXRpb25Ob2RlIiwiUFJPQ0VEVVJFX1JFRkVSRU5DRV9SVUxFX05BTUUiLCJQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJWYXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiU0lNUExFX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSIsIlRZUEVfUFJFRklYX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlR5cGVQcmVmaXhEZWNsYXJhdGlvbk5vZGUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJEb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTJQQTs7O2VBQUE7OzsyREF6UHFCOzJEQUNBOzJEQUNBOzJEQUNBOzREQUNDOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzREQUNBOzZEQUNDOzhEQUNDOzhEQUNBOzhEQUNBOytEQUNDOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytEQUNBOytE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
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _ontology = /*#__PURE__*/ _interop_require_wildcard(require("../../ontology"));
12
12
  var _assertion = /*#__PURE__*/ _interop_require_default(require("../assertion"));
13
- var _temporary = /*#__PURE__*/ _interop_require_default(require("../../context/temporary"));
14
13
  var _substitutions = require("../../utilities/substitutions");
15
14
  function _assert_this_initialized(self) {
16
15
  if (self === void 0) {
@@ -291,7 +290,8 @@ var _default = (0, _ontology.define)((_ContainedAssertion = /*#__PURE__*/ functi
291
290
  var verifiesWhenDerived;
292
291
  var containedAssertionString = this.getString(); ///
293
292
  context.trace("Verifying the '".concat(containedAssertionString, "' derived contained assertion..."));
294
- verifiesWhenDerived = verifyWhenDerived(this.term, this.frame, this.statement, this.negated, context);
293
+ var generalCotnext = null, specificContext = context; ///
294
+ verifiesWhenDerived = verifyWhenDerived(this.term, this.frame, this.statement, this.negated, generalCotnext, specificContext);
295
295
  if (verifiesWhenDerived) {
296
296
  context.debug("...verified the '".concat(containedAssertionString, "' derived contained assertion."));
297
297
  }
@@ -300,13 +300,11 @@ var _default = (0, _ontology.define)((_ContainedAssertion = /*#__PURE__*/ functi
300
300
  },
301
301
  {
302
302
  key: "unifyIndependently",
303
- value: function unifyIndependently(substitutions, context) {
303
+ value: function unifyIndependently(substitutions, generalContext, specificContext) {
304
304
  var unifiesIndependently;
305
- var containedAssertionString = this.getString(); ///
305
+ var context = specificContext, containedAssertionString = this.getString(); ///
306
306
  context.trace("Unifying the '".concat(containedAssertionString, "' contained assertion independently..."));
307
- var tokens = this.getTokens(), temporaryContext = _temporary.default.fromContextAndTokens(context, tokens);
308
- context = temporaryContext; ///
309
- var term = (0, _substitutions.termFromTermAndSubstitutions)(this.term, substitutions, context), frame = (0, _substitutions.frameFromFrameAndSubstitutions)(this.frame, substitutions, context), statement = (0, _substitutions.statementFromStatementAndSubstitutions)(this.statement, substitutions, context), verifiesWhenDerived = verifyWhenDerived(term, frame, statement, this.negated, context);
307
+ var term = (0, _substitutions.termFromTermAndSubstitutions)(this.term, substitutions, generalContext, specificContext), frame = (0, _substitutions.frameFromFrameAndSubstitutions)(this.frame, substitutions, generalContext, specificContext), statement = (0, _substitutions.statementFromStatementAndSubstitutions)(this.statement, substitutions, generalContext, specificContext), verifiesWhenDerived = verifyWhenDerived(term, frame, statement, this.negated, generalContext, specificContext);
310
308
  unifiesIndependently = verifiesWhenDerived; ///
311
309
  if (unifiesIndependently) {
312
310
  context.debug("...unified the '".concat(containedAssertionString, "' contained assertion independently."));
@@ -330,8 +328,9 @@ var _default = (0, _ontology.define)((_ContainedAssertion = /*#__PURE__*/ functi
330
328
  ]);
331
329
  return ContainedAssertion;
332
330
  }(_assertion.default), _define_property(_ContainedAssertion, "name", "ContainedAssertion"), _ContainedAssertion));
333
- function verifyWhenDerived(term, frame, statement, negated, context) {
331
+ function verifyWhenDerived(term, frame, statement, negated, generalContext, specificContext) {
334
332
  var verifiesWhenDerived = false;
333
+ var context = specificContext; ///
335
334
  if (statement !== null) {
336
335
  if (term !== null) {
337
336
  var termContained = statement.isTermContained(term, context);
@@ -355,4 +354,4 @@ function verifyWhenDerived(term, frame, statement, negated, context) {
355
354
  return verifiesWhenDerived;
356
355
  }
357
356
 
358
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vbnRvbG9neS9hc3NlcnRpb24vY29udGFpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgb250b2xvZ3kgZnJvbSBcIi4uLy4uL29udG9sb2d5XCI7XG5pbXBvcnQgQXNzZXJ0aW9uIGZyb20gXCIuLi9hc3NlcnRpb25cIjtcbmltcG9ydCBUZW1wb3JhcnlDb250ZXh0IGZyb20gXCIuLi8uLi9jb250ZXh0L3RlbXBvcmFyeVwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vb250b2xvZ3lcIjtcbmltcG9ydCB7IHRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMsIGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucywgc3RhdGVtZW50RnJvbVN0YXRlbWVudEFuZFN1YnN0aXR1dGlvbnMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N1YnN0aXR1dGlvbnNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIENvbnRhaW5lZEFzc2VydGlvbiBleHRlbmRzIEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbm9kZSwgdG9rZW5zLCB0ZXJtLCBmcmFtZSwgbmVnYXRlZCwgc3RhdGVtZW50KSB7XG4gICAgc3VwZXIoc3RyaW5nLCBub2RlLCB0b2tlbnMpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLmZyYW1lID0gZnJhbWU7XG4gICAgdGhpcy5uZWdhdGVkID0gbmVnYXRlZDtcbiAgICB0aGlzLnN0YXRlbWVudCA9IHN0YXRlbWVudDtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldEZyYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmZyYW1lO1xuICB9XG5cbiAgaXNOZWdhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLm5lZ2F0ZWQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50O1xuICB9XG5cbiAgdmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0ZXJtVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVRlcm0oYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCksXG4gICAgICAgICAgZnJhbWVWZXJpZmllcyA9IHRoaXMudmVyaWZ5RnJhbWUoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50VmVyaWZpZXMgPSB0aGlzLnZlcmlmeVN0YXRlbWVudChhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KVxuXG4gICAgaWYgKHRlcm1WZXJpZmllcyB8fCBmcmFtZVZlcmlmaWVzIHx8IHN0YXRlbWVudFZlcmlmaWVzKSB7XG4gICAgICBsZXQgdmVyaWZpZXNXaGVuU3RhdGVkID0gZmFsc2UsXG4gICAgICAgICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gICAgICBpZiAoc3RhdGVkKSB7XG4gICAgICAgIHZlcmlmaWVzV2hlblN0YXRlZCA9IHRoaXMudmVyaWZ5V2hlblN0YXRlZChhc3NpZ25tZW50cywgY29udGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdGhpcy52ZXJpZnlXaGVuRGVyaXZlZChjb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZlcmlmaWVzV2hlblN0YXRlZCB8fCB2ZXJpZmllc1doZW5EZXJpdmVkKSB7XG4gICAgICAgIHZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVRlcm0oYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCB0ZXJtVmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0aGlzLnRlcm0uZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gKTtcblxuICAgICAgY29uc3QgdGVybVNpbXBsZSA9IHRoaXMudGVybS5pc1NpbXBsZSgpO1xuXG4gICAgICBpZiAoIXRlcm1TaW1wbGUpIHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIGlzIG5vdCBzaW1wbGUuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZXJtVmVyaWZpZXMgPSB0aGlzLnRlcm0udmVyaWZ5KGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBjb25zdCB2ZXJpZmllc0FoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllc0FoZWFkO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGVybVZlcmlmaWVzKSB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm1WZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeUZyYW1lKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgZnJhbWVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZnJhbWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGZyYW1lU3RyaW5nID0gdGhpcy5mcmFtZS5nZXRTdHJpbmcoKTtcblxuICAgICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lLi4uYCk7XG5cbiAgICAgIGNvbnN0IGZyYW1lU2ltcGxlID0gdGhpcy5mcmFtZS5pc1NpbXBsZSgpO1xuXG4gICAgICBpZiAoIWZyYW1lU2ltcGxlKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHtmcmFtZVN0cmluZ30nIGZyYW1lIGlzIG5vdCBzaW1wbGUuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0ZWQgPSB0cnVlOyAgLy8vXG5cbiAgICAgICAgYXNzaWdubWVudHMgPSBudWxsOyAvLy9cblxuICAgICAgICBmcmFtZVZlcmlmaWVzID0gdGhpcy5mcmFtZS52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICAgICAgaWYgKGZyYW1lVmVyaWZpZXMpIHtcbiAgICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmcmFtZVZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5U3RhdGVtZW50KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgc3RhdGVtZW50VmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLnN0YXRlbWVudCAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gdGhpcy5zdGF0ZW1lbnQuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50Li4uYCk7XG5cbiAgICAgIHN0YXRlZCA9IHRydWU7ICAvLy9cblxuICAgICAgYXNzaWdubWVudHMgPSBudWxsOyAvLy9cblxuICAgICAgc3RhdGVtZW50VmVyaWZpZXMgPSB0aGlzLnN0YXRlbWVudC52ZXJpZnkoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllcykge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50LmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVdoZW5TdGF0ZWQoYXNzaWdubWVudHMsIGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXNXaGVuU3RhdGVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllc1doZW5TdGF0ZWQgPSB0cnVlO1xuXG4gICAgaWYgKHZlcmlmaWVzV2hlblN0YXRlZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIHN0YXRlZCBjb250YWluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc1doZW5TdGF0ZWQ7XG4gIH1cblxuICB2ZXJpZnlXaGVuRGVyaXZlZChjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzV2hlbkRlcml2ZWQ7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCk7XG5cbiAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdmVyaWZ5V2hlbkRlcml2ZWQodGhpcy50ZXJtLCB0aGlzLmZyYW1lLCB0aGlzLnN0YXRlbWVudCwgdGhpcy5uZWdhdGVkLCBjb250ZXh0KTtcblxuICAgIGlmICh2ZXJpZmllc1doZW5EZXJpdmVkKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCBjb250YWluZWQgYXNzZXJ0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllc1doZW5EZXJpdmVkO1xuICB9XG5cbiAgdW5pZnlJbmRlcGVuZGVudGx5KHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpIHtcbiAgICBsZXQgdW5pZmllc0luZGVwZW5kZW50bHk7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFVuaWZ5aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uIGluZGVwZW5kZW50bHkuLi5gKTtcblxuICAgIGNvbnN0IHRva2VucyA9IHRoaXMuZ2V0VG9rZW5zKCksXG4gICAgICAgICAgdGVtcG9yYXJ5Q29udGV4dCA9IFRlbXBvcmFyeUNvbnRleHQuZnJvbUNvbnRleHRBbmRUb2tlbnMoY29udGV4dCwgdG9rZW5zKTtcblxuICAgIGNvbnRleHQgPSB0ZW1wb3JhcnlDb250ZXh0OyAvLy9cblxuICAgIGNvbnN0IHRlcm0gPSB0ZXJtRnJvbVRlcm1BbmRTdWJzdGl0dXRpb25zKHRoaXMudGVybSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCksXG4gICAgICAgICAgZnJhbWUgPSBmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnModGhpcy5mcmFtZSwgc3Vic3RpdHV0aW9ucywgY29udGV4dCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50RnJvbVN0YXRlbWVudEFuZFN1YnN0aXR1dGlvbnModGhpcy5zdGF0ZW1lbnQsIHN1YnN0aXR1dGlvbnMsIGNvbnRleHQpLFxuICAgICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSB2ZXJpZnlXaGVuRGVyaXZlZCh0ZXJtLCBmcmFtZSwgc3RhdGVtZW50LCB0aGlzLm5lZ2F0ZWQsIGNvbnRleHQpO1xuXG4gICAgdW5pZmllc0luZGVwZW5kZW50bHkgPSB2ZXJpZmllc1doZW5EZXJpdmVkOyAvLy9cblxuICAgIGlmICh1bmlmaWVzSW5kZXBlbmRlbnRseSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udW5pZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbiBpbmRlcGVuZGVudGx5LmApO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVzSW5kZXBlbmRlbnRseTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb250YWluZWRBc3NlcnRpb25cIjtcblxuICBzdGF0aWMgZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGxldCBjb250YWluZWRBc3NlcnRpb24gPSBudWxsO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uTm9kZSA9IHN0YXRlbWVudE5vZGUuZ2V0Q29udGFpbmVkQXNzZXJ0aW9uTm9kZSgpO1xuXG4gICAgaWYgKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHsgVGVybSwgRnJhbWUsIFN0YXRlbWVudCB9ID0gb250b2xvZ3ksXG4gICAgICAgICAgICBub2RlID0gY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgIC8vL1xuICAgICAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgICAgICB0b2tlbnMgPSBjb250ZXh0Lm5vZGVBc1Rva2Vucyhub2RlKSxcbiAgICAgICAgICAgIG5lZ2F0ZWQgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlLmlzTmVnYXRlZCgpLFxuICAgICAgICAgICAgdGVybSA9IFRlcm0uZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBmcmFtZSA9IEZyYW1lLmZyb21Db250YWluZWRBc3NlcnRpb25Ob2RlKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RhdGVtZW50ID0gU3RhdGVtZW50LmZyb21Db250YWluZWRBc3NlcnRpb25Ob2RlKGNvbnRhaW5lZEFzc2VydGlvbk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250YWluZWRBc3NlcnRpb24gPSBuZXcgQ29udGFpbmVkQXNzZXJ0aW9uKHN0cmluZywgbm9kZSwgdG9rZW5zLCB0ZXJtLCBmcmFtZSwgbmVnYXRlZCwgc3RhdGVtZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGFpbmVkQXNzZXJ0aW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdmVyaWZ5V2hlbkRlcml2ZWQodGVybSwgZnJhbWUsIHN0YXRlbWVudCwgbmVnYXRlZCwgY29udGV4dCkge1xuICBsZXQgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IGZhbHNlO1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdGVybUNvbnRhaW5lZCA9IHN0YXRlbWVudC5pc1Rlcm1Db250YWluZWQodGVybSwgY29udGV4dCk7XG5cbiAgICAgIGlmICghbmVnYXRlZCAmJiB0ZXJtQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhdGVybUNvbnRhaW5lZCkge1xuICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhbWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGZyYW1lQ29udGFpbmVkID0gc3RhdGVtZW50LmlzRnJhbWVDb250YWluZWQoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoIW5lZ2F0ZWQgJiYgZnJhbWVDb250YWluZWQpIHtcbiAgICAgICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWdhdGVkICYmICFmcmFtZUNvbnRhaW5lZCkge1xuICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNXaGVuRGVyaXZlZDtcbn0iXSwibmFtZXMiOlsiZGVmaW5lIiwiQ29udGFpbmVkQXNzZXJ0aW9uIiwic3RyaW5nIiwibm9kZSIsInRva2VucyIsInRlcm0iLCJmcmFtZSIsIm5lZ2F0ZWQiLCJzdGF0ZW1lbnQiLCJnZXRUZXJtIiwiZ2V0RnJhbWUiLCJpc05lZ2F0ZWQiLCJnZXRTdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJ2ZXJpZmllcyIsImNvbnRhaW5lZEFzc2VydGlvblN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidGVybVZlcmlmaWVzIiwidmVyaWZ5VGVybSIsImZyYW1lVmVyaWZpZXMiLCJ2ZXJpZnlGcmFtZSIsInN0YXRlbWVudFZlcmlmaWVzIiwidmVyaWZ5U3RhdGVtZW50IiwidmVyaWZpZXNXaGVuU3RhdGVkIiwidmVyaWZpZXNXaGVuRGVyaXZlZCIsInZlcmlmeVdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImRlYnVnIiwidGVybVN0cmluZyIsInRlcm1TaW1wbGUiLCJpc1NpbXBsZSIsInZlcmlmaWVzQWhlYWQiLCJmcmFtZVN0cmluZyIsImZyYW1lU2ltcGxlIiwic3RhdGVtZW50U3RyaW5nIiwidW5pZnlJbmRlcGVuZGVudGx5Iiwic3Vic3RpdHV0aW9ucyIsInVuaWZpZXNJbmRlcGVuZGVudGx5IiwiZ2V0VG9rZW5zIiwidGVtcG9yYXJ5Q29udGV4dCIsIlRlbXBvcmFyeUNvbnRleHQiLCJmcm9tQ29udGV4dEFuZFRva2VucyIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsImZyb21TdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImNvbnRhaW5lZEFzc2VydGlvbiIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJnZXRDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiVGVybSIsIm9udG9sb2d5IiwiRnJhbWUiLCJTdGF0ZW1lbnQiLCJub2RlQXNTdHJpbmciLCJub2RlQXNUb2tlbnMiLCJmcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsIkFzc2VydGlvbiIsIm5hbWUiLCJ0ZXJtQ29udGFpbmVkIiwiaXNUZXJtQ29udGFpbmVkIiwiZnJhbWVDb250YWluZWQiLCJpc0ZyYW1lQ29udGFpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnRUFQcUI7Z0VBQ0M7Z0VBQ087NkJBR3dGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVySCxXQUFlQSxJQUFBQSxnQkFBTSx1Q0FBQzs7YUFBTUMsbUJBQ2RDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxP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
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vbnRvbG9neS9hc3NlcnRpb24vY29udGFpbmVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgb250b2xvZ3kgZnJvbSBcIi4uLy4uL29udG9sb2d5XCI7XG5pbXBvcnQgQXNzZXJ0aW9uIGZyb20gXCIuLi9hc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL29udG9sb2d5XCI7XG5pbXBvcnQgeyB0ZXJtRnJvbVRlcm1BbmRTdWJzdGl0dXRpb25zLCBmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMsIHN0YXRlbWVudEZyb21TdGF0ZW1lbnRBbmRTdWJzdGl0dXRpb25zIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9zdWJzdGl0dXRpb25zXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBDb250YWluZWRBc3NlcnRpb24gZXh0ZW5kcyBBc3NlcnRpb24ge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5vZGUsIHRva2VucywgdGVybSwgZnJhbWUsIG5lZ2F0ZWQsIHN0YXRlbWVudCkge1xuICAgIHN1cGVyKHN0cmluZywgbm9kZSwgdG9rZW5zKTtcblxuICAgIHRoaXMudGVybSA9IHRlcm07XG4gICAgdGhpcy5mcmFtZSA9IGZyYW1lO1xuICAgIHRoaXMubmVnYXRlZCA9IG5lZ2F0ZWQ7XG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRGcmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5mcmFtZTtcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudDtcbiAgfVxuXG4gIHZlcmlmeShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgdGVybVZlcmlmaWVzID0gdGhpcy52ZXJpZnlUZXJtKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpLFxuICAgICAgICAgIGZyYW1lVmVyaWZpZXMgPSB0aGlzLnZlcmlmeUZyYW1lKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpLFxuICAgICAgICAgIHN0YXRlbWVudFZlcmlmaWVzID0gdGhpcy52ZXJpZnlTdGF0ZW1lbnQoYXNzaWdubWVudHMsIHN0YXRlZCwgY29udGV4dClcblxuICAgIGlmICh0ZXJtVmVyaWZpZXMgfHwgZnJhbWVWZXJpZmllcyB8fCBzdGF0ZW1lbnRWZXJpZmllcykge1xuICAgICAgbGV0IHZlcmlmaWVzV2hlblN0YXRlZCA9IGZhbHNlLFxuICAgICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKHN0YXRlZCkge1xuICAgICAgICB2ZXJpZmllc1doZW5TdGF0ZWQgPSB0aGlzLnZlcmlmeVdoZW5TdGF0ZWQoYXNzaWdubWVudHMsIGNvbnRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IHRoaXMudmVyaWZ5V2hlbkRlcml2ZWQoY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2ZXJpZmllc1doZW5TdGF0ZWQgfHwgdmVyaWZpZXNXaGVuRGVyaXZlZCkge1xuICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHZlcmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Y29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nfScgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlUZXJtKGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpIHtcbiAgICBsZXQgdGVybVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy50ZXJtICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGhpcy50ZXJtLmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICAgIGNvbnN0IHRlcm1TaW1wbGUgPSB0aGlzLnRlcm0uaXNTaW1wbGUoKTtcblxuICAgICAgaWYgKCF0ZXJtU2ltcGxlKSB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBpcyBub3Qgc2ltcGxlLmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGVybVZlcmlmaWVzID0gdGhpcy50ZXJtLnZlcmlmeShjb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmVyaWZpZXNBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZXNBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRlcm1WZXJpZmllcykge1xuICAgICAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXJtVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlGcmFtZShhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IGZyYW1lVmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmZyYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmcmFtZVN0cmluZyA9IHRoaXMuZnJhbWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZS4uLmApO1xuXG4gICAgICBjb25zdCBmcmFtZVNpbXBsZSA9IHRoaXMuZnJhbWUuaXNTaW1wbGUoKTtcblxuICAgICAgaWYgKCFmcmFtZVNpbXBsZSkge1xuICAgICAgICBjb250ZXh0LmRlYnVnKGBUaGUgJyR7ZnJhbWVTdHJpbmd9JyBmcmFtZSBpcyBub3Qgc2ltcGxlLmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGVkID0gdHJ1ZTsgIC8vL1xuXG4gICAgICAgIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgICAgICAgZnJhbWVWZXJpZmllcyA9IHRoaXMuZnJhbWUudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICAgIGlmIChmcmFtZVZlcmlmaWVzKSB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ZyYW1lU3RyaW5nfScgZnJhbWUuYCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWVWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVN0YXRlbWVudChhc3NpZ25tZW50cywgc3RhdGVkLCBjb250ZXh0KSB7XG4gICAgbGV0IHN0YXRlbWVudFZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IHRoaXMuc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC4uLmApO1xuXG4gICAgICBzdGF0ZWQgPSB0cnVlOyAgLy8vXG5cbiAgICAgIGFzc2lnbm1lbnRzID0gbnVsbDsgLy8vXG5cbiAgICAgIHN0YXRlbWVudFZlcmlmaWVzID0gdGhpcy5zdGF0ZW1lbnQudmVyaWZ5KGFzc2lnbm1lbnRzLCBzdGF0ZWQsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3RhdGVtZW50VmVyaWZpZXMpIHtcbiAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlXaGVuU3RhdGVkKGFzc2lnbm1lbnRzLCBjb250ZXh0KSB7XG4gICAgbGV0IHZlcmlmaWVzV2hlblN0YXRlZDtcblxuICAgIGNvbnN0IGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZWQgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgdmVyaWZpZXNXaGVuU3RhdGVkID0gdHJ1ZTtcblxuICAgIGlmICh2ZXJpZmllc1doZW5TdGF0ZWQpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBzdGF0ZWQgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXNXaGVuU3RhdGVkO1xuICB9XG5cbiAgdmVyaWZ5V2hlbkRlcml2ZWQoY29udGV4dCkge1xuICAgIGxldCB2ZXJpZmllc1doZW5EZXJpdmVkO1xuXG4gICAgY29uc3QgY29udGFpbmVkQXNzZXJ0aW9uU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgY29udGFpbmVkIGFzc2VydGlvbi4uLmApO1xuXG4gICAgY29uc3QgZ2VuZXJhbENvdG5leHQgPSBudWxsLFxuICAgICAgICAgIHNwZWNpZmljQ29udGV4dCA9IGNvbnRleHQ7IC8vL1xuXG4gICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IHZlcmlmeVdoZW5EZXJpdmVkKHRoaXMudGVybSwgdGhpcy5mcmFtZSwgdGhpcy5zdGF0ZW1lbnQsIHRoaXMubmVnYXRlZCwgZ2VuZXJhbENvdG5leHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICBpZiAodmVyaWZpZXNXaGVuRGVyaXZlZCkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgY29udGFpbmVkIGFzc2VydGlvbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXNXaGVuRGVyaXZlZDtcbiAgfVxuXG4gIHVuaWZ5SW5kZXBlbmRlbnRseShzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gICAgbGV0IHVuaWZpZXNJbmRlcGVuZGVudGx5O1xuXG4gICAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCwgIC8vL1xuICAgICAgICAgIGNvbnRhaW5lZEFzc2VydGlvblN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke2NvbnRhaW5lZEFzc2VydGlvblN0cmluZ30nIGNvbnRhaW5lZCBhc3NlcnRpb24gaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgdGVybSA9IHRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnModGhpcy50ZXJtLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSxcbiAgICAgICAgICBmcmFtZSA9IGZyYW1lRnJvbUZyYW1lQW5kU3Vic3RpdHV0aW9ucyh0aGlzLmZyYW1lLCBzdWJzdGl0dXRpb25zLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSxcbiAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyh0aGlzLnN0YXRlbWVudCwgc3Vic3RpdHV0aW9ucywgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCksXG4gICAgICAgICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IHZlcmlmeVdoZW5EZXJpdmVkKHRlcm0sIGZyYW1lLCBzdGF0ZW1lbnQsIHRoaXMubmVnYXRlZCwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmljQ29udGV4dCk7XG5cbiAgICB1bmlmaWVzSW5kZXBlbmRlbnRseSA9IHZlcmlmaWVzV2hlbkRlcml2ZWQ7IC8vL1xuXG4gICAgaWYgKHVuaWZpZXNJbmRlcGVuZGVudGx5KSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtjb250YWluZWRBc3NlcnRpb25TdHJpbmd9JyBjb250YWluZWQgYXNzZXJ0aW9uIGluZGVwZW5kZW50bHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuaWZpZXNJbmRlcGVuZGVudGx5O1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbnRhaW5lZEFzc2VydGlvblwiO1xuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbnRhaW5lZEFzc2VydGlvbiA9IG51bGw7XG5cbiAgICBjb25zdCBjb250YWluZWRBc3NlcnRpb25Ob2RlID0gc3RhdGVtZW50Tm9kZS5nZXRDb250YWluZWRBc3NlcnRpb25Ob2RlKCk7XG5cbiAgICBpZiAoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBUZXJtLCBGcmFtZSwgU3RhdGVtZW50IH0gPSBvbnRvbG9neSxcbiAgICAgICAgICAgIG5vZGUgPSBjb250YWluZWRBc3NlcnRpb25Ob2RlLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICAgIHRva2VucyA9IGNvbnRleHQubm9kZUFzVG9rZW5zKG5vZGUpLFxuICAgICAgICAgICAgbmVnYXRlZCA9IGNvbnRhaW5lZEFzc2VydGlvbk5vZGUuaXNOZWdhdGVkKCksXG4gICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZShjb250YWluZWRBc3NlcnRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGZyYW1lID0gRnJhbWUuZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBzdGF0ZW1lbnQgPSBTdGF0ZW1lbnQuZnJvbUNvbnRhaW5lZEFzc2VydGlvbk5vZGUoY29udGFpbmVkQXNzZXJ0aW9uTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRhaW5lZEFzc2VydGlvbiA9IG5ldyBDb250YWluZWRBc3NlcnRpb24oc3RyaW5nLCBub2RlLCB0b2tlbnMsIHRlcm0sIGZyYW1lLCBuZWdhdGVkLCBzdGF0ZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250YWluZWRBc3NlcnRpb247XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB2ZXJpZnlXaGVuRGVyaXZlZCh0ZXJtLCBmcmFtZSwgc3RhdGVtZW50LCBuZWdhdGVkLCBnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0KSB7XG4gIGxldCB2ZXJpZmllc1doZW5EZXJpdmVkID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dDsgIC8vL1xuXG4gIGlmIChzdGF0ZW1lbnQgIT09IG51bGwpIHtcbiAgICBpZiAodGVybSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdGVybUNvbnRhaW5lZCA9IHN0YXRlbWVudC5pc1Rlcm1Db250YWluZWQodGVybSwgY29udGV4dCk7XG5cbiAgICAgIGlmICghbmVnYXRlZCAmJiB0ZXJtQ29udGFpbmVkKSB7XG4gICAgICAgIHZlcmlmaWVzV2hlbkRlcml2ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobmVnYXRlZCAmJiAhdGVybUNvbnRhaW5lZCkge1xuICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZnJhbWUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGZyYW1lQ29udGFpbmVkID0gc3RhdGVtZW50LmlzRnJhbWVDb250YWluZWQoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoIW5lZ2F0ZWQgJiYgZnJhbWVDb250YWluZWQpIHtcbiAgICAgICAgdmVyaWZpZXNXaGVuRGVyaXZlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZWdhdGVkICYmICFmcmFtZUNvbnRhaW5lZCkge1xuICAgICAgICB2ZXJpZmllc1doZW5EZXJpdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZXNXaGVuRGVyaXZlZDtcbn0iXSwibmFtZXMiOlsiZGVmaW5lIiwiQ29udGFpbmVkQXNzZXJ0aW9uIiwic3RyaW5nIiwibm9kZSIsInRva2VucyIsInRlcm0iLCJmcmFtZSIsIm5lZ2F0ZWQiLCJzdGF0ZW1lbnQiLCJnZXRUZXJtIiwiZ2V0RnJhbWUiLCJpc05lZ2F0ZWQiLCJnZXRTdGF0ZW1lbnQiLCJ2ZXJpZnkiLCJhc3NpZ25tZW50cyIsInN0YXRlZCIsImNvbnRleHQiLCJ2ZXJpZmllcyIsImNvbnRhaW5lZEFzc2VydGlvblN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidGVybVZlcmlmaWVzIiwidmVyaWZ5VGVybSIsImZyYW1lVmVyaWZpZXMiLCJ2ZXJpZnlGcmFtZSIsInN0YXRlbWVudFZlcmlmaWVzIiwidmVyaWZ5U3RhdGVtZW50IiwidmVyaWZpZXNXaGVuU3RhdGVkIiwidmVyaWZpZXNXaGVuRGVyaXZlZCIsInZlcmlmeVdoZW5TdGF0ZWQiLCJ2ZXJpZnlXaGVuRGVyaXZlZCIsImRlYnVnIiwidGVybVN0cmluZyIsInRlcm1TaW1wbGUiLCJpc1NpbXBsZSIsInZlcmlmaWVzQWhlYWQiLCJmcmFtZVN0cmluZyIsImZyYW1lU2ltcGxlIiwic3RhdGVtZW50U3RyaW5nIiwiZ2VuZXJhbENvdG5leHQiLCJzcGVjaWZpY0NvbnRleHQiLCJ1bmlmeUluZGVwZW5kZW50bHkiLCJzdWJzdGl0dXRpb25zIiwiZ2VuZXJhbENvbnRleHQiLCJ1bmlmaWVzSW5kZXBlbmRlbnRseSIsInRlcm1Gcm9tVGVybUFuZFN1YnN0aXR1dGlvbnMiLCJmcmFtZUZyb21GcmFtZUFuZFN1YnN0aXR1dGlvbnMiLCJzdGF0ZW1lbnRGcm9tU3RhdGVtZW50QW5kU3Vic3RpdHV0aW9ucyIsImZyb21TdGF0ZW1lbnROb2RlIiwic3RhdGVtZW50Tm9kZSIsImNvbnRhaW5lZEFzc2VydGlvbiIsImNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJnZXRDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiVGVybSIsIm9udG9sb2d5IiwiRnJhbWUiLCJTdGF0ZW1lbnQiLCJub2RlQXNTdHJpbmciLCJub2RlQXNUb2tlbnMiLCJmcm9tQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSIsIkFzc2VydGlvbiIsIm5hbWUiLCJ0ZXJtQ29udGFpbmVkIiwiaXNUZXJtQ29udGFpbmVkIiwiZnJhbWVDb250YWluZWQiLCJpc0ZyYW1lQ29udGFpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OztnRUFOcUI7Z0VBQ0M7NkJBRytGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVySCxXQUFlQSxJQUFBQSxn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