ngx-ode-ui 4.4.0 → 4.5.0

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.
@@ -214,6 +214,7 @@ export class OrderPipe {
214
214
  // Compare strings case-insensitively
215
215
  value1 = value1.toLowerCase();
216
216
  value2 = value2.toLowerCase();
217
+ result = value1.localeCompare(value2);
217
218
  }
218
219
  else if (type1 === 'object') {
219
220
  // For basic objects, use the position of the object
@@ -224,9 +225,9 @@ export class OrderPipe {
224
225
  if (isObject(value2)) {
225
226
  value2 = v2.index;
226
227
  }
227
- }
228
- if (value1 !== value2) {
229
- result = value1 < value2 ? -1 : 1;
228
+ if (value1 !== value2) {
229
+ result = value1 < value2 ? -1 : 1;
230
+ }
230
231
  }
231
232
  }
232
233
  else {
@@ -265,4 +266,4 @@ export class OrderPipe {
265
266
  OrderPipe.decorators = [
266
267
  { type: Pipe, args: [{ name: 'orderBy' },] }
267
268
  ];
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJCeS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9vcmRlckJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sU0FBUzs7Ozs7Ozs7SUFFbEIsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsWUFBYSxFQUFFLFNBQVU7UUFDckQsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTs7Ozs7Y0FHaEQsUUFBUTs7OztRQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7UUFDckMsQ0FBQyxDQUFBOztjQUVLLFVBQVU7Ozs7UUFBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pCLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQTs7Y0FFSyxPQUFPOzs7O1FBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0QixPQUFPLEtBQUssSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDO1FBQzNDLENBQUMsQ0FBQTs7Y0FFSyxRQUFROzs7O1FBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUE7O2NBRUssV0FBVzs7OztRQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUIsUUFBUSxPQUFPLEtBQUssRUFBRTtnQkFDbEIsS0FBSyxRQUFRLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ2xDLEtBQUssU0FBUyxDQUFDLENBQUMsbUJBQW1CO2dCQUNuQyxLQUFLLFFBQVE7b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCO29CQUNJLE9BQU8sS0FBSyxDQUFD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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWM7Ozs7O2NBSzVELGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO1FBQzFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBUyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFFakUsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7O1lBbEtKLElBQUksU0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdvcmRlckJ5JyB9KVxuZXhwb3J0IGNsYXNzIE9yZGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKGFycmF5LCBzb3J0UHJlZGljYXRlLCByZXZlcnNlT3JkZXI/LCBjb21wYXJlRm4/KSB7XG4gICAgICAgIGlmIChhcnJheSA9PSBudWxsIHx8ICFzb3J0UHJlZGljYXRlKSB7IHJldHVybiBhcnJheTsgfVxuXG4gICAgICAgIC8qKiogKioqL1xuICAgICAgICBjb25zdCBpc1N0cmluZyA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNGdW5jdGlvbiA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc0FycmF5ID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc09iamVjdCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNQcmltaXRpdmUgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzogLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOiAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGhhc0N1c3RvbVRvU3RyaW5nID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZ2V0Q29tcGFyaXNvbk9iamVjdCA9ICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIC8vIE5PVEU6IFdlIGFyZSBhZGRpbmcgYW4gZXh0cmEgYHRpZUJyZWFrZXJgIHZhbHVlIGJhc2VkIG9uIHRoZSBlbGVtZW50J3MgaW5kZXguXG4gICAgICAgICAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCB0byBrZWVwIHRoZSBzb3J0IHN0YWJsZSB3aGVuIG5vbmUgb2YgdGhlIGlucHV0IHByZWRpY2F0ZXMgY2FuXG4gICAgICAgICAgICAvLyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHR3byBlbGVtZW50cy5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGllQnJlYWtlcjogeyB2YWx1ZTogaW5kZXgsIHR5cGU6ICdudW1iZXInLCBpbmRleCB9LFxuICAgICAgICAgICAgICAgIHByZWRpY2F0ZVZhbHVlczogcHJlZGljYXRlcy5tYXAoZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRQcmVkaWNhdGVWYWx1ZShwcmVkaWNhdGUuZ2V0KHZhbHVlKSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9O1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRvQ29tcGFyaXNvbiA9ICh2MSwgdjIpID0+IHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBpaSA9IHByZWRpY2F0ZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmUodjEucHJlZGljYXRlVmFsdWVzW2ldLCB2Mi5wcmVkaWNhdGVWYWx1ZXNbaV0pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAqIHByZWRpY2F0ZXNbaV0uZGVzY2VuZGluZyAqIGRlc2NlbmRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY29tcGFyZSh2MS50aWVCcmVha2VyLCB2Mi50aWVCcmVha2VyKSAqIGRlc2NlbmRpbmc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcHJvY2Vzc1ByZWRpY2F0ZXMgPSAoc29ydFByZWRpY2F0ZXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzb3J0UHJlZGljYXRlcy5tYXAoZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRlc2NlbmRpbmcgPSAxLCBnZXQgPSAodmFsdWUpID0+IHZhbHVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24ocHJlZGljYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBnZXQgPSBwcmVkaWNhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1N0cmluZyhwcmVkaWNhdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgocHJlZGljYXRlLmNoYXJBdCgwKSA9PT0gJysnIHx8IHByZWRpY2F0ZS5jaGFyQXQoMCkgPT09ICctJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NlbmRpbmcgPSBwcmVkaWNhdGUuY2hhckF0KDApID09PSAnLScgPyAtMSA6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVkaWNhdGUgPSBwcmVkaWNhdGUuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVkaWNhdGUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQgPSAodmFsdWUpID0+IHZhbHVlW3ByZWRpY2F0ZV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZ2V0LCBkZXNjZW5kaW5nIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBvYmplY3RWYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgLy8gSWYgYHZhbHVlT2ZgIGlzIGEgdmFsaWQgZnVuY3Rpb24gdXNlIHRoYXRcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHZhbHVlLnZhbHVlT2YpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkgeyByZXR1cm4gdmFsdWU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIGB0b1N0cmluZ2AgaXMgYSB2YWxpZCBmdW5jdGlvbiBhbmQgbm90IHRoZSBvbmUgZnJvbSBgT2JqZWN0LnByb3RvdHlwZWAgdXNlIHRoYXRcbiAgICAgICAgICAgIGlmIChoYXNDdXN0b21Ub1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkgeyByZXR1cm4gdmFsdWU7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGdldFByZWRpY2F0ZVZhbHVlID0gKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgbGV0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSAnbnVsbCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBvYmplY3RWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgaW5kZXggfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkZWZhdWx0Q29tcGFyZSA9ICh2MSwgdjIpID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgY29uc3QgdHlwZTEgPSB2MS50eXBlO1xuICAgICAgICAgICAgY29uc3QgdHlwZTIgPSB2Mi50eXBlO1xuXG4gICAgICAgICAgICBpZiAodHlwZTEgPT09IHR5cGUyKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlMSA9IHYxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTIgPSB2Mi52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlMSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tcGFyZSBzdHJpbmdzIGNhc2UtaW5zZW5zaXRpdmVseVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTEudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUyID0gdmFsdWUyLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlMSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJhc2ljIG9iamVjdHMsIHVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICAvLyBpbiB0aGUgY29sbGVjdGlvbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUxKSkgeyB2YWx1ZTEgPSB2MS5pbmRleDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUyKSkgeyB2YWx1ZTIgPSB2Mi5pbmRleDsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgIT09IHZhbHVlMikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZTEgPCB2YWx1ZTIgPyAtMSA6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0eXBlMSA8IHR5cGUyID8gLTEgOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9O1xuICAgICAgICAvKioqICoqKi9cblxuICAgICAgICBpZiAoIWlzQXJyYXkoc29ydFByZWRpY2F0ZSkpIHtcbiAgICAgICAgICAgIHNvcnRQcmVkaWNhdGUgPSBbc29ydFByZWRpY2F0ZV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnRQcmVkaWNhdGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzb3J0UHJlZGljYXRlID0gWycrJ107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmVkaWNhdGVzID0gcHJvY2Vzc1ByZWRpY2F0ZXMoc29ydFByZWRpY2F0ZSk7XG5cbiAgICAgICAgY29uc3QgZGVzY2VuZGluZyA9IHJldmVyc2VPcmRlciA/IC0xIDogMTtcblxuICAgICAgICAvLyBEZWZpbmUgdGhlIGBjb21wYXJlKClgIGZ1bmN0aW9uLiBVc2UgYSBkZWZhdWx0IGNvbXBhcmF0b3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQuXG4gICAgICAgIGNvbnN0IGNvbXBhcmUgPSBpc0Z1bmN0aW9uKGNvbXBhcmVGbikgPyBjb21wYXJlRm4gOiBkZWZhdWx0Q29tcGFyZTtcblxuICAgICAgICAvLyBUaGUgbmV4dCB0aHJlZSBsaW5lcyBhcmUgYSB2ZXJzaW9uIG9mIGEgU3dhcnR6aWFuIFRyYW5zZm9ybSBpZGlvbSBmcm9tIFBlcmxcbiAgICAgICAgLy8gKHNvbWV0aW1lcyBjYWxsZWQgdGhlIERlY29yYXRlLVNvcnQtVW5kZWNvcmF0ZSBpZGlvbSlcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NjaHdhcnR6aWFuX3RyYW5zZm9ybVxuICAgICAgICBjb25zdCBjb21wYXJlVmFsdWVzID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFycmF5LCBnZXRDb21wYXJpc29uT2JqZWN0KTtcbiAgICAgICAgY29tcGFyZVZhbHVlcy5zb3J0KGRvQ29tcGFyaXNvbik7XG4gICAgICAgIGFycmF5ID0gY29tcGFyZVZhbHVlcy5tYXAoZnVuY3Rpb24oaXRlbSkgeyByZXR1cm4gaXRlbS52YWx1ZTsgfSk7XG5cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxufVxuIl19
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJCeS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9vcmRlckJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sU0FBUzs7Ozs7Ozs7SUFFbEIsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsWUFBYSxFQUFFLFNBQVU7UUFDckQsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTs7Ozs7Y0FHaEQsUUFBUTs7OztRQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdkIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7UUFDckMsQ0FBQyxDQUFBOztjQUVLLFVBQVU7Ozs7UUFBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pCLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQTs7Y0FFSyxPQUFPOzs7O1FBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0QixPQUFPLEtBQUssSUFBSSxLQUFLLFlBQVksS0FBSyxDQUFDO1FBQzNDLENBQUMsQ0FBQTs7Y0FFSyxRQUFROzs7O1FBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUE7O2NBRUssV0FBVzs7OztRQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUIsUUFBUSxPQUFPLEtBQUssRUFBRTtnQkFDbEIsS0FBSyxRQUFRLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ2xDLEtBQUssU0FBUyxDQUFDLENBQUMsbUJBQW1CO2dCQUNuQyxLQUFLLFFBQVE7b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCO29CQUNJLE9BQU8sS0FBSyxDQUFD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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Y0FHbEMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjOzs7OztjQUs1RCxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztRQUMxRSxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRzs7OztRQUFDLFVBQVMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBRWpFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OztZQXBLSixJQUFJLFNBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnb3JkZXJCeScgfSlcbmV4cG9ydCBjbGFzcyBPcmRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShhcnJheSwgc29ydFByZWRpY2F0ZSwgcmV2ZXJzZU9yZGVyPywgY29tcGFyZUZuPykge1xuICAgICAgICBpZiAoYXJyYXkgPT0gbnVsbCB8fCAhc29ydFByZWRpY2F0ZSkgeyByZXR1cm4gYXJyYXk7IH1cblxuICAgICAgICAvKioqICoqKi9cbiAgICAgICAgY29uc3QgaXNTdHJpbmcgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzRnVuY3Rpb24gPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNBcnJheSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzUHJpbWl0aXZlID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6IC8qIGZhbGxzIHRocm91Z2ggKi9cbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzogLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYXNDdXN0b21Ub1N0cmluZyA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGdldENvbXBhcmlzb25PYmplY3QgPSAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAvLyBOT1RFOiBXZSBhcmUgYWRkaW5nIGFuIGV4dHJhIGB0aWVCcmVha2VyYCB2YWx1ZSBiYXNlZCBvbiB0aGUgZWxlbWVudCdzIGluZGV4LlxuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGJlIHVzZWQgdG8ga2VlcCB0aGUgc29ydCBzdGFibGUgd2hlbiBub25lIG9mIHRoZSBpbnB1dCBwcmVkaWNhdGVzIGNhblxuICAgICAgICAgICAgLy8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0d28gZWxlbWVudHMuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRpZUJyZWFrZXI6IHsgdmFsdWU6IGluZGV4LCB0eXBlOiAnbnVtYmVyJywgaW5kZXggfSxcbiAgICAgICAgICAgICAgICBwcmVkaWNhdGVWYWx1ZXM6IHByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJlZGljYXRlVmFsdWUocHJlZGljYXRlLmdldCh2YWx1ZSksIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb0NvbXBhcmlzb24gPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgaWkgPSBwcmVkaWNhdGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHYxLnByZWRpY2F0ZVZhbHVlc1tpXSwgdjIucHJlZGljYXRlVmFsdWVzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQgKiBwcmVkaWNhdGVzW2ldLmRlc2NlbmRpbmcgKiBkZXNjZW5kaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUodjEudGllQnJlYWtlciwgdjIudGllQnJlYWtlcikgKiBkZXNjZW5kaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHByb2Nlc3NQcmVkaWNhdGVzID0gKHNvcnRQcmVkaWNhdGVzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gc29ydFByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kaW5nID0gMSwgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByZWRpY2F0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0ID0gcHJlZGljYXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocHJlZGljYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKHByZWRpY2F0ZS5jaGFyQXQoMCkgPT09ICcrJyB8fCBwcmVkaWNhdGUuY2hhckF0KDApID09PSAnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjZW5kaW5nID0gcHJlZGljYXRlLmNoYXJBdCgwKSA9PT0gJy0nID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlID0gcHJlZGljYXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJlZGljYXRlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZVtwcmVkaWNhdGVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGdldCwgZGVzY2VuZGluZyB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2JqZWN0VmFsdWUgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIC8vIElmIGB2YWx1ZU9mYCBpcyBhIHZhbGlkIGZ1bmN0aW9uIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZS52YWx1ZU9mKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJZiBgdG9TdHJpbmdgIGlzIGEgdmFsaWQgZnVuY3Rpb24gYW5kIG5vdCB0aGUgb25lIGZyb20gYE9iamVjdC5wcm90b3R5cGVgIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaGFzQ3VzdG9tVG9TdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBnZXRQcmVkaWNhdGVWYWx1ZSA9ICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdzdHJpbmcnO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gJ251bGwnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gb2JqZWN0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWUsIHR5cGUsIGluZGV4IH07XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdENvbXBhcmUgPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUxID0gdjEudHlwZTtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUyID0gdjIudHlwZTtcblxuICAgICAgICAgICAgaWYgKHR5cGUxID09PSB0eXBlMikge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTEgPSB2MS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUyID0gdjIudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZTEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENvbXBhcmUgc3RyaW5ncyBjYXNlLWluc2Vuc2l0aXZlbHlcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUxID0gdmFsdWUxLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlMiA9IHZhbHVlMi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMS5sb2NhbGVDb21wYXJlKHZhbHVlMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlMSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJhc2ljIG9iamVjdHMsIHVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICAvLyBpbiB0aGUgY29sbGVjdGlvbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUxKSkgeyB2YWx1ZTEgPSB2MS5pbmRleDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUyKSkgeyB2YWx1ZTIgPSB2Mi5pbmRleDsgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgIT09IHZhbHVlMikge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdHlwZTEgPCB0eXBlMiA/IC0xIDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqKiAqKiovXG5cbiAgICAgICAgaWYgKCFpc0FycmF5KHNvcnRQcmVkaWNhdGUpKSB7XG4gICAgICAgICAgICBzb3J0UHJlZGljYXRlID0gW3NvcnRQcmVkaWNhdGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UHJlZGljYXRlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc29ydFByZWRpY2F0ZSA9IFsnKyddO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZGljYXRlcyA9IHByb2Nlc3NQcmVkaWNhdGVzKHNvcnRQcmVkaWNhdGUpO1xuXG4gICAgICAgIGNvbnN0IGRlc2NlbmRpbmcgPSByZXZlcnNlT3JkZXIgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gRGVmaW5lIHRoZSBgY29tcGFyZSgpYCBmdW5jdGlvbi4gVXNlIGEgZGVmYXVsdCBjb21wYXJhdG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLlxuICAgICAgICBjb25zdCBjb21wYXJlID0gaXNGdW5jdGlvbihjb21wYXJlRm4pID8gY29tcGFyZUZuIDogZGVmYXVsdENvbXBhcmU7XG5cbiAgICAgICAgLy8gVGhlIG5leHQgdGhyZWUgbGluZXMgYXJlIGEgdmVyc2lvbiBvZiBhIFN3YXJ0emlhbiBUcmFuc2Zvcm0gaWRpb20gZnJvbSBQZXJsXG4gICAgICAgIC8vIChzb21ldGltZXMgY2FsbGVkIHRoZSBEZWNvcmF0ZS1Tb3J0LVVuZGVjb3JhdGUgaWRpb20pXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXJ0emlhbl90cmFuc2Zvcm1cbiAgICAgICAgY29uc3QgY29tcGFyZVZhbHVlcyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcnJheSwgZ2V0Q29tcGFyaXNvbk9iamVjdCk7XG4gICAgICAgIGNvbXBhcmVWYWx1ZXMuc29ydChkb0NvbXBhcmlzb24pO1xuICAgICAgICBhcnJheSA9IGNvbXBhcmVWYWx1ZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW0udmFsdWU7IH0pO1xuXG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -223,6 +223,7 @@ var OrderPipe = /** @class */ (function () {
223
223
  // Compare strings case-insensitively
224
224
  value1 = value1.toLowerCase();
225
225
  value2 = value2.toLowerCase();
226
+ result = value1.localeCompare(value2);
226
227
  }
227
228
  else if (type1 === 'object') {
228
229
  // For basic objects, use the position of the object
@@ -233,9 +234,9 @@ var OrderPipe = /** @class */ (function () {
233
234
  if (isObject(value2)) {
234
235
  value2 = v2.index;
235
236
  }
236
- }
237
- if (value1 !== value2) {
238
- result = value1 < value2 ? -1 : 1;
237
+ if (value1 !== value2) {
238
+ result = value1 < value2 ? -1 : 1;
239
+ }
239
240
  }
240
241
  }
241
242
  else {
@@ -276,4 +277,4 @@ var OrderPipe = /** @class */ (function () {
276
277
  return OrderPipe;
277
278
  }());
278
279
  export { OrderPipe };
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJCeS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9vcmRlckJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRDtJQUFBO0lBb0tBLENBQUM7Ozs7Ozs7O0lBaktHLDZCQUFTOzs7Ozs7O0lBQVQsVUFBVSxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQWEsRUFBRSxTQUFVO1FBQ3JELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7Ozs7O1lBR2hELFFBQVE7Ozs7UUFBRyxVQUFDLEtBQUs7WUFDbkIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7UUFDckMsQ0FBQyxDQUFBOztZQUVLLFVBQVU7Ozs7UUFBRyxVQUFDLEtBQUs7WUFDckIsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7UUFDdkMsQ0FBQyxDQUFBOztZQUVLLE9BQU87Ozs7UUFBRyxVQUFDLEtBQUs7WUFDbEIsT0FBTyxLQUFLLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQztRQUMzQyxDQUFDLENBQUE7O1lBRUssUUFBUTs7OztRQUFHLFVBQUMsS0FBSztZQUNuQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUE7O1lBRUssV0FBVzs7OztRQUFHLFVBQUMsS0FBSztZQUN0QixRQUFRLE9BQU8sS0FBSyxFQUFFO2dCQUNsQixLQUFLLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDbEMsS0FBSyxTQUFTLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ25DLEtBQUssUUFBUTtvQkFDVCxPQUFPLElBQUksQ0FBQztnQkFDaEI7b0JBQ0ksT0FBTyxLQUFLLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUE7O1lBRUssaUJBQWlCOzs7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SzVELGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO1FBQzFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxHQUFHOzs7O1FBQUMsVUFBUyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFFakUsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7Z0JBbEtKLElBQUksU0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7O0lBb0t6QixnQkFBQztDQUFBLEFBcEtELElBb0tDO1NBbktZLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7IG5hbWU6ICdvcmRlckJ5JyB9KVxuZXhwb3J0IGNsYXNzIE9yZGVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKGFycmF5LCBzb3J0UHJlZGljYXRlLCByZXZlcnNlT3JkZXI/LCBjb21wYXJlRm4/KSB7XG4gICAgICAgIGlmIChhcnJheSA9PSBudWxsIHx8ICFzb3J0UHJlZGljYXRlKSB7IHJldHVybiBhcnJheTsgfVxuXG4gICAgICAgIC8qKiogKioqL1xuICAgICAgICBjb25zdCBpc1N0cmluZyA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNGdW5jdGlvbiA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc0FycmF5ID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBBcnJheTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpc09iamVjdCA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNQcmltaXRpdmUgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzogLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOiAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGhhc0N1c3RvbVRvU3RyaW5nID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZ2V0Q29tcGFyaXNvbk9iamVjdCA9ICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIC8vIE5PVEU6IFdlIGFyZSBhZGRpbmcgYW4gZXh0cmEgYHRpZUJyZWFrZXJgIHZhbHVlIGJhc2VkIG9uIHRoZSBlbGVtZW50J3MgaW5kZXguXG4gICAgICAgICAgICAvLyBUaGlzIHdpbGwgYmUgdXNlZCB0byBrZWVwIHRoZSBzb3J0IHN0YWJsZSB3aGVuIG5vbmUgb2YgdGhlIGlucHV0IHByZWRpY2F0ZXMgY2FuXG4gICAgICAgICAgICAvLyBkaXN0aW5ndWlzaCBiZXR3ZWVuIHR3byBlbGVtZW50cy5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGllQnJlYWtlcjogeyB2YWx1ZTogaW5kZXgsIHR5cGU6ICdudW1iZXInLCBpbmRleCB9LFxuICAgICAgICAgICAgICAgIHByZWRpY2F0ZVZhbHVlczogcHJlZGljYXRlcy5tYXAoZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRQcmVkaWNhdGVWYWx1ZShwcmVkaWNhdGUuZ2V0KHZhbHVlKSwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9O1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGRvQ29tcGFyaXNvbiA9ICh2MSwgdjIpID0+IHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBpaSA9IHByZWRpY2F0ZXMubGVuZ3RoOyBpIDwgaWk7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmUodjEucHJlZGljYXRlVmFsdWVzW2ldLCB2Mi5wcmVkaWNhdGVWYWx1ZXNbaV0pO1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAqIHByZWRpY2F0ZXNbaV0uZGVzY2VuZGluZyAqIGRlc2NlbmRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY29tcGFyZSh2MS50aWVCcmVha2VyLCB2Mi50aWVCcmVha2VyKSAqIGRlc2NlbmRpbmc7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgcHJvY2Vzc1ByZWRpY2F0ZXMgPSAoc29ydFByZWRpY2F0ZXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBzb3J0UHJlZGljYXRlcy5tYXAoZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGRlc2NlbmRpbmcgPSAxLCBnZXQgPSAodmFsdWUpID0+IHZhbHVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24ocHJlZGljYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBnZXQgPSBwcmVkaWNhdGU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1N0cmluZyhwcmVkaWNhdGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgocHJlZGljYXRlLmNoYXJBdCgwKSA9PT0gJysnIHx8IHByZWRpY2F0ZS5jaGFyQXQoMCkgPT09ICctJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NlbmRpbmcgPSBwcmVkaWNhdGUuY2hhckF0KDApID09PSAnLScgPyAtMSA6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVkaWNhdGUgPSBwcmVkaWNhdGUuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmVkaWNhdGUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQgPSAodmFsdWUpID0+IHZhbHVlW3ByZWRpY2F0ZV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgZ2V0LCBkZXNjZW5kaW5nIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBvYmplY3RWYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgLy8gSWYgYHZhbHVlT2ZgIGlzIGEgdmFsaWQgZnVuY3Rpb24gdXNlIHRoYXRcbiAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHZhbHVlLnZhbHVlT2YpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkgeyByZXR1cm4gdmFsdWU7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIGB0b1N0cmluZ2AgaXMgYSB2YWxpZCBmdW5jdGlvbiBhbmQgbm90IHRoZSBvbmUgZnJvbSBgT2JqZWN0LnByb3RvdHlwZWAgdXNlIHRoYXRcbiAgICAgICAgICAgIGlmIChoYXNDdXN0b21Ub1N0cmluZyh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzUHJpbWl0aXZlKHZhbHVlKSkgeyByZXR1cm4gdmFsdWU7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGdldFByZWRpY2F0ZVZhbHVlID0gKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgbGV0IHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0eXBlID0gJ3N0cmluZyc7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSAnbnVsbCc7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSBvYmplY3RWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZSwgdHlwZSwgaW5kZXggfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkZWZhdWx0Q29tcGFyZSA9ICh2MSwgdjIpID0+IHtcbiAgICAgICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICAgICAgY29uc3QgdHlwZTEgPSB2MS50eXBlO1xuICAgICAgICAgICAgY29uc3QgdHlwZTIgPSB2Mi50eXBlO1xuXG4gICAgICAgICAgICBpZiAodHlwZTEgPT09IHR5cGUyKSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlMSA9IHYxLnZhbHVlO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTIgPSB2Mi52YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmICh0eXBlMSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tcGFyZSBzdHJpbmdzIGNhc2UtaW5zZW5zaXRpdmVseVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTEudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUyID0gdmFsdWUyLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlMSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJhc2ljIG9iamVjdHMsIHVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICAvLyBpbiB0aGUgY29sbGVjdGlvbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUxKSkgeyB2YWx1ZTEgPSB2MS5pbmRleDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUyKSkgeyB2YWx1ZTIgPSB2Mi5pbmRleDsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgIT09IHZhbHVlMikge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB2YWx1ZTEgPCB2YWx1ZTIgPyAtMSA6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0eXBlMSA8IHR5cGUyID8gLTEgOiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9O1xuICAgICAgICAvKioqICoqKi9cblxuICAgICAgICBpZiAoIWlzQXJyYXkoc29ydFByZWRpY2F0ZSkpIHtcbiAgICAgICAgICAgIHNvcnRQcmVkaWNhdGUgPSBbc29ydFByZWRpY2F0ZV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvcnRQcmVkaWNhdGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzb3J0UHJlZGljYXRlID0gWycrJ107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmVkaWNhdGVzID0gcHJvY2Vzc1ByZWRpY2F0ZXMoc29ydFByZWRpY2F0ZSk7XG5cbiAgICAgICAgY29uc3QgZGVzY2VuZGluZyA9IHJldmVyc2VPcmRlciA/IC0xIDogMTtcblxuICAgICAgICAvLyBEZWZpbmUgdGhlIGBjb21wYXJlKClgIGZ1bmN0aW9uLiBVc2UgYSBkZWZhdWx0IGNvbXBhcmF0b3IgaWYgbm9uZSBpcyBzcGVjaWZpZWQuXG4gICAgICAgIGNvbnN0IGNvbXBhcmUgPSBpc0Z1bmN0aW9uKGNvbXBhcmVGbikgPyBjb21wYXJlRm4gOiBkZWZhdWx0Q29tcGFyZTtcblxuICAgICAgICAvLyBUaGUgbmV4dCB0aHJlZSBsaW5lcyBhcmUgYSB2ZXJzaW9uIG9mIGEgU3dhcnR6aWFuIFRyYW5zZm9ybSBpZGlvbSBmcm9tIFBlcmxcbiAgICAgICAgLy8gKHNvbWV0aW1lcyBjYWxsZWQgdGhlIERlY29yYXRlLVNvcnQtVW5kZWNvcmF0ZSBpZGlvbSlcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NjaHdhcnR6aWFuX3RyYW5zZm9ybVxuICAgICAgICBjb25zdCBjb21wYXJlVmFsdWVzID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFycmF5LCBnZXRDb21wYXJpc29uT2JqZWN0KTtcbiAgICAgICAgY29tcGFyZVZhbHVlcy5zb3J0KGRvQ29tcGFyaXNvbik7XG4gICAgICAgIGFycmF5ID0gY29tcGFyZVZhbHVlcy5tYXAoZnVuY3Rpb24oaXRlbSkgeyByZXR1cm4gaXRlbS52YWx1ZTsgfSk7XG5cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxufVxuIl19
280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJCeS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LW9kZS11aS8iLCJzb3VyY2VzIjpbImxpYi9waXBlcy9vcmRlckJ5LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVsRDtJQUFBO0lBc0tBLENBQUM7Ozs7Ozs7O0lBbktHLDZCQUFTOzs7Ozs7O0lBQVQsVUFBVSxLQUFLLEVBQUUsYUFBYSxFQUFFLFlBQWEsRUFBRSxTQUFVO1FBQ3JELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUFFLE9BQU8sS0FBSyxDQUFDO1NBQUU7Ozs7O1lBR2hELFFBQVE7Ozs7UUFBRyxVQUFDLEtBQUs7WUFDbkIsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7UUFDckMsQ0FBQyxDQUFBOztZQUVLLFVBQVU7Ozs7UUFBRyxVQUFDLEtBQUs7WUFDckIsT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7UUFDdkMsQ0FBQyxDQUFBOztZQUVLLE9BQU87Ozs7UUFBRyxVQUFDLEtBQUs7WUFDbEIsT0FBTyxLQUFLLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQztRQUMzQyxDQUFDLENBQUE7O1lBRUssUUFBUTs7OztRQUFHLFVBQUMsS0FBSztZQUNuQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUE7O1lBRUssV0FBVzs7OztRQUFHLFVBQUMsS0FBSztZQUN0QixRQUFRLE9BQU8sS0FBSyxFQUFFO2dCQUNsQixLQUFLLFFBQVEsQ0FBQyxDQUFDLG1CQUFtQjtnQkFDbEMsS0FBSyxTQUFTLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ25DLEtBQUssUUFBUTtvQkFDVCxPQUFPLElBQUksQ0FBQztnQkFDaEI7b0JBQ0ksT0FBTyxLQUFLLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUE7O1lBRUssaUJBQWlCOzs7O1FBQUcsVUFBQyxLQUFLO1lBQzVCLE9BQU8sS0FBSztnQkFDUixPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssVUFBVTtnQkFDaEMsS0FBSyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztRQUN6RCxDQUFDLENBQUE7O1lBRUssbUJBQW1COzs7OztRQUFHLFVBQUMsS0FBSyxFQUFFLEtBQUs7WUFDckMsZ0ZBQWdGO1lBQ2hGLGtGQUFrRjtZQUNsRixvQ0FBb0M7WUFDcEMsT0FBTztnQkFDSCxLQUFLLE9BQUE7Z0JBQ0wsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssT0FBQSxFQUFFO2dCQUNuRCxlQUFlLEVBQUUsVUFBVSxDQUFDLEdBQUc7Ozs7Z0JBQUMsVUFBUyxTQUFTO29CQUM5QyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzFELENBQUMsRUFBQzthQUNMLENBQUM7UUFDTixDQUFDLENBQUE7O1lBRUssWUFBWTs7Ozs7UUFBRyxVQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7O29CQUMzQyxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsT0FBTyxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7aUJBQ3pEO2FBQ0o7WUFFRCxPQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDOUQsQ0FBQyxDQUFBOztZQUVLLGlCQUFpQjs7OztRQUFHLFVBQUMsY0FBYztZQUNyQyxPQUFPLGNBQWMsQ0FBQyxHQUFHOzs7O1lBQUMsVUFBUyxTQUFTOztvQkFDcEMsVUFBVSxHQUFHLENBQUM7O29CQUFFLEdBQUc7Ozs7Z0JBQUcsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLEVBQUwsQ0FBSyxDQUFBO2dCQUUxQyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDdkIsR0FBRyxHQUFHLFNBQVMsQ0FBQztpQkFDbkI7cUJBQU0sSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO3dCQUM5RCxVQUFVLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ2xELFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUN0QztvQkFDRCxJQUFJLFNBQVMsS0FBSyxFQUFFLEVBQUU7d0JBQ2xCLEdBQUc7Ozs7d0JBQUcsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQWhCLENBQWdCLENBQUEsQ0FBQztxQkFDckM7aUJBQ0o7Z0JBQ0QsT0FBTyxFQUFFLEdBQUcsS0FBQSxFQUFFLFVBQVUsWUFBQSxFQUFFLENBQUM7WUFDL0IsQ0FBQyxFQUFDLENBQUM7UUFDUCxDQUFDLENBQUE7O1lBRUssV0FBVzs7OztRQUFHLFVBQUMsS0FBSztZQUN0Qiw0Q0FBNEM7WUFDNUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMzQixLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN4QixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFBRSxPQUFPLEtBQUssQ0FBQztpQkFBRTthQUM1QztZQUNELHFGQUFxRjtZQUNyRixJQUFJLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN6QixJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFBRSxPQUFPLEtBQUssQ0FBQztpQkFBRTthQUM1QztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQTs7WUFFSyxpQkFBaUI7Ozs7O1FBQUcsVUFBQyxLQUFLLEVBQUUsS0FBSzs7Z0JBQy9CLElBQUksR0FBRyxPQUFPLEtBQUs7WUFDdkIsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO2dCQUNoQixJQUFJLEdBQUcsUUFBUSxDQUFDO2dCQUNoQixLQUFLLEdBQUcsTUFBTSxDQUFDO2FBQ2xCO2lCQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDMUIsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtZQUNELE9BQU8sRUFBRSxLQUFLLE9BQUEsRUFBRSxJQUFJLE1BQUEsRUFBRSxLQUFLLE9BQUEsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQTs7WUFFSyxjQUFjOzs7OztRQUFHLFVBQUMsRUFBRSxFQUFFLEVBQUU7O2dCQUN0QixNQUFNLEdBQUcsQ0FBQzs7Z0JBQ1IsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJOztnQkFDZixLQUFLLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFFckIsSUFBSSxLQUFLLEtBQUssS0FBSyxFQUFFOztvQkFDYixNQUFNLEdBQUcsRUFBRSxDQUFDLEtBQUs7O29CQUNqQixNQUFNLEdBQUcsRUFBRSxDQUFDLEtBQUs7Z0JBRXJCLElBQUksS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDcEIscUNBQXFDO29CQUNyQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUU5QixNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDekM7cUJBQU0sSUFBSSxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUMzQixvREFBb0Q7b0JBQ3BELHlDQUF5QztvQkFDekMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7d0JBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7cUJBQUU7b0JBQzVDLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO3dCQUFFLE1BQU0sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO3FCQUFFO29CQUU1QyxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7d0JBQ3JCLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNuQztpQkFDSjthQUNKO2lCQUFNO2dCQUNILE1BQU0sR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25DO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQyxDQUFBO1FBQ0QsU0FBUztRQUVULElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDekIsYUFBYSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbkM7UUFDRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzVCLGFBQWEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCOztZQUVLLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7O1lBRTdDLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7WUFHbEMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxjQUFjOzs7OztZQUs1RCxhQUFhLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztRQUMxRSxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pDLEtBQUssR0FBRyxhQUFhLENBQUMsR0FBRzs7OztRQUFDLFVBQVMsSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBRWpFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O2dCQXBLSixJQUFJLFNBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFOztJQXNLekIsZ0JBQUM7Q0FBQSxBQXRLRCxJQXNLQztTQXJLWSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnb3JkZXJCeScgfSlcbmV4cG9ydCBjbGFzcyBPcmRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShhcnJheSwgc29ydFByZWRpY2F0ZSwgcmV2ZXJzZU9yZGVyPywgY29tcGFyZUZuPykge1xuICAgICAgICBpZiAoYXJyYXkgPT0gbnVsbCB8fCAhc29ydFByZWRpY2F0ZSkgeyByZXR1cm4gYXJyYXk7IH1cblxuICAgICAgICAvKioqICoqKi9cbiAgICAgICAgY29uc3QgaXNTdHJpbmcgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzRnVuY3Rpb24gPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNBcnJheSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzUHJpbWl0aXZlID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6IC8qIGZhbGxzIHRocm91Z2ggKi9cbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzogLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYXNDdXN0b21Ub1N0cmluZyA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGdldENvbXBhcmlzb25PYmplY3QgPSAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAvLyBOT1RFOiBXZSBhcmUgYWRkaW5nIGFuIGV4dHJhIGB0aWVCcmVha2VyYCB2YWx1ZSBiYXNlZCBvbiB0aGUgZWxlbWVudCdzIGluZGV4LlxuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGJlIHVzZWQgdG8ga2VlcCB0aGUgc29ydCBzdGFibGUgd2hlbiBub25lIG9mIHRoZSBpbnB1dCBwcmVkaWNhdGVzIGNhblxuICAgICAgICAgICAgLy8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0d28gZWxlbWVudHMuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRpZUJyZWFrZXI6IHsgdmFsdWU6IGluZGV4LCB0eXBlOiAnbnVtYmVyJywgaW5kZXggfSxcbiAgICAgICAgICAgICAgICBwcmVkaWNhdGVWYWx1ZXM6IHByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJlZGljYXRlVmFsdWUocHJlZGljYXRlLmdldCh2YWx1ZSksIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb0NvbXBhcmlzb24gPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgaWkgPSBwcmVkaWNhdGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHYxLnByZWRpY2F0ZVZhbHVlc1tpXSwgdjIucHJlZGljYXRlVmFsdWVzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQgKiBwcmVkaWNhdGVzW2ldLmRlc2NlbmRpbmcgKiBkZXNjZW5kaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUodjEudGllQnJlYWtlciwgdjIudGllQnJlYWtlcikgKiBkZXNjZW5kaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHByb2Nlc3NQcmVkaWNhdGVzID0gKHNvcnRQcmVkaWNhdGVzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gc29ydFByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kaW5nID0gMSwgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByZWRpY2F0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0ID0gcHJlZGljYXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocHJlZGljYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKHByZWRpY2F0ZS5jaGFyQXQoMCkgPT09ICcrJyB8fCBwcmVkaWNhdGUuY2hhckF0KDApID09PSAnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjZW5kaW5nID0gcHJlZGljYXRlLmNoYXJBdCgwKSA9PT0gJy0nID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlID0gcHJlZGljYXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJlZGljYXRlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZVtwcmVkaWNhdGVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGdldCwgZGVzY2VuZGluZyB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2JqZWN0VmFsdWUgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIC8vIElmIGB2YWx1ZU9mYCBpcyBhIHZhbGlkIGZ1bmN0aW9uIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZS52YWx1ZU9mKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJZiBgdG9TdHJpbmdgIGlzIGEgdmFsaWQgZnVuY3Rpb24gYW5kIG5vdCB0aGUgb25lIGZyb20gYE9iamVjdC5wcm90b3R5cGVgIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaGFzQ3VzdG9tVG9TdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBnZXRQcmVkaWNhdGVWYWx1ZSA9ICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdzdHJpbmcnO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gJ251bGwnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gb2JqZWN0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWUsIHR5cGUsIGluZGV4IH07XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdENvbXBhcmUgPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUxID0gdjEudHlwZTtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUyID0gdjIudHlwZTtcblxuICAgICAgICAgICAgaWYgKHR5cGUxID09PSB0eXBlMikge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTEgPSB2MS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUyID0gdjIudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZTEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENvbXBhcmUgc3RyaW5ncyBjYXNlLWluc2Vuc2l0aXZlbHlcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUxID0gdmFsdWUxLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlMiA9IHZhbHVlMi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMS5sb2NhbGVDb21wYXJlKHZhbHVlMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlMSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJhc2ljIG9iamVjdHMsIHVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICAvLyBpbiB0aGUgY29sbGVjdGlvbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUxKSkgeyB2YWx1ZTEgPSB2MS5pbmRleDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUyKSkgeyB2YWx1ZTIgPSB2Mi5pbmRleDsgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgIT09IHZhbHVlMikge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdHlwZTEgPCB0eXBlMiA/IC0xIDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqKiAqKiovXG5cbiAgICAgICAgaWYgKCFpc0FycmF5KHNvcnRQcmVkaWNhdGUpKSB7XG4gICAgICAgICAgICBzb3J0UHJlZGljYXRlID0gW3NvcnRQcmVkaWNhdGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UHJlZGljYXRlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc29ydFByZWRpY2F0ZSA9IFsnKyddO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZGljYXRlcyA9IHByb2Nlc3NQcmVkaWNhdGVzKHNvcnRQcmVkaWNhdGUpO1xuXG4gICAgICAgIGNvbnN0IGRlc2NlbmRpbmcgPSByZXZlcnNlT3JkZXIgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gRGVmaW5lIHRoZSBgY29tcGFyZSgpYCBmdW5jdGlvbi4gVXNlIGEgZGVmYXVsdCBjb21wYXJhdG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLlxuICAgICAgICBjb25zdCBjb21wYXJlID0gaXNGdW5jdGlvbihjb21wYXJlRm4pID8gY29tcGFyZUZuIDogZGVmYXVsdENvbXBhcmU7XG5cbiAgICAgICAgLy8gVGhlIG5leHQgdGhyZWUgbGluZXMgYXJlIGEgdmVyc2lvbiBvZiBhIFN3YXJ0emlhbiBUcmFuc2Zvcm0gaWRpb20gZnJvbSBQZXJsXG4gICAgICAgIC8vIChzb21ldGltZXMgY2FsbGVkIHRoZSBEZWNvcmF0ZS1Tb3J0LVVuZGVjb3JhdGUgaWRpb20pXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXJ0emlhbl90cmFuc2Zvcm1cbiAgICAgICAgY29uc3QgY29tcGFyZVZhbHVlcyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcnJheSwgZ2V0Q29tcGFyaXNvbk9iamVjdCk7XG4gICAgICAgIGNvbXBhcmVWYWx1ZXMuc29ydChkb0NvbXBhcmlzb24pO1xuICAgICAgICBhcnJheSA9IGNvbXBhcmVWYWx1ZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW0udmFsdWU7IH0pO1xuXG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -4572,6 +4572,7 @@ class OrderPipe {
4572
4572
  // Compare strings case-insensitively
4573
4573
  value1 = value1.toLowerCase();
4574
4574
  value2 = value2.toLowerCase();
4575
+ result = value1.localeCompare(value2);
4575
4576
  }
4576
4577
  else if (type1 === 'object') {
4577
4578
  // For basic objects, use the position of the object
@@ -4582,9 +4583,9 @@ class OrderPipe {
4582
4583
  if (isObject(value2)) {
4583
4584
  value2 = v2.index;
4584
4585
  }
4585
- }
4586
- if (value1 !== value2) {
4587
- result = value1 < value2 ? -1 : 1;
4586
+ if (value1 !== value2) {
4587
+ result = value1 < value2 ? -1 : 1;
4588
+ }
4588
4589
  }
4589
4590
  }
4590
4591
  else {