occam-entities 1.0.285 → 1.0.288
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/utilities/metaJSON.js +32 -16
- package/package.json +3 -3
- package/src/utilities/metaJSON.js +45 -28
|
@@ -90,11 +90,14 @@ function versionFromDocumentNode(documentNode) {
|
|
|
90
90
|
documentPropertyNodes.some(function(documentPropertyNode) {
|
|
91
91
|
var propertyNode = documentPropertyNode, propertyName = propertyNameFromPropertyNode(propertyNode);
|
|
92
92
|
if (propertyName === _propertyNames.VERSION_PROPERTY_NAME) {
|
|
93
|
-
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
94
|
-
if (
|
|
95
|
-
|
|
93
|
+
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
94
|
+
if (stringPropertyValue !== null) {
|
|
95
|
+
var string = stringPropertyValue, stringVersionString = (0, _validate.isStringVersionString)(string);
|
|
96
|
+
if (stringVersionString) {
|
|
97
|
+
version = _version.default.fromString(string);
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
96
100
|
}
|
|
97
|
-
return true;
|
|
98
101
|
}
|
|
99
102
|
});
|
|
100
103
|
return version;
|
|
@@ -106,8 +109,10 @@ function repositoryFromDocumentNode(documentNode) {
|
|
|
106
109
|
var propertyNode = documentPropertyNode, propertyName = propertyNameFromPropertyNode(propertyNode);
|
|
107
110
|
if (propertyName === _propertyNames.REPOSITORY_PROPERTY_NAME) {
|
|
108
111
|
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
if (stringPropertyValue !== null) {
|
|
113
|
+
repository = stringPropertyValue; ///
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
111
116
|
}
|
|
112
117
|
});
|
|
113
118
|
return repository;
|
|
@@ -119,10 +124,13 @@ function dependenciesFromDocumentNode(documentNode) {
|
|
|
119
124
|
dependencies = _dependencies.default.fromNothing();
|
|
120
125
|
var propertyNode = dependenciesPropertyNode, propertyNodes = propertyNodesQuery(propertyNode);
|
|
121
126
|
propertyNodes.forEach(function(propertyNode) {
|
|
122
|
-
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
123
|
-
if (
|
|
124
|
-
var
|
|
125
|
-
|
|
127
|
+
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
128
|
+
if (stringPropertyValue !== null) {
|
|
129
|
+
var string = stringPropertyValue, stringShortenedVersionString = (0, _validate.isStringShortenedVersionString)(string);
|
|
130
|
+
if (stringShortenedVersionString) {
|
|
131
|
+
var propertyName = propertyNameFromPropertyNode(propertyNode), name = propertyName, shortenedVersion = _shortenedVersion.default.fromString(string), dependency = _dependency.default.fromNameAndShortenedVersion(name, shortenedVersion);
|
|
132
|
+
dependencies.addDependency(dependency);
|
|
133
|
+
}
|
|
126
134
|
}
|
|
127
135
|
});
|
|
128
136
|
}
|
|
@@ -135,10 +143,13 @@ function dependencyNamesFromDocumentNode(documentNode) {
|
|
|
135
143
|
dependencyNames = [];
|
|
136
144
|
var propertyNode = dependenciesPropertyNode, propertyNodes = propertyNodesQuery(propertyNode);
|
|
137
145
|
propertyNodes.forEach(function(propertyNode) {
|
|
138
|
-
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
139
|
-
if (
|
|
140
|
-
var
|
|
141
|
-
|
|
146
|
+
var stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
147
|
+
if (stringPropertyValue !== null) {
|
|
148
|
+
var string = stringPropertyValue, stringShortenedVersionString = (0, _validate.isStringShortenedVersionString)(string);
|
|
149
|
+
if (stringShortenedVersionString) {
|
|
150
|
+
var propertyName = propertyNameFromPropertyNode(propertyNode), dependencyName = propertyName; ///
|
|
151
|
+
dependencyNames.push(dependencyName);
|
|
152
|
+
}
|
|
142
153
|
}
|
|
143
154
|
});
|
|
144
155
|
}
|
|
@@ -158,7 +169,12 @@ function propertyNameFromPropertyNode(propertyNode) {
|
|
|
158
169
|
return propertyName;
|
|
159
170
|
}
|
|
160
171
|
function stringPropertyValueFromPropertyNode(propertyNode) {
|
|
161
|
-
var
|
|
172
|
+
var stringPropertyValue = null;
|
|
173
|
+
var propertyJSONStringLiteralTerminalNode = propertyJSONStringLiteralTerminalNodeQuery(propertyNode);
|
|
174
|
+
if (propertyJSONStringLiteralTerminalNode !== null) {
|
|
175
|
+
var propertyJSONStringLiteralTerminalNodeContent = propertyJSONStringLiteralTerminalNode.getContent();
|
|
176
|
+
stringPropertyValue = (0, _content.trimDoubleQuotes)(propertyJSONStringLiteralTerminalNodeContent); ///
|
|
177
|
+
}
|
|
162
178
|
return stringPropertyValue;
|
|
163
179
|
}
|
|
164
180
|
function documentPropertyNodesFromDocumentNode(documentNode) {
|
|
@@ -178,4 +194,4 @@ function dependenciesPropertyNodeFromDocumentNode(documentNode) {
|
|
|
178
194
|
return dependenciesPropertyNode;
|
|
179
195
|
}
|
|
180
196
|
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEpTT05MZXhlciwgSlNPTlBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgVmVyc2lvbiBmcm9tIFwiLi4vdmVyc2lvblwiO1xuaW1wb3J0IERlcGVuZGVuY3kgZnJvbSBcIi4uL2RlcGVuZGVuY3lcIjtcbmltcG9ydCBEZXBlbmRlbmNpZXMgZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IFNob3J0ZW5lZFZlcnNpb24gZnJvbSBcIi4uL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuaW1wb3J0IHsgRE9VQkxFX1NQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHJpbURvdWJsZVF1b3RlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNTdHJpbmdWZXJzaW9uU3RyaW5nLCBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbGlkYXRlXCI7XG5pbXBvcnQgeyBWRVJTSU9OX1BST1BFUlRZX05BTUUsIFJFUE9TSVRPUllfUFJPUEVSVFlfTkFNRSwgREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUgfSBmcm9tIFwiLi4vcHJvcGVydHlOYW1lc1wiO1xuXG5jb25zdCBqc29uTGV4ZXIgPSBKU09OTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIGpzb25QYXJzZXIgPSBKU09OUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmNvbnN0IGVycm9yTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvKi9lcnJvclwiKSxcbiAgICAgIHByb3BlcnR5Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcHJvcGVydHkvanNvbi9vYmplY3QvcHJvcGVydHlcIiksXG4gICAgICBkb2N1bWVudFByb3BlcnR5Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvanNvbi9vYmplY3QvcHJvcGVydHlcIiksXG4gICAgICBwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9wZXJ0eS9Ac3RyaW5nLWxpdGVyYWxcIiksXG4gICAgICBwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvcGVydHkvanNvbi9Ac3RyaW5nLWxpdGVyYWwhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhSlNPTkZpbGVWYWxpZChtZXRhSlNPTkZpbGUpIHtcbiAgbGV0IG1ldGFKU09ORmlsZVZhbGlkID0gZmFsc2U7XG5cbiAgY29uc3QgZG9jdW1lbnROb2RlID0gZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpO1xuXG4gIGlmIChkb2N1bWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBlcnJvck5vZGVzID0gZXJyb3JOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgZXJyb3JOb2Rlc0xlbmd0aCA9IGVycm9yTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGVycm9yTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpLFxuICAgICAgICAgICAgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFKU09ORmlsZVZhbGlkID0gKCh2ZXJzaW9uICE9PSBudWxsKSAmJiAocmVwb3NpdG9yeSAhPT0gbnVsbCkgJiYgKGRlcGVuZGVuY2llcyAhPT0gbnVsbCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhSlNPTkZpbGVWYWxpZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFKU09ORmlsZVZlcnNpb24obWV0YUpTT05GaWxlLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IGRvY3VtZW50Tm9kZSA9IGRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSxcbiAgICAgICAgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgbGV0IGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBjb25zdCBzdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgIGRlcGVuZGVuY2llc0pTT04gPSBkZXBlbmRlbmNpZXMudG9KU09OKCk7XG5cbiAgdmVyc2lvbiA9IHN0cmluZzsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0pTT047ICAvLy9cblxuICBjb25zdCBtZXRhSlNPTiA9IHtcbiAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgIHJlcG9zaXRvcnksXG4gICAgICAgICAgZGVwZW5kZW5jaWVzXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGFKU09OU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkobWV0YUpTT04sIG51bGwsIERPVUJMRV9TUEFDRSksXG4gICAgICAgIG1ldGFKU09ORmlsZUNvbnRlbnQgPSBtZXRhSlNPTlN0cmluZzsgLy8vXG5cbiAgbWV0YUpTT05GaWxlLnNldENvbnRlbnQobWV0YUpTT05GaWxlQ29udGVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2N1bWVudE5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSkge1xuICBsZXQgZG9jdW1lbnROb2RlID0gbnVsbDtcblxuICBpZiAobWV0YUpTT05GaWxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29udGVudCA9IG1ldGFKU09ORmlsZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgdG9rZW5zID0ganNvbkxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIG5vZGUgPSBqc29uUGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBkb2N1bWVudE5vZGUgPSBub2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gZG9jdW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbkZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSB7XG4gIGxldCB2ZXJzaW9uID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBWRVJTSU9OX1BST1BFUlRZX05BTUUpIHtcbiAgICAgIGNvbnN0IHN0cmluZ1Byb3BlcnR5VmFsdWUgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICAgICAgc3RyaW5nID0gc3RyaW5nUHJvcGVydHlWYWx1ZSwgLy8vXG4gICAgICAgICAgICBzdHJpbmdWZXJzaW9uU3RyaW5nID0gaXNTdHJpbmdWZXJzaW9uU3RyaW5nKHN0cmluZyk7XG5cbiAgICAgIGlmIChzdHJpbmdWZXJzaW9uU3RyaW5nKSB7XG4gICAgICAgIHZlcnNpb24gPSBWZXJzaW9uLmZyb21TdHJpbmcoc3RyaW5nKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgcmVwb3NpdG9yeSA9IG51bGw7XG5cbiAgY29uc3QgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGRvY3VtZW50UHJvcGVydHlOb2Rlcy5zb21lKChkb2N1bWVudFByb3BlcnR5Tm9kZSkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IGRvY3VtZW50UHJvcGVydHlOb2RlLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpO1xuXG4gICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FKSB7XG4gICAgICBjb25zdCBzdHJpbmdQcm9wZXJ0eVZhbHVlID0gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKTtcblxuICAgICAgcmVwb3NpdG9yeSA9IHN0cmluZ1Byb3BlcnR5VmFsdWU7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZGVuY2llc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSB7XG4gIGxldCBkZXBlbmRlbmNpZXMgPSBudWxsO1xuXG4gIGNvbnN0IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSA9IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBpZiAoZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlICE9PSBudWxsKSB7XG4gICAgZGVwZW5kZW5jaWVzID0gRGVwZW5kZW5jaWVzLmZyb21Ob3RoaW5nKCk7XG5cbiAgICBjb25zdCBwcm9wZXJ0eU5vZGUgPSBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5vZGVzID0gcHJvcGVydHlOb2Rlc1F1ZXJ5KHByb3BlcnR5Tm9kZSk7XG5cbiAgICBwcm9wZXJ0eU5vZGVzLmZvckVhY2goKHByb3BlcnR5Tm9kZSkgPT4ge1xuICAgICAgY29uc3Qgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSksXG4gICAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgaWYgKHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICAgICAgICBuYW1lID0gcHJvcGVydHlOYW1lLCAgLy8vXG4gICAgICAgICAgICAgIHNob3J0ZW5lZFZlcnNpb24gPSBTaG9ydGVuZWRWZXJzaW9uLmZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uKG5hbWUsIHNob3J0ZW5lZFZlcnNpb24pO1xuXG4gICAgICAgIGRlcGVuZGVuY2llcy5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY3kpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcGVuZGVuY3lOYW1lc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSB7XG4gIGxldCBkZXBlbmRlbmN5TmFtZXMgPSBudWxsO1xuXG4gIGNvbnN0IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSA9IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZUZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBpZiAoZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlICE9PSBudWxsKSB7XG4gICAgZGVwZW5kZW5jeU5hbWVzID0gW107XG5cbiAgICBjb25zdCBwcm9wZXJ0eU5vZGUgPSBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5vZGVzID0gcHJvcGVydHlOb2Rlc1F1ZXJ5KHByb3BlcnR5Tm9kZSk7XG5cbiAgICBwcm9wZXJ0eU5vZGVzLmZvckVhY2goKHByb3BlcnR5Tm9kZSkgPT4ge1xuICAgICAgY29uc3Qgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSksXG4gICAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlLCAvLy9cbiAgICAgICAgICAgIHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgaWYgKHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IHByb3BlcnR5TmFtZTsgIC8vL1xuXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lcy5wdXNoKGRlcGVuZGVuY3lOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBkZXBlbmRlbmN5TmFtZXM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaXNNZXRhSlNPTkZpbGVWYWxpZCxcbiAgdXBkYXRlTWV0YUpTT05GaWxlVmVyc2lvbixcbiAgZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZSxcbiAgdmVyc2lvbkZyb21Eb2N1bWVudE5vZGUsXG4gIHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlLFxuICBkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlLFxuICBkZXBlbmRlbmN5TmFtZXNGcm9tRG9jdW1lbnROb2RlXG59O1xuXG5mdW5jdGlvbiBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSkge1xuICBjb25zdCBwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUgPSBwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeShwcm9wZXJ0eU5vZGUpLFxuICAgICAgICBwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50ID0gcHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgcHJvcGVydHlOYW1lID0gdHJpbURvdWJsZVF1b3Rlcyhwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50KTsgLy8vXG5cbiAgcmV0dXJuIHByb3BlcnR5TmFtZTtcbn1cblxuZnVuY3Rpb24gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKSB7XG4gIGNvbnN0IHByb3BlcnR5SlNPTlN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUgPSBwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkocHJvcGVydHlOb2RlKSxcbiAgICAgICAgcHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQgPSBwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IHRyaW1Eb3VibGVRdW90ZXMocHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQpOyAvLy9cblxuICByZXR1cm4gc3RyaW5nUHJvcGVydHlWYWx1ZTtcbn1cblxuZnVuY3Rpb24gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgY29uc3QgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzUXVlcnkoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzO1xufVxuXG5mdW5jdGlvbiBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGVGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBERVBFTkRFTkNJRVNfUFJPUEVSVFlfTkFNRSkge1xuICAgICAgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gcHJvcGVydHlOb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlIiwiZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZSIsImRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUiLCJpc01ldGFKU09ORmlsZVZhbGlkIiwicmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUiLCJ1cGRhdGVNZXRhSlNPTkZpbGVWZXJzaW9uIiwidmVyc2lvbkZyb21Eb2N1bWVudE5vZGUiLCJqc29uTGV4ZXIiLCJKU09OTGV4ZXIiLCJmcm9tTm90aGluZyIsImpzb25QYXJzZXIiLCJKU09OUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb3BlcnR5Tm9kZXNRdWVyeSIsImRvY3VtZW50UHJvcGVydHlOb2Rlc1F1ZXJ5IiwicHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkiLCJtZXRhSlNPTkZpbGUiLCJtZXRhSlNPTkZpbGVWYWxpZCIsImRvY3VtZW50Tm9kZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwidmVyc2lvbiIsInJlcG9zaXRvcnkiLCJkZXBlbmRlbmNpZXMiLCJzdHJpbmciLCJ0b1N0cmluZyIsImRlcGVuZGVuY2llc0pTT04iLCJ0b0pTT04iLCJtZXRhSlNPTiIsIm1ldGFKU09OU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIkRPVUJMRV9TUEFDRSIsIm1ldGFKU09ORmlsZUNvbnRlbnQiLCJzZXRDb250ZW50IiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsImRvY3VtZW50UHJvcGVydHlOb2RlcyIsImRvY3VtZW50UHJvcGVydHlOb2Rlc0Zyb21Eb2N1bWVudE5vZGUiLCJzb21lIiwiZG9jdW1lbnRQcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5hbWUiLCJwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlIiwiVkVSU0lPTl9QUk9QRVJUWV9OQU1FIiwic3RyaW5nUHJvcGVydHlWYWx1ZSIsInN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlIiwic3RyaW5nVmVyc2lvblN0cmluZyIsImlzU3RyaW5nVmVyc2lvblN0cmluZyIsIlZlcnNpb24iLCJmcm9tU3RyaW5nIiwiUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZSIsIkRlcGVuZGVuY2llcyIsInByb3BlcnR5Tm9kZXMiLCJmb3JFYWNoIiwic3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZyIsImlzU3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZyIsIm5hbWUiLCJzaG9ydGVuZWRWZXJzaW9uIiwiU2hvcnRlbmVkVmVyc2lvbiIsImRlcGVuZGVuY3kiLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uIiwiYWRkRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lIiwicHVzaCIsInByb3BlcnR5U3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInByb3BlcnR5U3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJ0cmltRG91YmxlUXVvdGVzIiwicHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInByb3BlcnR5SlNPTlN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50IiwiREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTJMQSxPQVFFO2VBUkY7O0lBMURnQkEsNEJBQTRCO2VBQTVCQTs7SUE4QkFDLCtCQUErQjtlQUEvQkE7O0lBMUZBQyw0QkFBNEI7ZUFBNUJBOztJQTdDQUMsbUJBQW1CO2VBQW5CQTs7SUFvRkFDLDBCQUEwQjtlQUExQkE7O0lBL0RBQyx5QkFBeUI7ZUFBekJBOztJQXNDQUMsdUJBQXVCO2VBQXZCQTs7OzZCQWpGc0I7OERBRWxCO2lFQUNHO21FQUNFO3VFQUNJO3lCQUVBO3VCQUNJO3FCQUNLO3dCQUNnQzs2QkFDc0I7Ozs7OztBQUU1RixJQUFNQyxZQUFZQyx3QkFBUyxDQUFDQyxXQUFXLElBQ2pDQyxhQUFhQyx5QkFBVSxDQUFDRixXQUFXO0FBRXpDLElBQU1HLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxhQUM3QkMscUJBQXFCRCxJQUFBQSxpQkFBVSxFQUFDLG1DQUNoQ0UsNkJBQTZCRixJQUFBQSxpQkFBVSxFQUFDLG1DQUN4Q0cseUNBQXlDQyxJQUFBQSxnQkFBUyxFQUFDLDhCQUNuREMsNkNBQTZDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXRELFNBQVNkLG9CQUFvQmdCLFlBQVk7SUFDOUMsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGVBQWVuQiw2QkFBNkJpQjtJQUVsRCxJQUFJRSxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxhQUFhVixnQkFBZ0JTLGVBQzdCRSxtQkFBbUJELFdBQVdFLE1BQU07UUFFMUMsSUFBSUQscUJBQXFCLEdBQUc7WUFDMUIsSUFBTUUsVUFBVW5CLHdCQUF3QmUsZUFDbENLLGFBQWF0QiwyQkFBMkJpQixlQUN4Q00sZUFBZTNCLDZCQUE2QnFCO1lBRWxERCxvQkFBcUIsQUFBQ0ssWUFBWSxRQUFVQyxlQUFlLFFBQVVDLGlCQUFpQjtRQUN4RjtJQUNGO0lBRUEsT0FBT1A7QUFDVDtBQUVPLFNBQVNmLDBCQUEwQmMsWUFBWSxFQUFFTSxPQUFPO0lBQzdELElBQU1KLGVBQWVuQiw2QkFBNkJpQixlQUM1Q08sYUFBYXRCLDJCQUEyQmlCO0lBRTlDLElBQUlNLGVBQWUzQiw2QkFBNkJxQjtJQUVoRCxJQUFNTyxTQUFTSCxRQUFRSSxRQUFRLElBQ3pCQyxtQkFBbUJILGFBQWFJLE1BQU07SUFFNUNOLFVBQVVHLFFBQVMsR0FBRztJQUV0QkQsZUFBZUcsa0JBQW1CLEdBQUc7SUFFckMsSUFBTUUsV0FBVztRQUNUUCxTQUFBQTtRQUNBQyxZQUFBQTtRQUNBQyxjQUFBQTtJQUNGLEdBQ0FNLGlCQUFpQkMsS0FBS0MsU0FBUyxDQUFDSCxVQUFVLE1BQU1JLHVCQUFZLEdBQzVEQyxzQkFBc0JKLGdCQUFnQixHQUFHO0lBRS9DZCxhQUFhbUIsVUFBVSxDQUFDRDtBQUMxQjtBQUVPLFNBQVNuQyw2QkFBNkJpQixZQUFZO0lBQ3ZELElBQUlFLGVBQWU7SUFFbkIsSUFBSUYsaUJBQWlCLE1BQU07UUFDekIsSUFBTW9CLFVBQVVwQixhQUFhcUIsVUFBVSxJQUNqQ0MsU0FBU2xDLFVBQVVtQyxRQUFRLENBQUNILFVBQzVCSSxPQUFPakMsV0FBV2tDLEtBQUssQ0FBQ0g7UUFFOUJwQixlQUFlc0IsTUFBTyxHQUFHO0lBQzNCO0lBRUEsT0FBT3RCO0FBQ1Q7QUFFTyxTQUFTZix3QkFBd0JlLFlBQVk7SUFDbEQsSUFBSUksVUFBVTtJQUVkLElBQU1vQix3QkFBd0JDLHNDQUFzQ3pCO0lBRXBFd0Isc0JBQXNCRSxJQUFJLENBQUMsU0FBQ0M7UUFDMUIsSUFBTUMsZUFBZUQsc0JBQ2ZFLGVBQWVDLDZCQUE2QkY7UUFFbEQsSUFBSUMsaUJBQWlCRSxvQ0FBcUIsRUFBRTtZQUMxQyxJQUFNQyxzQkFBc0JDLG9DQUFvQ0wsZUFDMURyQixTQUFTeUIscUJBQ1RFLHNCQUFzQkMsSUFBQUEsK0JBQXFCLEVBQUM1QjtZQUVsRCxJQUFJMkIscUJBQXFCO2dCQUN2QjlCLFVBQVVnQyxnQkFBTyxDQUFDQyxVQUFVLENBQUM5QjtZQUMvQjtZQUVBLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0g7QUFDVDtBQUVPLFNBQVNyQiwyQkFBMkJpQixZQUFZO0lBQ3JELElBQUlLLGFBQWE7SUFFakIsSUFBTW1CLHdCQUF3QkMsc0NBQXNDekI7SUFFcEV3QixzQkFBc0JFLElBQUksQ0FBQyxTQUFDQztRQUMxQixJQUFNQyxlQUFlRCxzQkFDZkUsZUFBZUMsNkJBQTZCRjtRQUVsRCxJQUFJQyxpQkFBaUJTLHVDQUF3QixFQUFFO1lBQzdDLElBQU1OLHNCQUFzQkMsb0NBQW9DTDtZQUVoRXZCLGFBQWEyQixxQkFBc0IsR0FBRztZQUV0QyxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU8zQjtBQUNUO0FBRU8sU0FBUzFCLDZCQUE2QnFCLFlBQVk7SUFDdkQsSUFBSU0sZUFBZTtJQUVuQixJQUFNaUMsMkJBQTJCQyx5Q0FBeUN4QztJQUUxRSxJQUFJdUMsNkJBQTZCLE1BQU07UUFDckNqQyxlQUFlbUMscUJBQVksQ0FBQ3JELFdBQVc7UUFFdkMsSUFBTXdDLGVBQWVXLDBCQUNmRyxnQkFBZ0JqRCxtQkFBbUJtQztRQUV6Q2MsY0FBY0MsT0FBTyxDQUFDLFNBQUNmO1lBQ3JCLElBQU1JLHNCQUFzQkMsb0NBQW9DTCxlQUMxRHJCLFNBQVN5QixxQkFDVFksK0JBQStCQyxJQUFBQSx3Q0FBOEIsRUFBQ3RDO1lBRXBFLElBQUlxQyw4QkFBOEI7Z0JBQ2hDLElBQU1mLGVBQWVDLDZCQUE2QkYsZUFDNUNrQixPQUFPakIsY0FDUGtCLG1CQUFtQkMseUJBQWdCLENBQUNYLFVBQVUsQ0FBQzlCLFNBQy9DMEMsYUFBYUMsbUJBQVUsQ0FBQ0MsMkJBQTJCLENBQUNMLE1BQU1DO2dCQUVoRXpDLGFBQWE4QyxhQUFhLENBQUNIO1lBQzdCO1FBQ0Y7SUFDRjtJQUVBLE9BQU8zQztBQUNUO0FBRU8sU0FBUzFCLGdDQUFnQ29CLFlBQVk7SUFDMUQsSUFBSXFELGtCQUFrQjtJQUV0QixJQUFNZCwyQkFBMkJDLHlDQUF5Q3hDO0lBRTFFLElBQUl1Qyw2QkFBNkIsTUFBTTtRQUNyQ2Msa0JBQWtCLEVBQUU7UUFFcEIsSUFBTXpCLGVBQWVXLDBCQUNmRyxnQkFBZ0JqRCxtQkFBbUJtQztRQUV6Q2MsY0FBY0MsT0FBTyxDQUFDLFNBQUNmO1lBQ3JCLElBQU1JLHNCQUFzQkMsb0NBQW9DTCxlQUMxRHJCLFNBQVN5QixxQkFDVFksK0JBQStCQyxJQUFBQSx3Q0FBOEIsRUFBQ3RDO1lBRXBFLElBQUlxQyw4QkFBOEI7Z0JBQ2hDLElBQU1mLGVBQWVDLDZCQUE2QkYsZUFDNUMwQixpQkFBaUJ6QixjQUFlLEdBQUc7Z0JBRXpDd0IsZ0JBQWdCRSxJQUFJLENBQUNEO1lBQ3ZCO1FBQ0Y7SUFDRjtJQUVBLE9BQU9EO0FBQ1Q7SUFFQSxXQUFlO0lBQ2J2RSxxQkFBQUE7SUFDQUUsMkJBQUFBO0lBQ0FILDhCQUFBQTtJQUNBSSx5QkFBQUE7SUFDQUYsNEJBQUFBO0lBQ0FKLDhCQUFBQTtJQUNBQyxpQ0FBQUE7QUFDRjtBQUVBLFNBQVNrRCw2QkFBNkJGLFlBQVk7SUFDaEQsSUFBTTRCLG9DQUFvQzdELHVDQUF1Q2lDLGVBQzNFNkIsMkNBQTJDRCxrQ0FBa0NyQyxVQUFVLElBQ3ZGVSxlQUFlNkIsSUFBQUEseUJBQWdCLEVBQUNELDJDQUEyQyxHQUFHO0lBRXBGLE9BQU81QjtBQUNUO0FBRUEsU0FBU0ksb0NBQW9DTCxZQUFZO0lBQ3ZELElBQU0rQix3Q0FBd0M5RCwyQ0FBMkMrQixlQUNuRmdDLCtDQUErQ0Qsc0NBQXNDeEMsVUFBVSxJQUMvRmEsc0JBQXNCMEIsSUFBQUEseUJBQWdCLEVBQUNFLCtDQUErQyxHQUFHO0lBRS9GLE9BQU81QjtBQUNUO0FBRUEsU0FBU1Asc0NBQXNDekIsWUFBWTtJQUN6RCxJQUFNd0Isd0JBQXdCOUIsMkJBQTJCTTtJQUV6RCxPQUFPd0I7QUFDVDtBQUVBLFNBQVNnQix5Q0FBeUN4QyxZQUFZO0lBQzVELElBQUl1QywyQkFBMkI7SUFFL0IsSUFBTWYsd0JBQXdCQyxzQ0FBc0N6QjtJQUVwRXdCLHNCQUFzQkUsSUFBSSxDQUFDLFNBQUNDO1FBQzFCLElBQU1DLGVBQWVELHNCQUNmRSxlQUFlQyw2QkFBNkJGO1FBRWxELElBQUlDLGlCQUFpQmdDLHlDQUEwQixFQUFFO1lBQy9DdEIsMkJBQTJCWCxjQUFlLEdBQUc7WUFFN0MsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPVztBQUNUIn0=
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YUpTT04uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEpTT05MZXhlciwgSlNPTlBhcnNlciB9IGZyb20gXCJvY2NhbS1ncmFtbWFyc1wiO1xuXG5pbXBvcnQgVmVyc2lvbiBmcm9tIFwiLi4vdmVyc2lvblwiO1xuaW1wb3J0IERlcGVuZGVuY3kgZnJvbSBcIi4uL2RlcGVuZGVuY3lcIjtcbmltcG9ydCBEZXBlbmRlbmNpZXMgZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IFNob3J0ZW5lZFZlcnNpb24gZnJvbSBcIi4uL3Nob3J0ZW5lZFZlcnNpb25cIjtcblxuaW1wb3J0IHsgRE9VQkxFX1NQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHJpbURvdWJsZVF1b3RlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGVudFwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNTdHJpbmdWZXJzaW9uU3RyaW5nLCBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbGlkYXRlXCI7XG5pbXBvcnQgeyBWRVJTSU9OX1BST1BFUlRZX05BTUUsIFJFUE9TSVRPUllfUFJPUEVSVFlfTkFNRSwgREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUgfSBmcm9tIFwiLi4vcHJvcGVydHlOYW1lc1wiO1xuXG5jb25zdCBqc29uTGV4ZXIgPSBKU09OTGV4ZXIuZnJvbU5vdGhpbmcoKSxcbiAgICAgIGpzb25QYXJzZXIgPSBKU09OUGFyc2VyLmZyb21Ob3RoaW5nKCk7XG5cbmNvbnN0IGVycm9yTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvKi9lcnJvclwiKSxcbiAgICAgIHByb3BlcnR5Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvcHJvcGVydHkvanNvbi9vYmplY3QvcHJvcGVydHlcIiksXG4gICAgICBkb2N1bWVudFByb3BlcnR5Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvZG9jdW1lbnQvanNvbi9vYmplY3QvcHJvcGVydHlcIiksXG4gICAgICBwcm9wZXJ0eVN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9wZXJ0eS9Ac3RyaW5nLWxpdGVyYWxcIiksXG4gICAgICBwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvcGVydHkvanNvbi9Ac3RyaW5nLWxpdGVyYWwhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhSlNPTkZpbGVWYWxpZChtZXRhSlNPTkZpbGUpIHtcbiAgbGV0IG1ldGFKU09ORmlsZVZhbGlkID0gZmFsc2U7XG5cbiAgY29uc3QgZG9jdW1lbnROb2RlID0gZG9jdW1lbnROb2RlRnJvbU1ldGFKU09ORmlsZShtZXRhSlNPTkZpbGUpO1xuXG4gIGlmIChkb2N1bWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBlcnJvck5vZGVzID0gZXJyb3JOb2Rlc1F1ZXJ5KGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgZXJyb3JOb2Rlc0xlbmd0aCA9IGVycm9yTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKGVycm9yTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHZlcnNpb24gPSB2ZXJzaW9uRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpLFxuICAgICAgICAgICAgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSksXG4gICAgICAgICAgICBkZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgICAgIG1ldGFKU09ORmlsZVZhbGlkID0gKCh2ZXJzaW9uICE9PSBudWxsKSAmJiAocmVwb3NpdG9yeSAhPT0gbnVsbCkgJiYgKGRlcGVuZGVuY2llcyAhPT0gbnVsbCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhSlNPTkZpbGVWYWxpZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1ldGFKU09ORmlsZVZlcnNpb24obWV0YUpTT05GaWxlLCB2ZXJzaW9uKSB7XG4gIGNvbnN0IGRvY3VtZW50Tm9kZSA9IGRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUobWV0YUpTT05GaWxlKSxcbiAgICAgICAgcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgbGV0IGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0Zyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKTtcblxuICBjb25zdCBzdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgIGRlcGVuZGVuY2llc0pTT04gPSBkZXBlbmRlbmNpZXMudG9KU09OKCk7XG5cbiAgdmVyc2lvbiA9IHN0cmluZzsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llc0pTT047ICAvLy9cblxuICBjb25zdCBtZXRhSlNPTiA9IHtcbiAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgIHJlcG9zaXRvcnksXG4gICAgICAgICAgZGVwZW5kZW5jaWVzXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGFKU09OU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkobWV0YUpTT04sIG51bGwsIERPVUJMRV9TUEFDRSksXG4gICAgICAgIG1ldGFKU09ORmlsZUNvbnRlbnQgPSBtZXRhSlNPTlN0cmluZzsgLy8vXG5cbiAgbWV0YUpTT05GaWxlLnNldENvbnRlbnQobWV0YUpTT05GaWxlQ29udGVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2N1bWVudE5vZGVGcm9tTWV0YUpTT05GaWxlKG1ldGFKU09ORmlsZSkge1xuICBsZXQgZG9jdW1lbnROb2RlID0gbnVsbDtcblxuICBpZiAobWV0YUpTT05GaWxlICE9PSBudWxsKSB7XG4gICAgY29uc3QgY29udGVudCA9IG1ldGFKU09ORmlsZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgdG9rZW5zID0ganNvbkxleGVyLnRva2VuaXNlKGNvbnRlbnQpLFxuICAgICAgICAgIG5vZGUgPSBqc29uUGFyc2VyLnBhcnNlKHRva2Vucyk7XG5cbiAgICBkb2N1bWVudE5vZGUgPSBub2RlOyAgLy8vXG4gIH1cblxuICByZXR1cm4gZG9jdW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyc2lvbkZyb21Eb2N1bWVudE5vZGUoZG9jdW1lbnROb2RlKSB7XG4gIGxldCB2ZXJzaW9uID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBWRVJTSU9OX1BST1BFUlRZX05BTUUpIHtcbiAgICAgIGNvbnN0IHN0cmluZ1Byb3BlcnR5VmFsdWUgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpO1xuXG4gICAgICBpZiAoc3RyaW5nUHJvcGVydHlWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBzdHJpbmdQcm9wZXJ0eVZhbHVlLCAvLy9cbiAgICAgICAgICAgICAgc3RyaW5nVmVyc2lvblN0cmluZyA9IGlzU3RyaW5nVmVyc2lvblN0cmluZyhzdHJpbmcpO1xuXG4gICAgICAgIGlmIChzdHJpbmdWZXJzaW9uU3RyaW5nKSB7XG4gICAgICAgICAgdmVyc2lvbiA9IFZlcnNpb24uZnJvbVN0cmluZyhzdHJpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdmVyc2lvbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcG9zaXRvcnlGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgcmVwb3NpdG9yeSA9IG51bGw7XG5cbiAgY29uc3QgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGRvY3VtZW50UHJvcGVydHlOb2Rlcy5zb21lKChkb2N1bWVudFByb3BlcnR5Tm9kZSkgPT4ge1xuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IGRvY3VtZW50UHJvcGVydHlOb2RlLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpO1xuXG4gICAgaWYgKHByb3BlcnR5TmFtZSA9PT0gUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FKSB7XG4gICAgICBjb25zdCBzdHJpbmdQcm9wZXJ0eVZhbHVlID0gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKTtcblxuICAgICAgaWYgKHN0cmluZ1Byb3BlcnR5VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgcmVwb3NpdG9yeSA9IHN0cmluZ1Byb3BlcnR5VmFsdWU7ICAvLy9cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiByZXBvc2l0b3J5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgbGV0IGRlcGVuZGVuY2llcyA9IG51bGw7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGlmIChkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUgIT09IG51bGwpIHtcbiAgICBkZXBlbmRlbmNpZXMgPSBEZXBlbmRlbmNpZXMuZnJvbU5vdGhpbmcoKTtcblxuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSwgIC8vL1xuICAgICAgICAgIHByb3BlcnR5Tm9kZXMgPSBwcm9wZXJ0eU5vZGVzUXVlcnkocHJvcGVydHlOb2RlKTtcblxuICAgIHByb3BlcnR5Tm9kZXMuZm9yRWFjaCgocHJvcGVydHlOb2RlKSA9PiB7XG4gICAgICBjb25zdCBzdHJpbmdQcm9wZXJ0eVZhbHVlID0gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKTtcblxuICAgICAgaWYgKHN0cmluZ1Byb3BlcnR5VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gc3RyaW5nUHJvcGVydHlWYWx1ZSwgLy8vXG4gICAgICAgICAgICAgIHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICBpZiAoc3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZykge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKSxcbiAgICAgICAgICAgICAgICBuYW1lID0gcHJvcGVydHlOYW1lLCAgLy8vXG4gICAgICAgICAgICAgICAgc2hvcnRlbmVkVmVyc2lvbiA9IFNob3J0ZW5lZFZlcnNpb24uZnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgICAgICAgIGRlcGVuZGVuY3kgPSBEZXBlbmRlbmN5LmZyb21OYW1lQW5kU2hvcnRlbmVkVmVyc2lvbihuYW1lLCBzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgICAgICAgIGRlcGVuZGVuY2llcy5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY3kpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGVwZW5kZW5jaWVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgbGV0IGRlcGVuZGVuY3lOYW1lcyA9IG51bGw7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpO1xuXG4gIGlmIChkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGUgIT09IG51bGwpIHtcbiAgICBkZXBlbmRlbmN5TmFtZXMgPSBbXTtcblxuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZSwgIC8vL1xuICAgICAgICAgIHByb3BlcnR5Tm9kZXMgPSBwcm9wZXJ0eU5vZGVzUXVlcnkocHJvcGVydHlOb2RlKTtcblxuICAgIHByb3BlcnR5Tm9kZXMuZm9yRWFjaCgocHJvcGVydHlOb2RlKSA9PiB7XG4gICAgICBjb25zdCBzdHJpbmdQcm9wZXJ0eVZhbHVlID0gc3RyaW5nUHJvcGVydHlWYWx1ZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKTtcblxuICAgICAgaWYgKHN0cmluZ1Byb3BlcnR5VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3RyaW5nID0gc3RyaW5nUHJvcGVydHlWYWx1ZSwgLy8vXG4gICAgICAgICAgICAgIHN0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcgPSBpc1N0cmluZ1Nob3J0ZW5lZFZlcnNpb25TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICBpZiAoc3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZykge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5TmFtZUZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlKSxcbiAgICAgICAgICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IHByb3BlcnR5TmFtZTsgIC8vL1xuXG4gICAgICAgICAgZGVwZW5kZW5jeU5hbWVzLnB1c2goZGVwZW5kZW5jeU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gZGVwZW5kZW5jeU5hbWVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlzTWV0YUpTT05GaWxlVmFsaWQsXG4gIHVwZGF0ZU1ldGFKU09ORmlsZVZlcnNpb24sXG4gIGRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUsXG4gIHZlcnNpb25Gcm9tRG9jdW1lbnROb2RlLFxuICByZXBvc2l0b3J5RnJvbURvY3VtZW50Tm9kZSxcbiAgZGVwZW5kZW5jaWVzRnJvbURvY3VtZW50Tm9kZSxcbiAgZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZVxufTtcblxuZnVuY3Rpb24gcHJvcGVydHlOYW1lRnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUpIHtcbiAgY29uc3QgcHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlID0gcHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkocHJvcGVydHlOb2RlKSxcbiAgICAgICAgcHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCA9IHByb3BlcnR5U3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIHByb3BlcnR5TmFtZSA9IHRyaW1Eb3VibGVRdW90ZXMocHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCk7IC8vL1xuXG4gIHJldHVybiBwcm9wZXJ0eU5hbWU7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSkge1xuICBsZXQgc3RyaW5nUHJvcGVydHlWYWx1ZSA9IG51bGw7XG5cbiAgY29uc3QgcHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSA9IHByb3BlcnR5SlNPTlN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeShwcm9wZXJ0eU5vZGUpO1xuXG4gIGlmIChwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgcHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQgPSBwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlLmdldENvbnRlbnQoKTtcblxuICAgIHN0cmluZ1Byb3BlcnR5VmFsdWUgPSB0cmltRG91YmxlUXVvdGVzKHByb3BlcnR5SlNPTlN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50KTsgLy8vXG4gIH1cblxuICByZXR1cm4gc3RyaW5nUHJvcGVydHlWYWx1ZTtcbn1cblxuZnVuY3Rpb24gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzRnJvbURvY3VtZW50Tm9kZShkb2N1bWVudE5vZGUpIHtcbiAgY29uc3QgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzUXVlcnkoZG9jdW1lbnROb2RlKTtcblxuICByZXR1cm4gZG9jdW1lbnRQcm9wZXJ0eU5vZGVzO1xufVxuXG5mdW5jdGlvbiBkZXBlbmRlbmNpZXNQcm9wZXJ0eU5vZGVGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSkge1xuICBsZXQgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gbnVsbDtcblxuICBjb25zdCBkb2N1bWVudFByb3BlcnR5Tm9kZXMgPSBkb2N1bWVudFByb3BlcnR5Tm9kZXNGcm9tRG9jdW1lbnROb2RlKGRvY3VtZW50Tm9kZSk7XG5cbiAgZG9jdW1lbnRQcm9wZXJ0eU5vZGVzLnNvbWUoKGRvY3VtZW50UHJvcGVydHlOb2RlKSA9PiB7XG4gICAgY29uc3QgcHJvcGVydHlOb2RlID0gZG9jdW1lbnRQcm9wZXJ0eU5vZGUsICAvLy9cbiAgICAgICAgICBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSk7XG5cbiAgICBpZiAocHJvcGVydHlOYW1lID09PSBERVBFTkRFTkNJRVNfUFJPUEVSVFlfTkFNRSkge1xuICAgICAgZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlID0gcHJvcGVydHlOb2RlOyAgLy8vXG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGRlcGVuZGVuY2llc1Byb3BlcnR5Tm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJkZXBlbmRlbmNpZXNGcm9tRG9jdW1lbnROb2RlIiwiZGVwZW5kZW5jeU5hbWVzRnJvbURvY3VtZW50Tm9kZSIsImRvY3VtZW50Tm9kZUZyb21NZXRhSlNPTkZpbGUiLCJpc01ldGFKU09ORmlsZVZhbGlkIiwicmVwb3NpdG9yeUZyb21Eb2N1bWVudE5vZGUiLCJ1cGRhdGVNZXRhSlNPTkZpbGVWZXJzaW9uIiwidmVyc2lvbkZyb21Eb2N1bWVudE5vZGUiLCJqc29uTGV4ZXIiLCJKU09OTGV4ZXIiLCJmcm9tTm90aGluZyIsImpzb25QYXJzZXIiLCJKU09OUGFyc2VyIiwiZXJyb3JOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInByb3BlcnR5Tm9kZXNRdWVyeSIsImRvY3VtZW50UHJvcGVydHlOb2Rlc1F1ZXJ5IiwicHJvcGVydHlTdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJwcm9wZXJ0eUpTT05TdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkiLCJtZXRhSlNPTkZpbGUiLCJtZXRhSlNPTkZpbGVWYWxpZCIsImRvY3VtZW50Tm9kZSIsImVycm9yTm9kZXMiLCJlcnJvck5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwidmVyc2lvbiIsInJlcG9zaXRvcnkiLCJkZXBlbmRlbmNpZXMiLCJzdHJpbmciLCJ0b1N0cmluZyIsImRlcGVuZGVuY2llc0pTT04iLCJ0b0pTT04iLCJtZXRhSlNPTiIsIm1ldGFKU09OU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIkRPVUJMRV9TUEFDRSIsIm1ldGFKU09ORmlsZUNvbnRlbnQiLCJzZXRDb250ZW50IiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0b2tlbnMiLCJ0b2tlbmlzZSIsIm5vZGUiLCJwYXJzZSIsImRvY3VtZW50UHJvcGVydHlOb2RlcyIsImRvY3VtZW50UHJvcGVydHlOb2Rlc0Zyb21Eb2N1bWVudE5vZGUiLCJzb21lIiwiZG9jdW1lbnRQcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5vZGUiLCJwcm9wZXJ0eU5hbWUiLCJwcm9wZXJ0eU5hbWVGcm9tUHJvcGVydHlOb2RlIiwiVkVSU0lPTl9QUk9QRVJUWV9OQU1FIiwic3RyaW5nUHJvcGVydHlWYWx1ZSIsInN0cmluZ1Byb3BlcnR5VmFsdWVGcm9tUHJvcGVydHlOb2RlIiwic3RyaW5nVmVyc2lvblN0cmluZyIsImlzU3RyaW5nVmVyc2lvblN0cmluZyIsIlZlcnNpb24iLCJmcm9tU3RyaW5nIiwiUkVQT1NJVE9SWV9QUk9QRVJUWV9OQU1FIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlIiwiZGVwZW5kZW5jaWVzUHJvcGVydHlOb2RlRnJvbURvY3VtZW50Tm9kZSIsIkRlcGVuZGVuY2llcyIsInByb3BlcnR5Tm9kZXMiLCJmb3JFYWNoIiwic3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZyIsImlzU3RyaW5nU2hvcnRlbmVkVmVyc2lvblN0cmluZyIsIm5hbWUiLCJzaG9ydGVuZWRWZXJzaW9uIiwiU2hvcnRlbmVkVmVyc2lvbiIsImRlcGVuZGVuY3kiLCJEZXBlbmRlbmN5IiwiZnJvbU5hbWVBbmRTaG9ydGVuZWRWZXJzaW9uIiwiYWRkRGVwZW5kZW5jeSIsImRlcGVuZGVuY3lOYW1lcyIsImRlcGVuZGVuY3lOYW1lIiwicHVzaCIsInByb3BlcnR5U3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInByb3BlcnR5U3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJ0cmltRG91YmxlUXVvdGVzIiwicHJvcGVydHlKU09OU3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInByb3BlcnR5SlNPTlN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50IiwiREVQRU5ERU5DSUVTX1BST1BFUlRZX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXNNQSxPQVFFO2VBUkY7O0lBaEVnQkEsNEJBQTRCO2VBQTVCQTs7SUFpQ0FDLCtCQUErQjtlQUEvQkE7O0lBbEdBQyw0QkFBNEI7ZUFBNUJBOztJQTdDQUMsbUJBQW1CO2VBQW5CQTs7SUF1RkFDLDBCQUEwQjtlQUExQkE7O0lBbEVBQyx5QkFBeUI7ZUFBekJBOztJQXNDQUMsdUJBQXVCO2VBQXZCQTs7OzZCQWpGc0I7OERBRWxCO2lFQUNHO21FQUNFO3VFQUNJO3lCQUVBO3VCQUNJO3FCQUNLO3dCQUNnQzs2QkFDc0I7Ozs7OztBQUU1RixJQUFNQyxZQUFZQyx3QkFBUyxDQUFDQyxXQUFXLElBQ2pDQyxhQUFhQyx5QkFBVSxDQUFDRixXQUFXO0FBRXpDLElBQU1HLGtCQUFrQkMsSUFBQUEsaUJBQVUsRUFBQyxhQUM3QkMscUJBQXFCRCxJQUFBQSxpQkFBVSxFQUFDLG1DQUNoQ0UsNkJBQTZCRixJQUFBQSxpQkFBVSxFQUFDLG1DQUN4Q0cseUNBQXlDQyxJQUFBQSxnQkFBUyxFQUFDLDhCQUNuREMsNkNBQTZDRCxJQUFBQSxnQkFBUyxFQUFDO0FBRXRELFNBQVNkLG9CQUFvQmdCLFlBQVk7SUFDOUMsSUFBSUMsb0JBQW9CO0lBRXhCLElBQU1DLGVBQWVuQiw2QkFBNkJpQjtJQUVsRCxJQUFJRSxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxhQUFhVixnQkFBZ0JTLGVBQzdCRSxtQkFBbUJELFdBQVdFLE1BQU07UUFF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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-entities",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.288",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-entities",
|
|
7
7
|
"description": "Occam's entities.",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.3.2",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
15
|
-
"occam-query": "^4.1.
|
|
14
|
+
"occam-grammars": "^1.3.145",
|
|
15
|
+
"occam-query": "^4.1.30"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@swc/core": "^1.5.6",
|
|
@@ -91,15 +91,18 @@ export function versionFromDocumentNode(documentNode) {
|
|
|
91
91
|
propertyName = propertyNameFromPropertyNode(propertyNode);
|
|
92
92
|
|
|
93
93
|
if (propertyName === VERSION_PROPERTY_NAME) {
|
|
94
|
-
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
95
|
-
string = stringPropertyValue, ///
|
|
96
|
-
stringVersionString = isStringVersionString(string);
|
|
94
|
+
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
97
95
|
|
|
98
|
-
if (
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
if (stringPropertyValue !== null) {
|
|
97
|
+
const string = stringPropertyValue, ///
|
|
98
|
+
stringVersionString = isStringVersionString(string);
|
|
101
99
|
|
|
102
|
-
|
|
100
|
+
if (stringVersionString) {
|
|
101
|
+
version = Version.fromString(string);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
103
106
|
}
|
|
104
107
|
});
|
|
105
108
|
|
|
@@ -118,9 +121,11 @@ export function repositoryFromDocumentNode(documentNode) {
|
|
|
118
121
|
if (propertyName === REPOSITORY_PROPERTY_NAME) {
|
|
119
122
|
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
120
123
|
|
|
121
|
-
|
|
124
|
+
if (stringPropertyValue !== null) {
|
|
125
|
+
repository = stringPropertyValue; ///
|
|
122
126
|
|
|
123
|
-
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
124
129
|
}
|
|
125
130
|
});
|
|
126
131
|
|
|
@@ -139,17 +144,20 @@ export function dependenciesFromDocumentNode(documentNode) {
|
|
|
139
144
|
propertyNodes = propertyNodesQuery(propertyNode);
|
|
140
145
|
|
|
141
146
|
propertyNodes.forEach((propertyNode) => {
|
|
142
|
-
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
143
|
-
string = stringPropertyValue, ///
|
|
144
|
-
stringShortenedVersionString = isStringShortenedVersionString(string);
|
|
147
|
+
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
145
148
|
|
|
146
|
-
if (
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
shortenedVersion = ShortenedVersion.fromString(string),
|
|
150
|
-
dependency = Dependency.fromNameAndShortenedVersion(name, shortenedVersion);
|
|
149
|
+
if (stringPropertyValue !== null) {
|
|
150
|
+
const string = stringPropertyValue, ///
|
|
151
|
+
stringShortenedVersionString = isStringShortenedVersionString(string);
|
|
151
152
|
|
|
152
|
-
|
|
153
|
+
if (stringShortenedVersionString) {
|
|
154
|
+
const propertyName = propertyNameFromPropertyNode(propertyNode),
|
|
155
|
+
name = propertyName, ///
|
|
156
|
+
shortenedVersion = ShortenedVersion.fromString(string),
|
|
157
|
+
dependency = Dependency.fromNameAndShortenedVersion(name, shortenedVersion);
|
|
158
|
+
|
|
159
|
+
dependencies.addDependency(dependency);
|
|
160
|
+
}
|
|
153
161
|
}
|
|
154
162
|
});
|
|
155
163
|
}
|
|
@@ -169,15 +177,18 @@ export function dependencyNamesFromDocumentNode(documentNode) {
|
|
|
169
177
|
propertyNodes = propertyNodesQuery(propertyNode);
|
|
170
178
|
|
|
171
179
|
propertyNodes.forEach((propertyNode) => {
|
|
172
|
-
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode)
|
|
173
|
-
string = stringPropertyValue, ///
|
|
174
|
-
stringShortenedVersionString = isStringShortenedVersionString(string);
|
|
180
|
+
const stringPropertyValue = stringPropertyValueFromPropertyNode(propertyNode);
|
|
175
181
|
|
|
176
|
-
if (
|
|
177
|
-
const
|
|
178
|
-
|
|
182
|
+
if (stringPropertyValue !== null) {
|
|
183
|
+
const string = stringPropertyValue, ///
|
|
184
|
+
stringShortenedVersionString = isStringShortenedVersionString(string);
|
|
179
185
|
|
|
180
|
-
|
|
186
|
+
if (stringShortenedVersionString) {
|
|
187
|
+
const propertyName = propertyNameFromPropertyNode(propertyNode),
|
|
188
|
+
dependencyName = propertyName; ///
|
|
189
|
+
|
|
190
|
+
dependencyNames.push(dependencyName);
|
|
191
|
+
}
|
|
181
192
|
}
|
|
182
193
|
});
|
|
183
194
|
}
|
|
@@ -204,9 +215,15 @@ function propertyNameFromPropertyNode(propertyNode) {
|
|
|
204
215
|
}
|
|
205
216
|
|
|
206
217
|
function stringPropertyValueFromPropertyNode(propertyNode) {
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
218
|
+
let stringPropertyValue = null;
|
|
219
|
+
|
|
220
|
+
const propertyJSONStringLiteralTerminalNode = propertyJSONStringLiteralTerminalNodeQuery(propertyNode);
|
|
221
|
+
|
|
222
|
+
if (propertyJSONStringLiteralTerminalNode !== null) {
|
|
223
|
+
const propertyJSONStringLiteralTerminalNodeContent = propertyJSONStringLiteralTerminalNode.getContent();
|
|
224
|
+
|
|
225
|
+
stringPropertyValue = trimDoubleQuotes(propertyJSONStringLiteralTerminalNodeContent); ///
|
|
226
|
+
}
|
|
210
227
|
|
|
211
228
|
return stringPropertyValue;
|
|
212
229
|
}
|